SlideShare une entreprise Scribd logo
1  sur  21
1
Next level of test automation with
Model-based Testing (MBT):
Experience and best practices
Vahid Garousi
Bahar Software Engineering Consulting Corporation, UK
Queen’s University Belfast, UK
v.garousi@qub.ac.uk
www.vgarousi.com
@vgarousi
Alper Buğra Keleş, Yunus Balaman, Zeynep Özdemir Güler
Testinium A.Ş., Istanbul, Turkey
{alper.keles, yunus.balaman, zeynep.ozdemir}@testinium.com
www.testinium.com
A presentation for:
Northern Ireland Developer Conference
October 2020
2
Outline
 A review of our industry context
 The needs for model-based testing (MBT)
 Our approach (Solution): Applying MBT
 Assessing the benefits of MBT
 Current/next steps
 Take-away messages
3
A review of our industry context
 Testinium A.Ş. is a provider of software testing
services and solutions in Turkey, UK and across
Europe
 Founded in year 2010
 Has provided automated testing to 60+ clients in several
countries so far
 As of August 2020, has over 190 employees
 Almost all test engineers have the ISTQB certificates
 In addition to the test service offered to clients, the
company has developed and offers two flagship test
automation tools:
 Testinium (testinium.com): A web-based test management
system with many features, e.g., a web interface to Selenium
and Appium
 Loadium (loadium.com): A web-based load test management
system
And many other
clients….
4
One of the flagship test automation tool:
Testinium (testinium.com)
5
Test automation approaches and tools, in use in
the company since 2010
 Takes Behaviour-driven Development
(BDD) to a higher levelgauge.org
selenium.dev
And many other test automation approaches and tools
testinium.com
• For test-case design, we use established black-box testing approaches,
such as category partitioning and boundary-value testing
• But, as also reported by other testers, making sure that all the black-box
test-case design approaches are followed systematically by all test
engineers, is not always easy
• Thus, we have seen the need for “systematic” test-case design, thus the
need for this project! (more next)
6
Outline
 A review of our industry context
 The needs for model-based testing (MBT)
 Our approach (Solution): Applying MBT
 Assessing the benefits of MBT
 Current/next steps
 Take-away messages
7
The needs (motivations) for MBT
 While test automation tools are effective for automated execution of
tests, tools alone are not enough for a successful test automation
outcome
 If test cases are not designed properly, a test tool will only
automatically run bad-quality (read: useless) tests!
 We need “systematic” test-case design
 Imagine: We can have two testers:
 Tester A designs 10 test case which would detect 20 bugs (defects)
 Tester B designs 100 test case which would detect 2 bugs (defects)
 Which one is a more effective test engineer?
 Model-based testing (MBT) is a suitable approach for this need!
Question: How many of
you think this statement
is true?
8
Outline
 A review of our industry context
 The needs for model-based testing (MBT)
 Our approach (Solution): Applying MBT
 Assessing the benefits of MBT
 Current/next steps
 Take-away messages
9
What is Model-based Testing (MBT)?
 Model-based testing:
 Designing test “models”: GUI flow-diagrams of a given Software Under Test (SUT)
 Nodes, or vertices. Edges or transitions
 A small example:
 Benefits:
 Automating both the test-case design and test-case execution
 Deriving almost all possible test paths is a very efficient way (would be very effort intensive to do in
manual testing, or even when developing automated test scripts manually)
Click
Note: MBT is popular…
10
Model-based Testing (MBT)
 The entire login test model for the SUT: Testinium (testinium.com)…
11
Choosing the “right” MBT tool
 There are literally hundreds of MBT tools
 Which MBT tool is the “right” choice for a given
context?
 Type of SUT
 Testing needs
 Other factors
 A non-trivial question
 After a systematic comparison of several tools, we
selected GraphWalker (graphwalker.github.io)
 It’s free and open-source and has a wide user base
12
Time for a quick demo!
 Several online videos from our MBT projects are on
YouTube: bit.ly/MBTVideosTestinium
 The entire test suite with all the code is open-source:
github.com/vgarousi/MBTofTestinium
13
An overview of the MBT approach
 The test architecture:
