SlideShare a Scribd company logo
1 of 27
Download to read offline
TH
AM Tutorial
4/30/13 8:30AM

How to Break Software: Robustness
Edition
Presented by:
Dawn Haynes
PerfTestPlus, Inc.

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Dawn Haynes
Dawn Haynes is COO, principal trainer, and consultant for PerfTestPlus, Inc., and a former director of the
Association for Software Testing. Dawn’s unique blend of experience, humor, and effectiveness at
providing tools and techniques that help students at all levels generate new approaches to common and
complex software testing problems has resulted in her international recognition as an elite trainer of
testers. She provides consulting services and is a frequent speaker at testing conferences, local groups,
and intimate gatherings of testers. Dawn has more than twenty-eight years of experience supporting,
administering, developing, and testing software and hardware systems—from small business operations
to large corporate enterprises.
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

1
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

2
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

3
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

4
© 2013 PerfTestPlus, Inc.

Random
Strikes
Exploratory
Testing

Bug
Safari

Fault
Injection

Error
Guessing

© 2013 PerfTestPlus, Inc.

5
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

6
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

7
© 2013 PerfTestPlus, Inc.

Description                Miles

© 2013 PerfTestPlus, Inc.

8
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

9
© 2013 PerfTestPlus, Inc.

Attack

• Directed and focused attempt to evaluate the
quality, especially reliability, of a test object by
attempting to force specific failures to occur.

Ref: How to Break Software - Whittaker

© 2013 PerfTestPlus, Inc.

10
Input

Output

Data

Computation

 Force all error messages to occur
 Force software to use default values
 Explore data types & character sets

 Overflow input buffers
 Find interacting inputs
 Repeat inputs/sequence

 Force different outputs to be generated for same input
 Force invalid outputs to be generated
 Force output properties to change
 Force the screen to be refreshed
 Apply inputs using a variety of initial conditions
 Force a data structure to store too many or too few values
 Try to modify alternate data constraints
 Experiment with invalid operand and operator combinations
 Exploit recursion
 Force computation results to be too large or too small
 Find features that share data or interact poorly

Ref: How to Break Software - Whittaker

© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

11
© 2013 PerfTestPlus, Inc.

 Fill the file system to capacity
 Force media to be busy or unavailable
 Damage the media

File

Kernel

 Assign invalid file name
 Vary access permissions
 Vary/corrupt file contents

 Restrict or constrain resources like memory, CPU, threading, etc.

 Make unavailable (uninstall, move or rename files, kill process)

Other
 Restrict or block access (disable methods, close ports, etc.)
Software

 Concurrency check (execute actions in other interacting software)

Ref: How to Break Software - Whittaker

© 2013 PerfTestPlus, Inc.

12
© 2013 PerfTestPlus, Inc.

Error
Guessing

• A test design technique where the experience of the tester is
used to anticipate what defects might be present in the
component or system under test as a result of errors made,
and to design tests specifically to expose them.

© 2013 PerfTestPlus, Inc.

13
Business rules;
logic

• Subvert rules
• Bend/break logic

Workflows;
state models

Concurrency

Algorithms

• Skip steps
• Illegal U-turn
• Create zombies
• Interacting models

• Doing the same thing
• Doing different things

• Bust sorting logic
• Trick search operations
• Subvert parsing schemes

© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

14
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

15
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

16
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

17
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

18
© 2013 PerfTestPlus, Inc.

Robustness
Testing

Reliability
Testing

• Testing to determine the robustness of the
software product.

• The process of testing to determine the
reliability of a software product.

• An attribute of a component or system specified
or implied by requirements documentation (for
example reliability, usability or design
constraints). [After IEEE 1008]
Source: ISTQB Glossary, 2007

Feature

© 2013 PerfTestPlus, Inc.

19
Validation

Fault
Tolerance

• Confirmation by examination and through provision
of objective evidence that the requirements for a
specific intended use or application have been
fulfilled. [ISO 9000]

• The capability of the software product to maintain
a specified level of performance in cases of
software faults (defects) or of infringement of its
specified interface. [ISO 9126] See also reliability,

robustness.

Source: ISTQB Glossary, 2007

© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

20
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

21
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

22
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

23
© 2013 PerfTestPlus, Inc.

© 2013 PerfTestPlus, Inc.

24
Source: ISTQB Glossary, 2007

© 2013 PerfTestPlus, Inc.

Robustness
The ability of software to
deliver value during normal
use without stressing out
users (or failing)
The ability of software to
deliver value consistently –
throughout the longevity,
intermittence, or frequency of
interactions

