SlideShare a Scribd company logo
1 of 28
#UCAAT
Model-based Testing (MBT) of web and mobile
applications: A practical tutorial
Vahid Garousi, Alper Buğra Keleş, Yunus Balaman, Zeynep Özdemir Güler
Oct. 19, 2021
#UCAAT
• What is Model-based testing (MBT)?
• Using MBT in our projects
• MBT testing of our own large web application (Testinium)
• MBT of the web application of one of our clients (BTCTurk)
• MBT of two of UK’s COVID contract-tracing mobile apps
• Benefits of MBT, and when it is a good idea to use
MBT
• Pointers to more resources on MBT
Outline of this tutorial (duration: 1 hour)
2
V
#UCAAT
• Model-based testing is
the application of model-
based design for
systematic and
automated test-case
design and, optionally,
also for automated
execution of test cases.
• An example:
What is Model-based testing (MBT)?
3
Valid login
• Nodes, or vertices: “States”
(pages) of the system to verify
• Edges or transitions: Events
such as valid login, click
V
#UCAAT
• Of course, to apply any test technique, we need “good” tools…
• There are 100’s of MBT tools (you can see many of them via
Google search)
• Our choice: an open-source popular tool, named GraphWalker
(graphwalker.github.io). Reasons: in one of our articles (mentioned at the end)
To apply MBT, we need (good) tools!
4
V
#UCAAT
• What is Model-based testing (MBT)?
• Using MBT in our projects
• Testing our own large web application (Testinium)
• Testing the web application of one of our clients (BTCTurk)
• Testing two of UK’s COVID mobile apps
• Benefits of MBT, and when it is a good idea to use
MBT
• Pointer to more resources on MBT
Outline of this tutorial (duration: 1 hour)
5
V
#UCAAT
• System Under Test (SUT): A test automation
management tool: Testinium (testinium.com)
Testing our own large web application (Testinium)
6
V
#UCAAT
The entire “login” test model for Testinium
7
V
#UCAAT
MBT: Development of nodes/edges’ behavior in Java
using the Selenium framework
8
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();
}
V
#UCAAT
Time for a live DEMO: MBT of Testinium
(2-3 minutes). Full execution of MBT suite would take more than 6 hours!
9
A
A video is also available online:
www.youtube.com/watch?v=RizUbMhBTho
#UCAAT
• Many online videos from our MBT projects are available on YouTube:
bit.ly/MBTVideosTestinium
• In a nutshell, in MBT, we developed a sophisticated “test” software, via
modeling, to test the given sophisticated Software Under Test (SUT)
• The entire MBT test-suite with all their “glue” code (Selenium) is open-source:
github.com/vgarousi/MBTofTestinium
MBT of Testinium
10
V
#UCAAT
• Size measures (metrics) from the MBT project:
• # of test models = 18 (login model is only one of them)
• 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)
MBT of Testinium
11
18 test models (two of them below)
…
V
#UCAAT
• Testing more with less effort!
• Covering more test paths with only designing the test models, which are
intuitive and easy to design
• We only design: 170 nodes, and 260 edges, but MBT executed more
than 28,000 test steps!
• Increased power (test effectiveness) in detection of real faults
• In the SUT (Testinium), MBT has detected so far 11 defects
• Many more benefits (we will discuss them at the end)
12
…
MBT of Testinium: Observations and benefits
V
#UCAAT
• What is Model-based testing (MBT)?
• Using MBT in our projects
• Testing our own large web application (Testinium)
• Testing the web application of one of our clients (BTCTurk)
• Testing two of UK’s COVID mobile apps
• Benefits of MBT, and when it is a good idea to use
MBT
• Pointer to more resources on MBT
Outline of this tutorial (duration: 1 hour)
13
V
#UCAAT
• BtcTurk: Founded in 2013, it
is Turkey's first and the
world’s fourth Bitcoin and
cryptocurrency exchange
platform.
MBT of the web application of one of our clients (BTCTurk)
14
A
#UCAAT
• Our strategy: we designed
two MBT test suites:
• An end-to-end test suite (like
a smoke test): only the major
paths through the app
• A complete regression test
suite: exercising all the pages
and all paths (five main
screen, many tabs, and
“many” possible paths)
MBT of BtcTurk mobile app
15
A
#UCAAT
• End-to-end test suite (like a smoke test; mainly “Happy” paths):
MBT of BtcTurk mobile app
16
Login
All currency
pairs
A pair’s
details page
My wallet
Buy
Sell
Buy Successful
Sell Successful
View latest
transactions
Buy/sell page
My wallet
My
transactions
Limit tab
Pair Command
Buy Command
Successful
Cancel
Command
My wallet
Sell Command
Successful
Start
#UCAAT
• The complete test suite: exercising all the pages
and paths):
• 8 test models
• 303 nodes
• 567 edges (transitions)
MBT of BtcTurk mobile app
V
#UCAAT
Demo video: MBT of BtcTurk mobile app
(2-3 minutes)
www.youtube.com/watch?v=dOgHQDnxnKw
V
#UCAAT
• What is Model-based testing (MBT)?
• Using MBT in our projects
• MBT testing of our own large web application (Testinium)
• MBT of the web application of one of our clients (BTCTurk)
• MBT of two of UK’s COVID mobile apps
• Benefits of MBT, and when it is a good idea to use
MBT
• Pointer to more resources on MBT
Outline of this tutorial (duration: 1 hour)
19
V
#UCAAT
• Vahid was hired as a consultant to assess the quality of
these apps:
• StopCOVID NI app
• Protect Scotland app
• NHS Covid-19 app
MBT of UK’s COVID contact-tracing mobile apps
20
V
#UCAAT
MBT of two of UK’s COVID mobile apps
21
• We developed MBT
test suites for two of
these apps
• NHS Covid-19 app
• Protect Scotland
• UI flow diagram of
the Protect Scotland
app: V
#UCAAT
MBT of NHS COVID mobile app
22
• 12 test models
• 144 nodes
• 497 edges (transitions)
• Joint work with:
Mark Lee
• Video demo:
(2-3 minutes)
All test models and code at:
github.com/vgarousi/MBTofCOVIDapps
youtube.com/watch?v=fqBqYCP4vyA
V
#UCAAT
• What is Model-based testing (MBT)?
• Using MBT in our projects
• Testing our own large web application (Testinium)
• Testing the web application of one of our clients (BTCTurk)
• Testing one of UK’s COVID mobile applications
• Benefits of MBT, and when it is a good idea to use
MBT
• Pointer to more resources on MBT
Outline of this tutorial (duration: 1 hour)
23
V
#UCAAT
• Covering more test paths (higher “path” coverage) with
less effort  Saving time and money
• Thus, leading to increased test effectiveness in
detection of faults
• Intangible but important benefits
• Making the work of test engineers more “interesting” and
more organized (according to feedback from our team
members)
• Ability to see the “big picture” of test-case design, and the
models being directly executable
• And many more…
Benefits of MBT
24
V (and voice by A)
#UCAAT
• MBT is a proven approach for testing mobile and web
applications
• It is almost always a good idea to use MBT, specially
when the SUT is complex and has many pages and UI
flows
When it is a good idea to use MBT
25
V
#UCAAT
• What is Model-based testing (MBT)?
• Using MBT in our projects
• Testing our own large web application (Testinium)
• Testing the web application of one of our clients (BTCTurk)
• Testing one of UK’s COVID mobile applications
• Benefits of MBT, and when it is a good idea to use
MBT
• Pointers to more resources on MBT
Outline of this tutorial (duration: 1 hour)
26
V
#UCAAT
• A nice book:
• Our articles:
• A detailed 22-page article
• doi.org/10.1016/j.jss.2021.111032
• And many good other online materials
Pointers to more resources on MBT
27
V
#UCAAT
Questions?
Contact us:
v.garousi@qub.ac.uk
alper.keles@testinium.com
yunus.balaman@testinium.com
zeynep.ozdemir@testinium.com
28

