SlideShare una empresa de Scribd logo
1 de 14
Testing Tests
Ideas for better quality test software
Brian Colfer


     brian.colfer@gmail.com



                     @briancolfer
Introduction

• Testing software is subject to error

• False negatives are the main problem

• Use Various strategies to help detect when
  there is a problem
Defects in tests

• Same source as product defects:

• Misunderstood requirements

• Logic errors
Two types

• False positives: type I errors we detect
  something when it doesn't exist

• False negatives: type II errors we don't detect
  something when it does exit
Testing the test
          framework

• Not controversial

• Normal test tools and techniques

• Frameworks are normal products
Track defects in tests

• Have QA framework and tests as a part of
  defect tracking system

• Have a release process for software
  framework and tests
Type I errors

• Not as much of a worry but costs

• Further examination will catch the error

• Costs in delays and analysis effort
Type II errors

• Insidious, you don't know that you don't know

• Costs of the defect: normal user defect costs,
  repair costs and test repair costs.

• Deterioration of confidence in software
Strategies

• Unit tests

• Reviews

• Quality Control metrics
Unit tests

• Unit tests validate that test code is correct not
  the application under test

• Use TDD or BDD to write tests

• Run unit tests as part of a CI practice for test
  development
Reviews

• Step through the code looking for defects

• Make it a frequent practice

• Keep the scope digestible
Quality control metrics
• Traditional QC doesn’t apply to software

 • QC will look for changes in power and
   sensitivity of the testing

 • Regression tests are supposed to not find
   errors

• Track defects found by automated tests

• Establish a baseline rate of defect detection
Multi method testing

• Use fault injection to find test errors and
  ungraceful application failure

• Exploratory testing

• Don’t make your tests too DRY

Más contenido relacionado

La actualidad más candente

4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - Testing
Forrester High School
 
Reporting On The Testing Process
Reporting On The Testing ProcessReporting On The Testing Process
Reporting On The Testing Process
gavhays
 
Introduction and Role of a manual testing in a SDLC
Introduction and Role of a manual testing in a SDLC Introduction and Role of a manual testing in a SDLC
Introduction and Role of a manual testing in a SDLC
minimini22
 
Basics of Software Testing
Basics of Software TestingBasics of Software Testing
Basics of Software Testing
Shakal Shukla
 
Types of testing and their classification
Types of testing and their classificationTypes of testing and their classification
Types of testing and their classification
Return on Intelligence
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutions
gavhays
 

La actualidad más candente (20)

The Myths and Facts Surrounding Software Testing
The Myths and Facts Surrounding Software TestingThe Myths and Facts Surrounding Software Testing
The Myths and Facts Surrounding Software Testing
 
4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - Testing
 
Reporting On The Testing Process
Reporting On The Testing ProcessReporting On The Testing Process
Reporting On The Testing Process
 
Introduction and Role of a manual testing in a SDLC
Introduction and Role of a manual testing in a SDLC Introduction and Role of a manual testing in a SDLC
Introduction and Role of a manual testing in a SDLC
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Concepts
 
Introduction to automation testing
Introduction  to automation testingIntroduction  to automation testing
Introduction to automation testing
 
Software testing - basics
Software testing - basicsSoftware testing - basics
Software testing - basics
 
Basics of Software Testing
Basics of Software TestingBasics of Software Testing
Basics of Software Testing
 
Types of testing and their classification
Types of testing and their classificationTypes of testing and their classification
Types of testing and their classification
 
What is Ad-Hoc Testing
What is Ad-Hoc TestingWhat is Ad-Hoc Testing
What is Ad-Hoc Testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Regression testing
Regression testingRegression testing
Regression testing
 
ST-All about Test Case-p3
ST-All about Test Case-p3ST-All about Test Case-p3
ST-All about Test Case-p3
 
Testing 3: Types Of Tests That May Be Required
Testing 3: Types Of Tests That May Be RequiredTesting 3: Types Of Tests That May Be Required
Testing 3: Types Of Tests That May Be Required
 
Software Testing - Introduction
Software Testing - IntroductionSoftware Testing - Introduction
Software Testing - Introduction
 
Software testing tools and its taxonomy
Software testing tools and its taxonomySoftware testing tools and its taxonomy
Software testing tools and its taxonomy
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutions
 
Software Testing without Requirements: Survival Guide
Software Testing without Requirements: Survival GuideSoftware Testing without Requirements: Survival Guide
Software Testing without Requirements: Survival Guide
 
