SlideShare a Scribd company logo
1 of 26
Download to read offline
15 Years of Evolving Model-based Testing 
- An Experience Report 
Stefan Mohacsi, Atos (Austria) 
www.eurostarconferences.com 
@esconfs 
#esconfs
2 
15 Years of Evolving Model-based Testing - 
An Experience Report 
Stefan Mohacsi, Atos (Austria)
3 
Traditional Test Automation can be Useful, but… 
▶ Test cases still have to be designed 
manually 
▶ Achieving systematic coverage is a 
challenging task 
▶ Capture & replay of GUI test cases 
produces scripts that are hard to 
understand & maintain 
▶ Maintaining hundreds of test scripts in each 
test cycle can require enormous effort 
Solution: Model-based Testing!
4 
What is Model-based Testing (MBT)? 
▶ Tests are generated automatically from a model of the 
system under test (SUT) 
▶ In case of changes to the SUT, only the model needs to be 
maintained, the tests are updated automatically 
▶ Benefits: Systematic coverage, early defect detection, 
visualisation, significantly reduced maintenance effort 
Create/Update 
Test Model 
Generate 
Test Cases 
Generate 
Test Data 
Execute 
Test Cases
5 
Challenges of MBT (1) 
Which Model to Use? 
Reusing a model created for code generation seems 
like the obvious solution but ... 
▶ UML models are often complex, not formal enough and 
not focused on testing 
▶ If code and test cases are generated from the same 
source, defects in the source will not be detected! 
A separate test model is recommended, 
but requires additional effort
6 
Challenges of MBT (2) 
How to Bridge the Gap between Keyword and Script? 
▶ Most test generators only produce abstract keywords 
instead of executable scripts 
▶ For each keyword, it is necessary to manually implement 
and maintain a test script 
▶ Additional effort for preparing test data, GUI object 
repositories etc. may be required 
A generator that can produce executable test scripts 
would reduce the creation and maintenance effort 
significantly
7 
Now Let’s Go on a Journey 
through Evolution...
8 
First Life Forms: 
Automated Test case Generator ATG 
▶ Prolog tool written in 1993 by Armin Beer and 
Joachim Manz for testing Siemens Hicom software 
▶ Test ‟model” had also to be specified in Prolog 
▶ Generation algorithm tried to find test sequences 
that satisfied all constraints 
▶ Suitable for text-based interfaces (not for GUIs) 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary
9 
Cambrian Explosion: 
The Research Project IDATG 
IDATG = Integrating Design and 
Automated Test Case Generation 
▶ Started in 1997 as Cooperation between Siemens and 
University of Linz 
▶ Model editor and generator written in Visual C++ 
▶ Layout information for simple Win32 GUIs could be 
imported from MFC resource files 
▶ Transition-based constraint satisfaction algorithm for 
finding valid test sequences 
▶ Export of test scripts for Segue QA-Partner® (later 
known as Borland SilkTest®) 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary
10 
Early IDATG Model Editor 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary 
Imported 
GUI Objects 
State Transitions 
Lesson Learned: Model creation requires skill and 
additional effort, but facilitates early defect detection
Evolutionary Improvements: 
The GUI Spy 
▶ Various types of GUI objects were not included in MFC 
11 
resource files and had to be specified by hand 
▶ In 1999, a built-in GUI Spy solved the problem: 
Complete Win32 GUIs could now be recorded directly 
from the screen 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary
Diversification: 
WinRunner® Interface 
12 
▶ Being restricted to only one test execution tool had 
several disadvantages 
▶ A new interface to Mercury WinRunner® (later HP) 
considerably increased the number of potential users 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary
Exploring a new Realm: 
Task Flow Modeling 
13 
▶ Working with transition-based models was arduous 
and required advanced skills 
▶ In 2001, a more intuitive ‟task flow” concept was 
invented based on Activity Diagrams 
▶ Building Block Concept: Each step may either 
represent an atomic step (blue) or an entire step 
sequence (yellow) 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary 
Lesson Learned: Re-use of parametrizable building 
blocks minimizes the effort for test creation and 
maintenance
Task Flows in IDATG 
14 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary 
Task flow with 
building blocks 
Reusable building 
block ‟Login” 
Recorded 
‟Login” dialog 
Lesson Learned: 
Start modelling 
at an abstract 
level, then add 
more detail step 
by step
Conquering new Niches: 
Support for Java and Web GUIs 
15 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary 
▶ Being restricted to Win32 GUIs was a major drawback 
▶ In 2001, a special GUI Spy for importing Java GUIs 
was developed 
▶ In 2002, an interface to Internet Explorer for 
recording web pages followed 
Lesson Learned: Ensuring GUI object recognition is 
THE key challenge of automated test execution. 
Don’t expect unskilled testers to do this but employ 
specialists instead!
Evolving new Capabilities: 
Requirements Tracing 
16 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary 
▶ Tracing requirements is essential for 
measuring coverage during the system test 
▶ An editor for defining a requirement hierarchy and 
assigning requirements to tasks was the logical next 
step 
Lesson Learned: Involve test 
experts in early reviews of 
requirement and design 
specifications in order to avoid 
testability problems later on.
Mass Extinction & Reanimation: 
ICN Disaster and First ESA Project 
17 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary 
▶ In 2002, the drastic reduction of the Siemens mobile 
phone sector ICN left the IDATG project without its 
main sponsor 
▶ Close to cancellation, the project was revived in 2004 
by a new opportunity in space 
▶ After adding support for non-GUI interfaces, IDATG 
became key part of a generic test framework for 
ESA’s Satellite Control and Operation System
18 
ESA Intelligent Test Framework 
IDATG 
Test 
Commander 
(Tcl/Tk) 
GUI Test 
Drivers 
Satellite 
Control and 
Operation 
System 
API Test 
Drivers 
Manual 
Test 
Photo: ESA
Continual Growth: 
Test Data Generation 
19 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary 
▶ From 2006, it became possible to generate test data 
in addition to test sequences 
▶ Several systematic methods are supported 
(equivalence partitioning, boundary value analysis) 
▶ Invention of CECIL (Cause-Effect Coverage 
Incorporating Linear boundaries) 
in collaboration with the SoftNet Austria competence network 
▶ Connection between test data and task flows can be 
established by references
Chaotic Mutations: 
Randomized Testing 
20 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary 
Random test methods can be applied to 
▶ cover a much larger section of the input 
domain with relatively low effort 
▶ discover faults that are caused by rare input 
combinations 
▶ obtain statistic measures, e.g., for assessing the 
stability of a system 
We invented a hybrid algorithm that combines pure 
random testing with heuristic search strategies in 
interleaving phases to increase the overall coverage
Symbiosis: 
Test Management Integration 
21 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary 
▶ A close integration between all components of a test 
framework is crucial for an efficient test process 
▶ In 2010, IDATG was integrated into the TEMPPO test 
framework and renamed to ‟TEMPPO Designer” 
▶ Test structures are passed from 
TEMPPO Test Manager to TEMPPO 
Designer, which returns the 
generated test cases 
Lesson Learned: The efficiency of MBT depends on the 
process maturity and a well integrated tool framework
Dawn of a New Age: 
Atos and QTP 
22 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary 
▶ The future of IDATG was once again shrouded in 
uncertainty when Siemens IT Solutions and Services 
was taken over by Atos in 2011 
▶ Fortunately, the new company recognized the 
method’s potential and established a Global 
Competence Center for Model-based Testing 
▶ Finally, an interface to HP QuickTest Professional® 
(QTP) was created 
▶ In addition to generating QTP scripts, importing 
object repositories into IDATG is supported
The Summit(s) of Evolution: 
Model-based Testing Today 
23 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary 
▶ In a major ESA project, the ROI of MBT 
was measured 
▶ It turned out that the additional effort for introducing 
MBT paid off after 4 test cycles 
▶ See also: Experiences 
of Test Automation by 
Dorothy Graham and 
Mark Fewster 
(Addison-Wesley 2012) 
4000 
3500 
3000 
2500 
2000 
1500 
1000 
500 
0 
1 4 7 10 13 16 19 
Test Repetitions 
Effort (Hours) 
Manual Test 
MBT
Model-based Test Process 
with TEMPPO Designer V15.0 
24 
TEMPPO Designer (IDATG) 
Test Structure 
Definition 
Task Flow 
Modeling 
Test Data 
Generation 
Low-Level 
Specification 
Test Case 
Generation 
Test Execution 
Tool 
TEMPPO Test Manager 
Test 
scripts 
GUI data 
Control 
test run 
Test structure data 
Test case data
25 
Practical Hints 
▶ Start MBT with test scenarios that have the highest ROI 
(many test repetitions, easy to automate) 
▶ Pay attention to the reusability and maintainability of 
the model components, e.g., use parametrizable 
building blocks 
▶ If MBT is correctly applied, test maintenance costs can 
be significantly reduced! 
▶ Don’t forget to plan some experience-based tests. A 
test model is a good thing but cannot replace human 
experience and intuition! 
Precambrian 
Cambrian 
Ordovician 
Silurian 
Devonian 
Carboniferous 
Permian 
Triassic 
Jurassic 
Cretaceous 
Paleogene 
Neogene 
Quaternary
26 
Contact Information 
Stefan Mohacsi 
Atos IT Solutions and Services 
Head of CoC Model-based Test 
Phone: +43 (0) 50618 / 43417 
e-Mail: stefan.mohacsi@atos.net 
THANK YOU !

