Test Case Design by Means of CTM and Cte
Test Case Design by Means of CTM and Cte
Cost-effective Increasing
development and complexity of
time-to-market systems
crucial for
competitiveness
Increasing significance
of software in safety
High consequential relevant areas
costs due to faults
up to 60 communicating embedded controllers
up to High requirements
1,000,000 for software
lines of software code
based systems
various buses, hundredsdueoftomessages
norms,
standards and legal regulations
> 2 km wire
Applications at DC
Applications at DC
System Development at DC
Integration Test
Component Development
Integration
Suppliers
Testing in Practice
• testing is an immense cost factor in the course of system development
system and
acceptance 20
testing
50 other development activities
30
module and
integration
testing
• high cost
Test automation
• testing is too unsystematic
• low error detection rate Test methods
Objectives of Testing
Through executing a system with selected test data the test is aiming at
z detecting errors in the system under test and
z gaining confidence in the correct functioning of the test object.
Strong Features
z taking into consideration the real environment (e.g. target computer, compiler) and
z testing the dynamic system behavior (e.g. run time behavior, memory space requirement)
Weak Features
z an exhaustive test is usually impossible
Test Activities
Test Planning
Specification Program
Test Documentation
Test Organization
Test Evaluation
Testing Methods
Functional test:
• test case design performed on the basis of the specification
• most important test approach
• common methods show insufficient systematics when partitioning
the input domain, difficult procedure, or no efficient tool support
• test size is hard to quantify (coverage of requirements, function points, ...)
• difficult to automate
• examples: equivalence partitioning, boundary value test, category-partition method
Structural test:
• test case design performed on the basis of the program structure
• common test approach (included in many standards)
• not possible to check whether all requirements have been implemented
• difficult to automate (limits of symbolic execution)
• examples: statement test, branch test, path test
Testing Methods
Statistical Test:
• test data generation in accordance with operational profile
• operational profile hard to determine, especially for new systems
• extensive test evaluation, if no test oracle available
Random Test:
• generation of random test data
• specific test-relevant value combinations are produced only with little probability
• extensive test evaluation, if no test oracle available
Evolutionary Test:
• generation of test data by means of search techniques
• test objectives have to be transformed into an optimization problem
Mutation Test:
• test cases are build in order to kill mutants of original program
• no procedure how to define the test cases
Functional Testing
• lack of functional testing methods which are
• efficient
• easy to use in practice
• suited for automation
• lack of testing tools for black-box test case design
Classification-Tree Method
efficient functional test method CTM:
• systematic stepwise procedure which is easy to
understand
• graphical notation with compact representation
of the over-all test
• good test documentation
• tool support with the CTE XL
• proven in practical use
Classification-Tree Method
Test object: computer vision system recognizing the size of different
building blocks
large
Aspects
Size Color Shape Size Color Shape
Classification-Tree Method
Classification-Tree Method
Classification-Tree Method
Classification-Tree Method
Test object: computer vision system recognizing the size of different
building blocks
classification
large
class
Aspects
Size Color Shape Size Color Shape
Classification-Tree Method
Test object: computer vision system recognizing the size of different
building blocks
Minimality criterion: 5 testcases
large five disjoint classes for
shape
Aspects
Size Color Shape Size Color Shape
Classification-Tree Method
Test object: computer vision system recognizing the size of different
building blocks
Maximality criterion: 30 testcases
large 2*3*5
Aspects
Size Color Shape Size Color Shape
Supporting
• hierarchies to structure large classification trees and
• hierarchies to structure sets of test cases
• description of logical dependencies between classes of the classification-tree
• combination rules for the generation of test cases according to logical dependencies and
combination rules
• sorting of test cases
• comprehensive export functionalities
• open API and architecture supporting the implementation of tool integrations such as with
• DOORS
• Test Director
• Tessy
• Time Partition Testing
• Win Runner
folded
subtree
groups of
test cases
1. Classes belonging to the same classification 2. If a class is marked all parent tree nodes
are disjoint (i.e. exclusive). are marked, too.
e.g., red, green, and blue e.g., equilateral implies triangle
‘triangle’
is implicitly
marked
disjoint
classes
verification
of logical
dependencies
specification
of logical
dependencies
red circle
specification
of combination
rules
Acceptance Test
Vehicle Tests
Vehicle Integration
dSPACE
Specification DOORS TPT MSC TTCN3
Auto-
mation
Win
System Test Runner
Desk
System Test
Integration Test
Integration
MTest
Unit Test Tessy
Summary
• Classification-Tree Method enables systematic test case design for functional testing
Future Work