Automotive Testing
There is an incredible amount of software in a car and it has to be tested. As this is a highly regulated environment, the work of a tester is...
What does effective design and testability of user stories look like? Clearly defined acceptance criteria that cover both functional and non-functional aspects are of great importance. Exploratory tests are important as they allow flexibility in the testing process and promote a deep understanding of the system. Systematic test methods are important for more complex and riskier user stories. In addition, targeted documentation and the use of model-based testing are efficient practices in agile software development.
“You know the ‘Specification by Example’ method. (…) That’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 as a coach and consultant in software testing, quality assurance and agile processes. 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.
Highlights of this episode:
Further links:
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.
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.
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.
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.
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.
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.
There is an incredible amount of software in a car and it has to be tested. As this is a highly regulated environment, the work of a tester is...
Gamification describes a playful way of working together. And it can also be implemented in software development and testing. The field is broad:...
AI has a lot to offer us. Our imagination is required: Where do we use it? What should it do? How should it work? Regardless of the area of...