Model-Based Testing: what it is and what does it entail?
Dr-Udo-Brockmeyer 27000190UD Visits (13336)
Testing early and often is a vital part of avoiding late-stage rework causing delays and cost overruns in complex product development. Model-based-testing (MBT) is an approach using models to improve the efficiency and effectiveness of software and/or system testing. The system under test (SUT) is the software and/or system under development that is to be tested. In a nutshell, MBT means using models to:
Hence, test models can be used to represent various testing aspects and views, for instance, expected SUT behaviour, testing strategies, test environments, and so on. A set of test cases generated from such a test model forms an abstract test suite—abstract since models are always an abstraction of the real world. An abstract test suite cannot be directly executed against an implementation of the SUT. It is necessary to transform it into an executable test suite to be executed on the real system under development and test. Fortunately MBT can automate this step, too. The bottom line is that MBT enables a very high degree of test automation, including:
In a MBT approach the SUT may or may not be described using models. Of course, using models to describe the SUT has its own advantages and benefits, also known as model-driven development. But MBT can be applied successfully regardless of how the SUT is created.
In a recent Model-based testing User Survey, it has been shown that the majority of participating MBT users expect to gain effectiveness and efficiency improvements from their use of the approach.
Model-Based Testing: Where Does It Stand?
By Robert V. Binder, Bruno Legeard, Anne Kramer - Communications of the ACM, Vol. 58 No. 2, Pages 52-56 – DOI10.1145/2697399.
(Reproduced with permission)
So, where do we stand with tools supporting the MBT approach, ready for use in production projects?
Of course, a rich set of different tools exist, both commercial and academic. IBM Rational Rhapsody (Rhapsody) is a widely used modelling and development environment for systems and software leveraging two Object Modeling Group (OMG) standards: the Unified Modeling Language (UML) and the Systems Modeling Language (SysML). The Rhapsody MBT solution (Rhapsody MBT Solution) comprises two components, IBM Rational Rhapsody TestConductor Add On and IBM Rational Rhapsody Automatic Test Generation Add On (ATG). TestConductor is an efficient MBT tool to specify, execute and report on test cases and their execution (watch a TestConductor Demo from IBM Business Partner Evocean). ATG is an effective tool to generate functional test cases from test models extending TestConductor capabilities. Both tools, TestConductor and ATG, are built using the UML testing profile (UTP), which is an extension of the UML standard. This approach provides a MBT infrastructure to implement the “verification shift-left paradigm”—the moving of verification activities as early as possible in the development lifecycle to eliminate latent defects and cut rework and its associated costs.
“verification shift-left paradigm”
Test early, fix early, decrease development cost
A recent webcast (May 19th 2015) has demonstrated how ATG can be used to generate test cases from system models specified with SysML in Rhapsody. In another webcast (August 5th 2015) it was presented how model-based integration testing can be performed using TestConductor: Mode
Model based testing is a very powerful approach to implement the “verification shift-left paradigm” in order to decrease development cost and increase product quality. With the right tooling at hand, for instance Rational Rhapsody, TestConductor and ATG, it is possible to increase testing efficiency far beyond what we typically experience from existing testing approaches and tool chains.