SlideShare uma empresa Scribd logo
1 de 152
Baixar para ler offline
www.unamur.be
Testing
Variability-intensive Systems
Gilles Perrouin
Xavier Devroey
Maxime Cordy
SPLC ’17, Sevilla, Spain
@GPerrouin
@xdevroey
gilles.perrouin@unamur.be
xavier.devroey@unamur.be
maxime.cordy@unamur.be
www.unamur.be
Testing
Variability-intensive Systems
SPLC ’17, Sevilla, Spain
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
9,999,999
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf) ?!?
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
-1
?!?
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
A test engineer walks into
a bar and
• orders a beer
• orders 0 beers
• orders 9999999 beers
• orders a lizard
• orders -1 beers
• orders a "sfdeljknesv"
— Bill Sempf (@sempf)
"sfdeljknesv"
?!?
System

under

test
Menu
System

under

test
Menu
System

under

testSpecification
Menu
System

under

testSpecification
Menu
System

under

testSpecification
Test case
Menu
System

under

testSpecification
Test case
Menu
System

under

testSpecification
Test case
Output
Menu
System

under

testSpecification
Test case
Output
Menu
System

under

testSpecification
Test case
Output
Pass or fail?
Software testing consists of the dynamic verification 

that a program provides expected behaviours 

on a finite set of test cases, suitably selected from the
usually infinite execution domain.
[SWEBOK v3]
Software-intensive Systems Testing
www.unamur.be
Testing
Variability-intensive Systems
SPLC ’17, Sevilla, Spain
[A Software Product Line (SPL) is]

a set of software-intensive systems that share
a common, managed set of features satisfying the specific
needs of a particular market segment or mission and that are
developed from a common set of
core assets in a prescribed way
P. C. Clements and L. Northrop — ‘‘Software Product Lines:

Practices and Patterns’’.

SEI Series in Software Engineering. Addison-Wesley, 2001.
Variability-Intensive Systems: SPL
Hall of Fame
splc.net/fame.html
Hall of Fame
splc.net/fame.html
gilles.perrouin@unamur.be 19
Variability-Intensive Systems:
Configurable Systems
20
20
20
20
20
20
20
21
gilles.perrouin@unamur.be 21
We therefore regroup all these systems under the
“variability-intensive systems” umbrella for feature-
based testing….
…thanks to a very liberal notion of feature!
Variability-Intensive Systems
gilles.perrouin@unamur.be 22
Variability-Intensive Systems
Michael Jackson: “features are behaviours”
gilles.perrouin@unamur.be
Christian Kästner: “features are configuration
22
Variability-Intensive Systems
Michael Jackson: “features are behaviours”
gilles.perrouin@unamur.be
Christian Kästner: “features are configuration
22
Variability-Intensive Systems
Michael Jackson: “features are behaviours”
gilles.perrouin@unamur.be
Christian Kästner: “features are configuration
Features are units of
variability
22
Variability-Intensive Systems
Michael Jackson: “features are behaviours”
gilles.perrouin@unamur.be
Christian Kästner: “features are configuration
Features are units of
variability
22
Variability-Intensive Systems
Michael Jackson: “features are behaviours”
gilles.perrouin@unamur.be
Christian Kästner: “features are configuration
Features are units of
variability
22
Variability-Intensive Systems
Michael Jackson: “features are behaviours”
Feature Model (FM)
Feature Model (FM)
CPTerminal t
Identification id
DirectDebit dd CreditCard cr Online on Offline off PIN pin Signature sig
requires
PaymentSchema ps Connectivity c
[1..*]
opt.
Feature Model (FM)
CPTerminal t
Identification id
DirectDebit dd CreditCard cr Online on Offline off PIN pin Signature sig
requires
PaymentSchema ps Connectivity c
[1..*]
opt.
Feature Model (FM)
CPTerminal t
Identification id
DirectDebit dd CreditCard cr Online on Offline off PIN pin Signature sig
requires
PaymentSchema ps Connectivity c
[1..*]
opt.
Feature Model (FM)
CPTerminal t
Identification id
DirectDebit dd CreditCard cr Online on Offline off PIN pin Signature sig
requires
PaymentSchema ps Connectivity c
[1..*]
opt.
Feature Model (FM)
CPTerminal t
Identification id
DirectDebit dd CreditCard cr Online on Offline off PIN pin Signature sig
requires
PaymentSchema ps Connectivity c
[1..*]
opt.
Feature Model (FM)
CPTerminal t
Identification id
DirectDebit dd CreditCard cr Online on Offline off PIN pin Signature sig
requires
PaymentSchema ps Connectivity c
[1..*]
opt.
Feature Model (FM)
CPTerminal t
Identification id
DirectDebit dd CreditCard cr Online on Offline off PIN pin Signature sig
requires
PaymentSchema ps Connectivity c
[1..*]
opt.
Software testing consists of the dynamic verification 