More Related Content

What's hot

30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienceddilipambhore
 
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 subbupalla subrahmanyam
 
Software Testing Interview Questions
Software Testing Interview QuestionsSoftware Testing Interview Questions
Software Testing Interview QuestionsTestbytes
 
Synthesizing Continuous Deployment Practices in Software Development
Synthesizing Continuous Deployment Practices in Software DevelopmentSynthesizing Continuous Deployment Practices in Software Development
Synthesizing Continuous Deployment Practices in Software DevelopmentAkond Rahman
 
Smart : Comprehensive and unified framework for test automation of web and mo...
Smart : Comprehensive and unified framework for test automation of web and mo...Smart : Comprehensive and unified framework for test automation of web and mo...
Smart : Comprehensive and unified framework for test automation of web and mo...Anmol Bagga
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECHPravinsinh
 
Agile Tour Strasbourg 2009
Agile Tour Strasbourg 2009Agile Tour Strasbourg 2009
Agile Tour Strasbourg 2009Frederic Oehl
 
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 ReportVahid Garousi
 
Top 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | EdurekaTop 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | EdurekaEdureka!
 
Test driven development
Test driven developmentTest driven development
Test driven developmentnamkha87
 
How Crowd Testing Works
How Crowd Testing WorksHow Crowd Testing Works
How Crowd Testing Works99tests
 
Acceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDAcceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDLaurent PY
 
Automating Common Criteria
Automating Common Criteria Automating Common Criteria
Automating Common Criteria Javier Tallón
 
Qa mockup interview for automation testing
Qa mockup interview for automation testingQa mockup interview for automation testing
Qa mockup interview for automation testingKadharBashaJ
 
3104328 software-testing-interview-questions
3104328 software-testing-interview-questions3104328 software-testing-interview-questions
3104328 software-testing-interview-questionsRaghavendra Kudal
 
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...TechTalks
 
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 Testingdevinta sari
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaEdureka!
 
Best practices for test case creation & maintenance
Best practices for test case creation & maintenanceBest practices for test case creation & maintenance
Best practices for test case creation & maintenance99tests
 
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 automationRakesh Hansalia
 

What's hot (20)

30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienced
 
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
 
Software Testing Interview Questions
Software Testing Interview QuestionsSoftware Testing Interview Questions
Software Testing Interview Questions
 
Synthesizing Continuous Deployment Practices in Software Development
Synthesizing Continuous Deployment Practices in Software DevelopmentSynthesizing Continuous Deployment Practices in Software Development
Synthesizing Continuous Deployment Practices in Software Development
 
Smart : Comprehensive and unified framework for test automation of web and mo...
Smart : Comprehensive and unified framework for test automation of web and mo...Smart : Comprehensive and unified framework for test automation of web and mo...
Smart : Comprehensive and unified framework for test automation of web and mo...
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECH
 
Agile Tour Strasbourg 2009
Agile Tour Strasbourg 2009Agile Tour Strasbourg 2009
Agile Tour Strasbourg 2009
 
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
 
Top 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | EdurekaTop 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | Edureka
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
How Crowd Testing Works
How Crowd Testing WorksHow Crowd Testing Works
How Crowd Testing Works
 
Acceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDAcceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDD
 
Automating Common Criteria
Automating Common Criteria Automating Common Criteria
Automating Common Criteria
 
Qa mockup interview for automation testing
Qa mockup interview for automation testingQa mockup interview for automation testing
Qa mockup interview for automation testing
 
3104328 software-testing-interview-questions
3104328 software-testing-interview-questions3104328 software-testing-interview-questions
3104328 software-testing-interview-questions
 
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...
 
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
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | Edureka
 
Best practices for test case creation & maintenance
Best practices for test case creation & maintenanceBest practices for test case creation & maintenance
Best practices for test case creation & maintenance
 
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
 

Similar to Model-based Testing of Web and Mobile Apps: A Practical Tutorial

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.pptxNandhakumar77727
 
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 & AnswersMeghna Arora
 
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...Imaginet
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test AutomationKlaus Salchner
 
