SlideShare a Scribd company logo
1 of 45
Who am I?
What mutation can do for you
“Attacking” bugs with mutation
Research Associate (postdoc) @
marinos.kintis@uni.lu
https://kintism.github.io
Marinos Kintis
• Mutation Testing
• E2E testing
• Test case prioritisation
Prof. Yves Le Traon
Head of Serval
Dr. Mike
Papadakis
Renaud
Rwemalika
Mutation
Testing
Available Tests
1
Test quality
0% 100%
2
3
4
3
Mutation
Testing
Available Tests
1
Test quality
0% 100%
2
3
4
3
Mutation
Testing
Available Tests
1
Test quality
0% 100%
2
3
4
3
The Major tool
http://mutation-testing.org/
Mutation
Testing
Available Tests
1
Test quality
0% 100%
2
3
4
3
The Major tool
http://mutation-testing.org/
More tools can be found here: https://mutationtesting.uni.lu/tools.php
Mutation
Testing
Available Tests
1
Test quality
0% 100%
2
3
4
3
A comparison of the effectiveness of Java mutation tools can be found here:
http://pages.cs.aueb.gr/~kintism/papers/preprint1.pdf
The Major tool
http://mutation-testing.org/
More tools can be found here: https://mutationtesting.uni.lu/tools.php
Mutation
Testing
Available Tests
1
Test quality
0% 100%
2
3
4
3
MUTATION
OPERATORS AND
THEIR
IMPLEMENTATION
BE CAREFUL
Preprint: http://pages.cs.aueb.gr/~kintism/papers/preprint1.pdf
Mutation
Testing
Available Tests
1
Test quality
0% 100%
2
3
4
3
Mutation
Testing
Available Tests
1
Test quality
0% 100%
2
3
4
3
the tests
Mutation
Testing
Available Tests
1
Test quality
0% 100%
2
3
4
3
0%
100%
HOW GOOD ARE
MY TESTS?
Tests
Tests
Tests
Tests
Tests
Tests
Tests
Tests
Tests
Tests
Tests
HOW CAN I
GENERATE GOOD
TESTS?
HOW CAN I
GENERATE GOOD
TESTS?
Many
diverse
Test case
generation
Test suite reduction/selection
Testing
techniques
comparison
Test case
minimisation
Test case prioritisation
Fault
localisation
Automated
Program repair
Genetic improvement
Testing Compiler
Optimisations Test oracle creation
Models
Testing Network
protocols
Testing Security
Policies
Mutation
Cost
Reduction
GUI Testing
Applied to
almost all
testing
levels
Superior
than other
testing
criteria
Superior
than other
testing
criteria
If the software contains a fault, there will
usually be a set of mutants that can only be
killed by a test case that also detects that fault
Geist et al., “Estimation and enhancement of real-time software reliability through mutation
analysis”, IEEE Trans. on Computers, 1992
Superior
than other
testing
criteria
Mutation makes us think about other
implementations of the SUT that seem correct
based on the available tests
Who am I?
What mutation can do for you
“Attacking” bugs with mutation
VERSUS
VERSUS
Is there a bug
in your code?
VERSUS
VERSUS
Unlikely! I
have very high
branch
coverage!
Is there a bug
in your code?
Look
again!!!
Look
again!!!
Branch coverage
CANNOT provide
any help in finding
the bug
minutesOffset <= 0
minutesOffset <= 0
This mutant can
only be detected by
tests that also find
the bug
minutesOffset <= 0
This mutant can
only be killed by
tests that also find
the bug
Yep! My
mutants helped
me find it!!!
Is there a bug
in your code?
What are the benefits of applying mutation after achieving 100%
branch coverage?
Mutation is NOT costly after the satisfaction of the BC coverage
2 bugs found that were missed by the BC tests
Improvements in the source code and test code
during the analysis of mutants
https://mutationtesting.uni.lu
Test case
generation
Test suite reduction/ selection
Testing
techniques
comparison
Test case minimisation
Test case prioritisation
Fault localisation
Automated
Program repair
Genetic improvement
Testing Compiler
Optimisations Test oracle creation
Models
Testing Network
protocols
Testing Security
Policies
Mutation Cost
Reduction
GUI Testing
Mutation
Testing
Available Tests
1
Test quality
0% 100%
2
3
4
3
minutesOffset <= 0
This mutant can
only be killed by
tests that also find
the bug
Yep! My
mutants helped
me find it!!!
Is there a bug
in your code?
What are the benefits of applying mutation after achieving 100%
branch coverage?
Mutation is NOT costly after the satisfaction of the BC coverage
2 bugs found that were missed by the BC tests
I mprovements in the source code and test code
during the analysis of mutants
Test case
generation
Test suite reduction/ selection
Testing
techniques
comparison
Test case minimisation
Test case prioritisation
Fault localisation
Automated
Program repair
Genetic improvement
Testing Compiler
Optimisations Test oracle creation
Models
Testing Network
protocols
Testing Security
Policies
Mutation Cost
Reduction
GUI Testing
Mutation
Testing
Available Tests
1
Test quality
0% 100%
2
3
4
3
minutesOffset <= 0
This mutant can
only be killed by
tests that also find
the bug
Yep! My
mutants helped
me find it!!!
Is there a bug
in your code?
What are the benefits of applying mutation after achieving 100%
branch coverage?
Mutation is NOT costly after the satisfaction of the BC coverage
2 bugs found that were missed by the BC tests
I mprovements in the source code and test code
during the analysis of mutants
Thank you!
marinos.kintis@uni.lu
https://kintism.github.io