Reliability
© 2013 PerfTestPlus, Inc.

25

More Related Content

Similar to How to Break Software: Robustness Edition

Managing Application Performance: A Simplified Universal Approach
Managing Application Performance: A Simplified Universal ApproachManaging Application Performance: A Simplified Universal Approach
Managing Application Performance: A Simplified Universal ApproachTechWell
 
Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Archana Survase
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software TestingScott Barber
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristicsMichelle Lagare, CSM
 
Google, quality and you
Google, quality and youGoogle, quality and you
Google, quality and younelinger
 
What Everyone on the Team Needs to Know about Test Automation
What Everyone on the Team Needs to Know about Test AutomationWhat Everyone on the Team Needs to Know about Test Automation
What Everyone on the Team Needs to Know about Test AutomationTechWell
 
Testing tool classification
Testing tool classificationTesting tool classification
Testing tool classificationPragya Rastogi
 
Web Performance Analysis - TCF Pro 2009
Web Performance Analysis - TCF Pro 2009Web Performance Analysis - TCF Pro 2009
Web Performance Analysis - TCF Pro 2009Guy Ferraiolo
 
Sushma Hazari Resume
Sushma Hazari ResumeSushma Hazari Resume
Sushma Hazari ResumeSushma Hazari
 
Ptformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberPtformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberArchana Survase
 
Performance Testing for Managers
Performance Testing for ManagersPerformance Testing for Managers
Performance Testing for ManagersScott Barber
 
It’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory TestingIt’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory TestingTechWell
 
Tune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTechWell
 
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...DevOpsDays Houston
 
tool support for testing
tool support for testingtool support for testing
tool support for testingaidil fitra
 
Testing Enterprise Software Rewrites
Testing Enterprise Software RewritesTesting Enterprise Software Rewrites
Testing Enterprise Software RewritesTechWell
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Modelsnazeer pasha
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.Vinay Agnihotri
 
Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...Intellipaat
 
Common testing pitfalls tsp-2014 - 2014-11-03 v10
Common testing pitfalls   tsp-2014 - 2014-11-03 v10Common testing pitfalls   tsp-2014 - 2014-11-03 v10
Common testing pitfalls tsp-2014 - 2014-11-03 v10Donald Firesmith
 

Similar to How to Break Software: Robustness Edition (20)

Managing Application Performance: A Simplified Universal Approach
Managing Application Performance: A Simplified Universal ApproachManaging Application Performance: A Simplified Universal Approach
Managing Application Performance: A Simplified Universal Approach
 
Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software Testing
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristics
 
Google, quality and you
Google, quality and youGoogle, quality and you
Google, quality and you
 
What Everyone on the Team Needs to Know about Test Automation
What Everyone on the Team Needs to Know about Test AutomationWhat Everyone on the Team Needs to Know about Test Automation
What Everyone on the Team Needs to Know about Test Automation
 
Testing tool classification
Testing tool classificationTesting tool classification
Testing tool classification
 
Web Performance Analysis - TCF Pro 2009
Web Performance Analysis - TCF Pro 2009Web Performance Analysis - TCF Pro 2009
Web Performance Analysis - TCF Pro 2009
 
Sushma Hazari Resume
Sushma Hazari ResumeSushma Hazari Resume
Sushma Hazari Resume
 
Ptformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberPtformanagersppt - Scott Barber
Ptformanagersppt - Scott Barber
 
Performance Testing for Managers
Performance Testing for ManagersPerformance Testing for Managers
Performance Testing for Managers
 
It’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory TestingIt’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory Testing
 
Tune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product Maturity
 
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
 
tool support for testing
tool support for testingtool support for testing
tool support for testing
 
Testing Enterprise Software Rewrites
Testing Enterprise Software RewritesTesting Enterprise Software Rewrites
Testing Enterprise Software Rewrites
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
 
Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...Functional testing vs non functional testing | Difference Between Functional ...
Functional testing vs non functional testing | Difference Between Functional ...
 
Common testing pitfalls tsp-2014 - 2014-11-03 v10
Common testing pitfalls   tsp-2014 - 2014-11-03 v10Common testing pitfalls   tsp-2014 - 2014-11-03 v10
Common testing pitfalls tsp-2014 - 2014-11-03 v10
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024TopCSSGallery
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoUXDXConf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceSamy Fodil
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 

Recently uploaded (20)

Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 

