There are lots of testing terminologies and jargon used sometimes loosely and often parallelly. For example, in the Agile testing world – automated testing, test automation and continuous testing are some common buzzwords if you will, sometimes used interchangeably. But do they mean the same?
Automated Testing is the process of running a series of tests via automation as opposed to executing the same tests manually.
Test automation is in fact automating the process of managing, tracking and organizing the different tests.
Continuous Testing is basically the execution of automated tests as part of the software delivery pipeline to get instant feedback on the business risks associated with a software release candidate as quickly as possible.
It is important to know the distinction. Continuous Testing is not the same as Test Automation. Yet, you can’t really implement Continuous Testing with Test Automation. Let’s attempt to understand the why and how of this:
As organizations move from a traditional testing approach towards DevOps practice, Continuous Integration and Continuous Delivery(CI and CD) are key to achieve the desired speed. In the CD model, software development is an ongoing process and the deployment-readiness of software therefore matters more than ever. Continuous testing allows consistent quality output at every stage of the development.
Testing occurs incrementally through the cycle. To achieve continuous testing however, test organization, efficiency, and speed are all necessary. Organizing all these testing needs in the CD context is a challenge and that’s where Test Automation comes in.
Test automation simplifies the process by automating the tracking and managing of all these testing requirements. Right from coverage, to various types of tests needed to traceability. More importantly, it enables testers to focus their energy and efforts on writing better test cases. This in turn helps the overall quality of the software.
It is generally acknowledged that effective test automation should start early in the development cycle. It should also therefore be designed to take the internal structure into account and have a quick feedback loop for developers to control the system design.
The importance of tools and processes
So to support automation and continuous testing, you need to test early and test often. Therefore, the right tools supported by processes and best practices. For Test Automation to be effective, you need automated testing tools that support your quality lifecycle.
What are some of the criteria for selection?
- Flexibility and modularity
- Supports for various platforms and technology
- Integration and interoperability
- Reusability, traceability and coverage
- Support for Behavior-Driven Development and Test Driven development
- Support for Exploratory Testing
You may have specific demands or use cases expected of your automated testing tool like for example, mobile barcode scanning, touch ID, location spoofing or UI and visual component validation across devices.
In a nutshell
Test Automation needs Automated tests and automation testing, whereas Continuous Testing needs Test Automation to deliver on the speed, quality and efficiency principles. If you are interested to know how you can achieve Continuous Testing and more agility in your software releases, you can read more about QMetry Automation Studio.