Provides a practical and comprehensive introduction to the key aspects of model-based testing as taught in the ISTQB® Model-Based Tester–Foundation Level Certification Syllabus
This book covers the essentials of Model-Based Testing (MBT) needed to pass the ISTQB® Foundation Level Model-Based Tester Certification. The text begins with an introduction to MBT, covering both the benefits and the limitations of MBT. The authors review the various approaches to model-based testing, explaining the fundamental processes in MBT, the different modeling languages used, common good modeling practices, and the typical mistakes and pitfalls. The book explains the specifics of MBT test implementation, the dependencies on modeling and test generation activities, and the steps required to automate the generated test cases. The text discusses the introduction of MBT in a company, presenting metrics to measure success and good practices to apply.
* Provides case studies illustrating different approaches to Model-Based Testing
* Includes in-text exercises to encourage readers to practice modeling and test generation activities
* Contains appendices with solutions to the in-text exercises, a short quiz to test readers, along with additional information
Model-Based Testing Essentials – Guide to the ISTQB® Certified Model-Based Tester – Foundation Level is written primarily for participants of the ISTQB® Certification: software engineers, test engineers, software developers, and anybody else involved in software quality assurance. This book can also be used for anyone who wants a deeper understanding of software testing and of the use of models for test generation.
Table of Content
Foreword by Gualtiero Bazzana xi
Foreword by Robert V. Binder xiii
Preface xv
1 Introduction to model-based testing 1
1.1 Why do we need new approaches to testing?, 1
1.2 What is model-based testing?, 2
1.3 Benefits of MBT, 5
1.4 Pitfalls of MBT, 13
1.5 What can you realistically expect?, 19
2 What you should know about MBT before starting 21
2.1 ISTQB MBT glossary terms used in this book, 21
2.2 Other terms to know, 23
2.3 The modeling languages used in this book, 28
3 Process aspects of MBT 35
3.1 MBT and the fundamental test process, 35
3.2 The typical MBT process, 38
3.3 MBT and software development lifecycles, 49
3.4 How MBT supports requirement engineering, 55
4 Aspects to consider before you start writing an MBT model 59
4.1 Preliminary considerations on MBT modeling, 59
4.2 Subject and focus of your MBT model, 65
4.3 The influence of test objectives on MBT models, 70
5 Modeling languages – the agony of choice 75
5.1 Main categories of modeling languages, 76
5.2 UML and BPMN, 82
5.3 Other graphical modeling languages used for MBT, 85
5.4 Textual modeling languages used for MBT, 90
5.5 How to select the appropriate modeling language, 91
6 Good MBT modeling practices 97
6.1 Quality characteristics for MBT models, 97
6.2 Typical mistakes and pitfalls in MBT model design, 101
6.3 Linking requirements and process-related information to the MBT model, 103
6.4 The significance of modeling guidelines for MBT, 107
6.5 The question of reusing models from other development activities, 108
6.6 Tool support for MBT modeling activities, 112
6.7 Iterative MBT model development, 114
6.8 Other recommendations, 115
7 How MBT relates to test design techniques? 119
7.1 Equivalence partitioning and boundary value analysis, 119
7.2 Decision tables, 122
7.3 State transition testing, 123
7.4 Use case testing, 124
8 Deriving tests from an MBT model 127
8.1 Taxonomy of selection criteria, 127
8.2 Test case selection in practice, 138
8.3 Examples of coverage criteria, 140
8.4 Pros and cons of specific test selection criteria, 149
8.5 Some recommendations regarding test case selection, 152
8.6 Degree of automation in test generation, 154
9 Executing model-based tests 155
9.1 Understanding the concepts, 155
9.2 Adapting test cases for automated execution, 168
9.3 Adapting MBT artifacts due to changes, 173
10 Introducing MBT in your company 179
10.1 Five steps to MBT adoption, 179
10.2 Return-on-invest considerations, 182
10.3 Prioritize your organizational objectives, 186
10.4 How to measure progress and success?, 189
10.5 Deploying MBT, 191
10.6 Initial and running costs of MBT, 193
10.7 Integrating the tools, 196
11 Case studies 201
11.1 Enterprise IT model-based testing – Orange HRM case study, 201
11.2 MBT for process-supporting SW – Tool validation case study, 212
11.3 MBT for security components – PKCS#11 case study, 226
12 Conclusions 241
Appendix A Solutions of exercises 245
Appendix B Test yourself 253
Appendix C Taxonomy of MBT approaches 261
Abbreviations 263
Terms and definitions 265
ISTQB terms, 265
Other terms, 267
References 269
Index 273
About the author
Anne Kramer, Ph D, is Senior Consultant and Project Manager at sepp.med gmbh, a German IT service provider specializing in quality assurance. Dr. Kramer has actively participated in the elaboration of the new ISTQB® Certified Test Model-Based Testing Syllabus. Dr. Kramer teaches model-based testing as part of the sepp.med training portfolio.
Bruno Legeard is Professor of Software Engineering at the University of Franche-Comté, co-founder and Scientific Advisor of Smartesting. Prof. Legeard is an ISTQB Certified Tester, member of the French Testing Board (CFTL) and he co-leads at ISTQB–International Software Testing Qualification Board–the writer of the new Certified Tester Model-Based Testing syllabus. He is a member of several program committees in software testing each year and an author of numerous publications in the field. In 2015, he became Program Chair of UCAAT–User Conference on Advanced Automated Testing.