Web browser
Front-end of the
web application
System Under
Test (SUT)
Call Return
Exercise
(call)
Return
Test
outputs
Return
Anlayzes
GraphWalker
Test models
Designs
Test enigneer
Run using...
Java Selenium
methods
Implementaion of
nodes/edges behavior
in Java using the
Selenium framework
Call
Return
Back-end of the
web application
SUT
Develops
Requirements
(Use-case
diagram)
Uses
14
Development of nodes/edges’ behavior in Java using the
Selenium framework
public void e_valid_login() {
WebElement userNameElement =
methodsPage.findElement(By.id("username"));
userNameElement.clear();
userNameElement.sendKeys(email);
WebElement passwordElement =
methodsPage.findElement(By.id("password"));
passwordElement.clear();
passwordElement.sendKeys(password);
methodsPage.findElement(By.cssSelector(
"input[class$="login-page__submit-btn"][value="Sign In"]")).click();
}
15
Report from one MBT project
 SUT: Our own test automation tool: Testinium
(testinium.com)
 Testing a testing tool!
 Size measures (metrics) from the MBT project:
 # of test models = 18
 Total # of nodes=170
 Total # of edges=260
 Size of the Selenium Java code for nodes/edges’ behavior = 4,699
LOC
 Each test run takes about: 6 hours, going through ~28,000 test
steps! (nodes and edges, stopping condition=%100 edge coverage)
 Reminder: The entire test suite with all the code is open-
source: github.com/vgarousi/MBTofTestinium
16
Outline
 A review of our industry context
 The needs for model-based testing (MBT)
 Our approach (Solution): Applying MBT
 Assessing the benefits of MBT
 Current/next steps
 Take-away messages
17
Assessing the benefits of MBT
 Tangible benefits of MBT
 Improved test-case design practices, due to MBT
In the old approach (manual test-case design), many deficiencies were identified, e.g.,
duplications among different test suites (could lead to test integrity problems, etc.), and many
missing test paths and test cases
 Detecting real fault during regression testing
Several defects were detected, via “Endurance testing” using MBT (soak testing, longevity
testing)
 Measuring code coverage:
Both in client side (JS) and server side (Java)
 Intangible benefits of MBT
 According to the feedbacks we have received: MBT has made the
work of test engineers “more interesting” and more organized
 Many in the company have told us that, thanks to MBT models, they
can now see the “big picture” much more easily with having the test
models in front of them, and the model being directly executable.
18
Current / next work directions
 Our MBT project has showed us several important ongoing work
directions, e.g.:
 Test visualization (showing the number of times each edge and node has been
covered)
 We are in the process of improving the testing tool to incorporate fault tolerance
(when an assertion fails)
 Assessing effectiveness of MBT in detection of injected faults (by mutation
testing).
 Developing a code coverage tool for clients side (JS ) and server side
19
Take-away messages
 In retrospective, using MBT, we have observed various
benefits, compared to the “before state” of test automation
practices (in which test-cases were designed in ad-hoc
manner)
 MBT has helped us:
 By providing clarity and road-map (what to do next) for test engineers
 Resulting in higher-quality test scripts in term of modularity with no test-
code duplication
 Taking test automation to a higher level of maturity
Pre-MBT MBT
State of test
automation in the
company:
20
This work is a part of a large international EU project
 The TESTOMAT project: The Next Level of Test Automation
 www.testomatproject.eu
 Among different topics of the project:
 Model-based testing
 Test prioritization and selection, etc.
 Project is funded by the European ITEA3 (Information Technology for
European Advancement) program and the government of the six
countries involved in the project
 “ITEA is a transnational and industry-driven R&D&I programme in the
domain of software innovation [in Europe]”
 An R&D collaboration among 34 entities (software companies
and universities) across Europe
21
END of the talk
Questions /
Answers
Vahid Garousi
Queen’s University Belfast, UK
Bahar Software Engineering Consulting Corporation
v.garousi@qub.ac.uk
www.vgarousi.com
@vgarousi
Alper Buğra Keleş, Yunus Balaman, Zeynep Özdemir Güler
Testinium A.Ş., Istanbul, Turkey
{alper.keles, yunus.balaman, zeynep.ozdemir}@testinium.com
www.testinium.com

Contenu connexe

Tendances

Manual testing real time questions by subbu
Manual testing real time questions by subbuManual testing real time questions by subbu
Manual testing real time questions by subbu
palla subrahmanyam
 