More Related Content

Similar to Stefan Mohacsi - 15 years of Evolving Model-Based Testing - EuroSTAR 2012

Digital Ecosystem and Process Compiler - IDCC17
Digital Ecosystem and Process Compiler - IDCC17Digital Ecosystem and Process Compiler - IDCC17
Digital Ecosystem and Process Compiler - IDCC17PERICLES_FP7
 
Journey Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityJourney Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityAltoros
 
Deep neural network for youtube recommendations
Deep neural network for youtube recommendationsDeep neural network for youtube recommendations
Deep neural network for youtube recommendationsKan-Han (John) Lu
 
Pitfalls of machine learning in production
Pitfalls of machine learning in productionPitfalls of machine learning in production
Pitfalls of machine learning in productionAntoine Sauray
 
Software Testing
Software TestingSoftware Testing
Software TestingAndrew Wang
 
XWiki Testing with TestContainers
XWiki Testing with TestContainersXWiki Testing with TestContainers
XWiki Testing with TestContainersVincent Massol
 
What is the best approach to tdd
What is the best approach to tddWhat is the best approach to tdd
What is the best approach to tddRed Hat
 
Clean architecture on android
Clean architecture on androidClean architecture on android
Clean architecture on androidBenjamin Cheng
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Ambassador Labs
 
