Why Agile Teams Need Continuous Testing
What is Continuous Testing and Why Is It Important to Agile?
Before we explain why agile teams need continuous testing, let’s offer a definition. Continuous Testing has several meanings. But, when applied within the context of Agile, Continuous Testing refers to the practice that testing activities happen continuously throughout development rather than as a periodic activity or even worse a “stage” in the life of a project/release.
As agile teams mature their practices, test automation is a common shared objective. Increasingly these same teams are also adopting the spirit of DevOps or more precisely DevQAOps. To further explain what is meant by Continuous, I mean testing that happens throughout the delivery pipeline. This includes amongst others:
- Test-first activities to help drive quality design
- Classic testing typically associated with a testing/QA team – functional progression/regression
- Non-functional progression/regression testing
- Testing to verify successful deployment/delivery
- Testing to verify successful operation in production
The definition we will use here is testing that happens continuously and at every stage of the development pipeline aiming to validate both your implementation as well as your requirements/UX. This means that every time we look at the delivery pipeline we will see some testing happening on one or more granular pieces of scope at every stage of the development and delivery pipeline.
Is Your Agile Real or Fake?
You’d think organizations that implemented Agile would be well positioned to run this continuous process to support finding the right experience. In reality, most organizations have only partially implemented Agile. I call what many organizations are doing an “Agile Theater” – going thru the motions but not implementing the essence.
All too often when technology organizations move towards Agile one of their challenges is how to maintain and even improve the quality of the software in the face of more frequent shorter cycles.
Handing off a small set of new functionality to a testing engineer for progression testing is barely manageable when teams try to fit their development cycle into two-week iterations. It’s an unbearable delay when trying to run a continuous streamlined set of experiments aimed at nailing the right experience.
If It’s Not New, It’s Not News…
Agile requires a different approach moving from testing/QA to Agile/Continuous Testing
Organizations that are serious about their agility take a different approach to testing. Automated testing is a given, practices are shifting to plan execution matched to feedback windows to minimize waits or worse carried quality debt. Two significant trends reveal how DevQAOps teams are changing.
The shift from quality assurance to quality engineering. The shift reflects the skill change from not only having an investigative mindset and understanding the workflow to now also have programming skills comparable to software developers.
The growing ownership by developers across the full development process. No longer is about my code, it’s increasingly becoming how delivered functionality is enhancing the value realized by users. In mature teams, Developers are increasingly writing and maintaining test automation and quality engineers move from being the “last gate in the process” to working hand in hand with developers as they build their software and in the best cases actually drive quality into the product by using a test-first approach. A test first approach is where they help the team figure out what to test even before starting to code new stories.
Read more on how developers are increasing efficiency with fast feedback here.
These practices and mindset are called Agile Testing. Continuous Testing takes it deeper and wider. This is a first part of blog posts series that will take a deeper look at continuous testing at scale, how to assess where your organization stands and how it relates to Agile Testing and DevOps. Our next blog will focus on the 10 steps to Continuous Testing maturity.
Interested in learning more on what agile teams should know? Check out this blog post– 3 Lies Agile testing teams tell themselves.
True to the agile/continuous spirit – we are looking for your feedback as we unravel this series. What are your struggles achieving continuous testing and business agility? What are your scaling challenges? Let us know in the comments or reach out to Yuval directly at [email protected]