Bart Knaack - The Truth About Model-Based Quality Improvements
Bart Knaack - The Truth About Model-Based Quality ImprovementsBart Knaack - The Truth About Model-Based Quality Improvements
Bart Knaack - The Truth About Model-Based Quality ImprovementsTEST Huddle
 
Lighting talk CiviCon London 2013
Lighting talk CiviCon London 2013Lighting talk CiviCon London 2013
Lighting talk CiviCon London 2013erawat
 
Testing your applications with mbunit
Testing your applications with mbunitTesting your applications with mbunit
Testing your applications with mbunitBen Hall
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New NormalTechWell
 
Automock: Interaction-Based Mock Code Generation
Automock: Interaction-Based Mock Code GenerationAutomock: Interaction-Based Mock Code Generation
Automock: Interaction-Based Mock Code GenerationSabrina Souto
 
GitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdfGitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdfWeaveworks
 
qTest <> TestProject Integration Webinar
qTest <> TestProject Integration WebinarqTest <> TestProject Integration Webinar
qTest <> TestProject Integration WebinarKevin Dunne
 
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Riccardo Coppola
 
Model Based Software Testing
Model Based Software TestingModel Based Software Testing
Model Based Software TestingEsin Karaman
 
Automatic Test Case Generation
Automatic Test Case GenerationAutomatic Test Case Generation
Automatic Test Case GenerationAdnan Causevic
 
Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019Alan Pearson Mathews
 
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...Lucas Sacramento
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Shelley Lambert
 
Westrich spock-assets-gum
Westrich spock-assets-gumWestrich spock-assets-gum
Westrich spock-assets-gumBrian Westrich
 

Similar to Model-based Testing of Web and Mobile Apps: A Practical Tutorial (20)

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
 
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
 
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test Automation
 
Bart Knaack - The Truth About Model-Based Quality Improvements
Bart Knaack - The Truth About Model-Based Quality ImprovementsBart Knaack - The Truth About Model-Based Quality Improvements
Bart Knaack - The Truth About Model-Based Quality Improvements
 
Click2Cloud UAT Tool
Click2Cloud UAT ToolClick2Cloud UAT Tool
Click2Cloud UAT Tool
 
Lighting talk CiviCon London 2013
Lighting talk CiviCon London 2013Lighting talk CiviCon London 2013
Lighting talk CiviCon London 2013
 
Testing your applications with mbunit
Testing your applications with mbunitTesting your applications with mbunit
Testing your applications with mbunit
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
 
Automock: Interaction-Based Mock Code Generation
Automock: Interaction-Based Mock Code GenerationAutomock: Interaction-Based Mock Code Generation
Automock: Interaction-Based Mock Code Generation
 
GitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdfGitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdf
 
qTest <> TestProject Integration Webinar
qTest <> TestProject Integration WebinarqTest <> TestProject Integration Webinar
qTest <> TestProject Integration Webinar
 
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
 
Madhav_Resume
Madhav_ResumeMadhav_Resume
Madhav_Resume
 
Model Based Software Testing
Model Based Software TestingModel Based Software Testing
Model Based Software Testing
 
Automatic Test Case Generation
Automatic Test Case GenerationAutomatic Test Case Generation
Automatic Test Case Generation
 
Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019
 
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014
 
Westrich spock-assets-gum
Westrich spock-assets-gumWestrich spock-assets-gum
Westrich spock-assets-gum
 

More from Vahid Garousi

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...Vahid Garousi
 
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 EngineersVahid Garousi
 
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 ResearchVahid Garousi
 
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...Vahid Garousi
 
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 EngineeringVahid Garousi
 
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 ProjectsVahid Garousi
 
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 engineeringVahid Garousi
 
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...Vahid Garousi
 
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 AndroidVahid Garousi
 
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...Vahid Garousi
 
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...Vahid Garousi
 
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 projectsVahid Garousi
 
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 ...Vahid Garousi
 
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...Vahid Garousi
 
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...Vahid Garousi
 
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 ...Vahid Garousi
 
