Model-based test approaches have been around for years. There was a lot of interest for a while. Then came disillusionment. Too technical, too complicated - a topic for experts. Now the time is ripe for the return of models. In model-based testing, test cases are created on the basis of a previously created visual model. This method has several advantages and can be combined with various tools. Anne shares her broad knowledge and then ventures a prediction for the future.
“And making this additional information visible at all is one of the great added values of modeling in general” - Anne Kramer
Dr. Anne Kramer was a project manager, process consultant and trainer until she embarked on a new path at the end of 2021. Since April 2022, she has been Global Customer Success Manager at Smartesting, a French manufacturer of software testing tools, and is dedicated to software quality assurance and model-based testing. She also writes textbooks and is passionate about giving talks. Among other things, she has contributed to the ISTQB curriculum Model-Based Testing and is co-author of the associated textbook “Model-Based Testing Essentials - Wiley, 2016”. At the end of 2019, her project management textbook was published in the form of a thriller entitled “In Zeiten der Grippe - BoD”.
Highlights of this episode:
Further links:
Model-based testing is a method that makes complexity manageable and ensures quality early on in the development process. The use of models clarifies requirements, improves communication and builds a bridge to automation. The future could use AI to make it easier to get started.
Welcome to the world of model-based testing, an area that is often considered complex and difficult to access. Today I had the pleasure of speaking with Anne Kramer, a passionate advocate of this methodology. Anne shed light on how model-based testing can dispel misconceptions and be applied in a lightweight and pragmatic framework. Our discussion provided insight into the creation of test models, their connection to automation and their maintenance.
Model-based testing may be a vague term for many. Anne explained it as a method in which graphical models are used to derive test cases. In practice, this often means using flowcharts instead of complex UML diagrams. These models make it possible to visualize state transitions and different paths through a system, allowing different test cases to emerge. Interestingly, the origin of this idea lies in the ability to use state diagrams to derive test cases - a practice that simplifies the overview of system interactions.
The process begins with the creation of a model based on the system requirements. This model not only serves as the basis for generating test cases, but also promotes discussions and makes implicit assumptions explicit. Of particular note is the ability of model-based testing to be used early in the development process - even before details such as button labels are finalized. This allows processes to be defined and used as a basis for discussions, which ultimately leads to a qualitative improvement in requirements.
A key aspect of model-based testing is the use of special tools to generate test cases from the models created. These tools run through the model and collect information about different paths step by step in order to generate textual scenarios or automated tests. The selection of the right tool can be crucial, as it influences the efficiency of the generation and the possibilities for adapting to specific project requirements.
A common objection to model-based testing is concern about the effort involved in making changes to the tested system. However, Anne emphasized the importance of effective configuration management for models and the need for a tool that helps to keep generated test cases up to date. Such tools make it easier to transfer changes to the model into updated test cases - a particular advantage in agile development processes.
One exciting approach could be the use of artificial intelligence to make it easier to start creating models and to support abstraction processes. This technology could help to reduce inhibitions and at the same time open up new possibilities for efficient quality assurance.