Test Case Generation from Statecharts

ADvenTmatik
2003
Test Case Generation
from Statecharts
Test Case
Generation from
Statecharts
Thomas Gutzeit
[email protected]
Thomas Gutzeit
[email protected]
Content
Introduction
Basic Principle
Additional Criteria for Statecharts
Test Results and Conclusion
05. Dezember 2003 (Folie 1)
• Statecharts as behavior model for testing graphical
user interfaces
• Increasing influence and use of statecharts in
software engineering (UML)
ADvenTmatik
2003
Test Case
Generation from
Statecharts
Thomas Gutzeit
[email protected]
• Here: Statecharts defined by D. Harel
• Applying the approach of F. Belli to statecharts
• Are the additional properties of statecharts covered
by the approach?
Introduction
Basic Principle
Additional Criteria for
Statecharts
Test Results and
Conclusion
05. Dezember 2003 (Folie 2)
Basic principle of test case generation to
cover all Event Pairs
Incoming Event
State
Outgoing legal Event
Outgoing illegal
Event (faulty State)
stop
11.1:Stopped
play
pause
stop
ADvenTmatik
2003
Test Case
Generation from
Statecharts
Thomas Gutzeit
[email protected]
play_pause
pause_resume
play
11.2:Playing
pause_resume
pause
play
play_pause
pause_resume
Introduction
stop
Basic Principle
pause
play_pause
11.3:Pausing
pause_resume
pause
play
play_pause
Additional Criteria for
Statecharts
stop
Test Results and
Conclusion
05. Dezember 2003 (Folie 3)
Hierarchical State Coverage: By means of the event
pairs
ADvenTmatik
2003
Test Case
Generation from
Statecharts
Thomas Gutzeit
[email protected]
EPs:
FEPs:
stop
off
stop
Eingehendes
play
Ereignis
pause_resume
on
pause
ausgehendes on
off
play
Zustand
Ereignis
off
pause_resume on
11:Playstate off
off
pause
on
play_pause
off
on
play
play_pause
on
on
Condition Coverage: Events will be tested by covering
the outcomes TRUE and FALSE
Introduction
Basic Principle
Additional Criteria for
Statecharts
Test Results and
Conclusion
05. Dezember 2003 (Folie 4)
History Event Coverage: Unique test sequence which
uses history functionality
ADvenTmatik
2003
Test Case
Generation from
Statecharts
Thomas Gutzeit
[email protected]
EP:
FEP:
stop
next
play
pause
stop
previous
play
stop
Stop
stop
trackposition
play
Pause
stop
Trackinfo
OK
Introduction
play
pause
…
Concurrent Event Coverage is reduced to testing:
Basic Principle
Additional Criteria for
Statecharts
Test Results and
Conclusion
• parallel states separately and
• [IN] conditions by setting TRUE and FALSE
05. Dezember 2003 (Folie 5)
Designed Statecharts for Real Jukebox (RJB)
ADvenTmatik
2003
Test Case
Generation from
Statecharts
Thomas Gutzeit
[email protected]
Introduction
Basic Principle
Additional Criteria for
Statecharts
Test Results and
Conclusion
05. Dezember 2003 (Folie 6)
Results from RJB Case-Study:
ADvenTmatik
2003
• Revealed faults: #15
Test Case
Generation from
Statecharts
15
5
number of faults
0
10
10
15
20
25
30
35
Number of detected Faults
ES
Thomas Gutzeit
[email protected]
FES
Detected faults by Belli, but not detected by Statecharts
5
Faults detected
by both methods
Faults detected by Gutzeit, but not detected by Belli
0
Conclusion:
Introduction
Basic Principle
• Generated test cases from statecharts are efficient
in detecting faults
Additional Criteria for
Statecharts
Test Results and
Conclusion
• But designing statecharts dedicatedly for testing is
very expensive
05. Dezember 2003 (Folie 7)