SlideShare a Scribd company logo
1 of 2
Download to read offline
Heuristics of Software Testability
                                      by James Bach, Satisfice, Inc.


                                       The better we can control it, the more the testing can be auto-
Controllability                        mated and optimized.
   •   A scriptable interface or test harness is available.
   •   Software and hardware states and variables can be controlled directly by the test engineer.
   •   Software modules, objects, or functional layers can be tested independently.

                                     What you see is what can be tested.
Observability
   •   Past system states and variables are visible or queriable (e.g., transaction logs).
   •   Distinct output is generated for each input.
   •   System states and variables are visible or queriable during execution.
   •   All factors affecting the output are visible.
   •   Incorrect output is easily identified.
   •   Internal errors are automatically detected and reported through self-testing mechanisms.

                                     To test it, we have to get at it.
Availability
   •   The system has few bugs (bugs add analysis and reporting overhead to the test process).
   •   No bugs block the execution of tests.
   •   Product evolves in functional stages (allows simultaneous development and testing).
   •   Source code is accessible.

                                     The simpler it is, the less there is to test.
Simplicity
   •   The design is self-consistent.
   •   Functional simplicity (e.g., the feature set is the minimum necessary to meet requirements)
   •   Structural simplicity (e.g., modules are cohesive and loosely coupled)
   •   Code simplicity (e.g. the code is not so convoluded that an outside inspector can’t effectively
       review it)

                                     The fewer the changes, the fewer the disruptions to testing.
Stability
   •   Changes to the software are infrequent.
   •   Changes to the software are controlled and communicated.
   •   Changes to the software do not invalidate automated tests.

                                     The more information we have, the smarter we will test.
Information
   •   The design is similar to other products we already know.
   •   The technology on which the product is based is well understood.
   •   Dependencies between internal, external and shared components are well understood.
   •   The purpose of the software is well understood.
   •   The users of the software are well understood.
   •   The environment in which the software will be used is well understood.
   •   Technical documentation is accessible, accurate, well organized, specific and detailed.
   •   Software requirements are well understood.




Copyright © 2003 James Bach
Heuristics ofsoftwaretestability

More Related Content

What's hot

Software and Hardware Reliability
Software and Hardware ReliabilitySoftware and Hardware Reliability
Software and Hardware Reliability
Sandeep Patalay
 
Installation testing
Installation testingInstallation testing
Installation testing
Robin0590
 

What's hot (20)

Testability: Factors and Strategy
Testability: Factors and StrategyTestability: Factors and Strategy
Testability: Factors and Strategy
 
Quality & Reliability in Software Engineering
Quality & Reliability in Software EngineeringQuality & Reliability in Software Engineering
Quality & Reliability in Software Engineering
 
Installation testing
Installation testingInstallation testing
Installation testing
 
Bug hunting through_reverse_engineering
Bug hunting through_reverse_engineeringBug hunting through_reverse_engineering
Bug hunting through_reverse_engineering
 
Manual testing - Introduction to Manual Software testing
Manual testing - Introduction to Manual Software testingManual testing - Introduction to Manual Software testing
Manual testing - Introduction to Manual Software testing
 
Software and Hardware Reliability
Software and Hardware ReliabilitySoftware and Hardware Reliability
Software and Hardware Reliability
 
Adressing nonfunctional requirements with agile practices
Adressing nonfunctional requirements with agile practicesAdressing nonfunctional requirements with agile practices
Adressing nonfunctional requirements with agile practices
 
Installation testing
Installation testingInstallation testing
Installation testing
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
The Art of Testing Less without Sacrificing Quality @ ICSE 2015
The Art of Testing Less without Sacrificing Quality @ ICSE 2015The Art of Testing Less without Sacrificing Quality @ ICSE 2015
The Art of Testing Less without Sacrificing Quality @ ICSE 2015
 
Why do we test software?
Why do we test software?Why do we test software?
Why do we test software?
 
Introduction to Software Engineering 1
Introduction to Software Engineering 1Introduction to Software Engineering 1
Introduction to Software Engineering 1
 
Software reliability tools and common software errors
Software reliability tools and common software errorsSoftware reliability tools and common software errors
Software reliability tools and common software errors
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Introduction to Non Functional Requirement (NFR)
Introduction to Non Functional Requirement (NFR)Introduction to Non Functional Requirement (NFR)
Introduction to Non Functional Requirement (NFR)
 
