Using Agile Testing Quadrants to Solve Quality Assurance Headaches: Part 2 of 2

This is part 2 of a 2-part article series; part 1 was featured in the September 2020 issue of the LogiGear Magazine, and you can check it out here. Part 1 discussed the mindset required for Agile, as well as explored the various quadrants of the Agile Testing Quadrants model. Part 2 will delve into how to utilize each of these quadrants in regards to planning, development, and testing in order to ensure your Automation is a success.

How to Use the Agile Quadrants

As discussed earlier in Part 1, Agile Testing Quadrants is a model that is greatly useful for test planning and execution. This model helps reduce communication gaps between teams and neatly captures all the complexities involved in the software quality.

During the iteration planning, teams can go through every quadrant and identify which types of tests are needed for their product increment. Then, teams can figure out if they have the right people with the right skills to accomplish them. Teams could also prepare the required testing infrastructure/environment, tools, and provision the appropriate test data.

QA Enablement in Agile Testing Quadrants and SAFe System Team

“Test early, test often, and test throughout” is the mantra of Agile testing.

In Agile development, testing is not a separate phase at the end of development; rather, testing activities are continuous and are integrated with development.

The fast-paced and constantly evolving world of technology demands accelerated time-to-market of new software, while reducing costs to meet the growing needs of end-users. Software Testing approaches also need to adapt to the changing needs to support the business and achieve its challenging goals.

Agile’s success is highly dependent on early feedback. In an Agile setting, teams work in compressed development cycles. Agile teams and Agile Release Trains (ARTs), as in the case of SAFe (Scaled Agile Framework), cannot ship high-quality software rapidly without Test Automation, CI/CD pipelines, and Continuous Testing.

Here is why teams cannot be Agile without Test Automation:

  • Shortened test execution cycles demand rapid testing. Without Test Automation, Testers don’t have the efficiency of repeatable tasks within the test cases, and thus cannot cope with the velocity of development. Agile Teams that do not adopt Automation Testing struggle to meet tight schedules and deadlines with high quality.
  • In Agile, requirements are always evolving and are subject to frequent changes. Test Automation provides agility to testing and ensures that Testers respond faster to changes. When Agile Teams rely completely on Manual Testing, they end up reworking on the same set of test cases over and over again.
  • In every iteration, Testers need to ensure that the existing code is not broken due to new changes. Without Test Automation, Testers cannot test new features and also perform Regression Testing parallelly in a short duration. Test Automation saves time, money, and effort by hugely reducing the monotonous Regression Testing.
  • Test Automation increases confidence and reduces risks. Agile is all about continuous feedback. Without the ability to automatically execute the tests on each commit, the feedback loop will be broken and confidence cannot be achieved on the newly written code.

Succeeding in Test Automation is challenging and multi-faceted. The Agile Teams need to ensure that they involve the right people, employ the right strategy, choose the right tools, set proper expectations, measure the ROI, and align their roadmap to their business goals.

Maintainable Test Automation is the holy grail of Agile testing. Three of the 4 quadrants (Q1, Q2, Q4) in the Agile Testing Quadrants suggest and guide employing Test Automation. Automated tests not only speed up development but also provide Testers enough time to perform deep Exploratory Testing that requires human intelligence and intuition.

Common Quality Assurance Headaches

Siloed Automation Efforts Lead to Low Automation Coverage

Organizational silos are developed when teams focus on immediate results without understanding how their team fits into the bigger picture. Most of the time, either individual or team goals are of the highest priority for every team member, which blinds them from looking at the broader organizational goals.

When automated tests are siloed between Testers and Developers, there are high chances that they are trying to solve the Automation problems separately. This prevents teams and individuals from leveraging and benefiting from each other’s work, hence increasing duplication of work and reducing test coverage. When different departments or teams work in silos, they automate some part of their testing and process; but, without a proper pipeline that stitches them together, nothing significant is accomplished as none of them understand the bigger picture. Hence, time is lost in manual approvals and handovers. Organizations innovate, grow, and have better chances of being successful when teams break out of silos.

