SlideShare a Scribd company logo
Development testing
Yury Kisliak @ EIS Group
- What is testing
- Kinds of testing
- Kinds of coverage
- Asserts
What is testing?
What is testing?
What is testing?
What is testing?
What is testing?
What is testing?
What is testing?
Good testing consist of selecting a good set of test inputs and designing a good acceptability checks.
What is going on when we test?
What is going on when we test?
-A lot!
What is going on when we test?
What is going on when we test?
What is going on when we test?
What is going on when we test?
Why testing?
- Testing shows presence of defects (but cannot prove that
there are no defects).
- Appropriate testing reduces the probability for defects.
- What is testing
- Kinds of testing
- Kinds of coverage
- Asserts
Types of testing
https://en.wikipedia.org/wiki/Software
_testing#Testing_types
Types of testing
https://en.wikipedia.org/wiki/Software
_testing#Testing_types
Testing Levels
Testing Levels
Testing Levels
Testing Methods
Testing Methods
Static
- Reviews, walkthroughs,
inspections.
- Static program analysis.
Testing Methods
Static
- Reviews, walkthroughs,
inspections.
- Static program analysis.
Dynamic
- Executing programmed code with a
given set of test cases
Testing Methods
Static
- Reviews, walkthroughs,
inspections.
- Static program analysis.
Dynamic
- Executing programmed code with a
given set of test cases
Black box
- Examining functionality without any
knowledge of internal
implementation.
White box
- Internal perspective of the system,
as well as programming skills, are
used to design test cases.
Testing Methods
Static
- Reviews, walkthroughs,
inspections.
- Static program analysis.
Dynamic
- Executing programmed code with a
given set of test cases
Black box
- Examining functionality without any
knowledge of internal
implementation.
White box
- Internal perspective of the system,
as well as programming skills, are
used to design test cases.
- What is testing
- Kinds of testing
- Kinds of coverage
- Asserts
Coverage? What coverage?
Coverage? What coverage?
Coverage? What coverage?
Coverage? What coverage?
Coverage? What coverage?
Equivalence partitioning
Equivalence partitioning
Equivalence partitioning
Equivalence partitioning
Test Coverage
Test Coverage
Test Coverage
Test Coverage
Test Coverage - is proportion of a program, exercised during testing.
+ gives objective score
+ when coverage is <100%, we are given a meaningful task
- not god in finding “errors of omission”
- difficult to interpret scores <100%
- 100% coverage does mean that all bugs are found
Coverage metrics
Coverage metrics
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
Coverage metrics
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Coverage metrics
Statement (line) coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Coverage metrics
Statement (line) coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
100%
Coverage metrics
Statement (line) coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
100%
Coverage metrics
Statement (line) coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
100% 50%
Coverage metrics
Branch coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Coverage metrics
Branch coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
50%
Coverage metrics
Branch coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
50% 50%
Coverage metrics
Branch coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
50% 50%+ = 100%
Coverage metrics
✓ Line coverage
✓ Branch coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Loop coverage:
Execute each loop zero, one and
more than one times.
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
a, !b, c => true
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
a, !b, c => true
!a, !b, c => false
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
a, !b, c => true
!a, !b, c => false
!a, b, c => true
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
a, !b, c => true
!a, !b, c => false
!a, b, c => true
!a, b, !c => false
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
a, !b, c => true
!a, !b, c => false
!a, b, c => true
!a, b, !c => false
MC/DC is used in avionics software to ensure adequate testing of the most critical (flight and landing related) parts.
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Path coverage:
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Path coverage:
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Path coverage:
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Path coverage:
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
✓ Path coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
What else:
Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
✓ Path coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
What else:
- boundary value coverage
- synchronization coverage
- … other 94 and more coverages
How to use coverage
How to use coverage
How much testing is enough?
Tools
Tools
- What is testing
- Kinds of testing
- Kinds of coverage
- Asserts
Assertions
Assertions
- makes code self-checking, leading to
more effective testing
- make code fail early
- document assumptions, preconditions,
postconditions and invariants.
- are not for error handling
- must not have side effects
Assertions
- makes code self-checking, leading to
more effective testing
- make code fail early
- document assumptions, preconditions,
postconditions and invariants.
- are not for error handling
- must not have side effects
Use error handling code for conditions you expect to occur.
Use assertions for conditions that should never occur.
Assertions
- makes code self-checking, leading to
more effective testing
- make code fail early
- document assumptions, preconditions,
postconditions and invariants.
- are not for error handling
- must not have side effects
Use error handling code for conditions you expect to occur.
Use assertions for conditions that should never occur.
The end.
Testing by itself does not improve software quality. Test results are an indicator of
quality, but in and of themselves they don’t improve it. Trying to improve software quality
by increasing the amount of testing is like trying to lose weight by weighing yourself
more often. What you eat before you step on to the scale determines how much you will
weigh, and the software-develompent techniques you use determine how many errors testing
will find. If you want to lose weight, don’t buy a new scale; change your diet. If you want to
improve your software, don’t just test more; develop better.
-Steve McConnell