More Related Content

Similar to Mutation Testing: The Swiss army knife of Testing

1 testing fundamentals
1 testing fundamentals1 testing fundamentals
1 testing fundamentalsAsmaa Matar
 
Making the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingMaking the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingCameron Presley
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingBugRaptors
 
A beginners guide to testing
A beginners guide to testingA beginners guide to testing
A beginners guide to testingPhilip Johnson
 
testing.pdf
testing.pdftesting.pdf
testing.pdfkumari36
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingPerfecto by Perforce
 
Bio Summit
Bio SummitBio Summit
Bio Summitmcalmann
 
A mutation testing analysis and regression
A mutation testing analysis and regressionA mutation testing analysis and regression
A mutation testing analysis and regressionijfcstjournal
 
Myths and reality about software testing
Myths and reality about software testingMyths and reality about software testing
Myths and reality about software testingAlisha Henderson
 
Sustainable Refactoring: Techniques for Detecting and Preventing Code Clones ...
Sustainable Refactoring: Techniques for Detecting and Preventing Code Clones ...Sustainable Refactoring: Techniques for Detecting and Preventing Code Clones ...
Sustainable Refactoring: Techniques for Detecting and Preventing Code Clones ...Amr Noaman
 
Mutation Testing and MuJava
Mutation Testing and MuJavaMutation Testing and MuJava
Mutation Testing and MuJavaKrunal Parmar
 
4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - TestingForrester High School
 
A MUTATION TESTING ANALYSIS AND REGRESSION TESTING
A MUTATION TESTING ANALYSIS AND REGRESSION TESTINGA MUTATION TESTING ANALYSIS AND REGRESSION TESTING
A MUTATION TESTING ANALYSIS AND REGRESSION TESTINGijfcstjournal
 
Automation testing interview pdf org
Automation testing interview pdf orgAutomation testing interview pdf org
Automation testing interview pdf orgTestbytes
 

Similar to Mutation Testing: The Swiss army knife of Testing (20)

1 testing fundamentals
1 testing fundamentals1 testing fundamentals
1 testing fundamentals
 
2014 abic-talk
2014 abic-talk2014 abic-talk
2014 abic-talk
 
Mutation testing
Mutation testingMutation testing
Mutation testing
 
Making the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingMaking the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To Testing
 
Software testing
Software testingSoftware testing
Software testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
A beginners guide to testing
A beginners guide to testingA beginners guide to testing
A beginners guide to testing
 
testing.pdf
testing.pdftesting.pdf
testing.pdf
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous Testing
 
Basics in software testing
Basics in software testingBasics in software testing
Basics in software testing
 
Bio Summit
Bio SummitBio Summit
Bio Summit
 
A mutation testing analysis and regression
A mutation testing analysis and regressionA mutation testing analysis and regression
A mutation testing analysis and regression
 
SAIConference_PAPER
SAIConference_PAPERSAIConference_PAPER
SAIConference_PAPER
 
Myths and reality about software testing
Myths and reality about software testingMyths and reality about software testing
Myths and reality about software testing
 
Sustainable Refactoring: Techniques for Detecting and Preventing Code Clones ...
Sustainable Refactoring: Techniques for Detecting and Preventing Code Clones ...Sustainable Refactoring: Techniques for Detecting and Preventing Code Clones ...
Sustainable Refactoring: Techniques for Detecting and Preventing Code Clones ...
 
Software Testing
 Software Testing  Software Testing
Software Testing
 
Mutation Testing and MuJava
Mutation Testing and MuJavaMutation Testing and MuJava
Mutation Testing and MuJava
 
4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - Testing
 
A MUTATION TESTING ANALYSIS AND REGRESSION TESTING
A MUTATION TESTING ANALYSIS AND REGRESSION TESTINGA MUTATION TESTING ANALYSIS AND REGRESSION TESTING
A MUTATION TESTING ANALYSIS AND REGRESSION TESTING
 
Automation testing interview pdf org
Automation testing interview pdf orgAutomation testing interview pdf org
Automation testing interview pdf org
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 

Mutation Testing: The Swiss army knife of Testing