Testing Applications—For the Cloud and in the Cloud
Testing Applications—For the Cloud and in the CloudTesting Applications—For the Cloud and in the Cloud
Testing Applications—For the Cloud and in the CloudTechWell
 
Level Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersLevel Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersVMware Tanzu
 
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...Alessandra Bagnato
 
Continuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and JenkinsContinuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and JenkinsMahmoud Ali
 
Awe k2 midterms finals
Awe k2 midterms finalsAwe k2 midterms finals
Awe k2 midterms finalsKaren Tay
 
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...Andrey Sadovykh
 
Start with version control and experiments management in machine learning
Start with version control and experiments management in machine learningStart with version control and experiments management in machine learning
Start with version control and experiments management in machine learningMikhail Rozhkov
 
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Sauce Labs
 

Similar to Stefan Mohacsi - 15 years of Evolving Model-Based Testing - EuroSTAR 2012 (20)

Digital Ecosystem and Process Compiler - IDCC17
Digital Ecosystem and Process Compiler - IDCC17Digital Ecosystem and Process Compiler - IDCC17
Digital Ecosystem and Process Compiler - IDCC17
 
Journey Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityJourney Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment Maturity
 
Deep neural network for youtube recommendations
Deep neural network for youtube recommendationsDeep neural network for youtube recommendations
Deep neural network for youtube recommendations
 