that a program provides expected behaviours 

on a finite set of test cases, suitably selected from the
usually infinite execution domain.
Software-intensive Systems Testing
[SWEBOK v3]
Variability-intensive systems testing consists of the
dynamic verification 

that a a set of software-intensive systems programs
provides expected behaviours 

on a finite set of test cases, suitably selected from the
usually infinite execution domain.
Variability-Intensive Systems Testing
Features
0
33
Features
0
33 320
Features
0
33 320 6,888
Features
0
32
32
Set of
programs
can be
HUUUGE!
32
Set of
programs
can be
HUUUGE!
# test cases
for one
program
already huge
32
Set of
programs
can be
HUUUGE!
# test cases
for one
program
already huge
So we have a
huge*HUUGE
problem!!!
33
gilles.perrouin@unamur.be 33
We would like to provide you an overview of the
model-based techniques to test variability-
intensive systems, considering both structural and
behavioural concerns.
Tutorial Objective
34
gilles.perrouin@unamur.be 34
Part I (Until 16h) : sample configurations to test
Feature modelling
Sampling techniques
Discussion on the JHipster case
Part II (16h30-18h) : select behaviours to test
A (short) introduction to behaviour modelling
Behaviour-driven test case selection
Test concretisation
Open Discussion (18h-18h30)
Tutorial Agenda
www.unamur.be
Part I: Sampling
Techniques
SPLC ’17, Sevilla, Spain
36
gilles.perrouin@unamur.be 36
Feature Modelling Ecosystem
Academic
Marcilio Mendonca, Moises Branco, Donald
Cowan: S.P.L.O.T. - Software Product Lines
Online Tools. OOPSLA Companion, October
2009, Orlando, Florida, USA.
Christian Kästner, Thomas Thüm, Gunter Saake, Janet Feigenspan,
Thomas Leich, Fabian Wielgorz, and Sven Apel. FeatureIDE: Tool
Framework for Feature-Oriented Software Development. ICSE 2009.
Formal Demonstration paper.
Mathieu Acher, Philippe
Collet, Philippe Lahire, Robert
France. FAMILIAR: A Domain-
Specific Language for Large
Scale Management of
Feature Models. Science of
Computer Programming,
Elsevier, 2013, 78 (6)
Antkiewicz, M., K. Bąk, A. Murashkin, R. Olaechea, J. Liang,
and K. Czarnecki, "Clafer Tools for Product Line
Engineering", Software Product Line Conference, Tokyo,
Japan, 2013.
root Website {
group [0..2] {
Foo,
Bar,
Baz,
}
Baz requires Bar;
}Andreas Classen, Quentin Boucher, Patrick Heymans, A text-based
approach to feature modelling: Syntax and semantics of TVL, In
Science of Computer Programming, Volume 76, Issue 12, 2011
TVL
Haugen, Ø., Wasowski, A., & Czarnecki, K. (2012, September). CVL:
common variability language. In SPLC (2) (pp. 266-267).
36
gilles.perrouin@unamur.be 36
Feature Modelling Ecosystem
Academic
Marcilio Mendonca, Moises Branco, Donald
Cowan: S.P.L.O.T. - Software Product Lines
Online Tools. OOPSLA Companion, October
2009, Orlando, Florida, USA.
Christian Kästner, Thomas Thüm, Gunter Saake, Janet Feigenspan,
Thomas Leich, Fabian Wielgorz, and Sven Apel. FeatureIDE: Tool
Framework for Feature-Oriented Software Development. ICSE 2009.
Formal Demonstration paper.
Mathieu Acher, Philippe
Collet, Philippe Lahire, Robert
France. FAMILIAR: A Domain-
Specific Language for Large
Scale Management of
Feature Models. Science of
Computer Programming,
Elsevier, 2013, 78 (6)
Antkiewicz, M., K. Bąk, A. Murashkin, R. Olaechea, J. Liang,
and K. Czarnecki, "Clafer Tools for Product Line
Engineering", Software Product Line Conference, Tokyo,
Japan, 2013.
root Website {
group [0..2] {
Foo,
Bar,
Baz,
}
Baz requires Bar;
}Andreas Classen, Quentin Boucher, Patrick Heymans, A text-based
approach to feature modelling: Syntax and semantics of TVL, In
Science of Computer Programming, Volume 76, Issue 12, 2011
TVL
Haugen, Ø., Wasowski, A., & Czarnecki, K. (2012, September). CVL:
common variability language. In SPLC (2) (pp. 266-267).
Most Influential Paper Award SPLC 2017 !
37
gilles.perrouin@unamur.be 37
Feature Modelling Ecosystem
Commercial
Tutorial: Using Feature Models to Manage
Variability and Requirements Reuse -
Danilo Beuche
SPLC 2017
Tutorial: Feature-Based
Systems and Software
Product Line Engineering:
PLE for the Enterprise -
Charles Krueger and Paul
Clements
SPLC 2017
AIM HIGHER
WITH SKALUP
Discover what we can do
for you
VISIT US @ SKALUP.COM
MAXIME.CORDY@SKALUP.COM
PATRICK.HEYMANS@SKALUP.COM
Workbench
SkalUP ecosystem
Workbench
TDL
TVL
edits
SkalUP ecosystem
Workbench
TDL
TVL
edits
Engine
used by
SkalUP ecosystem
Workbench
TDL
TVL
edits
Configurator
invokes
Engine
used by
SkalUP ecosystem
Workbench
GUI

