Radboud University, The Netherlands
Model-Based Testing - There is Nothing More Practical than a Good Theory
We build ever larger and more complex software systems. Systematic testing plays an important role in assessing the quality of such systems. Testing, however, turns out to be error-prone, expensive, and laborious. Consequently, better testing methods are needed that can detect more bugs faster and cheaper. Classical test automation helps but only for test execution. Model-based testing (MBT) is a promising technology that enables the next step in test automation, by combining automatic test generation and test result analysis with test execution, and providing more, longer, and more diversified test cases with less effort.
In the presentation, we first discuss the basic ideas and principles of MBT. Second, we discuss the ioco-theory for model-based testing. The ioco-theory, on the one hand, provides a sound and well-defined foundation for MBT with labelled transition systems models. It enables formal reasoning about correctness of systems and about exhaustiveness and soundness of test suites. On the other hand, the ioco-theory has shown to be a practical basis for MBT tools and applications. The latter is illustrated in the third part of the presentation, where we will show TorXakis, an MBT tool that implements the ioco-testing theory. We will discuss how TorXakis supports state-based control flow together with complex data structures, compositionality, concurrency, abstraction, uncertainty (nondeterminism), and under-specification, which are aspects that are ubiquitous in current systems. We will show how TorXakis was used to test the Dropbox file synchronization service, in which all these aspects show up.