SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
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

Más contenido relacionado

Similar a 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 a 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
 

Más de 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
 

Más de 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
 

Último

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Último (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

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