SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
TH
AM Tutorial
10/1/2013 8:30:00 AM

"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
PerfTestPlus, Inc.
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.
© 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
Description

Miles

© 2013 PerfTestPlus, Inc.

© 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

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

Kernel

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

Other
Software

Make unavailable (uninstall, move or rename files, kill process)
Restrict or block access (disable methods, close ports, etc.)
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
© 2013 PerfTestPlus, Inc.

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.

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

Contenu connexe

En vedette

En vedette (9)

White-box Testing: When Quality Really Matters
White-box Testing: When Quality Really MattersWhite-box Testing: When Quality Really Matters
White-box Testing: When Quality Really Matters
 
Testing Metrics: Project, Product, Process
Testing Metrics: Project, Product, ProcessTesting Metrics: Project, Product, Process
Testing Metrics: Project, Product, Process
 
Mobile Testing Methodologies: Trends, Successes, and Pitfalls
Mobile Testing Methodologies: Trends, Successes, and PitfallsMobile Testing Methodologies: Trends, Successes, and Pitfalls
Mobile Testing Methodologies: Trends, Successes, and Pitfalls
 
Design Patterns Explained: From Analysis through Implementation
Design Patterns Explained: From Analysis through ImplementationDesign Patterns Explained: From Analysis through Implementation
Design Patterns Explained: From Analysis through Implementation
 
There’s No Room for Emotions in Testing—Not!
There’s No Room for Emotions in Testing—Not!There’s No Room for Emotions in Testing—Not!
There’s No Room for Emotions in Testing—Not!
 
Tuning and Improving Your Agility
Tuning and Improving Your AgilityTuning and Improving Your Agility
Tuning and Improving Your Agility
 
T23 HTML5 Security Testing at Spotify
T23 HTML5 Security Testing at SpotifyT23 HTML5 Security Testing at Spotify
T23 HTML5 Security Testing at Spotify
 
Critical Thinking for Software Testers
Critical Thinking for Software TestersCritical Thinking for Software Testers
Critical Thinking for Software Testers
 
Continuous Delivery: Rapid and Reliable Releases with DevOps Practices
Continuous Delivery: Rapid and Reliable Releases with DevOps PracticesContinuous Delivery: Rapid and Reliable Releases with DevOps Practices
Continuous Delivery: Rapid and Reliable Releases with DevOps Practices
 

Similaire à How to Break Software: Robustness Edition

Best Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingBest Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility Testing
Perfecto by Perforce
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
nazeer pasha
 
Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02
Archana Survase
 
Sushma Hazari Resume
Sushma Hazari ResumeSushma Hazari Resume
Sushma Hazari Resume
Sushma Hazari
 
Ptformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberPtformanagersppt - Scott Barber
Ptformanagersppt - Scott Barber
Archana Survase
 

Similaire à How to Break Software: Robustness Edition (20)

How to Break Software: Web 101+ Edition
How to Break Software: Web 101+ EditionHow to Break Software: Web 101+ Edition
How to Break Software: Web 101+ 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 Approach
 
Perf Intro Ppt
Perf Intro PptPerf Intro Ppt
Perf Intro Ppt
 
Testing tool classification
Testing tool classificationTesting tool classification
Testing tool classification
 
Best Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingBest Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility Testing
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
How to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated TestingHow to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated Testing
 
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
 
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 ...
 
Integrating Automated Testing into DevOps
Integrating Automated Testing into DevOpsIntegrating Automated Testing into DevOps
Integrating Automated Testing into DevOps
 
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
 
Sushma Hazari Resume
Sushma Hazari ResumeSushma Hazari Resume
Sushma Hazari Resume
 
Google, quality and you
Google, quality and youGoogle, quality and you
Google, quality and you
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristics
 
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
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
 
Introduction to SDET
Introduction to SDETIntroduction to SDET
Introduction to SDET
 
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
 

Plus de TechWell

Plus 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
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

How to Break Software: Robustness Edition

  • 1. TH AM Tutorial 10/1/2013 8:30:00 AM "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 PerfTestPlus, Inc. 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.
  • 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. Description Miles © 2013 PerfTestPlus, Inc. © 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 Assign invalid file name Vary access permissions Vary/corrupt file contents Kernel Restrict or constrain resources like memory, CPU, threading, etc. Other Software Make unavailable (uninstall, move or rename files, kill process) Restrict or block access (disable methods, close ports, etc.) 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. © 2013 PerfTestPlus, Inc. 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. 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