Generator
invokes
generates
TDL
TVL
edits
Configurator
invokes
Engine
used by
SkalUP ecosystem
Workbench
GUI

Generator
invokes
generates
TDL
TVL
edits
Configurator
invokes
Engine
used by
FCSS
TVDL
edits used by
SkalUP ecosystem
40
gilles.perrouin@unamur.be 40
Source code
Existing
configurators
Product Descriptions
Architecture
…
Reverse Engineering of Feature Models
40
gilles.perrouin@unamur.be 40
Source code
Existing
configurators
Product Descriptions
Architecture
…
Reverse Engineering of Feature Models
J. Sincero et al. Efficient extraction and analysis of preprocessor-based
variability. GPCE '10.
40
gilles.perrouin@unamur.be 40
Source code
Existing
configurators
Product Descriptions
Architecture
…
Reverse Engineering of Feature Models
J. Sincero et al. Efficient extraction and analysis of preprocessor-based
variability. GPCE '10.
S. She et al., Reverse engineering feature models, ICSE 2011
40
gilles.perrouin@unamur.be 40
Source code
Existing
configurators
Product Descriptions
Architecture
…
Reverse Engineering of Feature Models
J. Sincero et al. Efficient extraction and analysis of preprocessor-based
variability. GPCE '10.
S. She et al., Reverse engineering feature models, ICSE 2011
JM. Davril et al. Feature model extraction from large collections of
informal product descriptions. ESEC/FSE 2013.
40
gilles.perrouin@unamur.be 40
Source code
Existing
configurators
Product Descriptions
Architecture
…
Reverse Engineering of Feature Models
J. Sincero et al. Efficient extraction and analysis of preprocessor-based
variability. GPCE '10.
S. She et al., Reverse engineering feature models, ICSE 2011
JM. Davril et al. Feature model extraction from large collections of
informal product descriptions. ESEC/FSE 2013.
M. Acher, et al . Reverse engineering architectural feature models. ECSA'11
40
gilles.perrouin@unamur.be 40
Source code
Existing
configurators
Product Descriptions
Architecture
…
Reverse Engineering of Feature Models
REVE 2017
5th International Workshop on Reverse
Variability Engineering
J. Sincero et al. Efficient extraction and analysis of preprocessor-based
variability. GPCE '10.
S. She et al., Reverse engineering feature models, ICSE 2011
JM. Davril et al. Feature model extraction from large collections of
informal product descriptions. ESEC/FSE 2013.
M. Acher, et al . Reverse engineering architectural feature models. ECSA'11
41
gilles.perrouin@unamur.be 41
Sampling
Menu Menu
Menu Menu Menu
Menu
Menu Menu
Menu Menu Menu
Menu
Menu Menu
Menu Menu Menu
Menu
Menu
Menu Menu Menu
Menu
Menu Menu Menu
Menu
Menu Menu
Menu
Menu
Menu
Menu
Menu
Test case
Menu
Menu
Test case
Output
Menu
Menu
Test case
Output
Pass or fail?
Menu
Menu
Test case
Output
Pass or fail?
Test case
Menu
Menu
Test case
Output
Pass or fail?
Test case
Output
Menu
Menu
Test case
Output
Pass or fail?
Test case
Output
Pass or fail?
44
gilles.perrouin@unamur.be 44
Assumption
Most of the faults are due to the undesired
interactions of a limited number of options
Core idea
Extract configurations so that all combinations of
options are covered (at least) once
Combinatorial Interaction Testing
D. M. Cohen et al., The AETG system: an approach to testing based on
combinatorial design. TSE, 1997
D. Kuhn et al, Software fault
interactions and implications for software testing. TSE 2004
45
CPTerminal t
Identification id
DirectDebit dd CreditCard cr Online on Offline off PIN pin Signature sig
requires
PaymentSchema ps Connectivity c
[1..*]
opt.
Combinatorial Interaction Testing
45
CPTerminal t
Identification id
DirectDebit dd CreditCard cr Online on Offline off PIN pin Signature sig
requires
PaymentSchema ps Connectivity c
[1..*]
opt.{t, ps},
{t, c},
{dd, cr},
{dd,on},
{dd, off},
…
Combinatorial Interaction Testing
45
CPTerminal t
Identification id
DirectDebit dd CreditCard cr Online on Offline off PIN pin Signature sig
requires
PaymentSchema ps Connectivity c
[1..*]
opt.{t, ps},
{t, c},
{dd, cr},
{dd,on},
{dd, off},
…
Combinatorial Interaction Testing
not only for 2-tuples
(pairwise), interaction
strength=[1(?),6]
46
gilles.perrouin@unamur.be 46
CIT for Variability Intensive Systems
46
gilles.perrouin@unamur.be 46
Huge reduction of the number of configurations to
consider (2-wise):
Printers: 172 features, 1.14E27 configs => 180
configs
Linux: 6,888 features, ? configs => 480 configs
CIT for Variability Intensive Systems
46
gilles.perrouin@unamur.be 46
Huge reduction of the number of configurations to
consider (2-wise):
Printers: 172 features, 1.14E27 configs => 180
configs
Linux: 6,888 features, ? configs => 480 configs
CIT for Variability Intensive Systems
Martin Fagereng Johansen et al. An algorithm for
generating t-wise covering arrays from large feature
models. SPLC ‘12
46
gilles.perrouin@unamur.be 46
Huge reduction of the number of configurations to
consider (2-wise):
Printers: 172 features, 1.14E27 configs => 180
configs
Linux: 6,888 features, ? configs => 480 configs
The main issue is that CIT extraction is an NP-
complete problem when there are constraints…
CIT for Variability Intensive Systems
Martin Fagereng Johansen et al. An algorithm for
generating t-wise covering arrays from large feature
models. SPLC ‘12
47
gilles.perrouin@unamur.be 47
Alloy
47
gilles.perrouin@unamur.be 47
Alloy
Software Product Line
Feature Diagram
1. Transformation
FeatureDiagram2Alloy
2. Generation of
initial T-wise tuples l
3. Detection of
Valid tuples
4. Creating and Solving
Conjunctions of Tuples
BinarySplit Incremental
Growth
5. Analysis
Value of T
Alloy
Feature Diagram
AF
Set of Valid Tuples
V
[Min,Max] Scope
[Min,Max] Duration
Selection Strategy
Set of Configurations
covering all Valid Tuples
P
47
gilles.perrouin@unamur.be 47
Alloy
Software Product Line
Feature Diagram
1. Transformation
FeatureDiagram2Alloy
2. Generation of
initial T-wise tuples l
3. Detection of
Valid tuples
4. Creating and Solving
Conjunctions of Tuples
BinarySplit Incremental
Growth
5. Analysis
Value of T
Alloy
Feature Diagram
AF
Set of Valid Tuples
V
[Min,Max] Scope
[Min,Max] Duration
Selection Strategy
Set of Configurations
covering all Valid Tuples
P
G. Perrouin et al., Automated and
Scalable T-wise Test Case
Generation Strategies for Software
Product Lines, ICST 2010
48
gilles.perrouin@unamur.be 48
MoSo-Polite
4. MOSO-POLITE
MoSo-PoLiTe combines the aforementioned techniques Reu-
se Techniques and Subset-Heuristics providing a framework
to generate a subset of products including an automatic
model-based test case generation for each product of the
subset [22]. Within this contribution we only focus on the
subset generation and ignore the model-based test case ge-
neration.
Feature Model
Flat Feature Model
Flat Feature Model CSP
Flattening
Parameter
Extraction
Subset
Extractor
Set of Configurations
Feature Model
Parsing
Variant Models
Products
Feature Model
Combinatorial
Testing
Configuration
Derivation
Product
Derivation
select
Figure 2: MoSo-PoLiTe Framework
S. Oster et al., "Automated incremental pairwise testing of
software product lines.”SPLC 2010.
M. Steffens et al., Industrial evaluation of pairwise spl
testing with moso-polite. VAMOS 2012
49
gilles.perrouin@unamur.be 49
Another constraint based approach based on prolog
Generates 30% less configurations than MoSo-
Polite
PACOGEN
Hervieu et al., PACOGEN: Automatic Generation of Pairwise Test
Configurations from Feature Models. ISSRE’ 11
50
gilles.perrouin@unamur.be 50
Use search-based techniques (Simulated Annealing)
to minimise the size of covering array
Usually gives very small covering array compared to
others
CASA
M. B. Cohen et al., “Augmenting simulated annealing to build interaction
test suites,” ISSRE 2003
51
gilles.perrouin@unamur.be 51
Use an incremental way of accommodating tuples
Deterministic algorithm always produce the same
answer for a given FM
Focus on scalability
Industrial version: pairwiser (see pairwiser.org)
SPLCAT
M. F. Johansen, Ø. Haugen, and F. Fleurey, “An algorithm for generating t-
wise covering arrays from large feature models,” SPLC 2012.
52
gilles.perrouin@unamur.be 52
Open Issues in CIT
52
gilles.perrouin@unamur.be 52
Open Issues in CIT
52
gilles.perrouin@unamur.be 52
Despite the improvements in the CIT techniques that
can now scale to thousands of features, there are
two problems:
Open Issues in CIT
52
gilles.perrouin@unamur.be 52
Despite the improvements in the CIT techniques that
can now scale to thousands of features, there are
two problems:
Higher order interaction remains expensive/
intractable
Open Issues in CIT
52
gilles.perrouin@unamur.be 52
Despite the improvements in the CIT techniques that
can now scale to thousands of features, there are
two problems:
Higher order interaction remains expensive/
intractable
100% coverage implies no flexibility on your
testing budget (time + number of configurations)
Open Issues in CIT
53
gilles.perrouin@unamur.be 53
Mimicking CIT with Dissimilarity
53
gilles.perrouin@unamur.be 53
Diversity has been proposed as a successful
technique to find bugs
Mimicking CIT with Dissimilarity
H. Hemmati et al., Achieving scalable model-based testing through test case
diversity, TOSEM 2012.
53
gilles.perrouin@unamur.be 53
Diversity has been proposed as a successful
technique to find bugs
Intuition
Dissimilar configurations cover more t-tuples than
similar ones
Mimicking CIT with Dissimilarity
H. Hemmati et al., Achieving scalable model-based testing through test case
diversity, TOSEM 2012.
53
gilles.perrouin@unamur.be 53
Diversity has been proposed as a successful
technique to find bugs
Intuition
Dissimilar configurations cover more t-tuples than
similar ones
Mimicking CIT with Dissimilarity
H. Hemmati et al., Achieving scalable model-based testing through test case
diversity, TOSEM 2012.
C. Henard et al., "Bypassing the Combinatorial Explosion: Using Similarity to Generate
and Prioritize T-Wise Test Configurations for Software Product Lines," TSE 2014
54
gilles.perrouin@unamur.be 54
Mimicking CIT with Dissimilarity
54
gilles.perrouin@unamur.be 54
SBSE well-suited for large configurations spaces
Generated configurations are valid (via SAT4J)
Designed for Scalability
Fitness function based on distance: correlated
with t-wise coverage but easier to compute
Flexibility
Testers decide on generation time and #
configurations
Configurations are prioritized w.r.t fitness function:
use a subset if lack of resources
Mimicking CIT with Dissimilarity
55
Linux FM
Mimicking t-wise ?
56
120 FMs ∈ [11;1,000]
features
Prioritization
56
Prioritization
56
More efficient for high values of t
Prioritization
Ecos: 1 % more coverage implies 2,1E+15
additional 6-tuples !
1,000 configurations may not be enough...
Taming large FMs
57
t=6
(1,000 confs)
0 runs 15,000 runs
eCos
(1,244 features)
94.191% 95.343%
FreeBSD
(1,396 features)
76.236% 76.494%
Linux
(6,888 features)
89.411% 90.671%
58
gilles.perrouin@unamur.be 58
Tool Support
C. Henard et al., PLEDGE: a product line editor
and test generation tool SPLC 2013 (Vol.2)
https://github.com/christopherhenard/pledge/
59
gilles.perrouin@unamur.be 59
Other Sampling Techniques
59
gilles.perrouin@unamur.be 59
Multi-objective
Combining similarity and cost
Optimisation w.r.t. to defects, costs, # unused/
selected features, correctness
Other Sampling Techniques
C. Henard, et al. Multi-objective test generation for
software product lines. SPLC 2013
C. Henard et al. Combining multi-objective search and
constraint solving for configuring large software product
lines. ICSE 2015.
59
gilles.perrouin@unamur.be 59
Multi-objective
Combining similarity and cost
Optimisation w.r.t. to defects, costs, # unused/
selected features, correctness
Random
Other Sampling Techniques
C. Henard, et al. Multi-objective test generation for
software product lines. SPLC 2013
C. Henard et al. Combining multi-objective search and
constraint solving for configuring large software product
lines. ICSE 2015.
Andrea Arcuri et al. Formal Analysis of the Probability of
Interaction Fault Detection Using Random Testing. TSE
2012
59
gilles.perrouin@unamur.be 59
Multi-objective
Combining similarity and cost
Optimisation w.r.t. to defects, costs, # unused/
selected features, correctness
Random
Min-Max selection
Other Sampling Techniques
C. Henard, et al. Multi-objective test generation for
software product lines. SPLC 2013
C. Henard et al. Combining multi-objective search and
constraint solving for configuring large software product
lines. ICSE 2015.
Andrea Arcuri et al. Formal Analysis of the Probability of
Interaction Fault Detection Using Random Testing. TSE
2012
I. Abal, et al. 42 variability bugs in the Linux kernel: A qualitative analysis. ASE 2014

