View all web browser and mobile devices available in our cloud-based test lab.
When thinking about DevOps and testing together we usually refer to continuous testing practices. The reason is, DevOps enforces fast releases of new value to customers that need to be validated quickly. Validating software quality quickly and continuously can only be done via smart test automation.
In this post, I’ll provide some fundamentals to building a DevOps testing strategy that can keep up with iterative software releases and provide high-value, data-driven feedback to the developers and managers.
To build a valid test strategy, DevOps teams ought to acknowledge the varying operating forces within the squad or feature teams. In such teams, we would typically look at software developers, software test automation engineers (SDETs), and business analysts/testers. It’s important to match the strategy to these personas from both a technology perspective (i.e. test frameworks, tools), as well as from a process perspective.
An additional factor in building the right test strategy is understanding the product’s architecture and domain.
Mobile apps, web apps, progressive apps, desktop apps, or others have different quality constraints and considerations. It can be around the tools, the coverage needs (mobile devices and tablets e.g.), the upcoming market events, and more. From an architecture perspective, if the product is designed and developed via micro-services as opposed to a monolith impacts the entire testing strategy.
An additional factor is the velocity and software release cadence, as well as the available resources allocated to the job. If the desired cadence is e.g. every two weeks as opposed to every 2 months, this obviously impacts the level of pressure on test automation, platforms, scalability, and many more.
Since continuous testing in DevOps relies on rigorous and robust testing infrastructure, things like clean-code guidelines, valid environments for dev, QA, staging, and production, and a standard process for continuous integration (CI) pipeline that serves the teams will be critical prerequisites for the future.
Lastly, teams cannot measure what they cannot see. Hence, data analytics and data visibility with actionable artifacts must be considered in the early stages so teams get the most relevant feedback as they move forward with the development.
In addition to the above factors, DevOps management needs to gather as many KPIs as possible from the teams such as user story development capacity, gaps in resources, skills, documentation, product-relevant history, and more to have a good starting point as well as level-set the expectations from the get-go.
One of the key enablers for success is overall quality visibility. Management needs to know at any given time how the teams perform, how the apps look, how healthy the CI pipeline is, and many other insights. It’s clear that when implementing continuous testing in DevOps, the level of test data constantly grows, therefore knowing how to slice and dice the data and make sense out of the data is a critical aspect in the overall strategy. Understanding product areas that are buggier than others, platforms that are buggier than others, and test scenarios that are flakier than others can help in establishing continuous testing that really works for everyone. Without test data analytics and governance, the data only piles up and becomes a bottleneck in the entire software release cycle.
Continuous testing in DevOps requires a well-defined process. Such a process relies on a culture that allows the various practitioners to collaborate and contribute equally to the testing efforts. With that in mind, providing these practitioners with the right test environments, test frameworks, and proper visibility is key to their success. Lastly, measuring success as an ongoing practice helps everyone understand their maturity level and where they can and should grow.
Experience how Perfecto can help you implement your DevOps testing strategy with our 14-day free trial.
DevOps Chief Evangelist & Sr. Director at Perforce Software, Perfecto
Eran Kinsbruner is a person overflowing with ideas and inspiration, beyond that, he makes them happen. He is a best-selling author, continuous-testing and DevOps thought-leader, patent-holding inventor (test exclusion automated mechanisms for mobile J2ME testing), international speaker, and blogger.
With a background of over 20 years of experience in development and testing, Eran empowers clients to create products that their customers love, igniting real results for their companies.