Information Technology Reference
In-Depth Information
Fig. 1. Requirements Selection and Regression Testing: two different areas of Software
Engineering that are Re-unified by SBSE (This example is taken from the recent survey
[48]). The task of selecting requirements is closely related to the problem of selecting
test cases for regression testing. We want test cases to cover code in order to achieve high
fitness, whereas we want requirements to cover customer expectations. Furthermore,
both regression test cases and requirements need to be prioritised. We seek to order
requirements ensure that, should development be interrupted, then maximum benefit
will have been achieved for the customer at the least cost. We seek to order test cases to
ensure that, should testing be stopped, then maximum achievement of test objectives
is achieved with minimum test effort.
3 Defining a Representation and Fitness Function
SBSE starts with only two key ingredients [36, 45]:
1. The choice of the representation of the problem.
2. The definition of the fitness function.
This simplicity makes SBSE attractive. With just these two simple ingredients
the budding Search Based Software Engineer can implement search based opti-
misation algorithms and get results.
Typically, a software engineer will have a suitable representation for their
problem. Many problems in software engineering also have software metrics as-
sociated with them that naturally form good initial candidates for fitness func-
tions [42]. It may well be that a would-be Search Based Software Engineer will
 
Search WWH ::




Custom Search