Software Inspection And Defect Management

26
Software Software Inspection Inspection and and Defect Defect Management Management Kubendran G

Transcript of Software Inspection And Defect Management

Page 1: Software Inspection And Defect Management

Software Software InspectionInspection

andandDefectDefect

ManagementManagement

Kubendran G

Page 2: Software Inspection And Defect Management

ContentContent Introduction Quality Management Defect

Defect management Defect Classification Cost to fix Defects Defect Trends Defect Control

Inspection – Review Software Inspection Process Case study

In Formal Inspection Formal Inspection

Roles, Responsibility and Process Benefits of Inspections Conclusions & Questioners Feedback

Page 3: Software Inspection And Defect Management

Project EffortsProject Efforts

Effort and Time +

Rework

Work

Rework is the cost of detection of defects, correction of defects, detection of regression defects and correction of regression defects

Page 4: Software Inspection And Defect Management

ReworkRework

Phase – wise Distribution of Rework

Requirements : 1% Preliminary Design : 4% Detailed design : 8% Code & Unit Test : 12% Integration & System Test : 19%

Total Rework : 44%

Page 5: Software Inspection And Defect Management

Overview of Quality ManagementOverview of Quality Management

Reduce Rework to reduce time and costs of Projects

Quality Assurance - Prevention of defects Quality Control - Detect defect early Testing can be static and dynamic Testing- Testing application.

Page 6: Software Inspection And Defect Management

DefectDefect

Defect, fault, Problem, Error, Incident, Anomaly, Variance, Failure, Inconsistency, Feature, Bug

The software does not do something that the product specifications says it should do

The software does something that the product specification says it should not do

Page 7: Software Inspection And Defect Management

Potential DefectsPotential Defects

The software does something that the product specifications does not mention

The software does not do something the specifications does not mention but should

The software is difficult to understand, hard to use, is slow or – in the tester’s eyes – will be viewed by the end user as just plain not right.

Page 8: Software Inspection And Defect Management

Defects 4 CsDefects 4 Cs

ClearConsistentCorrectComplete

Page 9: Software Inspection And Defect Management

Causes of DefectsCauses of Defects

Omission : I forgot something that I knew I had to do

Ignorance : I forgot something, because I did not know, I had to do it

Commission : I did something wrong although I knew how to do it right

Typography : I typed something wrong though I knew how to do it right

Page 10: Software Inspection And Defect Management

Causes of DefectsCauses of Defects

Knowledge : I did something wrong because I did not know how to do it

Information : I did something wrong because I did not have the right information or information was misleading

External : I did nothing wrong. The problem was somewhere else and the defect was introduced by some other person

Page 11: Software Inspection And Defect Management

Defect classificationDefect classification

INSPECTION REPORT Major Defect Minor Defect Potential Defect ( Investigate, Clarify) Q – to be sorted during third hour off-line

PROCESS ANALYSIS MEETING REPORT Process Improvement Suggestion Product Improvement Suggestion

Page 12: Software Inspection And Defect Management

Cost to fix DefectsCost to fix Defects

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Reqs Design Code Testing Post Release

Page 13: Software Inspection And Defect Management

Defects TrendsDefects Trends

Defects Profile without Reviews

Design

Requirements

Code

Unit Test

Integration Test

System Test

20

40

100

50

20

10

Page 14: Software Inspection And Defect Management

Defects ControlDefects Control

Defects Profile with Reviews

Design

Requirements

Code

Unit Test

Integration Test

System Test

5 (20)

10(40)

15(100)

7 (50)

3 (20)

1(10)

Reviews

Reviews

Reviews

Page 15: Software Inspection And Defect Management

Review - InspectionReview - Inspection

Review: Presentation of each SW Component to the Group

in each Development Phase Discussion and Coordination with other components

Goal: Goal: Clarification and Accept/Reject DecisionClarification and Accept/Reject Decision

Inspection: Quality Improvement Process to the software project

Goal:Goal:Defect Detection & Defect PreventionDefect Detection & Defect Prevention

