Professional Documents
Culture Documents
adenilso@icmc.usp.br
Instituto de Ciencias
Matematicas
e de Computacao
Paulo
Universidade de Sao
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Software Testing
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Implicit models
Explicit models
I
I
System Understanding
Diagrams
State Machines
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
State Machines
Vanilla models
Understandable for non-experts
Semantic is the model itself
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Many flavors
I
State machine
I
LTS
IOTS
I
I
FSM
I
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Given an implementation
Behaviour
Oracle problem
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Long tradition
I
I
I
Moore, 19581
Hennie, 19652
Gonenc, 19703
1
Edward F. Moore. Gedanken-Experiments on Sequential Machines. In: J.
Symbolic Logic 23.1 (1958).
2
F. C. Hennie. Fault-detecting experiments for sequential circuits. In:
Proceedings of Fifth Annual Symposium on Circuit Theory and Logical Design. 1965,
pp. 95110.
3
G. Gonenc. A method for the design of fault detection experiments. In: IEEE
Transactions on Computers 19 (1970), pp. 551558.
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Active Area
I
Hierons, 20134
Kapus-Kolar, 20125
El-Fakih, 20126
Simao, 20127
Robert M. Hierons. Verifying and Comparing Finite State Machines for Systems
that Have Distributed Interfaces. In: IEEE Trans. Computers 62.8 (2013),
pp. 16731683.
5
Monika Kapus-Kolar. On Exploring alternatives for transition verification. In:
Journal of Systems and Software 85.8 (2012), pp. 17441748.
6
Khaled El-Fakih et al. FSM-based testing from user defined faults adapted to
incremental and mutation testing. In: Programming and Computer Software 38.4
(2012), pp. 201209.
7
A. Petrenko, and N. Yevtushenko. On reducing test length for FSMs
A. Simao,
with extra states. In: Softw. Test., Verif. Reliab. 22.6 (2012), pp. 435454.
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
ICST 20128
A-MOST 20129
SBQS 201210
8
and N. Yevtushenko. Generating Checking Sequences for
A. Petrenko, A. Simao,
Nondeterministic Finite State Machines. In: ICST. ed. by Giuliano Antoniol,
Antonia Bertolino, and Yvan Labiche. IEEE, 2012, pp. 310319. ISBN:
978-1-4577-1906-6.
9
Experimental Comparison of Test Case Generation
A. Endo and A. Simao.
Methods for Finite State Machines. In: ICST. ed. by Giuliano Antoniol,
Antonia Bertolino, and Yvan Labiche. IEEE, 2012, pp. 549558. ISBN:
978-1-4577-1906-6.
10
M. L. Capellari et al. Towards Incremental FSM-based Testing of Software
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Coverage based
I
States
Transitions
Fault based
I
I
Mutants
Fault domains
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Fault domains
Output faults
Transfer faults
Extra states
Missing states
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Testing Hypothesis
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Mutant Killing
Transition Tour
I
x1 x0 x1 y1 x1 y0 y0 y1 y0
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Transition Tour
I
I
x1 x0 x1 y1 x1 y0 y0 y1 y0
to kill it: y0 y1
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Transition Tour
I
I
I
x1 x0 x1 y1 x1 y0 y0 y1 y0
y0 y1
to kill it: x1 y0 y0 y1 y0 x1 x0 x1
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Transition Tour
I
I
I
I
x1 x0 x1 y1 x1 y0 y0 y1 y0
y0 y1
x1 y0 y0 y1 y0 x1 x0 x1
to kill it: y0 x1 x1
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Transition Tour
I
I
I
I
I
x1 x0 x1 y1 x1 y0 y0 y1 y0
y0 y1
x1 y0 y0 y1 y0 x1 x0 x1
y0 x1 x1
to kill it: y0 y1 x0
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
for s1, y0 y1 y0
for s2, y1 y0 y0
for s3, y0 y0 y1
for s4, y0 y0 y0
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Consider (s4, x)
I
y0 y1 y0 y0 y0
y0 y1 x1 y0 y0 y1
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
Consider (s2, x)
I
y0 y1 y0 y0
y0 x1 y1 y0 y0
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
x1 y0 y0 y1 y0
x1 x0 y1 y0 y0
y0 x1 y1 y0 y0
y0 y1 x1 y1 y0 y0
y0 y1 y0 y0 y0 y0
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
y0 y1 y0 y0 y0 y0 x1 y0 y0 y1 x1 x0 y1 x1 x0 x1 y1 x1 y0 x1 y0 y0
y1
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Fault domains
y0 x1 y1 y0 y0 y0 x1 y0 x1 y0 y0 y1 x1 x0 y1
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Complete Tests
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Several Cases
M is deterministic or not?
M is minimal or not?
M is complete or not?
N m (M ) is deterministic or not?
m < n, m = n or m > n?
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Required properties
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Many methods
I
Basic idea
I
I
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Reliable Operations
I
Magic operations
I
Set
I
State Recognition
I
I
Reset
Status
Set operation
Status operation
Transition Verification
I
I
I
Set operation
Execute the transition
Status operation
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Instead of Set
I
Transfer sequences
Instead of Status
I
Separating sequences
I
Many possibilities
Instead of Reset
I
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
W Method (1978)
Separating Sequence
I
Characterization Sets W
I
I
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
H Method (2005)
More expensive
Shorter tests
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Avoiding branches
I
I
aab
aaaaab
Which is better?
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Checking Sequence
Locating Sequence
I
Impossible
Too expensive
Exponentially long
Distinguishing Sequence
I
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
Conclusions
Long-standing problem
I
Several results
Open problems
I
I
I
I
Non-determinism
Decoupling input and outputs
Necessary conditions
More efficient methods
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao
Introduction
Test from FSM
Complete Tests
Examples
Conclusions
adenilso@icmc.usp.br
Instituto de Ciencias
Matematicas
e de Computacao
Paulo
Universidade de Sao
- SSC/ICMC/USP adenilso@icmc.usp.br
Adenilso Simao