Download presentation
Presentation is loading. Please wait.
Published byMarvin Watson Modified over 6 years ago
1
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
2
Recap
3
Software Engineering II
Lecture 28 Fakhar Lodhi
4
Software Engineering II
Lecture 28 Fakhar Lodhi
5
The V-Model Requirements Acceptance Test Inspection Architecture
Integration Test Inspection Design Unit Test Inspection The V-Model Code Inspection
6
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
7
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
8
Defect Removal Efficiency Jones 1997
Design Inspection Code Inspection Quality Assurance Testing Worst 30% 37% 50% 55% 65% 75% 77% 85% 95% Median 40% 53% 70% 80% 87% 90% 97% 99% Best 60% 93% 99.9% Sample size – 1500 projects
9
Defect Amplification Model
Defects Detection Errors from previous step Errors Passed Through Percentage Efficiency for error detection Errors passed To next step Amplified Errors 1:x Newly generated errors Development Step
10
10 37 94 0% 6 0% 10 20% 4 *1.5 27 * 3 10 25 25 Preliminary Design
Errors passed through Amplification Factor Errors detected in this stage Errors detected in this stage Amplified Errors 10 37 94 0% 6 0% 10 20% Newly generated errors 4 *1.5 27 * 3 Errors passed to next step Errors passed to next step = *116 = 94 Errors passed to next step 10 25 25 Errors detected in this stage Preliminary Design Detailed Design Code /Unit test Total Errors/Defects 6+4* = 37 Total Errors/Defects 10+27*3+25 = 116 Errors passed to next step = 94 – 0.5*94 = 47 Errors passed to next step = 47 – 0.5*47 = 24 94 47 24 12 94 50% 47 50% 24 50% Final Defects left unidentified Errors detected in this stage Errors detected in this stage Integration test Validation test System test Errors detected in this stage Total Defects = 47
11
After Introducing Inspections at the Design and Code Level
Errors passed to next step = *29= 15 Errors passed to next step = *60= 24 Errors detected in this stage 3 15 24 70% 2 50% 5 60% 1 *1.5 10 * 3 10 Errors passed to next step 25 25 Preliminary Design Detailed Design Code /Unit test Total Defects =29 Total Defects 5+10*3+25=60 24 12 6 3 24 50% 12 50% 6 50% Integration test Validation test System test
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.