Page 16: Software Inspection And Defect Management

What is Software Inspection/ What is Software Inspection/ ReviewReview

Review is a team process to identify defects in software work products early and efficiently.

Review is a process where a group of people scrutinize a work product with the intention of finding defects.

They find the defects, discuss and help eliminate the defects and the cause of defects

Review is a powerful, efficient and effective process for defect management

Page 17: Software Inspection And Defect Management

Software Inspection ProcessSoftware Inspection Process

Document Inspection

Document Inspection

Document Inspection Code Inspection

Document Inspection

Applying Testing Tools

Code Inspection

Requirements

Design

Test Implementation Implementation

Test

Test Plan

Page 18: Software Inspection And Defect Management

Inspection - ObjectivesInspection - Objectives

Defect Detection documents are checked for

cleanness and consistency against rules

Defect Prevention learning from defects found suggesting improvements

Page 19: Software Inspection And Defect Management

What is Software Inspection/ What is Software Inspection/ Review (cont..)Review (cont..)

A simple process to identify defects Highly structured meeting Forum for independent evaluation Form of static analysis or static testing Early, in-process validation technique Form of quality and reliability engineering Performed by software engineering

Page 20: Software Inspection And Defect Management

Objectives of Software Objectives of Software InspectionInspection

Identify as many defects as possible Identify defects in early stages of life cycle Identify defects before testing and fielding Identify defects cheaply and inexpensively Reduce development and maintenance

costs Shorten development cycle time Quantitatively control quality and

reliability

Page 21: Software Inspection And Defect Management

InFormal and Formal InspectionInFormal and Formal Inspection

Informal Case Study Formal Case Study

Page 22: Software Inspection And Defect Management

Formal Inspection ProcessFormal Inspection Process

Inspection Stage Description

Review Planning Identifies work product to be inspected and sets the inspection schedule.

Overview Meeting Optional phase where team members who are unfamiliar with the work product to be inspected receive orientation.

Individual Preparation Team members inspect the work individually looking for defects in the work product.

Defect Logging Meeting Log Bugs, agreed by all .

Process Analysis Meeting Root cause analysis.

Rework Action, Update the bug status.

Follow up The rework is verified, final inspection data is collected and summarized, and the inspection is officially closed. - Baseline the doc.

Page 23: Software Inspection And Defect Management

The Formal Inspection Team The Formal Inspection Team

Author The individual that assumes the role of Author will be ultimately responsible for

updating the work product after the inspection. PM.

Moderator The Moderator is responsible for ensuring that the inspection procedures are

performed through out the entire inspection process. Lead.

Reader The reader is responsible for leading the Inspection Team through the

inspection meeting by reading aloud small logical units, paraphrasing where appropriate.

Recorder The Recorder will document all defects that arise from the inspection meeting. This documentation will include where the defect was found.

Inspector All of the Inspection Team individuals are also considered to play the Inspector

role, independent of other roles assigned. Observers or Passive player or QA

Page 24: Software Inspection And Defect Management

Benefits of InspectionsBenefits of Inspections

IBM Inspections Resulted in:

23% Increase in coding Productivity 38% Reduction in Defects detected after Unit test

AT&T Inspections Resulted in:

14% Increase in Productivity Tenfold Increase in Quality

Inspections are 20 times more effective than Testing HP

80% of Defects detected by Inspections were unlikely to be detected by other means

Page 25: Software Inspection And Defect Management

ConclusionsConclusions

Reviews prepare the ground and stabilize SDPAdaptation of the inspection method for the EnvironmentGain in quality and experience Appreciated by authors and peersHelp for team building in a distributed environment

Page 26: Software Inspection And Defect Management

FutureFuture

Good understanding for the next phase: stabilize inspection process and keep style provide a helpful framework based on experience use it through entire development cycle ‘lighter’ inspection - faster turnaround time use sampling techniques keep real logging meetings where possible provide metrics stay flexible and efficient

http://atddoc.cern.ch/Atlas/DaqSoft/sde/Welcome.html [email protected]