Test Strategies in Microservices
Test Strategies in MicroservicesTest Strategies in Microservices
Test Strategies in Microservices
 
Software testing
Software testingSoftware testing
Software testing
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
System testing
System testingSystem testing
System testing
 
Software testing
Software testingSoftware testing
Software testing
 

Viewers also liked (7)

2 d studio art carolyn monastra
2 d studio art carolyn monastra2 d studio art carolyn monastra
2 d studio art carolyn monastra
 
How Asp.Net Developers Can Leverage Share Point
How Asp.Net Developers Can Leverage Share PointHow Asp.Net Developers Can Leverage Share Point
How Asp.Net Developers Can Leverage Share Point
 
Restoran
RestoranRestoran
Restoran
 
Weather
WeatherWeather
Weather
 
Agenda jorge
Agenda jorgeAgenda jorge
Agenda jorge
 
Share point 2013 on azure
Share point 2013 on azureShare point 2013 on azure
Share point 2013 on azure
 
Joanne Motta: Aussies Love British Columbia
Joanne Motta:  Aussies Love British ColumbiaJoanne Motta:  Aussies Love British Columbia
Joanne Motta: Aussies Love British Columbia
 

Similar to Heuristics ofsoftwaretestability

Testing (System Analysis and Design)
Testing (System Analysis and Design)Testing (System Analysis and Design)
Testing (System Analysis and Design)
Areeb Khan
 

Similar to Heuristics ofsoftwaretestability (20)

testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Design testabilty
Design testabiltyDesign testabilty
Design testabilty
 
Fundamentals of software part 1
Fundamentals of software part 1Fundamentals of software part 1
Fundamentals of software part 1
 
UNIT TESTING.pptx
UNIT TESTING.pptxUNIT TESTING.pptx
UNIT TESTING.pptx
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
Software_Testing_Overview.pptx
Software_Testing_Overview.pptxSoftware_Testing_Overview.pptx
Software_Testing_Overview.pptx
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdf
 
UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
 
Testing (System Analysis and Design)
Testing (System Analysis and Design)Testing (System Analysis and Design)
Testing (System Analysis and Design)
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
L software testing
L   software testingL   software testing
L software testing
 
Sw testing
Sw testingSw testing
Sw testing
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
 
Week 14 Unit Testing.pptx
Week 14  Unit Testing.pptxWeek 14  Unit Testing.pptx
Week 14 Unit Testing.pptx
 
Lecture 21
Lecture 21Lecture 21
Lecture 21
 
General Software Tester Training
General Software Tester TrainingGeneral Software Tester Training
General Software Tester Training
 

Recently uploaded

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
SanaAli374401
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
MateoGardella
 

Recently uploaded (20)

Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 

Heuristics ofsoftwaretestability

  • 1. Heuristics of Software Testability by James Bach, Satisfice, Inc. The better we can control it, the more the testing can be auto- Controllability mated and optimized. • A scriptable interface or test harness is available. • Software and hardware states and variables can be controlled directly by the test engineer. • Software modules, objects, or functional layers can be tested independently. What you see is what can be tested. Observability • Past system states and variables are visible or queriable (e.g., transaction logs). • Distinct output is generated for each input. • System states and variables are visible or queriable during execution. • All factors affecting the output are visible. • Incorrect output is easily identified. • Internal errors are automatically detected and reported through self-testing mechanisms. To test it, we have to get at it. Availability • The system has few bugs (bugs add analysis and reporting overhead to the test process). • No bugs block the execution of tests. • Product evolves in functional stages (allows simultaneous development and testing). • Source code is accessible. The simpler it is, the less there is to test. Simplicity • The design is self-consistent. • Functional simplicity (e.g., the feature set is the minimum necessary to meet requirements) • Structural simplicity (e.g., modules are cohesive and loosely coupled) • Code simplicity (e.g. the code is not so convoluded that an outside inspector can’t effectively review it) The fewer the changes, the fewer the disruptions to testing. Stability • Changes to the software are infrequent. • Changes to the software are controlled and communicated. • Changes to the software do not invalidate automated tests. The more information we have, the smarter we will test. Information • The design is similar to other products we already know. • The technology on which the product is based is well understood. • Dependencies between internal, external and shared components are well understood. • The purpose of the software is well understood. • The users of the software are well understood. • The environment in which the software will be used is well understood. • Technical documentation is accessible, accurate, well organized, specific and detailed. • Software requirements are well understood. Copyright © 2003 James Bach