Pitfalls of machine learning in production
Pitfalls of machine learning in productionPitfalls of machine learning in production
Pitfalls of machine learning in production
 
Deep learning in manufacturing predicting and preventing manufacturing defect...
Deep learning in manufacturing predicting and preventing manufacturing defect...Deep learning in manufacturing predicting and preventing manufacturing defect...
Deep learning in manufacturing predicting and preventing manufacturing defect...
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
XWiki Testing with TestContainers
XWiki Testing with TestContainersXWiki Testing with TestContainers
XWiki Testing with TestContainers
 
What is the best approach to tdd
What is the best approach to tddWhat is the best approach to tdd
What is the best approach to tdd
 
Giacomo Mellone CV
Giacomo Mellone CVGiacomo Mellone CV
Giacomo Mellone CV
 
Clean architecture on android
Clean architecture on androidClean architecture on android
Clean architecture on android
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
 
Testing Applications—For the Cloud and in the Cloud
Testing Applications—For the Cloud and in the CloudTesting Applications—For the Cloud and in the Cloud
Testing Applications—For the Cloud and in the Cloud
 
Level Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersLevel Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With Testcontainers
 
First Steps to DevOps
First Steps to DevOpsFirst Steps to DevOps
First Steps to DevOps
 
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
 
Continuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and JenkinsContinuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and Jenkins
 
Awe k2 midterms finals
Awe k2 midterms finalsAwe k2 midterms finals
Awe k2 midterms finals
 
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...
 
Start with version control and experiments management in machine learning
Start with version control and experiments management in machine learningStart with version control and experiments management in machine learning
Start with version control and experiments management in machine learning
 
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
 

More from TEST Huddle

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureTEST Huddle
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar TEST Huddle
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway TEST Huddle
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in ScrumTEST Huddle
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsTEST Huddle
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkTEST Huddle
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New HeightsTEST Huddle
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?TEST Huddle
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of UsTEST Huddle
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)TEST Huddle
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesTEST Huddle
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?TEST Huddle
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageTEST Huddle
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersTEST Huddle
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?TEST Huddle
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfullyTEST Huddle
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey TEST Huddle
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsTEST Huddle
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your RoleTEST Huddle
 
Using Selenium 3 0
Using Selenium 3 0Using Selenium 3 0
Using Selenium 3 0TEST Huddle
 

More from TEST Huddle (20)

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- Accenture
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in Scrum
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional Tests
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test Work
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New Heights
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of Us
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger Enterprises
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test Coverage
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using Heuristics
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your Role
 
Using Selenium 3 0
Using Selenium 3 0Using Selenium 3 0
Using Selenium 3 0
 

Recently uploaded

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