3104328 software-testing-interview-questions
3104328 software-testing-interview-questions3104328 software-testing-interview-questions
3104328 software-testing-interview-questions
Raghavendra Kudal
 
Interview questions
Interview questionsInterview questions
Interview questions
sivareddyeda
 

Tendances (20)

Testing softvamp techno solutions technical interview questions 2 years expe...
Testing  softvamp techno solutions technical interview questions 2 years expe...Testing  softvamp techno solutions technical interview questions 2 years expe...
Testing softvamp techno solutions technical interview questions 2 years expe...
 
Manual testing real time questions by subbu
Manual testing real time questions by subbuManual testing real time questions by subbu
Manual testing real time questions by subbu
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECH
 
Software Testing Interview Questions
Software Testing Interview QuestionsSoftware Testing Interview Questions
Software Testing Interview Questions
 
An Open Modern Software Testing Laboratory Courseware: An Experience Report
An Open Modern Software Testing Laboratory Courseware: An Experience ReportAn Open Modern Software Testing Laboratory Courseware: An Experience Report
An Open Modern Software Testing Laboratory Courseware: An Experience Report
 
Tech talks annual 2015 izzet mustafayev_performance testing - the way to make...
Tech talks annual 2015 izzet mustafayev_performance testing - the way to make...Tech talks annual 2015 izzet mustafayev_performance testing - the way to make...
Tech talks annual 2015 izzet mustafayev_performance testing - the way to make...
 
Qa mockup interview for automation testing
Qa mockup interview for automation testingQa mockup interview for automation testing
Qa mockup interview for automation testing
 
Agile Tour Strasbourg 2009
Agile Tour Strasbourg 2009Agile Tour Strasbourg 2009
Agile Tour Strasbourg 2009
 
Materi testing dan Implementasi sistem - Fundamentals of testing-What is Testing
Materi testing dan Implementasi sistem - Fundamentals of testing-What is TestingMateri testing dan Implementasi sistem - Fundamentals of testing-What is Testing
Materi testing dan Implementasi sistem - Fundamentals of testing-What is Testing
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | Edureka
 
Fresher interview question for software testing (QA) manual + basic automation
Fresher interview question for software testing (QA) manual + basic automationFresher interview question for software testing (QA) manual + basic automation
Fresher interview question for software testing (QA) manual + basic automation
 
Automation frameworks
Automation frameworksAutomation frameworks
Automation frameworks
 
How to Guarantee Continuous Value from your Test Automation
How to Guarantee Continuous Value from your Test AutomationHow to Guarantee Continuous Value from your Test Automation
How to Guarantee Continuous Value from your Test Automation
 
3104328 software-testing-interview-questions
3104328 software-testing-interview-questions3104328 software-testing-interview-questions
3104328 software-testing-interview-questions
 
Automating Common Criteria
Automating Common Criteria Automating Common Criteria
Automating Common Criteria
 
Formal method
Formal methodFormal method
Formal method
 
Automation testing interview pdf org
Automation testing interview pdf orgAutomation testing interview pdf org
Automation testing interview pdf org
 
Interview questions
Interview questionsInterview questions
Interview questions
 
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
 

Similaire à Next level of test automation with Model-based Testing (MBT): Experience and best practices

Model Based Software Testing
Model Based Software TestingModel Based Software Testing
Model Based Software Testing
Esin Karaman
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
Javier Gonzalez-Sanchez
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
smumbahelp
 

Similaire à Next level of test automation with Model-based Testing (MBT): Experience and best practices (20)

Model Based Software Testing
Model Based Software TestingModel Based Software Testing
Model Based Software Testing
 
Manual Testing to Intelligent Test Automation.pptx
Manual Testing to Intelligent Test Automation.pptxManual Testing to Intelligent Test Automation.pptx
Manual Testing to Intelligent Test Automation.pptx
 
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
 
Deciding what and when to automate in testing: Experience from multiple projects
Deciding what and when to automate in testing: Experience from multiple projectsDeciding what and when to automate in testing: Experience from multiple projects
Deciding what and when to automate in testing: Experience from multiple projects
 
Combinatorial testing
Combinatorial testingCombinatorial testing
Combinatorial testing
 
Pilot Model Based Testing
Pilot Model Based TestingPilot Model Based Testing
Pilot Model Based Testing
 
