26
Q Defect removal effectiveness and Defect removal efficiency – a refined approach Mahesh Kuruba Japan SEPG 2005

Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q

Defect removal effectiveness and Defect removal efficiency –

a refined approach

Mahesh Kuruba

Japan SEPG 2005

Page 2: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q

Background

Page 3: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Real life scenario

Customer complains that “Development group has failed to deliver fully operational or acceptable level quality software”

Page 4: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Idea!!!

It’s a good idea!!!How to make it work?

What are the consequences?

Caper Jones suggests incorporating ‘Defect removal efficiency’ targets in the contract.

Page 5: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

QCustomer : The Defect removal efficiency has to be >=95%Manager : OK

Customer : The software is not up to the mark. There are critical defectsManager : But, the Defect removal efficiency is 98%

While signing contract

While product delivery

Manager: Where is the

Problem?

Page 6: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Conventional Defect removal efficiency metric

Defect removal efficiency = 100*detected defects Total

tdevelopmen duringdetected defects Total⎟⎠⎞

⎜⎝⎛

Using the above defect removal efficiency metric, reviewers/testers might uncover defects during software development that are not critical but still achieve higher defect removal efficiency.

In spite of high defect removal efficiency the customer might be unhappy, due to the presence of critical defects in the software.

Page 7: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q An Example

Defect data of a release by defect severity

Defect data of a release by defect type

Defect removal efficiency =

Defect removal efficiency = 61.5

Relatively customer satisfaction is much lower than defect removal efficiency values

Defect type No. of Defects Defect type No. of DefectsPerformance 2 Functionality 2Functionality 2 Performance 2Standards 4 Standards 1Total no. of defects 8 5

ProductionTesting

100*detected defects Total

testing and inspection duringdetected defects Total⎟⎠⎞

⎜⎝⎛

Page 8: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Definitions & Terminology in Literature• Briand et.al, [1] distinguishes the difference between effectiveness and

efficiency, by considering cost in the efficiency

• Caper Jones [2] computes defect removal efficiency as the percentage of software defects removed prior to delivery.

• Barnard and Price [3] computes defect removal efficiency as the percentage of coding faults found by code inspections

• Ravichandran and Shareef [4] defines test efficiency as ratio of number of bugs found up to and including system testing to the number of bugs found during and after testing

• Seimens [5] uses test effectiveness metric as number of failures per KDLOC (Kilo Delivered Lines of Code)

• The defect removal effectiveness of inspection process is being termed as inspection effectiveness [4] [6]. However, the test effectiveness is being defined differently in the literature.

Page 9: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q

Refined Approach

Page 10: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Defect removal techniques

Testing Review

DefectsInspections

Perspective Based Reading (PBR)

Peer reviews

Design reviews

Desk checking

Walkthroughs

Manual

Automated

Regression

Performance

Usability

Compatibility

Page 11: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q

Conventional approach

Refined approach

List various defect types and severity

Compute weightage using AHP(Analytic Hierarchy Process )

Modify defect removal effectiveness metricCollect defect data of project

Compute Defect Removal Effectiveness (DRE) with modified metric

Compute Defect Removal Effectiveness (DRE) using conventional metric

Compare DRE results of conventional and refined approach

Refined approach

Page 12: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Analysis approach

Compare DRE by defect type using conventional and refined metrics, with customer satisfaction

Compute DRE by defect type

using modified metric

Compute DRE by defect type using conventional metric

Compute customer satisfaction by defect type

Conventional approach Refined approach

Page 13: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Refined Defect removal effectiveness definition and metric

‘Defect removal effectiveness’ is defined as the percentage of defects uncovered from software by a defect removal techniqueto the total number of defects uncovered, which are significant to the end users.

Defect Removal Effectiveness (DRE) =

Where DRT is the number of defects uncovered by a defect removal technique DT is the total number of defects uncovered, during and after using the defect

removal techniqueWDTS is the weightage of defect type and severity, which is computed using AHPnDTS is the number of various combinations defect types and severities

( )100

1

1 *)*(

*

=

=DTS

DTS

n

iDTST

n

iSDTRT

WD

WD

Page 14: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Refined Defect removal efficiency definition and metric

( )PDRED *)( =η

where DRE is the defect removal effectiveness P is the normalized productivity of the defect removal team

Defect removal efficiency value varies between 0 and 100. Defect removal efficiency value of ‘0’ represents inefficient defect removal technique and ‘100’ represents the efficient defect removal technique .

‘Defect removal efficiency’ is defined as uncovering of defects effectively by defect removal techniques from the software product with the available resources.

Defect removal efficiency

Page 15: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Case study

• Product development team – Size of 60 people– Defect logging– Dedicated test team– Periodic Customer satisfaction index

• Study based on a release

Page 16: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Determining weightage of defects using AHP Step1

End user provides inputs to determine weightage of defect based on its type and severity

Add the values in each column

Page 17: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Determining weightage of defects using AHPStep2 weightage is computed

as mean value after normalization

Page 18: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Defect removal effectiveness of Review

Comparison of Review effectiveness

Page 19: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Defect removal effectiveness of Testing

Comparison of Test effectiveness

Page 20: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Defect removal effectiveness of the Release

Comparison of Defect removal effectiveness

Page 21: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Defect removal effectiveness and Customer satisfaction

‘Requirements’ defect type has the lowest customer satisfaction.

DRE of AHP approach is relatively lower than conventional approach.

DRE using AHP approach provides better insight aboutthe defect removal process

Page 22: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Defect removal efficiency

Page 23: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q Refined approach

Advantages• Teams can focus on

the defects significant to the customer

• Improved insight in to the review or testing process

• Helps in choosing alternative review or testing techniques

Disadvantages• Difficulty in providing

inputs to compute weightages

• Categorizing defects affects inspection/test effectiveness and inspection/test efficiency values

Page 24: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q References1. Lionel Briand, Khaled El Emam, Oliver Laitenberger, “Using

simulation to build inspection efficiency benchmarks for development projects”, Proceedings of the 20th International Conference on Software engineering, Apr 1998, pp: 340-349.

2. Caper Jones, “Software defect-removal efficiency”, Computer , Vol 29, No 4, Apr 1996, pp:94 – 95

3. Jack Barnard, Art Price, “Managing code inspection information“, IEEE Software, Vol 11, No 2, Mar 1994, pp:59-69

4. Ravichandran, S, Shareef. P. M., “Software Process Assessment through Metrics Models”, Proc. of the ESCOM 2001, Apr 2001, London, pp: 367-376.

5. Seimens automation metrics, http://www.hi.is/pub/cs/2001-02ms/gsh/siemens2.doc

6. Claes Wohlin, Aybuke Aurum, Haken Peterson, Forrest Shull, Markus Ciolkowski, “Software inspection benchmarking- A Qualitative and Quantitative Comparative opportunity”, Proceedings of 8th IEEE Symposium on Software Metrics, Jun 2002, pp:118-127.

Page 25: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q

Questions

Page 26: Defect removal effectiveness and Defect removal efficiency ... · • Briand et.al, [1] distinguishes the difference between effectiveness and efficiency, by considering cost in the

Q

Thank you

Mahesh Kuruba

[email protected]