SRE + performance engineering: Improve collaboration to release performant applications faster
Shift left with observability to release quality apps faster. Join...
When we talk about continuous testing, and with it continuous delivery and DevOps, the term automation gets thrown around a lot. In a basic sense, we all understand what automation means — the use of some technology to complete a task. But when we talk about automation in terms of Continuous Testing, there are some nuances that we need to take into account.
In the world of testing in general, and Continuous Testing in particular, there are two types of automation:
While it might just seem like two different ways to say the same thing, these terms actually have very different meanings. Automated testing is the act of conducting specific tests via automation (e.g. a set of regression tests) as opposed to conducting them manually. Test automation refers to automating the process of tracking and managing the different tests. Both automated testing and test automation are important to Continuous Testing, but it’s test automation is crucial.
To fully understand why test automation is so critical to Continuous Testing, it’s important to make clear what exactly continuous testing entails and why it came about. Continuous Testing is a relatively new approach to software testing that aims to ensure quality at all times. In a traditional environment, testing gets completed at the end of a development cycle. But as more and more companies move toward a DevOps and continuous delivery model in which software is constantly in development and must always be deployment-ready, leaving testing until the end no longer works. That’s where continuous testing comes in — to ensure quality at every stage of development.
So with continuous testing, rather than testing happening in a big bang at the end of a cycle, it happens in small pieces at all times as soon as the need arises.
While ensuring quality at all times is of utmost importance to this model, it’s not all that counts. The speed at which all of the development and testing occurs also matters. That’s because if something in the pipeline stalls or breaks down, it holds up everything else and slows down the release of new developments. And given that the need to deliver new releases faster and on a more regular basis paved the way for this continuous delivery and testing model, that roadblock defeats the purpose of taking this approach.
This “how” and “why” make organization, consistency and speed imperative to supporting a continuous testing model, and that’s where test automation can help. Managing all of the testing needs in a Continuous Testing environment is a massive undertaking — it requires a tremendous communication effort to keep track of which environments have deployed new code, when each piece needs testing and how those requirements integrate back into the moving process of continuously delivering software. Test automation eases this burden by automating the tracking and managing of all those testing needs, including how much of the system different tests cover and what other types of testing might be required to cover all the moving parts. In doing so, test automation goes a long way toward helping ensure that teams maintain a high standard of quality at all points along the pipeline. Additionally, it allows testers to focus more time and effort on creating effective test cases to ensure the quality of the software since they’re no longer bogged down in managing all the minutiae of testing needs.
In theory, the concept of test automation is a perfect fit for testers operating in a Continuous Testing environment. But what happens when reality strikes? In a typical real world scenario, when testers need to schedule and verify test cases they:
With this type of scenario in mind, what testers really need to make test automation a reality is a solution that can help automate the process of creating test cases for specific work items and scheduling test runs to execute those test cases. Ideally, this solution should allow for test automation by:
As DevOps and continuous delivery models become the norm, so too will Continuous Testing. In order to make Continuous Testing efforts successful, testers need to start thinking now about what it will take to manage the change that comes with injecting testing throughout the entire development pipeline.
Clearly, test automation will be a critical weapon in the Continuous Tester’s arsenal given its ability to help keep track of all of the different tests that need to take place at various points in the pipeline.
Shift left with observability to release quality apps faster. Join...
Explore common regression testing challenges faced by Agile teams –...
Ensure reliable, scalable application performance across on-prem,...
Ensure SAP data accuracy & reliability. Learn risks, key...
Watch this webinar to learn some advanced strategies for...