Problems of testing 64-bit applications
Problems of testing 64-bit applicationsProblems of testing 64-bit applications
Problems of testing 64-bit applications
 
iSQI Certification Days ISTQB Advanced Axel Rennoch
iSQI Certification Days ISTQB Advanced Axel RennochiSQI Certification Days ISTQB Advanced Axel Rennoch
iSQI Certification Days ISTQB Advanced Axel Rennoch
 
Presentation Of Mbt Tools
Presentation Of Mbt ToolsPresentation Of Mbt Tools
Presentation Of Mbt Tools
 
Using task models in model-based testing
Using task models in model-based testingUsing task models in model-based testing
Using task models in model-based testing
 
Hakan Fredriksson - Experiences With MBT and Qtronic
Hakan Fredriksson - Experiences With MBT and Qtronic Hakan Fredriksson - Experiences With MBT and Qtronic
Hakan Fredriksson - Experiences With MBT and Qtronic
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 ppt
 
ISTQB Model-Based Tester (CT-MBT) Exam | Questions & Answers
ISTQB Model-Based Tester (CT-MBT) Exam | Questions & AnswersISTQB Model-Based Tester (CT-MBT) Exam | Questions & Answers
ISTQB Model-Based Tester (CT-MBT) Exam | Questions & Answers
 
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
 
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
 
Test Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment ToolTest Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment Tool
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.ppt
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...
Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...
Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...
 

Plus de Vahid Garousi

Plus de Vahid Garousi (20)

Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
 
Education and Training of Highly-skills Software Test Engineers
Education and Training of Highly-skills Software Test EngineersEducation and Training of Highly-skills Software Test Engineers
Education and Training of Highly-skills Software Test Engineers
 
Benefitting from the Grey Literature in Software Engineering Research
Benefitting from the Grey Literature in Software Engineering ResearchBenefitting from the Grey Literature in Software Engineering Research
Benefitting from the Grey Literature in Software Engineering Research
 
Slides for for JSS "Happy Hour": Aligning software engineering education with...
Slides for for JSS "Happy Hour": Aligning software engineering education with...Slides for for JSS "Happy Hour": Aligning software engineering education with...
Slides for for JSS "Happy Hour": Aligning software engineering education with...
 
Experience in conducting 19 secondary (survey) studies in Software Engineering
Experience in conducting 19 secondary (survey) studies in Software EngineeringExperience in conducting 19 secondary (survey) studies in Software Engineering
Experience in conducting 19 secondary (survey) studies in Software Engineering
 
Sustainability of Scientific Software: Experience from Several Projects
Sustainability of Scientific Software: Experience from Several ProjectsSustainability of Scientific Software: Experience from Several Projects
Sustainability of Scientific Software: Experience from Several Projects
 
Career paths, training and learning resources in software test engineering
Career paths, training and learning resources in software test engineeringCareer paths, training and learning resources in software test engineering
Career paths, training and learning resources in software test engineering
 
Industry-academia collaborations in software testing: Success stories from Ca...
Industry-academia collaborations in software testing: Success stories from Ca...Industry-academia collaborations in software testing: Success stories from Ca...
Industry-academia collaborations in software testing: Success stories from Ca...
 
An overview of automated test suites and defect density in Android
An overview of automated test suites and defect density in AndroidAn overview of automated test suites and defect density in Android
An overview of automated test suites and defect density in Android
 
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
 
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
 
Engineering software systems for improving the operational efficiency of oil ...
Engineering software systems for improving the operational efficiency of oil ...Engineering software systems for improving the operational efficiency of oil ...
Engineering software systems for improving the operational efficiency of oil ...
 
Introducing automated GUI testing and observing its benefits: an industrial c...
Introducing automated GUI testing and observing its benefits: an industrial c...Introducing automated GUI testing and observing its benefits: an industrial c...
Introducing automated GUI testing and observing its benefits: an industrial c...
 
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
 
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
 
Software engineering of scientific software
Software engineering of scientific softwareSoftware engineering of scientific software
Software engineering of scientific software
 
Vahid Garousi-SE meets robotics
Vahid Garousi-SE meets roboticsVahid Garousi-SE meets robotics
Vahid Garousi-SE meets robotics
 
