Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

COMPONENT-BASED TESTING

Page 1, 4 February 2022


Component Integration
test Testing

Component Development Integration


Testing

Component
test
Integration
Testing
?
What is the system?
Integration
Testing

Standard techniques for testing


Providing extensive test documentation, test code, test environment

Page 2, 4 February 2022


Component Integration
test Testing

System Development

Component Integration
test Testing

?
What is a component?

Page 3, 4 February 2022


What does interface testing include?

Fault Injection Testing


 Component test – a typical black box testing

Interface testing

 What does interface testing include?


 Parameter interface ??
 -Shared memory interface???
 -Procedural Interface??
 -Message passing Interface?

 Is that enough?

Page 5, 4 February 2022


 What about contractual interface?

Contractually
input Specified
output

Input not specified


by the contract

Input causing erroneous output (how to find it)?

Fault Injection testing


Page 6, 4 February 2022
 Internal state testing
 A component – a grey box
 Documentation
 State diagram
 Protocol documentation
 Test results

a 2 a,b
1
b
4
b a
a
3
b 5

Page 7, 4 February 2022


 It is necessary to evaluate and test the assembly;
 Test of the individual components is not sufficient.
 This implies that an investigation of the integration procedure
may be a part of an evaluation.

Assembly

Page 8, 4 February 2022


A PA
C1 P1
PA = F(P1, P2)

C2 P2

Assembly Properties Determined by Component Properties

Page 9, 4 February 2022


Problems of “hidden interface”

PH1
A PA
C1 P1
PA = F(P1, P2 PH1, PH2, f(PH1,PH2))

C2 P2

PH1

Page 10, 4 February 2022


 Do we need test component-based systems when components
(and assemblies) have been tested?

Page 11, 4 February 2022


 Examples of correct components in a new environment
 Ariane 5 example

Changes in
system System environment
Can cause problems

Stress testing
Fault injection testing

Page 12, 4 February 2022


 How to minimize testing?

 Provide evidence based on the component’s:


 Contracts,
 Experience accumulated
 Requirements for the systems (component environments)

Page 13, 4 February 2022


Assuming that the environment is invariant

First Use

New Environment is not covered by the first use

Page 14, 4 February 2022


0 -1027
First case
P-G

-27 -1 Second case


A-G

Covered by us1 and use 2

Page 15, 4 February 2022


R(c)

C(c)

0 1027 I(c)

A graph representing the reliability and the confidence


for a input domain

Page 16, 4 February 2022


R(c)

C(c)

0 1027 I(c)

A component reused in a context with lower reliability requirements

Page 17, 4 February 2022


R(c)

C(c)

0 1027 I(c)

The component must be run for a longer time to reach the desired
reliability

Page 18, 4 February 2022


R(c)

C(c)

0 1027 I(c)

Previously experienced reliability cannot be utilized if


input domains are outside historical use of the component

Page 19, 4 February 2022


If we reuse a component with only a
deadline requirement in a new environment
in which the execution time is shorter, the
component can be reused without re-testing.

Page 20, 4 February 2022


R(c)

C(c)

Worst case execution time


New old

The deadline requirement is still fulfilled


since the new execution time is shorter

Page 21, 4 February 2022


 In component-based approach testing plays even
more important role

 Separation of component from system testing


 Not sufficient test components
 Testing on assembly and system level is necessary
 There are methods for reducing testing

Page 23, 4 February 2022

You might also like