How to Break Software: Robustness Edition

  • 1. TH AM Tutorial 4/30/13 8:30AM How to Break Software: Robustness Edition Presented by: Dawn Haynes PerfTestPlus, Inc. Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Dawn Haynes Dawn Haynes is COO, principal trainer, and consultant for PerfTestPlus, Inc., and a former director of the Association for Software Testing. Dawn’s unique blend of experience, humor, and effectiveness at providing tools and techniques that help students at all levels generate new approaches to common and complex software testing problems has resulted in her international recognition as an elite trainer of testers. She provides consulting services and is a frequent speaker at testing conferences, local groups, and intimate gatherings of testers. Dawn has more than twenty-eight years of experience supporting, administering, developing, and testing software and hardware systems—from small business operations to large corporate enterprises.
  • 3. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 1
  • 4. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 2
  • 5. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 3
  • 6. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 4
  • 7. © 2013 PerfTestPlus, Inc. Random Strikes Exploratory Testing Bug Safari Fault Injection Error Guessing © 2013 PerfTestPlus, Inc. 5
  • 8. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 6
  • 9. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 7
  • 10. © 2013 PerfTestPlus, Inc. Description                Miles © 2013 PerfTestPlus, Inc. 8
  • 11. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 9
  • 12. © 2013 PerfTestPlus, Inc. Attack • Directed and focused attempt to evaluate the quality, especially reliability, of a test object by attempting to force specific failures to occur. Ref: How to Break Software - Whittaker © 2013 PerfTestPlus, Inc. 10
  • 13. Input Output Data Computation  Force all error messages to occur  Force software to use default values  Explore data types & character sets  Overflow input buffers  Find interacting inputs  Repeat inputs/sequence  Force different outputs to be generated for same input  Force invalid outputs to be generated  Force output properties to change  Force the screen to be refreshed  Apply inputs using a variety of initial conditions  Force a data structure to store too many or too few values  Try to modify alternate data constraints  Experiment with invalid operand and operator combinations  Exploit recursion  Force computation results to be too large or too small  Find features that share data or interact poorly Ref: How to Break Software - Whittaker © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 11
  • 14. © 2013 PerfTestPlus, Inc.  Fill the file system to capacity  Force media to be busy or unavailable  Damage the media File Kernel  Assign invalid file name  Vary access permissions  Vary/corrupt file contents  Restrict or constrain resources like memory, CPU, threading, etc.  Make unavailable (uninstall, move or rename files, kill process) Other  Restrict or block access (disable methods, close ports, etc.) Software  Concurrency check (execute actions in other interacting software) Ref: How to Break Software - Whittaker © 2013 PerfTestPlus, Inc. 12
  • 15. © 2013 PerfTestPlus, Inc. Error Guessing • A test design technique where the experience of the tester is used to anticipate what defects might be present in the component or system under test as a result of errors made, and to design tests specifically to expose them. © 2013 PerfTestPlus, Inc. 13
  • 16. Business rules; logic • Subvert rules • Bend/break logic Workflows; state models Concurrency Algorithms • Skip steps • Illegal U-turn • Create zombies • Interacting models • Doing the same thing • Doing different things • Bust sorting logic • Trick search operations • Subvert parsing schemes © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 14
  • 17. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 15
  • 18. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 16
  • 19. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 17
  • 20. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 18
  • 21. © 2013 PerfTestPlus, Inc. Robustness Testing Reliability Testing • Testing to determine the robustness of the software product. • The process of testing to determine the reliability of a software product. • An attribute of a component or system specified or implied by requirements documentation (for example reliability, usability or design constraints). [After IEEE 1008] Source: ISTQB Glossary, 2007 Feature © 2013 PerfTestPlus, Inc. 19
  • 22. Validation Fault Tolerance • Confirmation by examination and through provision of objective evidence that the requirements for a specific intended use or application have been fulfilled. [ISO 9000] • The capability of the software product to maintain a specified level of performance in cases of software faults (defects) or of infringement of its specified interface. [ISO 9126] See also reliability, robustness. Source: ISTQB Glossary, 2007 © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 20
  • 23. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 21
  • 24. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 22
  • 25. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 23
  • 26. © 2013 PerfTestPlus, Inc. © 2013 PerfTestPlus, Inc. 24
  • 27. Source: ISTQB Glossary, 2007 © 2013 PerfTestPlus, Inc. Robustness The ability of software to deliver value during normal use without stressing out users (or failing) The ability of software to deliver value consistently – throughout the longevity, intermittence, or frequency of interactions Reliability © 2013 PerfTestPlus, Inc. 25