Stefan Mohacsi - 15 years of Evolving Model-Based Testing - EuroSTAR 2012

  • 1. 15 Years of Evolving Model-based Testing - An Experience Report Stefan Mohacsi, Atos (Austria) www.eurostarconferences.com @esconfs #esconfs
  • 2. 2 15 Years of Evolving Model-based Testing - An Experience Report Stefan Mohacsi, Atos (Austria)
  • 3. 3 Traditional Test Automation can be Useful, but… ▶ Test cases still have to be designed manually ▶ Achieving systematic coverage is a challenging task ▶ Capture & replay of GUI test cases produces scripts that are hard to understand & maintain ▶ Maintaining hundreds of test scripts in each test cycle can require enormous effort Solution: Model-based Testing!
  • 4. 4 What is Model-based Testing (MBT)? ▶ Tests are generated automatically from a model of the system under test (SUT) ▶ In case of changes to the SUT, only the model needs to be maintained, the tests are updated automatically ▶ Benefits: Systematic coverage, early defect detection, visualisation, significantly reduced maintenance effort Create/Update Test Model Generate Test Cases Generate Test Data Execute Test Cases
  • 5. 5 Challenges of MBT (1) Which Model to Use? Reusing a model created for code generation seems like the obvious solution but ... ▶ UML models are often complex, not formal enough and not focused on testing ▶ If code and test cases are generated from the same source, defects in the source will not be detected! A separate test model is recommended, but requires additional effort
  • 6. 6 Challenges of MBT (2) How to Bridge the Gap between Keyword and Script? ▶ Most test generators only produce abstract keywords instead of executable scripts ▶ For each keyword, it is necessary to manually implement and maintain a test script ▶ Additional effort for preparing test data, GUI object repositories etc. may be required A generator that can produce executable test scripts would reduce the creation and maintenance effort significantly
  • 7. 7 Now Let’s Go on a Journey through Evolution...
  • 8. 8 First Life Forms: Automated Test case Generator ATG ▶ Prolog tool written in 1993 by Armin Beer and Joachim Manz for testing Siemens Hicom software ▶ Test ‟model” had also to be specified in Prolog ▶ Generation algorithm tried to find test sequences that satisfied all constraints ▶ Suitable for text-based interfaces (not for GUIs) Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary
  • 9. 9 Cambrian Explosion: The Research Project IDATG IDATG = Integrating Design and Automated Test Case Generation ▶ Started in 1997 as Cooperation between Siemens and University of Linz ▶ Model editor and generator written in Visual C++ ▶ Layout information for simple Win32 GUIs could be imported from MFC resource files ▶ Transition-based constraint satisfaction algorithm for finding valid test sequences ▶ Export of test scripts for Segue QA-Partner® (later known as Borland SilkTest®) Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary
  • 10. 10 Early IDATG Model Editor Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary Imported GUI Objects State Transitions Lesson Learned: Model creation requires skill and additional effort, but facilitates early defect detection
  • 11. Evolutionary Improvements: The GUI Spy ▶ Various types of GUI objects were not included in MFC 11 resource files and had to be specified by hand ▶ In 1999, a built-in GUI Spy solved the problem: Complete Win32 GUIs could now be recorded directly from the screen Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary
  • 12. Diversification: WinRunner® Interface 12 ▶ Being restricted to only one test execution tool had several disadvantages ▶ A new interface to Mercury WinRunner® (later HP) considerably increased the number of potential users Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary
  • 13. Exploring a new Realm: Task Flow Modeling 13 ▶ Working with transition-based models was arduous and required advanced skills ▶ In 2001, a more intuitive ‟task flow” concept was invented based on Activity Diagrams ▶ Building Block Concept: Each step may either represent an atomic step (blue) or an entire step sequence (yellow) Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary Lesson Learned: Re-use of parametrizable building blocks minimizes the effort for test creation and maintenance
  • 14. Task Flows in IDATG 14 Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary Task flow with building blocks Reusable building block ‟Login” Recorded ‟Login” dialog Lesson Learned: Start modelling at an abstract level, then add more detail step by step
  • 15. Conquering new Niches: Support for Java and Web GUIs 15 Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary ▶ Being restricted to Win32 GUIs was a major drawback ▶ In 2001, a special GUI Spy for importing Java GUIs was developed ▶ In 2002, an interface to Internet Explorer for recording web pages followed Lesson Learned: Ensuring GUI object recognition is THE key challenge of automated test execution. Don’t expect unskilled testers to do this but employ specialists instead!
  • 16. Evolving new Capabilities: Requirements Tracing 16 Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary ▶ Tracing requirements is essential for measuring coverage during the system test ▶ An editor for defining a requirement hierarchy and assigning requirements to tasks was the logical next step Lesson Learned: Involve test experts in early reviews of requirement and design specifications in order to avoid testability problems later on.
  • 17. Mass Extinction & Reanimation: ICN Disaster and First ESA Project 17 Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary ▶ In 2002, the drastic reduction of the Siemens mobile phone sector ICN left the IDATG project without its main sponsor ▶ Close to cancellation, the project was revived in 2004 by a new opportunity in space ▶ After adding support for non-GUI interfaces, IDATG became key part of a generic test framework for ESA’s Satellite Control and Operation System
  • 18. 18 ESA Intelligent Test Framework IDATG Test Commander (Tcl/Tk) GUI Test Drivers Satellite Control and Operation System API Test Drivers Manual Test Photo: ESA
  • 19. Continual Growth: Test Data Generation 19 Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary ▶ From 2006, it became possible to generate test data in addition to test sequences ▶ Several systematic methods are supported (equivalence partitioning, boundary value analysis) ▶ Invention of CECIL (Cause-Effect Coverage Incorporating Linear boundaries) in collaboration with the SoftNet Austria competence network ▶ Connection between test data and task flows can be established by references
  • 20. Chaotic Mutations: Randomized Testing 20 Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary Random test methods can be applied to ▶ cover a much larger section of the input domain with relatively low effort ▶ discover faults that are caused by rare input combinations ▶ obtain statistic measures, e.g., for assessing the stability of a system We invented a hybrid algorithm that combines pure random testing with heuristic search strategies in interleaving phases to increase the overall coverage
  • 21. Symbiosis: Test Management Integration 21 Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary ▶ A close integration between all components of a test framework is crucial for an efficient test process ▶ In 2010, IDATG was integrated into the TEMPPO test framework and renamed to ‟TEMPPO Designer” ▶ Test structures are passed from TEMPPO Test Manager to TEMPPO Designer, which returns the generated test cases Lesson Learned: The efficiency of MBT depends on the process maturity and a well integrated tool framework
  • 22. Dawn of a New Age: Atos and QTP 22 Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary ▶ The future of IDATG was once again shrouded in uncertainty when Siemens IT Solutions and Services was taken over by Atos in 2011 ▶ Fortunately, the new company recognized the method’s potential and established a Global Competence Center for Model-based Testing ▶ Finally, an interface to HP QuickTest Professional® (QTP) was created ▶ In addition to generating QTP scripts, importing object repositories into IDATG is supported
  • 23. The Summit(s) of Evolution: Model-based Testing Today 23 Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary ▶ In a major ESA project, the ROI of MBT was measured ▶ It turned out that the additional effort for introducing MBT paid off after 4 test cycles ▶ See also: Experiences of Test Automation by Dorothy Graham and Mark Fewster (Addison-Wesley 2012) 4000 3500 3000 2500 2000 1500 1000 500 0 1 4 7 10 13 16 19 Test Repetitions Effort (Hours) Manual Test MBT
  • 24. Model-based Test Process with TEMPPO Designer V15.0 24 TEMPPO Designer (IDATG) Test Structure Definition Task Flow Modeling Test Data Generation Low-Level Specification Test Case Generation Test Execution Tool TEMPPO Test Manager Test scripts GUI data Control test run Test structure data Test case data
  • 25. 25 Practical Hints ▶ Start MBT with test scenarios that have the highest ROI (many test repetitions, easy to automate) ▶ Pay attention to the reusability and maintainability of the model components, e.g., use parametrizable building blocks ▶ If MBT is correctly applied, test maintenance costs can be significantly reduced! ▶ Don’t forget to plan some experience-based tests. A test model is a good thing but cannot replace human experience and intuition! Precambrian Cambrian Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary
  • 26. 26 Contact Information Stefan Mohacsi Atos IT Solutions and Services Head of CoC Model-based Test Phone: +43 (0) 50618 / 43417 e-Mail: stefan.mohacsi@atos.net THANK YOU !