2. Introduction
Before testing a new system-under-test (SUT) it is critical to actually
understand the system
One way to clarify that your understanding of the system is correct is
to generate a model of the system that is a partial, abstract
representation of the system’s desired behaviour
Once this model is in place the tester can use this to generate different
kinds of test cases
This work process can facilitate scope setting, and reduce gaps in the
test scope due to a clearer understanding of the system-under-test
3. Model Example
State Transition 4
State Transition 1
State A State B
State Transition 3 State Transition 2
State C
4. Model-based Testing [1]
The model-based testing approach is a more complex version of this
approach
is a partial
description of
Model System
are derived can be run
from against
Abstract Tests Executable Tests
are abstract
versions of
5. Simple is better
is a partial
description of
Model System
are derived can be run
from against
Executable Tests
6. From Requirements to Test Cases
External
Requirements
Internal generates generates Manual Scripted Test
Requirements Cases
Technical
Information
Exploratory
Model
Charters
Business Information
Informal Information
API Tests
Other Information
7. Understanding the System
The main purpose of this exercise is to understand the system, and in
understanding the system, being able to test more effectively and
efficiently
The purpose is not to auto-generate test cases which some model-
based testing tools boast
This formalized way of modelling the system gives every tester a
hygiene understanding of the system
It is also much easier to show stakeholders the tester’s view of the
system, so that they can acknowledge this view or not
Facilitates communication and common understanding
9. Conclusion
This is a simple yet effective exercise which do not require any
investment in tools
By generating a model the tester gets a clearer understanding of the
system, leading to more effective and efficient testing
This model can be used to easily communicate with different
stakeholders
If you want to move to full fledged model-based testing, this could be a
first step to try out the system modelling concept