SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
Rachid Kherrazi
6-4-2014 Grenoble
USING FORMAL SPECIFICATIONS TO SUPPORT
MODEL BASED TESTING
ASDSPEC: A TOOL COMBINING THE BEST OF TWO TECHNIQUES
PEOPLE INVOLVED
• Rachid Kherrazi
– Senior Consultant @ Nspyre
– Domain
• Process and Product Improvement
• RAMS (Reliability Availability Maintenance and Safety)
• Model Based Testing and Model Driven Engineering
• Also : Arjan van Der Meer & Marc Hamilton
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 2
ABOUT NSPYRE
MARKET SEGMENTS
• High Tech
• Traffic & Infra
• Industry
AREA’S OF EXCELLENCE
(Model Based) Systems Engineering /Model Driven
Engineering / Model Based Testing /Industrial Automation /
Simulation / Big Data / Mobile Solutions
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 3
CONTENTS
1) MDSD Introduction
2) MDE with ASD:Suite
3) MBT with MS Spec Explorer
4) ASDSpec
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 4
V-MODEL AND MODEL DRIVEN SYSTEM DEVELOPMENT
Requirements
Analysis
System Functional
Analysis
Design Synthesis
SW Analysis &
Design
SW Implementation & Unit
Test
Module Integration
& Test
(Sub-)System
Integration &Test
Model/RequirementsRepository
Model Driven System
Development
System Acceptance
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 5
V-MODEL AND MODEL DRIVEN SYSTEM DEVELOPMENT
Requirements
Analysis
System Functional
Analysis
Design Synthesis
SW Analysis &
Design
SW Implementation & Unit
Test
Module Integration
& Test
(Sub-)System
Integration &Test
Model/RequirementsRepository
Model Based System
Engineering
System Acceptance
Some of related technology
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 6
V-MODEL AND MODEL DRIVEN SYSTEM DEVELOPMENT
Requirements
Analysis
System Functional
Analysis
Design Synthesis
SW Analysis &
Design
SW Implementation & Unit
Test
Module Integration
& Test
(Sub-)System
Integration &Test
Model/RequirementsRepository
Model Driven
Engineering
System Acceptance
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Some of related technology
7
V-MODEL AND MODEL DRIVEN SYSTEM DEVELOPMENT
Requirements
Analysis
System Functional
Analysis
Design Synthesis
SW Analysis &
Design
SW Implementation & Unit
Test
Module Integration
& Test
(Sub-)System
Integration &Test
Model/RequirementsRepository
System Acceptance
Model Based Testing
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Some of related technology
8
IntegrationDesign
Coding
Requirements System test
Test case specification
(design of logical test case)
(reduction of number of test cases by application of test techniques
Test execution
(reporting)
Test case generation
(design of physical test case)
(selection of input values and calculation of expected results)
PAGE 9
V-MODEL FOR TESTING
3 main steps in test process
Module
Subsystem
System
9
MBT IS THE AUTOMATION OF TEST CASE
GENERATION
Manual Automatic
Test specification
Test execution
Test generation
Modelbasedtesting
Traditionalmanualtesting
Traditionalautomatictesting
Manual
Scripting
Testing skills + Scripting skills + Modeling skills
Manual
Modeling
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 10
PERCEIVED BENEFITS
• Increased productivity (increased automation)
• Better test script maintenance
• Improved product reliability (new type of bugs, Increased test coverage)
• Agility ( Easily react to new feature changes, Reusability of test semantics,
Early test engagement, Drive quality upstream)
• Increased employee satisfaction (challenging, new horizon, fun)
• Question: How can we improve MBT e.g. increase further the productivity?
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 11
MBT IS THE AUTOMATION OF TEST CASE
GENERATION
Manual Automatic
Test specification
Test execution
Test generation
Modelbasedtesting
Traditionalmanualtesting
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 12
Testing skills
Manual
Modeling
MBTnext
Semi-automatic
Modeling
Manual
Scripting
+ Scripting skills Modeling skills
Traditionalautomatictesting
IDEA: USING BEST OF BOTH WORLDS
• Automatic generation of (partial) Spec Explorer test model from
existing ASD interface model
Benefits
• Less effort for model creation
– reuse of existing work
• Testing of complete system including
– Legacy code
– External components
– Data combination testing
– Interaction testing
• Results: High Quality, Reduced cost
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Statistical Dynamic
ASDspec
13
USE CASE: CONTAINER TERMINAL
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
• Multiple components
• Components need to interact to function
• Controller needed to coordinate interaction
14
Method
OVERVIEW OF PROJECT STAGES
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 15
Use case
/SUT
Goal
Technique
Tool
Results
Stage 1
Container Terminal (CT)
Development of control
software for the CT
Model Driven Engineering +
hand written sw
ASD:Suite
Create design Models +
interface models in ASD
Generate code
Productivity (code
generation) c.t. trad. dev
-
Testing complete system,
Interaction, data, external
code
Stage 2
Container Terminal (CT)
Verification of the
developed control software
of the CT (generated +
Hand written)
Model based Testing
Spec Explorer
Create Test Model in Spec
Explorer, generate test
suite
Test Productivity
Modeling skills,
complexity costs
Stage 3
Container Terminal (CT)
Verification of the developed control
software of the CT (generated + Hand
written)
Model based Testing
ASDspec & Spec Explorer
Generate Test Model from existing ASD
interface Model , complete Test Model ,
generate test suite
+ Productivity (code generation, partial test
generation)
Testing complete system, Interaction, data,
external code
(benefits only in case of existing of ASD
Models)
CONTENTS
1) MDSD Introduction
2) MDE with ASD:Suite
3) MBT with MS Spec Explorer
4) ASDSpec
Company
Tool
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 16
ASD (ANALYTICAL SOFTWARE DESIGN)
• Model Driven Engineering (code generation)
• Component Based Development
• Models are verified mathematically at design
time (formal methods)
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 17
COMPONENT BASED
DEVELOPMENT ASD-STYLE
Code Generation 2014 18
Client
A
B C
Interface A
Interface B Interface C
Client
component
ASD
component
Used
component
Implemented
service
Used
service
Component:
Decomposition
Specification
Design
Verification
Generation
Interface model
specifies
behaviour
Design model
implements
behaviour

