Continuous Testing: Test Automation - Faster and Better
In the previous article, we introduced Continuous Testing including drivers, QA challenges, and the nine key elements that make up Continuous Testing (Figure 1). In this article, we are going to focus on the Test Automation element.
Increasing business pressure, more frequent agile cycles, and disruptive DevOps changes are significantly impacting the world of testing and #QA. Many of these changes can be supported by the idea of DevOps. So, what is DevOps? That depends on who you ask, but here’s a definition:
“The blending of Dev and Ops across the overall lifecycle from identified need to deployed value in production that connects people, processes, and tools with a lean foundation and a focus on culture, automation, and continuous flow.â€
As DevOps has changed the game, the emphasis on automation has increased. To meet the faster cycle times while maintaining confidence in quality, test automation has become critical. The different types of testing should be examined for potential automation that can be executed within continuous testing cycles.
To enable successful testing automation efforts, make sure to:
- Adopt an automation first-mindset
- Build the “right†automation
- Address test automation tooling
- Create solid automation architecture and framework
Adopting an automation first-mindset
Ultimately, our goal is to automate as much as we can – where there is value. Or as they say in lean – Jidoka (Figure 2) – automation with a human touch or intelligent automation. This means reducing the reliance on manual testing which tends to be slow, limited, resource intensive, and inconsistent.
Instead, take an “automation first†mindset that looks to automate as much as possible within reason. This does not mean automating everything, all the time, but instead to look to automation first and focus manual efforts on complex and exploratory testing where automation may not be reasonably possible.
Building the “right†automation
Automation is at the core in Continuous Testing and across the #DevOps spectrum. Our preferred approach is to leverage automation to reduce cycle time, improve consistency, and increase quality. We do not automate for automation's sake but take a measured and methodical approach to build the right automation, in the right way, and at the right time.?
With each automation opportunity, critical questions need to be asked:
- Is the investment worth it given the application’s lifecycle?
- What level of automation is necessary?
- What types of testing should we automate?
- Are we using the right tools to automate this testing?
Doing the right automation has several positive outcomes:
领英推è
- Increased test coverage
- Increased test automation (Front-end, API, Performance, Security)
- Improved integration into the DevOps #Pipeline
- Improved cycle time
- Parallel testing opportunities
Address Test Automation Tooling
We mentioned there are many different types of #Testing and how this is a challenge for QA organizations. This challenge applies to #TestAutomation tools as well. There are many test automation tools available. They often support a particular type of testing: unit, front-end, API, performance, security, etc.
We have seen instances where an organization had a tool and forced its use into areas that were not a natural fit. It caused issues and inefficiencies which made adoption more difficult.
It is important to understand the different types (Figure 4) of #TestAutomation tools available and what is their best use. Addressing the right tool for the right automation goes a long way in making test automation successful.
Create Automation Architecture and Frameworks
Test automation can be a challenging activity. Making test automation easier and more efficient for the broader team requires a focus on enablement and scaling. The automation and tooling elements will be aided by establishing the architecture and aligning the automation frameworks that will be leveraged in supporting an automation first approach.
Without a solid architecture and framework, it can be the wild west and force team members to build elements that could already be established and leveraged.?
Continuous Testing: Test Automation
When implementing #ContinuousTesting, test automation is a critical element.? We often create Continuous Testing Strategies with our clients and test automation is a key part of the roadmap that is developed.?When starting to implement and scale test automation capabilities, some items to keep in mind:
- Automation on-boarding and knowledge transition
- Transition plan to setup automation capability
- Automation assessment, strategy and pilots as required
- Test prioritization & optimization
- Tool alignment & recommendations
- QA Integration into value stream and #pipeline
- Automation governance, metrics and KPIs
To learn more about Continuous Testing and the nine key elements teams must have in order to be successful, check out this webinar or contact me directly @ terry.brennan@orasi.com.
Next: The next article in the series will focus on the Continuous Testing element of Shift Left and dive into key aspects of Shift Left and its connection to continuous testing.
Orasi provides leading technology consulting services.?We have deep expertise in cloud, DevOps, testing, and improving software delivery. Orasi helps enterprises reframe their strategic outlook for where they want to go then provides delivery and support service options to convert plans into reality and drive success.
Hashtag:? #DevOps #TestAutomation #QA #Testing #ContinuousTesting #Pipeline
CEO of TechUnity, Inc. , Artificial Intelligence, Machine Learning, Deep Learning, Data Science
1 å¹´This piece beautifully encapsulates the pivotal role of test automation within Continuous Testing. The focus on striking the right balance between manual and automated efforts while ensuring efficiency is commendable. It's inspiring to see the emphasis on making informed choices about automation tools and the careful consideration of an "automation first" mindset. Great insights into building a robust automation architecture for seamless integration within DevOps pipelines! #ContinuousTesting #TestAutomation #DevOps #AutomationFirst #QualityAssurance #AutomationMindset #SoftwareTesting #QAChallenges #AgileTesting
Retired and enjoying life!
1 å¹´I agree that knowing when to automate is often the hardest part of the problem. Automation technologies have come a long way, thankfully, and can usually adapt to the diverse requirements.