What Do We Know about Defect Detection Methods P. Runeson et al.; "What Do We Know about Defect Detection Methods?", IEEE Software, May/June. 2006 Page(s):

Slides:



Advertisements
Similar presentations
Verification and Validation
Advertisements

Testing and Quality Assurance
Mapping Studies – Why and How Andy Burn. Resources The idea of employing evidence-based practices in software engineering was proposed in (Kitchenham.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
6/19/2007SE _06_19_Overview_Inspections.ppt1 Team Software Project (TSP) June 19, 2007 High Level Designs, Code Inspections & Measurement.
Software Quality Metrics
Software Testing. Overview Definition of Software Testing Problems with Testing Benefits of Testing Effective Methods for Testing.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
An Experimental Evaluation on Reliability Features of N-Version Programming Xia Cai, Michael R. Lyu and Mladen A. Vouk ISSRE’2005.
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software development methodologies: - The software development life cycle.
Validating and Improving Test-Case Effectiveness Author: Yuri Chernak Presenter: Lam, Man Tat.
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software development methodologies: - The software development life cycle.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Verification and Validation
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
Software testing standards ISO/IEC and 33063
Software Inspections and Walkthroughs By. Adnan khan.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Software Testing Content Essence Terminology Classification –Unit, System … –BlackBox, WhiteBox Debugging IEEE Standards.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
Chapter 1: Introduction to Software Testing Software Testing
Test plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
ISERN Open Issues, Grand Challenges or Have we made any progress and where are going? Vic Basili 2001.
Formal and Informal Peer Reviews
TESTING PRINCIPLES BY K.KARTHIKEYAN. PRINCIPLES Principle 1. Testing is the process of exercising a software component using a selected set of test cases,
Reviewed By: Paul Varcholik University of Central Florida EEL 6883 – Software Engineering II Spring 2009 Wojciech James Dzidek, Erik.
What do we know about exploratory testing? Implications for Practice
Disciplined Software Engineering Lecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
1 FRENCH PROPOSAL FOR ESARR6 1 - BACKGROUND - 15/02/00 : Kick-off meeting, Presentation of the CAA/SRG input (SW01), Request from the chairman to comment.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
This chapter is extracted from Sommerville’s slides. Textbook chapter
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Ch 22 Verification and Validation
Verification and Validation Assuring that a software system meets a user's needs.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
What Type of Defects are Really Discovered in Code Reviews. Mika V
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
LOGO TESTING Team 8: 1.Nguyễn Hoàng Khánh 2.Dương Quốc Việt 3.Trang Thế Vinh.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
Software Quality Assurance and Testing Fazal Rehman Shamil.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Software inspections l Involve people examining the source representation with.
Further Investigations into the Development and Evaluation of Reading Techniques for Object-Oriented Code Inspection Alastair Dunsmore, Marc Roper and.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Cs498dm Software Testing Darko Marinov January 24, 2012.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Software Testing. Software Quality Assurance Overarching term Time consuming (40% to 90% of dev effort) Includes –Verification: Building the product right,
Testability.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Quality Control and Quality Assurance: Introduction
Software Configuration Management (SCM)
CSC 480 Software Engineering
Verification and Validation Unit Testing
Software Engineering S o f t w a r e T e s t i n g Chapter 8
Integrating quality activities in
TYPES OF TESTING.
Testing and Inspection Present and Future
Testing, Inspection, Walkthrough
Presentation transcript:

What Do We Know about Defect Detection Methods P. Runeson et al.; "What Do We Know about Defect Detection Methods?", IEEE Software, May/June Page(s):

Summary A survey of defect detection studies comparing inspection and testing techniques A survey of defect detection studies comparing inspection and testing techniques Yields practical recommendations: Yields practical recommendations: Use inspections for requirements and design defects Use inspections for requirements and design defects Use testing for code Use testing for code

Article Vocab Review Evidence-based software engineering Evidence-based software engineering Determines which methods to use and for what purpose Determines which methods to use and for what purpose EBSE involves relevant questions, surveying and appraising available evidence EBSE involves relevant questions, surveying and appraising available evidence Integrates and evaluates new practices in a target environment Integrates and evaluates new practices in a target environment Used as basis of article to help determine most efficient and effective methods for defect detection Used as basis of article to help determine most efficient and effective methods for defect detection

Article Vocab Review (con’t) Defect Defect Relates to one or more underlying faults in an artifact such as code Relates to one or more underlying faults in an artifact such as code Maps to single faults (faults and defect are used interchangeably) Maps to single faults (faults and defect are used interchangeably) Artifact Artifact Requirements Requirements Design Design Code Code Using industrial artifacts improves the studies generalizabilty Using industrial artifacts improves the studies generalizabilty

Types of Defects Grammatical defects are much different from missing requirements in a requirements specification Grammatical defects are much different from missing requirements in a requirements specification Testing and inspection methods may deem better or worse depending on the type of defect Testing and inspection methods may deem better or worse depending on the type of defect Omission (missing) vs. Commission (incorrect) Omission (missing) vs. Commission (incorrect) Unimportant, unimportant, crucial Unimportant, unimportant, crucial Classify defects on origins : Classify defects on origins : Requirements Requirements Design Design Code Code

Actors & Technique Who is the reviewer or tester Who is the reviewer or tester Freshman student in an experiment Freshman student in an experiment Experienced software engineer Experienced software engineer Technique Technique Relative to inspection and testing Relative to inspection and testing Inspection – families of verification techniques Inspection – families of verification techniques Testing – structural (white box) & functional (black box) Testing – structural (white box) & functional (black box)

Purpose What's the purpose of the inspection and testing activity? What's the purpose of the inspection and testing activity? Validation – assuring the correct system is developed Validation – assuring the correct system is developed Verification – assuring the system meets its specifications Verification – assuring the system meets its specifications Both? Both? Detection (for later isolation) vs. Isolation (isolate the underlying fault) Detection (for later isolation) vs. Isolation (isolate the underlying fault)

Defect detection activities Consider defect origins: Consider defect origins: Primary defect detection (1) Primary defect detection (1) Secondary defect detection (2) Secondary defect detection (2)

Evaluation criteria Efficiency - # of defects found per time unit spent on verification Efficiency - # of defects found per time unit spent on verification Effectiveness – the share of the existing defects found Effectiveness – the share of the existing defects found

The Survey (finally)!!!!!

Data from the studies

The issues covered from Table 2&3 Requirements defects Requirements defects Design defects Design defects Code defects Code defects Different defect types Different defect types Efficiency versus effectiveness Efficiency versus effectiveness

Requirements defects – Thank god for the experts! Different requirements inspection methods; same conclusion: Different requirements inspection methods; same conclusion: Spending effort up front to establish a good set of requirements is more efficient than developing a system on basis of incorrect requirements and then reworking it Spending effort up front to establish a good set of requirements is more efficient than developing a system on basis of incorrect requirements and then reworking it

Design defects Is inspecting design documents or testing the implemented function more efficient? Is inspecting design documents or testing the implemented function more efficient? Inspections were significantly more effective and efficient than testing Inspections were significantly more effective and efficient than testing More than half of the defects (53.5 %) found during inspection More than half of the defects (53.5 %) found during inspection Less found during testing (41.8 %) Less found during testing (41.8 %) Bottom line : design inspection is the winner! Bottom line : design inspection is the winner!

Code defects Which is better? Code inspection or testing (functional or structural)? Which is better? Code inspection or testing (functional or structural)? Which is more effective? Which is more effective? Which is more efficient? Which is more efficient? No clear winner No clear winner We’ll see why next slide We’ll see why next slide

Average effectiveness for code defect detection

Average efficiency for code defect detection

Survey issues Different defect types Different defect types Absence or presence of different types of defects might affect efficiency and effectiveness Absence or presence of different types of defects might affect efficiency and effectiveness Studies report defects by differing types and cannot be used to investigate whether the differences depend on fault type, not only the technique Studies report defects by differing types and cannot be used to investigate whether the differences depend on fault type, not only the technique Frequency of defects vary widely Frequency of defects vary widely Only a fraction of defects were found among studies – affects defect type frequency Only a fraction of defects were found among studies – affects defect type frequency Classification schemes involve subjective judgment Classification schemes involve subjective judgment Conclusion: jury is out as to the effect of defect types on the performance of inspection versus testing Conclusion: jury is out as to the effect of defect types on the performance of inspection versus testing

Survey issues (con’t) Effectiveness and efficiency Effectiveness and efficiency Only 25 to 50 percent of defects found during inspection Only 25 to 50 percent of defects found during inspection 30 to 60 percent found during testing 30 to 60 percent found during testing More than HALF defects remain!! More than HALF defects remain!! Conclusion: Primary defect detection methods’ low effectiveness and efficiency values is that secondary detection methods play a larger role that the surveys conclude Conclusion: Primary defect detection methods’ low effectiveness and efficiency values is that secondary detection methods play a larger role that the surveys conclude

The results are in! For requirements defects, no empirical evidence exists at all, but the fact that costs for requirements inspections are low compared to implementing incorrect requirements indicates that reviewers should look for requirements defects through inspection.

The results are in! For design specification defects, the case studies and one experiment indicate that inspections are both more efficient and more effective than functional testing.

The results are in! For code, functional or structural testing is ranked more effective or efficient than inspection in most studies. Some studies conclude that testing and inspection find different kinds of defects, so they’re complementary. Results differ when studying fault isolation and not just defect detection.

The results are in! Verification’s effectiveness is low; reviewers find only 25 to 50 percent of an artifact’s defects using inspection, and testers find 30 to 60 percent using testing. This makes secondary defect detection important. The efficiency is in the magnitude of 1 to 2.5 defects per hour spent on inspection or testing.

Results Summary Table

Questions ???