Industry-academia collaborations in software engineering research: Experience...
Industry-academia collaborations in software engineering research: Experience...Industry-academia collaborations in software engineering research: Experience...
Industry-academia collaborations in software engineering research: Experience...
 
Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...
Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...
Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...
 
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
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
Safe Software
 

Dernier (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Next level of test automation with Model-based Testing (MBT): Experience and best practices

  • 1. 1 Next level of test automation with Model-based Testing (MBT): Experience and best practices Vahid Garousi Bahar Software Engineering Consulting Corporation, UK Queen’s University Belfast, UK v.garousi@qub.ac.uk www.vgarousi.com @vgarousi Alper Buğra Keleş, Yunus Balaman, Zeynep Özdemir Güler Testinium A.Ş., Istanbul, Turkey {alper.keles, yunus.balaman, zeynep.ozdemir}@testinium.com www.testinium.com A presentation for: Northern Ireland Developer Conference October 2020
  • 2. 2 Outline  A review of our industry context  The needs for model-based testing (MBT)  Our approach (Solution): Applying MBT  Assessing the benefits of MBT  Current/next steps  Take-away messages
  • 3. 3 A review of our industry context  Testinium A.Ş. is a provider of software testing services and solutions in Turkey, UK and across Europe  Founded in year 2010  Has provided automated testing to 60+ clients in several countries so far  As of August 2020, has over 190 employees  Almost all test engineers have the ISTQB certificates  In addition to the test service offered to clients, the company has developed and offers two flagship test automation tools:  Testinium (testinium.com): A web-based test management system with many features, e.g., a web interface to Selenium and Appium  Loadium (loadium.com): A web-based load test management system And many other clients….
  • 4. 4 One of the flagship test automation tool: Testinium (testinium.com)
  • 5. 5 Test automation approaches and tools, in use in the company since 2010  Takes Behaviour-driven Development (BDD) to a higher levelgauge.org selenium.dev And many other test automation approaches and tools testinium.com • For test-case design, we use established black-box testing approaches, such as category partitioning and boundary-value testing • But, as also reported by other testers, making sure that all the black-box test-case design approaches are followed systematically by all test engineers, is not always easy • Thus, we have seen the need for “systematic” test-case design, thus the need for this project! (more next)
  • 6. 6 Outline  A review of our industry context  The needs for model-based testing (MBT)  Our approach (Solution): Applying MBT  Assessing the benefits of MBT  Current/next steps  Take-away messages
  • 7. 7 The needs (motivations) for MBT  While test automation tools are effective for automated execution of tests, tools alone are not enough for a successful test automation outcome  If test cases are not designed properly, a test tool will only automatically run bad-quality (read: useless) tests!  We need “systematic” test-case design  Imagine: We can have two testers:  Tester A designs 10 test case which would detect 20 bugs (defects)  Tester B designs 100 test case which would detect 2 bugs (defects)  Which one is a more effective test engineer?  Model-based testing (MBT) is a suitable approach for this need! Question: How many of you think this statement is true?
  • 8. 8 Outline  A review of our industry context  The needs for model-based testing (MBT)  Our approach (Solution): Applying MBT  Assessing the benefits of MBT  Current/next steps  Take-away messages
  • 9. 9 What is Model-based Testing (MBT)?  Model-based testing:  Designing test “models”: GUI flow-diagrams of a given Software Under Test (SUT)  Nodes, or vertices. Edges or transitions  A small example:  Benefits:  Automating both the test-case design and test-case execution  Deriving almost all possible test paths is a very efficient way (would be very effort intensive to do in manual testing, or even when developing automated test scripts manually) Click Note: MBT is popular…
  • 10. 10 Model-based Testing (MBT)  The entire login test model for the SUT: Testinium (testinium.com)…
  • 11. 11 Choosing the “right” MBT tool  There are literally hundreds of MBT tools  Which MBT tool is the “right” choice for a given context?  Type of SUT  Testing needs  Other factors  A non-trivial question  After a systematic comparison of several tools, we selected GraphWalker (graphwalker.github.io)  It’s free and open-source and has a wide user base
  • 12. 12 Time for a quick demo!  Several online videos from our MBT projects are on YouTube: bit.ly/MBTVideosTestinium  The entire test suite with all the code is open-source: github.com/vgarousi/MBTofTestinium
  • 13. 13 An overview of the MBT approach  The test architecture: Web browser Front-end of the web application System Under Test (SUT) Call Return Exercise (call) Return Test outputs Return Anlayzes GraphWalker Test models Designs Test enigneer Run using... Java Selenium methods Implementaion of nodes/edges behavior in Java using the Selenium framework Call Return Back-end of the web application SUT Develops Requirements (Use-case diagram) Uses
  • 14. 14 Development of nodes/edges’ behavior in Java using the Selenium framework public void e_valid_login() { WebElement userNameElement = methodsPage.findElement(By.id("username")); userNameElement.clear(); userNameElement.sendKeys(email); WebElement passwordElement = methodsPage.findElement(By.id("password")); passwordElement.clear(); passwordElement.sendKeys(password); methodsPage.findElement(By.cssSelector( "input[class$="login-page__submit-btn"][value="Sign In"]")).click(); }
  • 15. 15 Report from one MBT project  SUT: Our own test automation tool: Testinium (testinium.com)  Testing a testing tool!  Size measures (metrics) from the MBT project:  # of test models = 18  Total # of nodes=170  Total # of edges=260  Size of the Selenium Java code for nodes/edges’ behavior = 4,699 LOC  Each test run takes about: 6 hours, going through ~28,000 test steps! (nodes and edges, stopping condition=%100 edge coverage)  Reminder: The entire test suite with all the code is open- source: github.com/vgarousi/MBTofTestinium
  • 16. 16 Outline  A review of our industry context  The needs for model-based testing (MBT)  Our approach (Solution): Applying MBT  Assessing the benefits of MBT  Current/next steps  Take-away messages
  • 17. 17 Assessing the benefits of MBT  Tangible benefits of MBT  Improved test-case design practices, due to MBT In the old approach (manual test-case design), many deficiencies were identified, e.g., duplications among different test suites (could lead to test integrity problems, etc.), and many missing test paths and test cases  Detecting real fault during regression testing Several defects were detected, via “Endurance testing” using MBT (soak testing, longevity testing)  Measuring code coverage: Both in client side (JS) and server side (Java)  Intangible benefits of MBT  According to the feedbacks we have received: MBT has made the work of test engineers “more interesting” and more organized  Many in the company have told us that, thanks to MBT models, they can now see the “big picture” much more easily with having the test models in front of them, and the model being directly executable.
  • 18. 18 Current / next work directions  Our MBT project has showed us several important ongoing work directions, e.g.:  Test visualization (showing the number of times each edge and node has been covered)  We are in the process of improving the testing tool to incorporate fault tolerance (when an assertion fails)  Assessing effectiveness of MBT in detection of injected faults (by mutation testing).  Developing a code coverage tool for clients side (JS ) and server side
  • 19. 19 Take-away messages  In retrospective, using MBT, we have observed various benefits, compared to the “before state” of test automation practices (in which test-cases were designed in ad-hoc manner)  MBT has helped us:  By providing clarity and road-map (what to do next) for test engineers  Resulting in higher-quality test scripts in term of modularity with no test- code duplication  Taking test automation to a higher level of maturity Pre-MBT MBT State of test automation in the company:
  • 20. 20 This work is a part of a large international EU project  The TESTOMAT project: The Next Level of Test Automation  www.testomatproject.eu  Among different topics of the project:  Model-based testing  Test prioritization and selection, etc.  Project is funded by the European ITEA3 (Information Technology for European Advancement) program and the government of the six countries involved in the project  “ITEA is a transnational and industry-driven R&D&I programme in the domain of software innovation [in Europe]”  An R&D collaboration among 34 entities (software companies and universities) across Europe
  • 21. 21 END of the talk Questions / Answers Vahid Garousi Queen’s University Belfast, UK Bahar Software Engineering Consulting Corporation v.garousi@qub.ac.uk www.vgarousi.com @vgarousi Alper Buğra Keleş, Yunus Balaman, Zeynep Özdemir Güler Testinium A.Ş., Istanbul, Turkey {alper.keles, yunus.balaman, zeynep.ozdemir}@testinium.com www.testinium.com

Notes de l'éditeur

  1. Alper
  2. Alper
  3. Alper
  4. Vahid
  5. Vahid
  6. Vahdi
  7. Vahid
  8. Vahid
  9. Alper