Writing A Test Strategy: Tor Stålhane
Writing A Test Strategy: Tor Stålhane
Writing A Test Strategy: Tor Stålhane
Tor Stlhane
Testing focus
Our focus will depend on which stakeholder we
are considering at the moment:
Users acceptance test and operational tests
Analysis systems test, qualification tests
Designer integration tests
Programmer unit tests
The main point is that we need to define the
stakeholder first then the tests to be run.
V&v Activities
V&V activity
SW Integrity Level
Development
requirements
level
4
Design
level
3 2 1 4 3 2 1
Implementation
level
Test level
4 3 2
X X X
X X
Interface analysis
X X
X X X
X X
X X
Management review of
V&V
X X
X X X X X
X X
X X
X
S1
S2
S3
Probability
C1
C2
C3
E1
QM
QM
QM
E2
QM
QM
QM
E3
QM
QM
E4
QM
E1
QM
QM
QM
E2
QM
QM
E3
QM
E4
E1
QM
QM
E2
QM
E3
E4
According
to req.
ASIL
A
9.4.4
++
++
++
++
9.4.4
++
++
++
9.4.4
++
++
9.4.4
++
++
According
to req.
ASIL
A
Functional tests
8.4.2
Structural coverage
8.4.2
8.4.2
8.4.2
++ ++
++
10 -9 to 10 -8
10 -8 to 10 -7
2
1
10 -7 to 10 -6
10 -6 to 10 -5
Detailed design
Technique/Measure
SIL1
SIL2
SIL3
SIL4
HR
HR
HR
HR
Table B.7
HR
HR
HR
C.2.4
---
HR
B.3.5
HR
HR
Defensive programming
C.2.5
---
HR
HR
Modular approach
Table B.9
HR
HR
HR
HR
Table B.1
HR
HR
HR
Structured programming
C.2.7
HR
HR
HR
HR
C.2.10
C.4.5
HR
HR
HR
Ref
C.2.1
Ref
C.5.1
SIL1
---
SIL2
R
SIL3
R
SIL4
HR
B.6.5
Table B.2
HR
HR
HR
3
4
C.5.2
B.5.1
B.5.2
Table B.3
HR
HR
HR
HR
HR
HR
HR
HR
Performance testing
C.5.20
Table B.6
HR
HR
Interface testing
C.5.3
HR
HR
a) Software module and integration testing are verification activities (see table A.9).
b) A numbered technique/measure shall be selected according to the safety integrity level.
c) Appropriate techniques/measures shall be selected according to the safety integrity level.
Random testing
The idea of random testing is simple:
1.Define all input parameters e.g. integer,
real, string
2.Use a random test / number generator to
produce inputs to the SUT
The main problem with this method is lack of
an oracle to check the results against. Thus,
manual checking is necessary.
The method is mostly used for crash testing
(robustness testing) will the system
survive this input?
bX c 0
b
X
2a
b
c
2
4a
a
c
X
b
Testing domains
Aa ><
=0
Aa =
= 00
D3
b2
c
A = 0 0
4a 2
a
D1
D2
b2 c
A = 0 0
4a 2 a
Acknowledgement
The first part of this presentation is
mainly taken from Gregory T. Daichs
presentation Defining a Software
Testing Strategy, 30 April 2002.