Software testing fundamentals
Software testing fundamentalsSoftware testing fundamentals
Software testing fundamentals
 
Software testing
Software testingSoftware testing
Software testing
 

Destacado (6)

Tbwes
TbwesTbwes
Tbwes
 
Santosh Lakshman M - SLP Hyd Entrepreneur Journey
Santosh Lakshman M - SLP Hyd Entrepreneur JourneySantosh Lakshman M - SLP Hyd Entrepreneur Journey
Santosh Lakshman M - SLP Hyd Entrepreneur Journey
 
Soais Payroll Outsourcing[2]
Soais Payroll Outsourcing[2]Soais Payroll Outsourcing[2]
Soais Payroll Outsourcing[2]
 
Problem-solving process: lockers
Problem-solving process: lockersProblem-solving process: lockers
Problem-solving process: lockers
 
Jr Rail Holiday Hokkaido Presentation
Jr Rail Holiday Hokkaido PresentationJr Rail Holiday Hokkaido Presentation
Jr Rail Holiday Hokkaido Presentation
 
Momma Welfare Roll
Momma Welfare RollMomma Welfare Roll
Momma Welfare Roll
 

Similar a Testing tests

Learn Software Testing in 6 Lessons
Learn Software Testing in 6 LessonsLearn Software Testing in 6 Lessons
Learn Software Testing in 6 Lessons
Syed Ahmed
 
Software Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btechSoftware Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btech
IIITA
 

Similar a Testing tests (20)

Learn software testing
Learn software testingLearn software testing
Learn software testing
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
 
Software testing
Software testingSoftware testing
Software testing
 
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
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
 
Fundamental of testing
Fundamental of testingFundamental of testing
Fundamental of testing
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
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
 
manual testing
manual testingmanual testing
manual testing
 
SQA_Lec#01-1.ppt
SQA_Lec#01-1.pptSQA_Lec#01-1.ppt
SQA_Lec#01-1.ppt
 
Software Testing
Software Testing Software Testing
Software Testing
 
Learn Software Testing in 6 Lessons
Learn Software Testing in 6 LessonsLearn Software Testing in 6 Lessons
Learn Software Testing in 6 Lessons
 
SOFTWARE TESTING W1_watermark.pdf
SOFTWARE TESTING W1_watermark.pdfSOFTWARE TESTING W1_watermark.pdf
SOFTWARE TESTING W1_watermark.pdf
 
Software Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btechSoftware Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btech
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Static Testing
Static Testing Static Testing
Static Testing
 
Role of Testing
Role of Testing Role of Testing
Role of Testing
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Software Quality
Software Quality Software Quality
Software Quality
 
Software testing
Software testingSoftware testing
Software testing
 

Testing tests

  • 1. Testing Tests Ideas for better quality test software
  • 2. Brian Colfer brian.colfer@gmail.com @briancolfer
  • 3. Introduction • Testing software is subject to error • False negatives are the main problem • Use Various strategies to help detect when there is a problem
  • 4. Defects in tests • Same source as product defects: • Misunderstood requirements • Logic errors
  • 5. Two types • False positives: type I errors we detect something when it doesn't exist • False negatives: type II errors we don't detect something when it does exit
  • 6. Testing the test framework • Not controversial • Normal test tools and techniques • Frameworks are normal products
  • 7. Track defects in tests • Have QA framework and tests as a part of defect tracking system • Have a release process for software framework and tests
  • 8. Type I errors • Not as much of a worry but costs • Further examination will catch the error • Costs in delays and analysis effort
  • 9. Type II errors • Insidious, you don't know that you don't know • Costs of the defect: normal user defect costs, repair costs and test repair costs. • Deterioration of confidence in software
  • 10. Strategies • Unit tests • Reviews • Quality Control metrics
  • 11. Unit tests • Unit tests validate that test code is correct not the application under test • Use TDD or BDD to write tests • Run unit tests as part of a CI practice for test development
  • 12. Reviews • Step through the code looking for defects • Make it a frequent practice • Keep the scope digestible
  • 13. Quality control metrics • Traditional QC doesn’t apply to software • QC will look for changes in power and sensitivity of the testing • Regression tests are supposed to not find errors • Track defects found by automated tests • Establish a baseline rate of defect detection
  • 14. Multi method testing • Use fault injection to find test errors and ungraceful application failure • Exploratory testing • Don’t make your tests too DRY

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n