In the context of software testing we generally come across two terms very frequently - Test Automation and Automated testing. Although it looks very similar and may sound as representing the same thing in two different terms but in the world of continuous testing both has significant difference. I would like to share my views on both in this post. 

Automated testing refers to the automation of test execution part of testing process using tools. When we select some tests to execute using tool and automate the same, this process is called automated testing. 

Where as Test automation actually refers to automation of the entire testing process right from the conceptualisation phase till the deployment of the product. This actually includes the automated testing as well along with other activities like requirement tracking, test generation, automated execution, reporting, defect tracking and  monitoring the product from testing point of view.

Test automation plays a crucial role in continuous testing by facilitating both shift left and shift right approach. This is possible only when we have a single source of truth for testing which connects the different dots altogether. Let me explain this with an example. Following are some of the tasks testers generally follow in every project:

1)Start with each user requirement understanding
2)Breaking down those requirements and establish a link into the features under development in the form of user stories  
3) Work with different stakeholders for identifying gaps and risk.
4) Come up with test plan to decide what to test and what not.
5) Design test cases based on the strategy defined
6) Execute the different test cases identified and created in different layers of the application for each feature released. Testing is also supports defect fixing and checking regression testing as needed. So execution unites different types of testing covering functional and non functional aspects of the application.
7) High lighting the current state of the application with test reports.
8) Tracking what and all the changes application is going though.

If we observed the above steps, we can see that at each stage we need to deal with different artifacts.  The challenge here is linking those artifacts into one source. It's really cumbersome to manage those without strategically planned test automation process in place. 

How test automation helps here?
        Test automation is the approach of getting maximum benefit of automation  during the software development life cycle by identifying and automating not only the test cases but entire process of generating the artifacts needed for testing. Model based testing is an example here. Testers can depict the application workflow in the form of models which can be used a single source of truth for testing. This model can be used for generating and tracking any kind of artifacts needed in entire testing process. For example once model is created and base lined , the test cases and automation artifacts can be be autogenerated with script. Tests can be be optimised with the help of test designed techniques. There will be traceable link between the model and the user story/feature developed. The test execution/reporting/tracking will be connected back to each model. This can be achieved with right kind of tools and infrastructure in place.  If creating high quality software is the goal of an organisation, both test automation and automated testing should go hand in hand to provide right kind of confidence to the  agile teams who works in collaboration towards a common goal.