Why Agile Testing Lives Up to Its Name

Why Agile Testing Lives Up to Its Name

Table of Contents

Introduction

In the last article, we described what Agile Testing is and the benefits it brings.

We only briefly touched upon why Agile Testing has truly earned its name. You might be thinking right now: “My team and I already do Agile.”

Quite apart from the fact that “Do Agile” ≠ “Be Agile”, the following unfortunately applies to many agile teams:

  • Testing is considered the final activity of an implementation cycle. Mostly, testers receive the test object in the last phase and are expected to complete all testing in a very limited time. Deployments at night or deployments without sufficient tests are not uncommon scenarios. According to Jeff Sutherland, 80% of companies in Silicon Valley fail to deliver an increment after a regular sprint, which in turn means that the software is not tested (enough). Read more here: What Silicon Valley Needs. How does it look at your company?
  • Developers and testers worked as separate teams or even against each other.
  • The review of test cases is carried out exclusively by QA staff. To allow QA professionals to continue finding bugs, QA test cases are not shared with developers. Both groups learn from each other in a limited way, if at all.
  • The main task of testers is to track down defects and bugs, and their performance is judged by the number of valid bugs and defects found.
  • Manual or exploratory testing is considered an ungrateful task.
  • Automation is considered an end-activity and focused mainly on the user interface. The regression suite is considered the best candidate for automation.
  • TDD, BDD, ATDD are foreign terms.

The examples listed have nothing to do with Agile. What is truly Agile can be derived from the Agile Manifesto. Although discussions are held nowadays as to whether the agile manifesto is still contemporary (the topic is discussed in this podcast: ‎Agile Coaching Network: Is it really back-to-basics for…), we at Pragtics firmly believe that it is. Execution is crucial here. If testing is an integral part of producing working software, why shouldn’t it be guided by agile values and principles?

Agile Testing as a Reflection of the Agile Manifesto

How does Agile Testing correspond to the Agile Manifesto?

Agile emphasizes the importance of team members and their collaboration over complex processes and tools. This also applies to testers, who continuously interact with the entire team instead of just receiving information from developers or stakeholders. Agile testers are involved in requirements, design, and development, act as co-owners of user stories, and help integrate quality into the product. Tools are used selectively to support processes. The focus should be on ensuring that processes and tools support the agile team without complicating or formalizing the process too much. The shift to Agile Testing demands a lot from developers. QA engineers play a key role here, acting as mentors and promoters.

Long documents are a thing of the past. Nowadays, we want to focus on working software. This can be achieved through the collaboration of the whole team, by involving everyone, and especially QA engineers, in drafting the Definition of Ready and Definition of Done. Paired with one-liners for test scenarios in user stories, exploratory tests, or error checklists, this results in sufficient - nicely crisp - documentation for tests.

The third agile value seems a bit challenging at first glance regarding the agile manifesto. How can I involve the customer in Agile Testing? Without the customer’s participation, we cannot speak of agility. This requires a little rethinking with the help of appropriate methods. And different perspectives. We have previously noted that it is advantageous to involve QA engineers in formulating the Definition of Done and the acceptance criteria. User stories are the customer’s wishes. Furthermore, these colleagues are perfect for pointing out other aspects of the product through exploratory tests. “Yes, the product might work as expected, but does it have to take so long to…” or “It works great, but intuitive looks different. I suggest…”. Agile testers keep an eye on everything when they click their way through the software. Another method that includes the customer’s perspective is Behavior Driven Development (BDD). In BDD testing, the focus is on understanding and testing the behavior of a software from the perspective of the end-users or stakeholders. It’s about ensuring that the software exhibits the desired behavior and meets the users’ requirements. Think of it as a meeting of three amigos working for the emperor. “The customer is king” was yesterday. Today, the customer is an emperor, and agile testing is emperor-centric.

Agile Testing provides a good foundation for responding to change. What does that mean? In agile environments, requirements and priorities can change during the development process. Agile Testing emphasizes flexibility in the selection of test activities. Depending on current requirements and changes in the project, testers can shift their focus and apply different test methods to react effectively to changes. Agile testers continuously adapt their test plans to ensure they meet the current needs and goals of the project. Automation enables rapid regression test execution, even with frequent changes. If a feature changes, for example, the corresponding automated test scripts must be updated to ensure that existing features continue to work correctly. This allows for quick validation of the software after every change and helps identify potential problems early.

The Reality Is…

We are aware that agile testing is not easy. Especially the transition from a sequential development process to continuous delivery and integration poses major challenges for many companies. We know these. That is why we develop successful strategies for implementation together with our clients. The customer has a problem and we have emperor-centric suitable solutions.

Images and other credits!

Share :

Related Posts

Agile Testing Manifesto

Agile Testing Manifesto

The Agile Testing Manifesto offers guiding principles for testing in the context of agile software development. We met the authors behind it.

Read More
Agile Fluency - THE Model for Agile Development?

Agile Fluency - THE Model for Agile Development?

Organizations embarking on their agile journey try to measure agility. But how can you measure agility?

Read More
Agile Testing - a domain of high performing teams

Agile Testing - a domain of high performing teams

The often sequential process of software development brings many challenges that can be resolved with Agile Testing.

Read More