requirements & system modelling for verification
TRANSCRIPT
Requirements and System Modelling
for Verification
Understanding the System
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
Model Example
State A State B
State C
State Transition 1
State Transition 2 State Transition 3
State Transition 4
Model-based Testing [1]
The model-based testing approach is a more complex version of this
approach
Model
Abstract Tests
System
Executable Tests
are derived
from
are abstract
versions of
can be run
against
is a partial
description of
Simple is better
Model System
Executable Tests
are derived
from
can be run
against
is a partial
description of
From Requirements to Test Cases
External
Requirements
Manual Scripted Test
Cases
Model
generates Internal
Requirements
Technical
Information
Business Information
Informal Information
Other Information
Exploratory
Charters
API Tests
generates
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
Stakeholder Communication
Requirements Stakeholder
Requirements View
Model
Stakeholder
Tester
Review & Approve
Model
Generate Test Cases
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
References
[1] Model-based Testing
http://en.wikipedia.org/wiki/Model-based_testing