Overcoming Automation Silos. Ensuring that Agile teams are cross-functional and self-organizing is crucial to overcome Automation silos. Below, you will find how cross-functional teams can elevate collaboration:

  • The Agile Team should have all the required enablers to deliver a valuable product increment. Cross-functional teams are a way to eliminate external dependencies and handoffs, which cause delays in releases.
  • A cross-functional team is formed by the collaboration of a group of people with a common goal of Agile Team enablement in mind. These teams have the ability to see across many functions of the organization and self-organize to ensure the larger benefit of the project or Agile Release Train (ART).
  • Cross-functional teams promote a culture of continuous improvement, where teams take complete ownership of complex problems and come up with innovative solutions. Creating cross-functional teams is also a great way for people to share knowledge to acquire new skills.
  • Cross-functional teams must consist of domain expertise. It’s important to recognize that Agile focuses heavily on development. As monolithic Quality Assurance organizations are collapsed into these new organizations or dismissed altogether, a gap of domain knowledge and testing expertise is often created. Knowledge such as the business domain, tool vendor landscape, offshoring, and test case development and triage are all aspects that should not be lost in Agile transformations. It’s of great value that organizations transition this knowledge within their Agile transformation plans and ensure cross-functional teams embrace continuous learning within such domain expertise.

Developers and Testers need to break silos, collaborate, and take responsibility for Test Automation together to accelerate development and improve quality.

The Lack of Automation Management & Maintenance can Cripple Agile Teams and ART Trains

Test Managers and Directors are often all-too-familiar with the hassles caused by broken automated tests. Broken tests are a serious problem in an Agile setting; when a CI/CD pipeline breaks, new code changes cannot be merged and wastes the time of Developers and Testers. In Agile testing, it becomes crucial to have a reliable and low-maintenance test suite in place.

Testability. The success of Test Automation projects is largely dependent on the testability and Automation friendliness of the application; for example, having clear and stable identifying properties of UI elements, or having white-box access to read or manipulate objects or data. Automation issues due to Automation unfriendliness are frustrating to Testers and block them from progressing in Test Automation initiatives. It requires a commitment by the whole team for successful Automation. Testers need the cooperation of Developers to embed testability and the ability to be automated in the product during early design phases.

Built-in Quality. Built-in Quality is one of the defined “core values” of SAFe. In SAFe, Agile Teams do not just perform testing at the end of a life cycle, rather they define and execute tests early, often, and at multiple levels. Built-in Quality aims to avoid rework and delays, ensuring that quality is not an afterthought. Think Test-First mindset enables teams to design an associated testing activity for all the development activities (features, stories, and code) ideally before or parallelly when these items are created. This applies to both functional requirements, as well as non-functional requirements.

Built-in Quality Increases Test Coverage. Test-driven development (TDD) and Behavior-Driven Development (BDD) are the biggest enablers of the Think Test-First mindset. In TDD, Developers write unit tests first before writing a single line of functional code. In this approach, the Developer will not write functional code until the test exists and it fails (as the function is not developed). BDD focuses on enhancing the shared understanding between the business and technical teams. BDD tools leverage natural language like syntax that allows Developers, Testers, and Product Owners to be on the same page about the user stories in the sprint.

A CI/CD pipeline that is powered with a test-first strategy makes it possible to drive releases on demand. The Think Test-First mindset and Built-in Quality values of SAFe assure that all the required tests in the Agile Quadrants of Q1, Q2, and Q4 are automated parallelly along with their respective development activities. Along with the Agile Testing Quadrants, teams should leverage models like the Test Automation pyramid to have unit, API, and UI tests at the right proportions. This can greatly help to create an effective Test Automation strategy and reduce Test Automation maintenance.

Built-in Quality Resolves Testability and Automation Problems. Continuous attention to technical excellence and good design can enhance agility. If the software design and architecture lack structure and quality, then the end product quality will likely not be up to the mark. Something similar applies to test design and Automation architecture. Below are few ideas to consider to resolve testability and automatability problems:

  • Keep an eye on the way tests are organized. A lack of structure makes tests hard to maintain, which in turn makes their Automation hard to maintain as well.
  • Design applications with testability and Automation-friendliness in mind right from the start. In the case of legacy applications, refactor for a structure that enables maintainable Automation.
  • When developing a product design and architecture, teams must consider various aspects like ease of implementation, testability, automatability, sustainability, scalability, maintainability, ability to satisfy future business requirements, etc.

Conclusion

Test Automation is a critical component to maintain agility. ‘Built-in Quality’ and ‘Think Test-First’ mindset ensures that testing is integrated into development right from the start. Creating automated tests across the Agile Testing Quadrants enables teams to come up with a comprehensive approach that assures quality. But, broken automated tests in any of the quadrants slows down the feedback loops, hinders the testing cycle, and negates all the benefits of Agile. Given the need for Automation across Project Delivery teams and the need for Automation in multiple quadrants, there must be QA governance and execution beyond project-level functions.