For each component a interface mode and design model are created in ASD
ASD: WORKFLOW
• Designer defines behavior in component models
• ASD:suite verifies models using model checking
• ASD:suite generates implementation code
19Code Generation 2014
But some shortcoming
• No support for
Legacy/External code
• No support for indirect
component interaction
• Limited data
interaction
 Testing is needed.
RESULTS:
ASD-CONTAINER TERMINAL
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 20
Higher overall productivity compared to traditional development.
Main remaining problems:
- Testing interaction and complete system.
- Debugging of third party library (some bugs found in manual written
code, legacy code)
Productivity
CONTENTS
1) MDSD Introduction
2) MDE with ASD:Suite
3) MBT with MS Spec Explorer
4) ASDSpec
Company
Tool
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 21
MBT WITH SPEC EXPLORER
Explore &
Analyze
Remodel
Generate
C# Model
(or other .Net
Language)
Model Graph
Test Suite
Execute
Nunit
http://www.nunit.com/
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 22
MODELING IN SPEC EXPLORER
[TypeBinding("CraneComponent")]
class Crane
{
public Cranestates Cranestatevar;
internal ICrane_NIModel ICrane_NIimpl;
internal ICrane ICraneimpl;
[Rule(Action = "new CraneComponent(craneNr)",
ModeTransition = "crane->crane0")]
Crane(int craneNr)
{
ICraneimpl = new ICraneCranecomponent(this);
craneList.Add(this);
}
State declaration
Initialization
Used components
Spec Explorer
represents models as
annotated C# code
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 23
MODELING IN SPEC EXPLORER
[Rule(Action = "this.PlaceContainer(height)", ModeTransition = "crane4->crane4")]
public void ICrane_PlaceContainer(GripperHeightEnum height)
{
switch (basecomponent.Cranestatevar) {
case Cranestates.Positioned: {
basecomponent.Cranestatevar
= Cranestates.PlacingContainer;
basecomponent.ICrane_NIimpl.PlaceContainer(height);
return;
}
default:{
Condition.IsTrue(false);
throw new InvalidOperationException();
}
};
}
Every model method
represents an action, its
conditions and its effects.
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 24
MBT-VISUALIZATION
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Completed models can
be explored to
discover all possible
behaviour
25
MBT- VISUALIZATION
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Explored model
contains all possible
action sequences
26
TEST GENERATION
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Spec Explorer
creates test
sequences to cover
explored behaviour
27
GENERATED TEST SCRIPTS
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Nunit test scripts are
used to implement
and execute tests
28
RESULTS:
SPEC EXPLORER-CONTAINER TERMINAL
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 29
Significantly less effort than traditional automated testing
• Model Based Testing + Software Analysis
• Support of data combination testing
• Support of Model composition, incremental
However some remaining problems:
• Modeling still comparatively expensive
• Modeling effort, complexity and skills (experienced tester needed)
HOW TO COMBINE BOTH BENEFITS
ASD generates verified
software components
Spec Explorer generates
automated software tests
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Complications
• Modeling needed
• MBT skills needed
Complications
• Legacy code
• External code
• Component
Interaction
• Limited support of
data Client
A
B C
Test
script
A
B C
 
Test
model
30
CONTENTS
1) MDSD Introduction
2) MDE with ASD:Suite
3) MBT with MS Spec Explorer
4) ASDSpec
Company
Tool
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 31
OUR SOLUTION: ASDSPEC
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
ASDSpec generates Test Model (push button) from existing ASD
interface models
Tester need to refine manually the generated model (add behavior,
data, slicing,…)
32
COMBINING THE BEST OF BOTH WORLDS
Automatic generation of partial Spec Explorer test model from existing ASD model
(push button)
Benefits
• Effortless model creation
– reuse of existing work
• Testing of complete system including
– Legacy code
– External components
– Data combination testing
– Interaction testing
Results:
– High Quality, Reduced cost
– Adds dynamic testing to ASD
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Statistical Dynamic
ASDspec
33
ASDSPEC: WORKFLOW
ASDspec
ASD
Interface
Model
Spec
Explorer
Model
Cord
Script
Spec
Explorer
Test
Cases
Reuse existing ASD interface models to generate
Spec Explorer MBT models automatically
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 34
ASDSPEC: DATA AND MODEL COMPOSITION
ASDspec
ASD
Interface
Model
Spec
Explorer
Model
Cord
Script
Spec
Explorer
Test
Cases
Add data
interaction
Add model
composition
Generated code can be extended with any Spec
Explorer feature
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 35
GENERAL MDSD ARCHITECTURE
Model
Reverse
Engineering
Model
Repository
Model
Code,
Doc, etc.
Model
Editor(s)
Model
Checker
Model Transformation
M2M M2T
Metamodel(s)
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 37
ASDSPEC ARCHITECTURE
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
ASDSpec
makes use of
existing MDSD
architecture
Model
Reverse
Engineering
Model
Repository
Spec
Explorer
Model
SpecExplorer
Cord
Model
Editor(s)
Model
Checker
Model Transformation
M2M M2T
Metamodel(s)
ASD
Interface
models
38
ASDSPEC: TECHNOLOGIES
QVTO
ASD
XML
SE
model
Cord
script
Acceleo
Acceleo
ASD
EMF
SE
EMF
Cord
EMF
QVTO
QVTO
ASDSpec
Model transformations bridge gap between ASD
and Spec Explorer
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 39
RESULTS:
ASDSPEC- CONTAINER TERMINAL
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 40
Spec Explorer ASD + ASDSpec
Approach Generate test suite Generate test model
Techniques MBT MBT
Effort/complexity Medium Low
Test cases 89 93
Perceived effectiveness Medium High
Bugs Some bugs in hand written code
/HAL
All known bus found
• Low effort model creation
- Easy reuse of existing work
• Testing of complete system
- Legacy code, data interaction
• High Quality, Cost Reduction
TRADITIONAL SW DEVELOPMENT
TRADITIONAL MANUAL TESTING
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Design spec
Hand written code
Detail design
External code
Interface spec
Legacy code
Integration testing
System testing
Unit testing
Manual
Test suite
41
Summary
TRADITIONAL SW DEVELOPMENT
TRADITIONAL AUTOMATED TESTING
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Design spec
Hand written code
Detail design
External code
Interface spec
Legacy code
Integration testing
System testing
Unit testing
Testexecution
Tool
Manual
scripted
Test suite
42
Summary
ASD BASED SW DEVELOPMENT
TRADITIONAL AUTOMATED TESTING
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Design spec
Design model
Generated codeHand written code
Interface model
External code
Interface spec
Legacy code
Integration testing
System testing
Unit testing
Manual
scripted
Test suite
Testexecution
Tool
43
Summary
ASD BASED SW DEVELOPMENT
MODEL BASED TESTING
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Design spec
Design model
Generated code
Manual Test
model
Interface model
External code
Interface spec
Config,
data
Legacy code
Integration testing
System testing
Unit testing
Generated
Test suite
Manual
scripted
Test suite
Testexecution
Tool
MBT
tool
Hand written code
44
Summary
ASD BASED SW DEVELOPMENT
MODEL BASED TESTING+ASDSPEC
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014
Design spec
Design model
Generated code
Generated
Test model
Interface model
External code
Interface spec
Config,
data
Legacy code
Integration testing
System testing
Unit testing
Generated
Test suite
Manual
scripted
Test suite
Testexecution
Tool
MBT
tool
Hand written code
45
Summary
TOOL STATUS
• Tool currently in prototype phase
• as an Eclipse plugin
• For now available on request
• Future steps
– Support data handling/configuration aspects in
ASDSpec, instead of relying on manual additions in
Spec Explorer,
– Supporting other MBT tools.
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 46
CONCLUSIONS
• MDE and MBT technologies have matured a lot in the
latest years
• It is a matter of time….. Evolution…..
Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 47
Using Formal Specifications to
Support Model Based Testing
ASDSpec: A Tool Combining the
Best of Two Techniques
ASD
Static Dynamic
ASDspec
Static Dynamic
ASDspec

Contenu connexe

Tendances

Engaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsEngaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsRavi Kumar
 
Volodymyr Prymakov and Vlada Benyukh Detailed manual estimation approach for ...
Volodymyr Prymakov and Vlada Benyukh Detailed manual estimation approach for ...Volodymyr Prymakov and Vlada Benyukh Detailed manual estimation approach for ...
Volodymyr Prymakov and Vlada Benyukh Detailed manual estimation approach for ...Ievgenii Katsan
 
Testing Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation FrameworksTesting Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation FrameworksŁukasz Morawski
 
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case Study
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case StudyModel-based Testing using Microsoft’s Spec Explorer Tool: A Case Study
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case StudyDharmalingam Ganesan
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software TestingNishant Worah
 
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowBehavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowRachid Kherrazi
 
Cucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next levelCucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next levelnextbuild
 
Importance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileImportance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileChandan Mishra
 
Automated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from ModelsAutomated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from ModelsDharmalingam Ganesan
 
Quiz3 tonghop
 Quiz3 tonghop Quiz3 tonghop
Quiz3 tonghopDaewoo Han
 
12 Rational Solo Pruebas 2009
12 Rational Solo Pruebas 200912 Rational Solo Pruebas 2009
12 Rational Solo Pruebas 2009Pepe
 
Rachid kherrazi-testing-asd-interface-compliance-with-asd spec
Rachid kherrazi-testing-asd-interface-compliance-with-asd specRachid kherrazi-testing-asd-interface-compliance-with-asd spec
Rachid kherrazi-testing-asd-interface-compliance-with-asd specRachid Kherrazi
 
Practical unit testing in c & c++
Practical unit testing in c & c++Practical unit testing in c & c++
Practical unit testing in c & c++Matt Hargett
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testingdidev
 
Software Testing Tecniques
Software Testing TecniquesSoftware Testing Tecniques
Software Testing Tecniquesersanbilik
 
Software testing
Software testingSoftware testing
Software testingBala Ganesh
 
Test automation framework
Test automation frameworkTest automation framework
Test automation frameworkQACampus
 
Ivan Pashko - Simplifying test automation with design patterns
Ivan Pashko - Simplifying test automation with design patternsIvan Pashko - Simplifying test automation with design patterns
Ivan Pashko - Simplifying test automation with design patternsIevgenii Katsan
 

Tendances (20)

Engaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsEngaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile Projects
 
Volodymyr Prymakov and Vlada Benyukh Detailed manual estimation approach for ...
Volodymyr Prymakov and Vlada Benyukh Detailed manual estimation approach for ...Volodymyr Prymakov and Vlada Benyukh Detailed manual estimation approach for ...
Volodymyr Prymakov and Vlada Benyukh Detailed manual estimation approach for ...
 
Testing Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation FrameworksTesting Experience - Evolution of Test Automation Frameworks
Testing Experience - Evolution of Test Automation Frameworks
 
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case Study
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case StudyModel-based Testing using Microsoft’s Spec Explorer Tool: A Case Study
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case Study
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
 
Unit testing
Unit testingUnit testing
Unit testing
 
Behavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlowBehavior Driven Development with SpecFlow
Behavior Driven Development with SpecFlow
 
Cucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next levelCucumber spec - a tool takes your bdd to the next level
Cucumber spec - a tool takes your bdd to the next level
 
Importance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileImportance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and Agile
 
Automated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from ModelsAutomated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from Models
 
Quiz3 tonghop
 Quiz3 tonghop Quiz3 tonghop
Quiz3 tonghop
 
12 Rational Solo Pruebas 2009
12 Rational Solo Pruebas 200912 Rational Solo Pruebas 2009
12 Rational Solo Pruebas 2009
 
Rachid kherrazi-testing-asd-interface-compliance-with-asd spec
Rachid kherrazi-testing-asd-interface-compliance-with-asd specRachid kherrazi-testing-asd-interface-compliance-with-asd spec
Rachid kherrazi-testing-asd-interface-compliance-with-asd spec
 
Practical unit testing in c & c++
Practical unit testing in c & c++Practical unit testing in c & c++
Practical unit testing in c & c++
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Software Testing Tecniques
Software Testing TecniquesSoftware Testing Tecniques
Software Testing Tecniques
 
Software testing
Software testingSoftware testing
Software testing
 
Test automation framework
Test automation frameworkTest automation framework
Test automation framework
 
Ivan Pashko - Simplifying test automation with design patterns
Ivan Pashko - Simplifying test automation with design patternsIvan Pashko - Simplifying test automation with design patterns
Ivan Pashko - Simplifying test automation with design patterns
 

En vedette

Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing FundamentalsKiran Kumar
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingBugRaptors
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software TestingScott Barber
 
Chapter 8 software testing
Chapter 8 software testingChapter 8 software testing
Chapter 8 software testingdespicable me
 
software testing strategies
software testing strategiessoftware testing strategies
software testing strategiesHemanth Gajula
 
Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...Ryan Tran
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Apr june2010
Apr june2010Apr june2010
Apr june2010gorin2008
 
Inovácia a motivácia
Inovácia a motiváciaInovácia a motivácia
Inovácia a motiváciaVIRTA s.r.o.
 
Computer & General
Computer & GeneralComputer & General
Computer & GeneralHilton
 
Sovereignty and the_ufo
Sovereignty and the_ufoSovereignty and the_ufo
Sovereignty and the_ufogorin2008
 

En vedette (20)

Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing Fundamentals
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software Testing
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
Software testing
Software testing   Software testing
Software testing
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
Chapter 8 software testing
Chapter 8 software testingChapter 8 software testing
Chapter 8 software testing
 
software testing strategies
software testing strategiessoftware testing strategies
software testing strategies
 
Analytical Risk-based and Specification-based Testing - Bui Duy Tam
Analytical Risk-based and Specification-based Testing - Bui Duy TamAnalytical Risk-based and Specification-based Testing - Bui Duy Tam
Analytical Risk-based and Specification-based Testing - Bui Duy Tam
 
Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Apr june2010
Apr june2010Apr june2010
Apr june2010
 
Inovácia a motivácia
Inovácia a motiváciaInovácia a motivácia
Inovácia a motivácia
 
Dial 000
Dial 000Dial 000
Dial 000
 
Computer & General
Computer & GeneralComputer & General
Computer & General
 
Project unit 5
Project unit 5Project unit 5
Project unit 5
 
MS word
MS wordMS word
MS word
 
Sovereignty and the_ufo
Sovereignty and the_ufoSovereignty and the_ufo
Sovereignty and the_ufo
 

Similaire à ASDSpec, Model Based Testing

Model-based Detection of Runtime Inconsistencies
Model-based Detection of Runtime InconsistenciesModel-based Detection of Runtime Inconsistencies
Model-based Detection of Runtime InconsistenciesDaniel Lehner
 
Testware Hierarchy for Test Automation
Testware Hierarchy for Test AutomationTestware Hierarchy for Test Automation
Testware Hierarchy for Test AutomationGregory Solovey
 
DevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-usDevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-useltonrodriguez11
 
Priyanka Singh_testing_resume
Priyanka Singh_testing_resumePriyanka Singh_testing_resume
Priyanka Singh_testing_resumePriyanka Singh
 
The MEASURE Project : Measuring Software Engineering
The MEASURE Project : Measuring Software EngineeringThe MEASURE Project : Measuring Software Engineering
The MEASURE Project : Measuring Software EngineeringAlessandra Bagnato
 
The MEASURE project : Measuring Software Engineering, Alessandra Bagnato, OW2...
The MEASURE project : Measuring Software Engineering, Alessandra Bagnato, OW2...The MEASURE project : Measuring Software Engineering, Alessandra Bagnato, OW2...
The MEASURE project : Measuring Software Engineering, Alessandra Bagnato, OW2...OW2
 
AtifBhatti resume
AtifBhatti resumeAtifBhatti resume
AtifBhatti resumeAtif Bhatti
 
Best Way to Prepare for the ISTQB Technical Test Analyst (CTAL-TTA) Certifica...
Best Way to Prepare for the ISTQB Technical Test Analyst (CTAL-TTA) Certifica...Best Way to Prepare for the ISTQB Technical Test Analyst (CTAL-TTA) Certifica...
Best Way to Prepare for the ISTQB Technical Test Analyst (CTAL-TTA) Certifica...Meghna Arora
 
Presentation Verification & Validation
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & ValidationElmar Selbach
 
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...Aberla
 
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approachClaudia Badell
 
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approachTestingUy
 
Testing documents
Testing documentsTesting documents
Testing documentssuhasreddy1
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testingsthicks14
 
Testing documents
Testing documentsTesting documents
Testing documentsHari Tiru
 

Similaire à ASDSpec, Model Based Testing (20)

Biodata_VishweshBehere
Biodata_VishweshBehereBiodata_VishweshBehere
Biodata_VishweshBehere
 
Model-based Detection of Runtime Inconsistencies
Model-based Detection of Runtime InconsistenciesModel-based Detection of Runtime Inconsistencies
Model-based Detection of Runtime Inconsistencies
 
Testware Hierarchy for Test Automation
Testware Hierarchy for Test AutomationTestware Hierarchy for Test Automation
Testware Hierarchy for Test Automation
 
DevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-usDevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-us
 
Priyanka Singh_testing_resume
Priyanka Singh_testing_resumePriyanka Singh_testing_resume
Priyanka Singh_testing_resume
 
The MEASURE Project : Measuring Software Engineering
The MEASURE Project : Measuring Software EngineeringThe MEASURE Project : Measuring Software Engineering
The MEASURE Project : Measuring Software Engineering
 
The MEASURE project : Measuring Software Engineering, Alessandra Bagnato, OW2...
The MEASURE project : Measuring Software Engineering, Alessandra Bagnato, OW2...The MEASURE project : Measuring Software Engineering, Alessandra Bagnato, OW2...
The MEASURE project : Measuring Software Engineering, Alessandra Bagnato, OW2...
 
Meenakshi Pal_16
Meenakshi Pal_16Meenakshi Pal_16
Meenakshi Pal_16
 
