The development of embedded systems is an essential industrial activity whose importance is increasing. Commonly, embedded software systems have to fulfil real-time requirements. The most important analytical method to assure the quality of real-time systems is dynamic testing. Testing is the only method which examines the actual run-time behaviour of embedded software systems, based on an execution in the real application environment. Dynamic aspects like the duration of computations, the memory actually needed, or the synchronisation of parallel processes are of major importance for the correct function of real-time systems, and have to be tested. The most important prerequisite for a thorough test is the design of relevant test cases. The classification-tree method was developed to overcome the shortcomings of current functional testing practice. It turns functional test case design into a process comprising several structured and systematised parts making it easy to handle, to understand, and also to document. Nevertheless, the classification-tree method alone is not sufficient for a comprehensive test of embedded systems. It is not well-suited for an examination of temporal correctness which is additionally essential to real-time systems. Already very small systems show a large variety of different execution times. Therefore, a new approach which concentrates on the temporal system behaviour was developed to complement the systematic test with the classification-tree method. It is based on the use of genetic algorithms and has been successfully tried out. The idea is to use genetic algorithms to search for input situations with very long or very short execution times, and to check whether they produce a temporal error. If all the times found correspond with the timing constraints, confidence in the temporal correctness is substantiated. Otherwise the real-time system has failed and an error is detected.
[1]
Marc J. Balcer,et al.
The category-partition method for specifying and generating fuctional tests
,
1988,
CACM.
[2]
Harmen-Hinrich Sthamer,et al.
The automatic generation of software test data using genetic algorithms
,
1995
.
[3]
M. Roper.
CAST with GAs - automatic test data generation via evolutionary computation
,
1996
.
[4]
Walter S. Heath.
Real-Time Software Techniques
,
1990
.
[5]
Hartmut Pohlheim,et al.
Genetic and evolutionary algorithm toolbox for use with matlab
,
1994
.
[6]
Matthias Grochtmann,et al.
Classification trees for partition testing
,
1993,
Softw. Test. Verification Reliab..
[7]
Kenneth A. De Jong,et al.
Genetic Algorithms are NOT Function Optimizers
,
1992,
FOGA.
[8]
Kennetb A. De.
Genetic Algorithms Are NOT Function Optimizers
,
1992
.
[9]
Glenford J. Myers,et al.
Art of Software Testing
,
1979
.
[10]
Elaine J. Weyuker,et al.
Some observations on partition testing
,
1989,
TAV3.