F. Medeiros et al., A Comparison of 10 Sampling Algorithms for Configurable Systems,
ICSE 16
60
gilles.perrouin@unamur.be 60
Direct comparison
Using mutation analysis
Comparing/Evaluating Sampling
Techniques
F. Medeiros et al., A Comparison of 10 Sampling
Algorithms for Configurable Systems, ICSE 16
G. Perrouin et al., Pairwise testing for software
product lines: comparison of two approaches,
Softw. Qual. Journal 2012.
C. Henard et al., Assessing software product line
testing via model-based mutation: An application
to similarity testing, ICST Workshops 2013
61
gilles.perrouin@unamur.be 61
Conclusion on Sampling Techniques
61
gilles.perrouin@unamur.be 61
Many sampling ways
CIT effective at finding bugs but expensive in some
cases
SBSE useful for fitting test budget while ensuring
decent coverage
Conclusion on Sampling Techniques
61
gilles.perrouin@unamur.be 61
Many sampling ways
CIT effective at finding bugs but expensive in some
cases
SBSE useful for fitting test budget while ensuring
decent coverage
Conclusion on Sampling Techniques
61
gilles.perrouin@unamur.be 61
Many sampling ways
CIT effective at finding bugs but expensive in some
cases
SBSE useful for fitting test budget while ensuring
decent coverage
More research is required to compare
techniques…
Conclusion on Sampling Techniques
61
gilles.perrouin@unamur.be 61
Many sampling ways
CIT effective at finding bugs but expensive in some
cases
SBSE useful for fitting test budget while ensuring
decent coverage
More research is required to compare
techniques…
Conclusion on Sampling Techniques
61
gilles.perrouin@unamur.be 61
Many sampling ways
CIT effective at finding bugs but expensive in some
cases
SBSE useful for fitting test budget while ensuring
decent coverage
More research is required to compare
techniques…
…on various case studies
Conclusion on Sampling Techniques
www.unamur.be
Part I: Sampling in
Practice: The JHipster Case
SPLC ’17, Sevilla, Spain
Axel
Halin
Alexandre
Nuttinck
Dr. Mathieu