When discussing the Agile Quadrants, QA Managers and Directors should identify tests that are not considered due to a lack of experience and expertise. QA Managers and Directors should utilize Agile Quadrants or System Teams (SAFe) to promote QA enablement and governance. Your teams might not have the specialized skills and resources, but LogiGear can help you as your strategic testing partner by being an extension of your team. Regardless of your SDLC, whether it be Agile, SAFe, or waterfall, LogiGear has over 2 decades of experience in developing and implementing Test Automation and is one of the few firms that can put your SDLC in context with your long term QA goals, ensuring actionable milestones are being achieved, DevOps pipelines run smoothly, and software is released on time with a confidence factor that exceeds business owner expectation. Whether it is about Agile or SAFe, QA staffing, or no code/low code tooling through TestArchitect, LogiGear is here and ready to scale to meet your needs.

Clayton Simmons
Clayton Simmons has 10+ years in Enterprise Services Business. Clayton ran Cognizant’s Digital Assurance Practice in 2012 and lead an organization focused solely on testing digital enterprise digital solutions for both Mobile and IoT. He successfully rolled out Customer Experience (CX) Test offering which revolutionized the approach to the perceived quality quotient against traditional functional validation of so many other testing services at that time.

The Related Post

I’ve been teaching a lot lately, was in India for one week, and I’m off to Seattle in two weeks to teach on performance topics. I thoroughly enjoy teaching, it allows me to stay sharp with current trends, and provides a nice break from the “implementation focus” that I generally have day to day.
When configured with a Python harness, TestArchitect can be used to automate testing on software for custom hardware Unlike other proprietary and open source tools, that are able to automate only desktop, or mobile, TestArchitect (TA Test) has the ability to test the software that runs on hardware in the following ways: 1. TA can ...
For those that are new to test automation, it can look like a daunting task to undertake For those who are new to Automation, it can look like a daunting task to undertake, but it only seems that way. If we unpack it and pinpoint the fundamentals, we can have the formula for the desired ...
Even the highest quality organizations have tradeoffs when it comes to their testing coverage. In Japan, Europe, and the United States, automotive manufacturers are aiming to enhance automotive functions by using software; in Japan in particular, Toyota, Nissan, Honda, Mazda, and Subaru are all adding endless amounts of software to their vehicles in the form ...
Introduction A common issue that I come across in projects is the relationship between test automation and programming. In this article I want to highlight some of the differences that I feel exist between the two.
Having the right Test Automation plan helps bridge gaps and fragmentations in the complex mobile environment. Figuring out the best Test Automation plan is one of the biggest frustrations for today’s digital teams. Organizations struggle to develop cross-platform Test Automation that can fit with their Continuous Integration cadence, their regression cycles and other elements of ...
< Michael Hackett sat down with EA’s Stephen Copp to discuss the world of integrated test platforms.
Source: From I.M.Testy (BJ Rollison’s blog) I just finished reading Implementing Automated Software Testing by E.Dustin, T. Garrett, and B. Gauf and overall this is a good read providing some well thought out arguments for beginning an automation project, and provides strategic perspectives to manage a test automation project. The first chapter made several excellent ...
“Happy About Global Software Test Automation: A Discussion of Software Testing for Executives” Author: Hung Q. Nguyen, Michael Hackett, and Brent K. Whitlock Publisher: Happy About (August 1, 2006) Finally, a testing book for executives!, November 17, 2006 By Scott Barber “Chief Technologist, PerfTestPlus” Happy About Global Software Test Automation: A Discussion of Software Testing ...
Two dominant manual testing approaches to the software testing game are scripted and exploratory testing. In the test automation space, we have other approaches. I look at three main contexts for test automation: 1. Code context – e.g. unit testing. 2. System context – e.g. protocol or message level testing. 3. Social context – e.g. ...
This article was developed from concepts in the book Global Software Test Automation: A Discussion of Software Testing for Executives, by Hung Q. Nguyen, Michael Hacket and Brent K. Whitlock Introduction The top 5 pitfalls encountered by managers employing software Test Automation are: Uncertainty and lack of control Poor scalability and maintainability Low Test Automation ...
Test Strategy A test strategy describes how the test effort will reach the quality goals set out by the development team. Sometimes called the test approach, test strategy includes, among other things, the testing objective, methods and techniques of testing and the testing environment.

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe