Download presentation
Presentation is loading. Please wait.
Published byBelinda Stafford Modified over 8 years ago
1
Software Engineering Lecture 8: Quality Assurance
2
Today’s Topics l Elements of Software Quality l Quality Control & Assurance l The Cost of Quality l Defect Amplification & Removal l The Formal Review Process l Software Reliability & Safety
3
Software Quality Assurance l The goal of SE: “to produce high-quality software” l Question: “What is software quality?” l Poor definition: “Something you worry about after code has been generated”
4
SQA Principles l Quality management approach l Effective SE methods / tools l Ongoing technical reviews l Multi-tiered testing strategy l Control of documentation, updates l Standards compliance procedure l Ongoing measurement, reporting
5
Variation Control l One goal is to minimize variation: Among products, product versions Process results (estimated vs. actual) Behavior (defects noted over time) l Challenge: constantly evolve the product without degrading its reliability, functionality, etc.
6
What is Quality? l Quality of design Requirements analysis Specifications Architectural design, detailed design l Evaluating the product Does design follow requirements? Does implementation follow design? Does product meet performance goals?
7
Quality Control l Inspections, reviews, tests: Each module meets requirements? Feedback to development process Automated, manual, hybrid tests l Key: All modules must have defined and measurable specifications for output evaluation
8
Quality Assurance l Auditing and reporting functions l Goals: Provide management with information on product quality Trigger identification & resolution of quality problems
9
Software Quality Assurance l Conformance to: Explicitly stated functional and performance requirements Explicitly documented development standards Implicit characteristics of professional software
10
SQA [2] l Three important points: requirements are the foundation for measuring quality specified standards guide the development process implicit requirements (e.g., maintainability)
11
The Cost of Quality l Prevention costs quality planning formal technical reviews test equipment & training l Appraisal costs “first time through” single project, historical evolution equipment calibration & maintenance testing effort
12
The Cost of Quality [2] l Failure costs include: Internal failure costs (before release) rework & repair failure mode analysis External failure costs (after release) complaint resolution product return and replacement help line support warranty work
13
Cost of Correcting Defects l Relative costs to find and repair a defect increase dramatically: From prevention to detection From internal vs. external l IBM example: Prevention = ~$90/defect Field fix = ~$25,000/defect 18x more expensive!
14
[From SEPA 4/e]
15
SQA Activities l Independent person or group “...large classes of errors escape the originator more easily than … anyone else” [FRE90] l Prepare SQA Plan Evaluations to be performed Audits and reviews to be performed Standards applicable to the product Error reporting and tracking Documents produced by SQA Amount/type of feedback to developers
16
Types of Reviews l Informal discussion of technical problems l Formal presentation to customers / management / staff l Formal technical review (FTR) “code walkthrough” l Find errors before they become defects!
17
Reviews [2] l Design activities introduce 50-65% of all errors l Reviews can uncover up to 75% of all design flaws l Substantial cost savings in development and maintenance
18
Defect Amplification Model [from SEPA 4/e]
19
Defect Amplification: No Reviews [From SEPA 4/e]
20
Defect Amplification: w/Reviews [From SEPA 4/e]
21
Defect Removal Percentage of Costly Defects Is Higher (66% vs. 93%) [From SEPA 4/e] Cost Before test Much Greater (34% vs. 7%) Total Cost of Defects Much Greater
22
The Review Meeting l 3-5 people l Advance preparation (< 2 hours per person) Review software, read documentation l Meeting duration less than 2 hours l Constraints limit focus of each meeting (e.g., single component) l Improve likelihood of uncovering errors
23
Review Meeting [2] l Agenda: Introduction by developer Walk-through with Q/A Review “issues list” is created Decide whether to: accept module without modifications reject due to severe errors (repeat review at a future time) accept with revisions (no further review) Summary Report / Action Items
24
Review Guidelines l “Review the product, not the producer” l Set and maintain agenda l Limit debate and rebuttal l Enunciate, don’t solve problems l Take written notes l Insist on advance preparation
25
Review Guidelines [2] l Allocate resources for reviews l Conduct meaningful training l Review your early reviews!
26
Causes of Defects l Incomplete / erroneous spec l Misinterpret customer communication l Intentional deviation from spec l Programming standards not met l Error in data representation l Inconsistent module interface l Error in design logic
27
Causes of Defects [2] l Incomplete / erroneous testing l Inaccurate / incomplete documentation l Error in implementation of design l Ambiguous / inconsistent UI
28
Statistical QA l Collect info about defects l Trace defects to causes, tabulate l Prioritize (e.g. “80/20 rule”) l Move to correct problems l Create error index for each module, weighting more heavily those errors that were discovered later
29
Software Reliability l “Probability of failure-free operation of a module in a specified environment for a specified time” [MUS87] l How to define “failure”? l Annoying vs. catastrophic l Varying effort to fix
30
Reliability Measures l Mean time between failures (MTBF) l Obscure defects occur rarely l Some defects never detected l Defects that are more frequent and costly are most important
31
Software Safety l Identify hazards l Prioritize (probability, severity) l Design to minimize hazards l Execution modeling: Fault tree analysis [VES81] Real-time logic [JAN86] Petri nets [LEV97 l Poka-yoke devices:
32
Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.