Acher
64
gilles.perrouin@unamur.be 64
Web-apps generator
Spring-Boot
Bootstrap / AngularJS
100 % Open Source
Yeoman
Bower, npm
yo
Used all over the world
Large companies (HBO, Google, Adobe)1
Independent developers
GitHub
5000+ stars
100+ releases (JHipster 3.6.1, 18 Aug
2016)
JHipster Introduction
1 https://jhipster.github.io/companies-using-jhipster
66
gilles.perrouin@unamur.be 66
JHipster variability
prompts.js
Questions
Constraints
Conditional compilation
(EJS)
Reverse Engineering JHipster’s
Variability
67
gilles.perrouin@unamur.be 67
162508 different configurations
2 weeks of manual effort (2 master students)
Reverse Engineering JHipster’s
Variability
• + 26,000 products
• 4,376 hours (182 days)
processor time
• 8 person/month setup
testing infrastructure
[Halin et al., VaMoS ’17]
Inclusive Testing Infrastructure
CSV file containing the
results of the 26,000
configurations
Data analysis in
progress…
69
gilles.perrouin@unamur.be 69
Looks interesting as a case for research…
…but how do the JHipster team test it ?
69
gilles.perrouin@unamur.be 69
Looks interesting as a case for research…
…but how do the JHipster team test it ?
How
would you do?
70
gilles.perrouin@unamur.be 70
They like the idea of being able to run all JHipster
configurations (26,000) and finding all the 6 faults
reported via the analysis of the failing
configurations….
…but they only have the infrastructure to test only 12
configurations (now expanded to 20) !
JHipster Team Feedback
(Work In Progress)
70
gilles.perrouin@unamur.be 70
They like the idea of being able to run all JHipster
configurations (26,000) and finding all the 6 faults
reported via the analysis of the failing
configurations….
…but they only have the infrastructure to test only 12
configurations (now expanded to 20) !
JHipster Team Feedback
(Work In Progress)
W
hich sampling
strategy would you
use?

