SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler 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

Mais conteúdo relacionado

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
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
 
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
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Último (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
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
 
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
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

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