More Related Content

Viewers also liked

Power point barrio san lazaro
Power point barrio san lazaroPower point barrio san lazaro
Power point barrio san lazaro
Jaime Roviralta
 
Posta Power - Testimonianze Clienti Bologna
Posta Power - Testimonianze Clienti BolognaPosta Power - Testimonianze Clienti Bologna
Posta Power - Testimonianze Clienti Bologna
PostaPowerIT
 
презентація заграй
презентація заграйпрезентація заграй
презентація заграй
bymbarishka
 
Eric Luan's Resume
Eric Luan's ResumeEric Luan's Resume
Eric Luan's ResumeLuan Eric
 
Priramida diatrofis
Priramida diatrofisPriramida diatrofis
Priramida diatrofisgvlachos
 
Delicious.net
Delicious.netDelicious.net
Delicious.net
luis barbosa
 
ενας αιγινητης ζωγραφος
ενας αιγινητης ζωγραφοςενας αιγινητης ζωγραφος
ενας αιγινητης ζωγραφος
1odimsxoleio
 
βυζαντινό και χριστιανικό μουσειο αθηνων (4)
βυζαντινό και χριστιανικό μουσειο αθηνων (4)βυζαντινό και χριστιανικό μουσειο αθηνων (4)
βυζαντινό και χριστιανικό μουσειο αθηνων (4)
1odimsxoleio
 

Viewers also liked (8)

Power point barrio san lazaro
Power point barrio san lazaroPower point barrio san lazaro
Power point barrio san lazaro
 
Posta Power - Testimonianze Clienti Bologna
Posta Power - Testimonianze Clienti BolognaPosta Power - Testimonianze Clienti Bologna
Posta Power - Testimonianze Clienti Bologna
 
презентація заграй
презентація заграйпрезентація заграй
презентація заграй
 
Eric Luan's Resume
Eric Luan's ResumeEric Luan's Resume
Eric Luan's Resume
 
Priramida diatrofis
Priramida diatrofisPriramida diatrofis
Priramida diatrofis
 
Delicious.net
Delicious.netDelicious.net
Delicious.net
 
ενας αιγινητης ζωγραφος
ενας αιγινητης ζωγραφοςενας αιγινητης ζωγραφος
ενας αιγινητης ζωγραφος
 
βυζαντινό και χριστιανικό μουσειο αθηνων (4)
βυζαντινό και χριστιανικό μουσειο αθηνων (4)βυζαντινό και χριστιανικό μουσειο αθηνων (4)
βυζαντινό και χριστιανικό μουσειο αθηνων (4)
 

Similar to Development testing

Estimating test effort part 2 of 2
Estimating test effort part 2 of 2Estimating test effort part 2 of 2
Estimating test effort part 2 of 2
Ian McDonald
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For TestersQA Programmer
 
Soft quality & standards
Soft quality & standardsSoft quality & standards
Soft quality & standards
Prince Bhanwra
 
Soft quality & standards
Soft quality & standardsSoft quality & standards
Soft quality & standards
Prince Bhanwra
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
guest8861ff
 
DSR Testing (Part 2)
DSR Testing (Part 2)DSR Testing (Part 2)
DSR Testing (Part 2)
Steve Upton
 
Smart Testing-Test Less, Cover More, Benefit Manifold- STeP-IN Summit 2014 Sp...
Smart Testing-Test Less, Cover More, Benefit Manifold- STeP-IN Summit 2014 Sp...Smart Testing-Test Less, Cover More, Benefit Manifold- STeP-IN Summit 2014 Sp...
Smart Testing-Test Less, Cover More, Benefit Manifold- STeP-IN Summit 2014 Sp...
Harbinger Systems - HRTech Builder of Choice
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For TestersGopi Raghavendra
 
Code coverage in theory and in practice form the do178 b perspective
Code coverage in theory and in practice form the do178 b perspectiveCode coverage in theory and in practice form the do178 b perspective
Code coverage in theory and in practice form the do178 b perspective
Engineering Software Lab
 
Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective   Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective Engineering Software Lab
 
