Software Reviews Software reviews are the filter for

  • Slides: 11
Download presentation
Software Reviews • Software reviews are the filter for the software engineering process •

Software Reviews • Software reviews are the filter for the software engineering process • Applied at various different points and serve to uncover errors that can be removed • Purify the software engineering activities

Recap

Recap

Software Engineering II Lecture 28 Fakhar Lodhi

Software Engineering II Lecture 28 Fakhar Lodhi

Software Engineering II Lecture 28 Fakhar Lodhi

Software Engineering II Lecture 28 Fakhar Lodhi

Requirements Acceptance Test Inspection Architecture Integration Test Inspection Design Unit Test Inspection Code Inspection

Requirements Acceptance Test Inspection Architecture Integration Test Inspection Design Unit Test Inspection Code Inspection The V-Model

Importance of reviews “Technical work needs reviewing for the same reason that pencils needs

Importance of reviews “Technical work needs reviewing for the same reason that pencils needs erasers: To err is human. The second reason that we need technical reviews is although that people are good at catching errors, large class of errors escape the originator more easily than they escape anyone else”. Freedman

Importance of reviews • A review – any review – is a way of

Importance of reviews • A review – any review – is a way of using the diversity of a group of people to: – Point out needed improvements in the product of a single person or team – Confirm those parts of a product in which improvement is either not desired or no needed – Achieve technical work of more uniform, or at least more predictable, quality than can be achieved without reviews, in order to make technical work more manageable. Freedman

Defect Removal Efficiency Jones 1997 Design Inspection Code Inspection Quality Assurance Testing Worst 30%

Defect Removal Efficiency Jones 1997 Design Inspection Code Inspection Quality Assurance Testing Worst 30% 37% 50% 55% 65% 77% 85% 95% Median 40% 53% 65% 70% 87% 90% 97% 99% Best 50% 60% 75% 80% 87% 93% 95% 99. 9% Sample size – 1500 projects

Defect Amplification Model Defects Errors from previous step Errors Passed Through Amplified Errors 1:

Defect Amplification Model Defects Errors from previous step Errors Passed Through Amplified Errors 1: x Newly generated errors Detection Percentage Efficiency for error detection Development Step Errors passed To next step

Errors passed Amplification through. Errors detected Amplified Factor 10 0 Newly 6 in this

Errors passed Amplification through. Errors detected Amplified Factor 10 0 Newly 6 in this stage Errors generated 0 passed 0% errors Errors to 10 next step 37 4 *1. 5 0% Errors passed to 25 next step 94 10 27 * 3 20%Errors passed to next 25 step = 116 - 0. 2*116 47 24 Errors detected = 94 Detailed Code. Errors/Defects /Unit Preliminary Total Errors/Defects Total in this stage 6+4*1. 5+25 10+27*3+25 Design test Design Errors passed to next = 37 Errors passed to next = 116 step = 94 – 0. 5*94 = step = 47 – 0. 5*47 = 47 24 94 94 0 0 50% Errors detected in this stage Integration test 47 0 0 50% 24 0 0 12 50% Final Defects left unidentified Errors detected Validation System test Errors detected in this stage Total Defects 47+0+0 test = 47

After Introducing Inspections at the Design and Code Level Errors passed to next step

After Introducing Inspections at the Design and Code Level Errors passed to next step = 29 - 0. 5*29= 15 Errors detected in this stage 3 0 0 70% Errors passed to 10 next step Preliminary Design 24 24 0 0 15 2 1 *1. 5 50% 25 24 5 10 * 3 60% 25 Detailed Total Defects Design Code /Unit test Total Defects 2+1. 5+25=29 12 50% Integration test Errors passed to next step = 60 - 0. 6*60= 24 12 0 0 5+10*3+25=60 6 50% Validation test 6 0 0 3 50% System test