Mais conteúdo relacionado

Semelhante a Testing Variability-Intensive Systems, tutorial SPLC 2017, part I

Portfolio of Projects by Steven Worden Nov 2015
Portfolio of Projects by Steven Worden Nov 2015Portfolio of Projects by Steven Worden Nov 2015
Portfolio of Projects by Steven Worden Nov 2015
Steven Worden
 

Semelhante a Testing Variability-Intensive Systems, tutorial SPLC 2017, part I (20)

Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...
Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...
Non equilibrium Molecular Simulations of Polymers under Flow Saving Energy th...
 
Reproducible Workflow with Cytoscape and Jupyter Notebook
Reproducible Workflow with Cytoscape and Jupyter NotebookReproducible Workflow with Cytoscape and Jupyter Notebook
Reproducible Workflow with Cytoscape and Jupyter Notebook
 
The Future of Adhearson
The Future of AdhearsonThe Future of Adhearson
The Future of Adhearson
 
Empirical Evaluations in Software Engineering Research: A Personal Perspective
Empirical Evaluations in Software Engineering Research: A Personal PerspectiveEmpirical Evaluations in Software Engineering Research: A Personal Perspective
Empirical Evaluations in Software Engineering Research: A Personal Perspective
 
Lightning Fast SCADA Development with Open Library for WinCC OA
Lightning Fast SCADA Development with Open Library for WinCC OA Lightning Fast SCADA Development with Open Library for WinCC OA
Lightning Fast SCADA Development with Open Library for WinCC OA
 
How Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4JHow Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4J
 
Velox at SF Data Mining Meetup
Velox at SF Data Mining MeetupVelox at SF Data Mining Meetup
Velox at SF Data Mining Meetup
 
Customer Case Study: ScienceLogic - Many Paths to Compliance
Customer Case Study: ScienceLogic - Many Paths to ComplianceCustomer Case Study: ScienceLogic - Many Paths to Compliance
Customer Case Study: ScienceLogic - Many Paths to Compliance
 
Software variability management - 2019
Software variability management - 2019Software variability management - 2019
Software variability management - 2019
 
Ancient To Modern: Upgrading nearly a decade of Plone in public radio
Ancient To Modern: Upgrading nearly a decade of Plone in public radioAncient To Modern: Upgrading nearly a decade of Plone in public radio
Ancient To Modern: Upgrading nearly a decade of Plone in public radio
 
IEEE Buenaventura cs Chapter March 9 2016 v4
IEEE Buenaventura cs Chapter March 9 2016  v4IEEE Buenaventura cs Chapter March 9 2016  v4
IEEE Buenaventura cs Chapter March 9 2016 v4
 
Resilience Engineering: A field of study, a community, and some perspective s...
Resilience Engineering: A field of study, a community, and some perspective s...Resilience Engineering: A field of study, a community, and some perspective s...
Resilience Engineering: A field of study, a community, and some perspective s...
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery
 
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
Jenkins User Conference - Preparing for Enterprise Continuous Delivery: 5 Cri...
 