Practical Machine Learning
Practical Machine LearningPractical Machine Learning
Practical Machine Learning
Vu Pham
 
Test Effectiveness
Test EffectivenessTest Effectiveness
Test Effectiveness
Arunkumar Nehru KS
 
AJRA Test Strategy Discussion
AJRA Test Strategy DiscussionAJRA Test Strategy Discussion
AJRA Test Strategy Discussion
ajrhem
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
Thoughtworks
 
Software testing overview by subbu
Software testing overview by subbuSoftware testing overview by subbu
Software testing overview by subbupalla subrahmanyam
 
A beginners guide to testing
A beginners guide to testingA beginners guide to testing
A beginners guide to testingPhilip Johnson
 

Similar to Development testing (20)

Estimating test effort part 2 of 2
Estimating test effort part 2 of 2Estimating test effort part 2 of 2
Estimating test effort part 2 of 2
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
 
Soft quality & standards
Soft quality & standardsSoft quality & standards
Soft quality & standards
 
Soft quality & standards
Soft quality & standardsSoft quality & standards
Soft quality & standards
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
 
DSR Testing (Part 2)
DSR Testing (Part 2)DSR Testing (Part 2)
DSR Testing (Part 2)
 
Smart Testing-Test Less, Cover More, Benefit Manifold- STeP-IN Summit 2014 Sp...
Smart Testing-Test Less, Cover More, Benefit Manifold- STeP-IN Summit 2014 Sp...Smart Testing-Test Less, Cover More, Benefit Manifold- STeP-IN Summit 2014 Sp...
Smart Testing-Test Less, Cover More, Benefit Manifold- STeP-IN Summit 2014 Sp...
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
 
Ch24
Ch24Ch24
Ch24
 
Code coverage in theory and in practice form the do178 b perspective
Code coverage in theory and in practice form the do178 b perspectiveCode coverage in theory and in practice form the do178 b perspective
Code coverage in theory and in practice form the do178 b perspective
 
Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective   Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective
 
Practical Machine Learning
Practical Machine LearningPractical Machine Learning
Practical Machine Learning
 
Test Effectiveness
Test EffectivenessTest Effectiveness
Test Effectiveness
 
AJRA Test Strategy Discussion
AJRA Test Strategy DiscussionAJRA Test Strategy Discussion
AJRA Test Strategy Discussion
 
Software Testing_Overview
Software Testing_OverviewSoftware Testing_Overview
Software Testing_Overview
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
 
2014 toronto-torbug
2014 toronto-torbug2014 toronto-torbug
2014 toronto-torbug
 
Software testing overview by subbu
Software testing overview by subbuSoftware testing overview by subbu
Software testing overview by subbu
 
AUG-17 (2013) ISTQB PAPER
AUG-17 (2013) ISTQB PAPERAUG-17 (2013) ISTQB PAPER
AUG-17 (2013) ISTQB PAPER
 
A beginners guide to testing
A beginners guide to testingA beginners guide to testing
A beginners guide to testing
 

Recently uploaded

A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 

Recently uploaded (20)

A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 