AtifBhatti resume
AtifBhatti resumeAtifBhatti resume
AtifBhatti resume
 
ShwetaKBijay-resume
ShwetaKBijay-resumeShwetaKBijay-resume
ShwetaKBijay-resume
 
Best Way to Prepare for the ISTQB Technical Test Analyst (CTAL-TTA) Certifica...
Best Way to Prepare for the ISTQB Technical Test Analyst (CTAL-TTA) Certifica...Best Way to Prepare for the ISTQB Technical Test Analyst (CTAL-TTA) Certifica...
Best Way to Prepare for the ISTQB Technical Test Analyst (CTAL-TTA) Certifica...
 
Presentation Verification & Validation
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & Validation
 
new anu resume
new anu resumenew anu resume
new anu resume
 
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
 
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
 
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
 
Variation response method CAE simulation suite
Variation response method CAE simulation suiteVariation response method CAE simulation suite
Variation response method CAE simulation suite
 
Testing documents
Testing documentsTesting documents
Testing documents
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testing
 
Testing documents
Testing documentsTesting documents
Testing documents
 

Dernier

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
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...ICS
 
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.docxComplianceQuest1
 
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 ApplicationsAlberto González Trastoy
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 

Dernier (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
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...
 
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
 
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
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 

ASDSpec, Model Based Testing

  • 1. Rachid Kherrazi 6-4-2014 Grenoble USING FORMAL SPECIFICATIONS TO SUPPORT MODEL BASED TESTING ASDSPEC: A TOOL COMBINING THE BEST OF TWO TECHNIQUES
  • 2. PEOPLE INVOLVED • Rachid Kherrazi – Senior Consultant @ Nspyre – Domain • Process and Product Improvement • RAMS (Reliability Availability Maintenance and Safety) • Model Based Testing and Model Driven Engineering • Also : Arjan van Der Meer & Marc Hamilton Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 2
  • 3. ABOUT NSPYRE MARKET SEGMENTS • High Tech • Traffic & Infra • Industry AREA’S OF EXCELLENCE (Model Based) Systems Engineering /Model Driven Engineering / Model Based Testing /Industrial Automation / Simulation / Big Data / Mobile Solutions Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 3
  • 4. CONTENTS 1) MDSD Introduction 2) MDE with ASD:Suite 3) MBT with MS Spec Explorer 4) ASDSpec Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 4
  • 5. V-MODEL AND MODEL DRIVEN SYSTEM DEVELOPMENT Requirements Analysis System Functional Analysis Design Synthesis SW Analysis & Design SW Implementation & Unit Test Module Integration & Test (Sub-)System Integration &Test Model/RequirementsRepository Model Driven System Development System Acceptance Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 5
  • 6. V-MODEL AND MODEL DRIVEN SYSTEM DEVELOPMENT Requirements Analysis System Functional Analysis Design Synthesis SW Analysis & Design SW Implementation & Unit Test Module Integration & Test (Sub-)System Integration &Test Model/RequirementsRepository Model Based System Engineering System Acceptance Some of related technology Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 6
  • 7. V-MODEL AND MODEL DRIVEN SYSTEM DEVELOPMENT Requirements Analysis System Functional Analysis Design Synthesis SW Analysis & Design SW Implementation & Unit Test Module Integration & Test (Sub-)System Integration &Test Model/RequirementsRepository Model Driven Engineering System Acceptance Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Some of related technology 7
  • 8. V-MODEL AND MODEL DRIVEN SYSTEM DEVELOPMENT Requirements Analysis System Functional Analysis Design Synthesis SW Analysis & Design SW Implementation & Unit Test Module Integration & Test (Sub-)System Integration &Test Model/RequirementsRepository System Acceptance Model Based Testing Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Some of related technology 8
  • 9. IntegrationDesign Coding Requirements System test Test case specification (design of logical test case) (reduction of number of test cases by application of test techniques Test execution (reporting) Test case generation (design of physical test case) (selection of input values and calculation of expected results) PAGE 9 V-MODEL FOR TESTING 3 main steps in test process Module Subsystem System 9
  • 10. MBT IS THE AUTOMATION OF TEST CASE GENERATION Manual Automatic Test specification Test execution Test generation Modelbasedtesting Traditionalmanualtesting Traditionalautomatictesting Manual Scripting Testing skills + Scripting skills + Modeling skills Manual Modeling Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 10
  • 11. PERCEIVED BENEFITS • Increased productivity (increased automation) • Better test script maintenance • Improved product reliability (new type of bugs, Increased test coverage) • Agility ( Easily react to new feature changes, Reusability of test semantics, Early test engagement, Drive quality upstream) • Increased employee satisfaction (challenging, new horizon, fun) • Question: How can we improve MBT e.g. increase further the productivity? Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 11
  • 12. MBT IS THE AUTOMATION OF TEST CASE GENERATION Manual Automatic Test specification Test execution Test generation Modelbasedtesting Traditionalmanualtesting Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 12 Testing skills Manual Modeling MBTnext Semi-automatic Modeling Manual Scripting + Scripting skills Modeling skills Traditionalautomatictesting
  • 13. IDEA: USING BEST OF BOTH WORLDS • Automatic generation of (partial) Spec Explorer test model from existing ASD interface model Benefits • Less effort for model creation – reuse of existing work • Testing of complete system including – Legacy code – External components – Data combination testing – Interaction testing • Results: High Quality, Reduced cost Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Statistical Dynamic ASDspec 13
  • 14. USE CASE: CONTAINER TERMINAL Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 • Multiple components • Components need to interact to function • Controller needed to coordinate interaction 14
  • 15. Method OVERVIEW OF PROJECT STAGES Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 15 Use case /SUT Goal Technique Tool Results Stage 1 Container Terminal (CT) Development of control software for the CT Model Driven Engineering + hand written sw ASD:Suite Create design Models + interface models in ASD Generate code Productivity (code generation) c.t. trad. dev - Testing complete system, Interaction, data, external code Stage 2 Container Terminal (CT) Verification of the developed control software of the CT (generated + Hand written) Model based Testing Spec Explorer Create Test Model in Spec Explorer, generate test suite Test Productivity Modeling skills, complexity costs Stage 3 Container Terminal (CT) Verification of the developed control software of the CT (generated + Hand written) Model based Testing ASDspec & Spec Explorer Generate Test Model from existing ASD interface Model , complete Test Model , generate test suite + Productivity (code generation, partial test generation) Testing complete system, Interaction, data, external code (benefits only in case of existing of ASD Models)
  • 16. CONTENTS 1) MDSD Introduction 2) MDE with ASD:Suite 3) MBT with MS Spec Explorer 4) ASDSpec Company Tool Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 16
  • 17. ASD (ANALYTICAL SOFTWARE DESIGN) • Model Driven Engineering (code generation) • Component Based Development • Models are verified mathematically at design time (formal methods) Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 17
  • 18. COMPONENT BASED DEVELOPMENT ASD-STYLE Code Generation 2014 18 Client A B C Interface A Interface B Interface C Client component ASD component Used component Implemented service Used service Component: Decomposition Specification Design Verification Generation Interface model specifies behaviour Design model implements behaviour  For each component a interface mode and design model are created in ASD
  • 19. ASD: WORKFLOW • Designer defines behavior in component models • ASD:suite verifies models using model checking • ASD:suite generates implementation code 19Code Generation 2014 But some shortcoming • No support for Legacy/External code • No support for indirect component interaction • Limited data interaction  Testing is needed.
  • 20. RESULTS: ASD-CONTAINER TERMINAL Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 20 Higher overall productivity compared to traditional development. Main remaining problems: - Testing interaction and complete system. - Debugging of third party library (some bugs found in manual written code, legacy code) Productivity
  • 21. CONTENTS 1) MDSD Introduction 2) MDE with ASD:Suite 3) MBT with MS Spec Explorer 4) ASDSpec Company Tool Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 21
  • 22. MBT WITH SPEC EXPLORER Explore & Analyze Remodel Generate C# Model (or other .Net Language) Model Graph Test Suite Execute Nunit http://www.nunit.com/ Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 22
  • 23. MODELING IN SPEC EXPLORER [TypeBinding("CraneComponent")] class Crane { public Cranestates Cranestatevar; internal ICrane_NIModel ICrane_NIimpl; internal ICrane ICraneimpl; [Rule(Action = "new CraneComponent(craneNr)", ModeTransition = "crane->crane0")] Crane(int craneNr) { ICraneimpl = new ICraneCranecomponent(this); craneList.Add(this); } State declaration Initialization Used components Spec Explorer represents models as annotated C# code Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 23
  • 24. MODELING IN SPEC EXPLORER [Rule(Action = "this.PlaceContainer(height)", ModeTransition = "crane4->crane4")] public void ICrane_PlaceContainer(GripperHeightEnum height) { switch (basecomponent.Cranestatevar) { case Cranestates.Positioned: { basecomponent.Cranestatevar = Cranestates.PlacingContainer; basecomponent.ICrane_NIimpl.PlaceContainer(height); return; } default:{ Condition.IsTrue(false); throw new InvalidOperationException(); } }; } Every model method represents an action, its conditions and its effects. Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 24
  • 25. MBT-VISUALIZATION Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Completed models can be explored to discover all possible behaviour 25
  • 26. MBT- VISUALIZATION Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Explored model contains all possible action sequences 26
  • 27. TEST GENERATION Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Spec Explorer creates test sequences to cover explored behaviour 27
  • 28. GENERATED TEST SCRIPTS Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Nunit test scripts are used to implement and execute tests 28
  • 29. RESULTS: SPEC EXPLORER-CONTAINER TERMINAL Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 29 Significantly less effort than traditional automated testing • Model Based Testing + Software Analysis • Support of data combination testing • Support of Model composition, incremental However some remaining problems: • Modeling still comparatively expensive • Modeling effort, complexity and skills (experienced tester needed)
  • 30. HOW TO COMBINE BOTH BENEFITS ASD generates verified software components Spec Explorer generates automated software tests Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Complications • Modeling needed • MBT skills needed Complications • Legacy code • External code • Component Interaction • Limited support of data Client A B C Test script A B C   Test model 30
  • 31. CONTENTS 1) MDSD Introduction 2) MDE with ASD:Suite 3) MBT with MS Spec Explorer 4) ASDSpec Company Tool Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 31
  • 32. OUR SOLUTION: ASDSPEC Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 ASDSpec generates Test Model (push button) from existing ASD interface models Tester need to refine manually the generated model (add behavior, data, slicing,…) 32
  • 33. COMBINING THE BEST OF BOTH WORLDS Automatic generation of partial Spec Explorer test model from existing ASD model (push button) Benefits • Effortless model creation – reuse of existing work • Testing of complete system including – Legacy code – External components – Data combination testing – Interaction testing Results: – High Quality, Reduced cost – Adds dynamic testing to ASD Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Statistical Dynamic ASDspec 33
  • 34. ASDSPEC: WORKFLOW ASDspec ASD Interface Model Spec Explorer Model Cord Script Spec Explorer Test Cases Reuse existing ASD interface models to generate Spec Explorer MBT models automatically Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 34
  • 35. ASDSPEC: DATA AND MODEL COMPOSITION ASDspec ASD Interface Model Spec Explorer Model Cord Script Spec Explorer Test Cases Add data interaction Add model composition Generated code can be extended with any Spec Explorer feature Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 35
  • 36. GENERAL MDSD ARCHITECTURE Model Reverse Engineering Model Repository Model Code, Doc, etc. Model Editor(s) Model Checker Model Transformation M2M M2T Metamodel(s) Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 37
  • 37. ASDSPEC ARCHITECTURE Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 ASDSpec makes use of existing MDSD architecture Model Reverse Engineering Model Repository Spec Explorer Model SpecExplorer Cord Model Editor(s) Model Checker Model Transformation M2M M2T Metamodel(s) ASD Interface models 38
  • 38. ASDSPEC: TECHNOLOGIES QVTO ASD XML SE model Cord script Acceleo Acceleo ASD EMF SE EMF Cord EMF QVTO QVTO ASDSpec Model transformations bridge gap between ASD and Spec Explorer Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 39
  • 39. RESULTS: ASDSPEC- CONTAINER TERMINAL Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 40 Spec Explorer ASD + ASDSpec Approach Generate test suite Generate test model Techniques MBT MBT Effort/complexity Medium Low Test cases 89 93 Perceived effectiveness Medium High Bugs Some bugs in hand written code /HAL All known bus found • Low effort model creation - Easy reuse of existing work • Testing of complete system - Legacy code, data interaction • High Quality, Cost Reduction
  • 40. TRADITIONAL SW DEVELOPMENT TRADITIONAL MANUAL TESTING Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Design spec Hand written code Detail design External code Interface spec Legacy code Integration testing System testing Unit testing Manual Test suite 41 Summary
  • 41. TRADITIONAL SW DEVELOPMENT TRADITIONAL AUTOMATED TESTING Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Design spec Hand written code Detail design External code Interface spec Legacy code Integration testing System testing Unit testing Testexecution Tool Manual scripted Test suite 42 Summary
  • 42. ASD BASED SW DEVELOPMENT TRADITIONAL AUTOMATED TESTING Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Design spec Design model Generated codeHand written code Interface model External code Interface spec Legacy code Integration testing System testing Unit testing Manual scripted Test suite Testexecution Tool 43 Summary
  • 43. ASD BASED SW DEVELOPMENT MODEL BASED TESTING Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Design spec Design model Generated code Manual Test model Interface model External code Interface spec Config, data Legacy code Integration testing System testing Unit testing Generated Test suite Manual scripted Test suite Testexecution Tool MBT tool Hand written code 44 Summary
  • 44. ASD BASED SW DEVELOPMENT MODEL BASED TESTING+ASDSPEC Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 Design spec Design model Generated code Generated Test model Interface model External code Interface spec Config, data Legacy code Integration testing System testing Unit testing Generated Test suite Manual scripted Test suite Testexecution Tool MBT tool Hand written code 45 Summary
  • 45. TOOL STATUS • Tool currently in prototype phase • as an Eclipse plugin • For now available on request • Future steps – Support data handling/configuration aspects in ASDSpec, instead of relying on manual additions in Spec Explorer, – Supporting other MBT tools. Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 46
  • 46. CONCLUSIONS • MDE and MBT technologies have matured a lot in the latest years • It is a matter of time….. Evolution….. Nineth Workshop on Model-Based Testing April 6, 2014 ETAPS 2014 47
  • 47. Using Formal Specifications to Support Model Based Testing ASDSpec: A Tool Combining the Best of Two Techniques ASD Static Dynamic ASDspec Static Dynamic ASDspec