1/25 Heraklion Crete, Greece, September 8-9, 2005 Rapid Integration of Software Engineering Techniques, 2005 Software Testing with Evolutionary Strategies Enrique Alba and J. Francisco Chicano Introduction Previous Work Test Data Generator Evolutionary Strategy Experiments Conclusions & Future Work
25
Embed
Software Testing with Introduction Evolutionary Strategies ... · Software Testing with Evolutionary Strategies Enrique Alba and J. Francisco Chicano Introduction. Previous Work.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1/25
Heraklion Crete, Greece, September 8-9, 2005
Rapid Integration of Software Engineering Techniques, 2005
Software Testing with Evolutionary Strategies
Enrique Alba and J. Francisco Chicano
Introduction
Previous Work
Test Data Generator
Evolutionary Strategy
Experiments
Conclusions & Future Work
2/25
Heraklion Crete, Greece, September 8-9, 2005
Rapid Integration of Software Engineering Techniques, 2005
Introduction• After codification, software products require a test phase
• The objective is to find errors
and to ensure software correctness
• Software companies dedicate 50%
of resources to this task
•
We propose an automatic tool based on Metaheuristics
to generate the input data
for the test
1.0, 2.31.0, 2.3
10.5Ok!
2.7, 5.42.7, 5.4
15.0
Wrong!
Introduction
Previous Work
Test Data Generator
Evolutionary Strategy
Experiments
Conclusions & Future Work
3/25
Heraklion Crete, Greece, September 8-9, 2005
Rapid Integration of Software Engineering Techniques, 2005
Test Adequacy Criteria•
Test data generator objective: to propose
input data finding a
maximum
number of errors
Introduction
Previous Work
Test Data Generator
Evolutionary Strategy
Experiments
Conclusions & Future Work
4/25
Heraklion Crete, Greece, September 8-9, 2005
Rapid Integration of Software Engineering Techniques, 2005
Test Adequacy Criteria•
Test data generator objective: to propose
input data finding a
maximum
number of errors
• Test data generator objectives (test adequacy criteria)
DIFFICULT TO CHECK
Introduction
Previous Work
Test Data Generator
Evolutionary Strategy
Experiments
Conclusions & Future Work
5/25
Heraklion Crete, Greece, September 8-9, 2005
Rapid Integration of Software Engineering Techniques, 2005
Test Adequacy Criteria•
Test data generator objective: to propose
input data finding a
maximum
number of errors
• Test data generator objectives (test adequacy criteria)
DIFFICULT TO CHECK
Statement
Coverage
Branch
Coverage
Condition-DecisionCoverage
All
the
statements
executed
All
the
branches
taken
All the atomic conditionstrue and false
Stronger
Introduction
Previous Work
Test Data Generator
Evolutionary Strategy
Experiments
Conclusions & Future Work
6/25
Heraklion Crete, Greece, September 8-9, 2005
Rapid Integration of Software Engineering Techniques, 2005
• Three main paradigms:
Random test data generation
Symbolic test data generation
Dynamic test data generation
Previous Work
Inputs: a,b
c = a+b
c < 0true false
1.2, 0.7
α, βα+β
< 0
α+β ≥ 0
1.0, -2.0
3.5, 1.2
-1.0, -0.5
1.0, -0.5
Introduction
Previous Work
Test Data Generator
Evolutionary Strategy
Experiments
Conclusions & Future Work
7/25
Heraklion Crete, Greece, September 8-9, 2005
Rapid Integration of Software Engineering Techniques, 2005
• Three main paradigms:
Random test data generation
Symbolic test data generation
Dynamic test data generation
Previous Work
Inputs: a,b
c = a+b
c < 0true false
1.2, 0.7
α, βα+β
< 0
α+β ≥ 0
1.0, -2.0
3.5, 1.2
-1.0, -0.5
1.0, -0.5
Introduction
Previous Work
Test Data Generator
Evolutionary Strategy
Experiments
Conclusions & Future Work
8/25
Heraklion Crete, Greece, September 8-9, 2005
Rapid Integration of Software Engineering Techniques, 2005
Previous Work• The global objective is broken down in small sub-objectives
c1 true c1 falsec2 true
c3 falsec3 truec2 false
Six
sub-objectives
cond
ition
-dec
isio
nco
vera
ge
Function
minimization
problem
Input
data
Dis
tanc
e
Sub-objective
(c3 true)
Current
input
data
Introduction
Previous Work
Test Data Generator
Evolutionary Strategy
Experiments
Conclusions & Future Work
9/25
Heraklion Crete, Greece, September 8-9, 2005
Rapid Integration of Software Engineering Techniques, 2005
Test Data Generator
Test
Program
Select
sub-objective
Evolutionary Strategy
End
Continue?yes
no
Test
Data Generator
Input
data
Fitness
Introduction
Previous Work
Test Data Generator
Evolutionary Strategy
Experiments
Conclusions & Future Work
10/25
Heraklion Crete, Greece, September 8-9, 2005
Rapid Integration of Software Engineering Techniques, 2005
Evolutionary Strategy
GeneticAlgorithm
EvolutionaryStrategy
GeneticProgramming
EvolutionaryProgramming
Evolutionary
Algorithms
Optimization
problem
Population-based
Introduction
Previous Work
Test Data Generator
Evolutionary Strategy
Experiments
Conclusions & Future Work
11/25
Heraklion Crete, Greece, September 8-9, 2005
Rapid Integration of Software Engineering Techniques, 2005
Evolutionary Strategy
t := 0;P(0) := Generate();Evaluate (P(0));while stop criterion not met do