Development testing

  • 2. - What is testing - Kinds of testing - Kinds of coverage - Asserts
  • 9. What is testing? Good testing consist of selecting a good set of test inputs and designing a good acceptability checks.
  • 10. What is going on when we test?
  • 11. What is going on when we test? -A lot!
  • 12. What is going on when we test?
  • 13. What is going on when we test?
  • 14. What is going on when we test?
  • 15. What is going on when we test?
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Why testing? - Testing shows presence of defects (but cannot prove that there are no defects). - Appropriate testing reduces the probability for defects.
  • 21. - What is testing - Kinds of testing - Kinds of coverage - Asserts
  • 28. Testing Methods Static - Reviews, walkthroughs, inspections. - Static program analysis.
  • 29. Testing Methods Static - Reviews, walkthroughs, inspections. - Static program analysis. Dynamic - Executing programmed code with a given set of test cases
  • 30. Testing Methods Static - Reviews, walkthroughs, inspections. - Static program analysis. Dynamic - Executing programmed code with a given set of test cases Black box - Examining functionality without any knowledge of internal implementation. White box - Internal perspective of the system, as well as programming skills, are used to design test cases.
  • 31. Testing Methods Static - Reviews, walkthroughs, inspections. - Static program analysis. Dynamic - Executing programmed code with a given set of test cases Black box - Examining functionality without any knowledge of internal implementation. White box - Internal perspective of the system, as well as programming skills, are used to design test cases.
  • 32. - What is testing - Kinds of testing - Kinds of coverage - Asserts
  • 46. Test Coverage - is proportion of a program, exercised during testing. + gives objective score + when coverage is <100%, we are given a meaningful task - not god in finding “errors of omission” - difficult to interpret scores <100% - 100% coverage does mean that all bugs are found
  • 48. Coverage metrics How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics)
  • 49. Coverage metrics How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few.
  • 50. Coverage metrics Statement (line) coverage: How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few.
  • 51. Coverage metrics Statement (line) coverage: How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. 100%
  • 52. Coverage metrics Statement (line) coverage: How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. 100%
  • 53. Coverage metrics Statement (line) coverage: How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. 100% 50%
  • 54. Coverage metrics Branch coverage: How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few.
  • 55. Coverage metrics Branch coverage: How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. 50%
  • 56. Coverage metrics Branch coverage: How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. 50% 50%
  • 57. Coverage metrics Branch coverage: How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. 50% 50%+ = 100%
  • 58. Coverage metrics ✓ Line coverage ✓ Branch coverage How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Loop coverage: Execute each loop zero, one and more than one times.
  • 59. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Modified condition/decision coverage: MC/DC = branch coverage + conditions takes all possible values + each condition independently affects the outcome of a decision
  • 60. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Modified condition/decision coverage: MC/DC = branch coverage + conditions takes all possible values + each condition independently affects the outcome of a decision
  • 61. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Modified condition/decision coverage: MC/DC = branch coverage + conditions takes all possible values + each condition independently affects the outcome of a decision a, !b, c => true
  • 62. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Modified condition/decision coverage: MC/DC = branch coverage + conditions takes all possible values + each condition independently affects the outcome of a decision a, !b, c => true !a, !b, c => false
  • 63. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Modified condition/decision coverage: MC/DC = branch coverage + conditions takes all possible values + each condition independently affects the outcome of a decision a, !b, c => true !a, !b, c => false !a, b, c => true
  • 64. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Modified condition/decision coverage: MC/DC = branch coverage + conditions takes all possible values + each condition independently affects the outcome of a decision a, !b, c => true !a, !b, c => false !a, b, c => true !a, b, !c => false
  • 65. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Modified condition/decision coverage: MC/DC = branch coverage + conditions takes all possible values + each condition independently affects the outcome of a decision a, !b, c => true !a, !b, c => false !a, b, c => true !a, b, !c => false MC/DC is used in avionics software to ensure adequate testing of the most critical (flight and landing related) parts.
  • 66. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage ✓ MC/DC How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Path coverage:
  • 67. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage ✓ MC/DC How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Path coverage:
  • 68. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage ✓ MC/DC How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Path coverage:
  • 69. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage ✓ MC/DC How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. Path coverage:
  • 70. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage ✓ MC/DC ✓ Path coverage How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. What else:
  • 71. Coverage metrics ✓ Line coverage ✓ Branch coverage ✓ Loop coverage ✓ MC/DC ✓ Path coverage How many coverage metrics are out there? - A lot! http://www.badsoftware.com/ coverage.htm (list of 101 coverage metrics) How many of them do we need to care about? - Very few. What else: - boundary value coverage - synchronization coverage - … other 94 and more coverages
  • 72. How to use coverage
  • 73. How to use coverage
  • 74. How much testing is enough?
  • 75. Tools
  • 76. Tools
  • 77. - What is testing - Kinds of testing - Kinds of coverage - Asserts
  • 79. Assertions - makes code self-checking, leading to more effective testing - make code fail early - document assumptions, preconditions, postconditions and invariants. - are not for error handling - must not have side effects
  • 80. Assertions - makes code self-checking, leading to more effective testing - make code fail early - document assumptions, preconditions, postconditions and invariants. - are not for error handling - must not have side effects Use error handling code for conditions you expect to occur. Use assertions for conditions that should never occur.
  • 81. Assertions - makes code self-checking, leading to more effective testing - make code fail early - document assumptions, preconditions, postconditions and invariants. - are not for error handling - must not have side effects Use error handling code for conditions you expect to occur. Use assertions for conditions that should never occur.
  • 82. The end. Testing by itself does not improve software quality. Test results are an indicator of quality, but in and of themselves they don’t improve it. Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. What you eat before you step on to the scale determines how much you will weigh, and the software-develompent techniques you use determine how many errors testing will find. If you want to lose weight, don’t buy a new scale; change your diet. If you want to improve your software, don’t just test more; develop better. -Steve McConnell