Blog

Making Testable User Stories in Agile Development Strategies

Written by Richard Seidl | 01/15/2024

Podcast Episode: Making Testable User Stories

What does effective design and testability of user stories look like? Clearly defined acceptance criteria that cover both functional and non-functional aspects are the right basis. Interaction with exploratory testing is essential, as it enables flexibility in the test process and promotes a deep understanding of the system. Systematic test methods are then required for more complex and riskier user stories. Together, they contribute to greater understanding within the team.

"You know the 'Specification by Example' method. (...) It's still the best thing I've come across in recent years." - Christian Brandes - Winner of the Best Presentation Award 2023

Dr. Christian Brandes is the Head of Test&QA at isento GmbH and supports teams in software testing, quality assurance and agile processes as a coach and consultant. As an ISTQB-certified test specialist with extensive experience in various IT projects, his focus is on test process improvement and testability of requirements. In addition to his work as a trainer and university lecturer, he is also an active speaker at specialist conferences, writes publications and produces podcasts and videos.

apple spotify youtube

Highlights der Episode

  • User stories are planning artifacts and do not serve as permanent documentation
  • Acceptance criteria - what they must cover and achieve
  • What speaks for exploratory testing
  • When does systematic testing make sense?
  • Key elements for efficient test processes

Testing user stories effectively: Success strategies in requirements engineering

Today's topic is how user stories can be made testable. Christian Brandes shares valuable insights from the field of requirements engineering and gives practical tips on how to improve the testing of user stories in agile development environments.

User Stories

Today I'm talking to Christian Brandes, a passionate tester and quality enthusiast. Not only do we have a long acquaintance, but also a shared passion for quality and an efficient testing strategy. The topic of this episode is particularly relevant: How can user stories be made more sustainable and effective for testing? It's an area that often harbors misunderstandings and challenges - points that we will explore in depth during our conversation.

The misunderstood role of user stories

Christian emphasizes that there is a fundamental misunderstanding about the role of user stories in the agile development process. Many teams wrongly assume that the introduction of user stories makes the need for detailed requirements obsolete. This perception leads to a gap in testability and quality assurance. User stories are not to be equated with concrete requirements; rather, they are to be understood as planning artifacts that focus on the business value to be achieved. However, without a sound basis of requirements, testing becomes a challenging undertaking.

From theory to practice: ensuring testability

The key strategy for overcoming this challenge is to integrate elements of requirements engineering into the design of user stories. Christian emphasizes the importance of acceptance criteria and specifications within a story. These should not just be seen as additional requirements, but should serve as concrete examples that define what must be proven to work at the end of a sprint. Specification by example allows teams to create clear and testable acceptance criteria that serve both the product owner and the development and test team.

Recognizing the potential of model-based testing

Model-based testing (MBT) offers a further dimension in the design of testable user stories. By using formal models such as UML or BPMN, test artifacts can be generated that ensure comprehensive coverage and at the same time reduce the effort required for manual testing. Christian argues that there is nothing wrong with using such models in an agile context, as long as they offer added value and support the team. Integrating MBT into the process can help to test complex systems in a feasible and understandable way.

Re-interpreting agility

At the end of our conversation, Christian emphasizes the importance of a flexible interpretation of agility. It's not about following rigid rules, but finding solutions that help the team work more efficiently and deliver high-quality software. The key is to be open to new methods and approaches and to always keep the benefits for the team in mind. Agility does not mean abandoning documentation or structured processes; rather, it means using these elements wisely for the benefit of the project.