Portfolio of Projects by Steven Worden Nov 2015
Portfolio of Projects by Steven Worden Nov 2015Portfolio of Projects by Steven Worden Nov 2015
Portfolio of Projects by Steven Worden Nov 2015
 
Using Static Binary Analysis To Find Vulnerabilities And Backdoors in Firmware
Using Static Binary Analysis To Find Vulnerabilities And Backdoors in FirmwareUsing Static Binary Analysis To Find Vulnerabilities And Backdoors in Firmware
Using Static Binary Analysis To Find Vulnerabilities And Backdoors in Firmware
 
TAROT2013 Testing School - Myra Cohen presentation
TAROT2013 Testing School - Myra Cohen presentationTAROT2013 Testing School - Myra Cohen presentation
TAROT2013 Testing School - Myra Cohen presentation
 
Practical Core Bluetooth in IoT & Wearable projects @ AltConf 2016
Practical Core Bluetooth in IoT & Wearable projects @ AltConf 2016Practical Core Bluetooth in IoT & Wearable projects @ AltConf 2016
Practical Core Bluetooth in IoT & Wearable projects @ AltConf 2016
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Scaling Your Architecture for the Long Term
Scaling Your Architecture for the Long TermScaling Your Architecture for the Long Term
Scaling Your Architecture for the Long Term
 

Mais de XavierDevroey

Mais de XavierDevroey (10)

Software Variability Management
Software Variability ManagementSoftware Variability Management
Software Variability Management
 
Effective and Efficient API Misuse Detection via Exception Propagation and Se...
Effective and Efficient API Misuse Detection via Exception Propagation and Se...Effective and Efficient API Misuse Detection via Exception Propagation and Se...
Effective and Efficient API Misuse Detection via Exception Propagation and Se...
 
Testing Variability-Intensive Systems, tutorial SPLC 2017, part Ii
Testing Variability-Intensive Systems, tutorial SPLC 2017, part IiTesting Variability-Intensive Systems, tutorial SPLC 2017, part Ii
Testing Variability-Intensive Systems, tutorial SPLC 2017, part Ii
 
Lorentz workshop - 2018
Lorentz workshop - 2018Lorentz workshop - 2018
Lorentz workshop - 2018
 
Combinatorial Interaction Testing, an Introduction - 2018
Combinatorial Interaction Testing, an Introduction - 2018Combinatorial Interaction Testing, an Introduction - 2018
Combinatorial Interaction Testing, an Introduction - 2018
 
Software variability management - 2017
Software variability management - 2017Software variability management - 2017
Software variability management - 2017
 
Software testing: an introduction - 2017
Software testing: an introduction - 2017Software testing: an introduction - 2017
Software testing: an introduction - 2017
 
Software testing: an introduction - 2016
Software testing: an introduction - 2016Software testing: an introduction - 2016
Software testing: an introduction - 2016
 
Software testing: an introduction - 2015
Software testing: an introduction - 2015Software testing: an introduction - 2015
Software testing: an introduction - 2015
 
Research overview Oct. 2018
Research overview Oct. 2018Research overview Oct. 2018
Research overview Oct. 2018
 

Último

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 

Testing Variability-Intensive Systems, tutorial SPLC 2017, part I