Software engineering of scientific software
Software engineering of scientific softwareSoftware engineering of scientific software
Software engineering of scientific softwareVahid Garousi
 
Vahid Garousi-SE meets robotics
Vahid Garousi-SE meets roboticsVahid Garousi-SE meets robotics
Vahid Garousi-SE meets roboticsVahid Garousi
 
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...Vahid Garousi
 
Ü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...Vahid Garousi
 

More from 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...
 
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
 
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...
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Model-based Testing of Web and Mobile Apps: A Practical Tutorial

  • 1. #UCAAT Model-based Testing (MBT) of web and mobile applications: A practical tutorial Vahid Garousi, Alper Buğra Keleş, Yunus Balaman, Zeynep Özdemir Güler Oct. 19, 2021
  • 2. #UCAAT • What is Model-based testing (MBT)? • Using MBT in our projects • MBT testing of our own large web application (Testinium) • MBT of the web application of one of our clients (BTCTurk) • MBT of two of UK’s COVID contract-tracing mobile apps • Benefits of MBT, and when it is a good idea to use MBT • Pointers to more resources on MBT Outline of this tutorial (duration: 1 hour) 2 V
  • 3. #UCAAT • Model-based testing is the application of model- based design for systematic and automated test-case design and, optionally, also for automated execution of test cases. • An example: What is Model-based testing (MBT)? 3 Valid login • Nodes, or vertices: “States” (pages) of the system to verify • Edges or transitions: Events such as valid login, click V
  • 4. #UCAAT • Of course, to apply any test technique, we need “good” tools… • There are 100’s of MBT tools (you can see many of them via Google search) • Our choice: an open-source popular tool, named GraphWalker (graphwalker.github.io). Reasons: in one of our articles (mentioned at the end) To apply MBT, we need (good) tools! 4 V
  • 5. #UCAAT • What is Model-based testing (MBT)? • Using MBT in our projects • Testing our own large web application (Testinium) • Testing the web application of one of our clients (BTCTurk) • Testing two of UK’s COVID mobile apps • Benefits of MBT, and when it is a good idea to use MBT • Pointer to more resources on MBT Outline of this tutorial (duration: 1 hour) 5 V
  • 6. #UCAAT • System Under Test (SUT): A test automation management tool: Testinium (testinium.com) Testing our own large web application (Testinium) 6 V
  • 7. #UCAAT The entire “login” test model for Testinium 7 V
  • 8. #UCAAT MBT: Development of nodes/edges’ behavior in Java using the Selenium framework 8 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(); } V
  • 9. #UCAAT Time for a live DEMO: MBT of Testinium (2-3 minutes). Full execution of MBT suite would take more than 6 hours! 9 A A video is also available online: www.youtube.com/watch?v=RizUbMhBTho
  • 10. #UCAAT • Many online videos from our MBT projects are available on YouTube: bit.ly/MBTVideosTestinium • In a nutshell, in MBT, we developed a sophisticated “test” software, via modeling, to test the given sophisticated Software Under Test (SUT) • The entire MBT test-suite with all their “glue” code (Selenium) is open-source: github.com/vgarousi/MBTofTestinium MBT of Testinium 10 V
  • 11. #UCAAT • Size measures (metrics) from the MBT project: • # of test models = 18 (login model is only one of them) • 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) MBT of Testinium 11 18 test models (two of them below) … V
  • 12. #UCAAT • Testing more with less effort! • Covering more test paths with only designing the test models, which are intuitive and easy to design • We only design: 170 nodes, and 260 edges, but MBT executed more than 28,000 test steps! • Increased power (test effectiveness) in detection of real faults • In the SUT (Testinium), MBT has detected so far 11 defects • Many more benefits (we will discuss them at the end) 12 … MBT of Testinium: Observations and benefits V
  • 13. #UCAAT • What is Model-based testing (MBT)? • Using MBT in our projects • Testing our own large web application (Testinium) • Testing the web application of one of our clients (BTCTurk) • Testing two of UK’s COVID mobile apps • Benefits of MBT, and when it is a good idea to use MBT • Pointer to more resources on MBT Outline of this tutorial (duration: 1 hour) 13 V
  • 14. #UCAAT • BtcTurk: Founded in 2013, it is Turkey's first and the world’s fourth Bitcoin and cryptocurrency exchange platform. MBT of the web application of one of our clients (BTCTurk) 14 A
  • 15. #UCAAT • Our strategy: we designed two MBT test suites: • An end-to-end test suite (like a smoke test): only the major paths through the app • A complete regression test suite: exercising all the pages and all paths (five main screen, many tabs, and “many” possible paths) MBT of BtcTurk mobile app 15 A
  • 16. #UCAAT • End-to-end test suite (like a smoke test; mainly “Happy” paths): MBT of BtcTurk mobile app 16 Login All currency pairs A pair’s details page My wallet Buy Sell Buy Successful Sell Successful View latest transactions Buy/sell page My wallet My transactions Limit tab Pair Command Buy Command Successful Cancel Command My wallet Sell Command Successful Start
  • 17. #UCAAT • The complete test suite: exercising all the pages and paths): • 8 test models • 303 nodes • 567 edges (transitions) MBT of BtcTurk mobile app V
  • 18. #UCAAT Demo video: MBT of BtcTurk mobile app (2-3 minutes) www.youtube.com/watch?v=dOgHQDnxnKw V
  • 19. #UCAAT • What is Model-based testing (MBT)? • Using MBT in our projects • MBT testing of our own large web application (Testinium) • MBT of the web application of one of our clients (BTCTurk) • MBT of two of UK’s COVID mobile apps • Benefits of MBT, and when it is a good idea to use MBT • Pointer to more resources on MBT Outline of this tutorial (duration: 1 hour) 19 V
  • 20. #UCAAT • Vahid was hired as a consultant to assess the quality of these apps: • StopCOVID NI app • Protect Scotland app • NHS Covid-19 app MBT of UK’s COVID contact-tracing mobile apps 20 V
  • 21. #UCAAT MBT of two of UK’s COVID mobile apps 21 • We developed MBT test suites for two of these apps • NHS Covid-19 app • Protect Scotland • UI flow diagram of the Protect Scotland app: V
  • 22. #UCAAT MBT of NHS COVID mobile app 22 • 12 test models • 144 nodes • 497 edges (transitions) • Joint work with: Mark Lee • Video demo: (2-3 minutes) All test models and code at: github.com/vgarousi/MBTofCOVIDapps youtube.com/watch?v=fqBqYCP4vyA V
  • 23. #UCAAT • What is Model-based testing (MBT)? • Using MBT in our projects • Testing our own large web application (Testinium) • Testing the web application of one of our clients (BTCTurk) • Testing one of UK’s COVID mobile applications • Benefits of MBT, and when it is a good idea to use MBT • Pointer to more resources on MBT Outline of this tutorial (duration: 1 hour) 23 V
  • 24. #UCAAT • Covering more test paths (higher “path” coverage) with less effort  Saving time and money • Thus, leading to increased test effectiveness in detection of faults • Intangible but important benefits • Making the work of test engineers more “interesting” and more organized (according to feedback from our team members) • Ability to see the “big picture” of test-case design, and the models being directly executable • And many more… Benefits of MBT 24 V (and voice by A)
  • 25. #UCAAT • MBT is a proven approach for testing mobile and web applications • It is almost always a good idea to use MBT, specially when the SUT is complex and has many pages and UI flows When it is a good idea to use MBT 25 V
  • 26. #UCAAT • What is Model-based testing (MBT)? • Using MBT in our projects • Testing our own large web application (Testinium) • Testing the web application of one of our clients (BTCTurk) • Testing one of UK’s COVID mobile applications • Benefits of MBT, and when it is a good idea to use MBT • Pointers to more resources on MBT Outline of this tutorial (duration: 1 hour) 26 V
  • 27. #UCAAT • A nice book: • Our articles: • A detailed 22-page article • doi.org/10.1016/j.jss.2021.111032 • And many good other online materials Pointers to more resources on MBT 27 V