Software Engineering Lecture 8: Quality Assurance.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

1.Quality-“a characteristic or attribute of something.” As an attribute of an item, quality refers to measurable characteristics— things we are able to.
Software Project Management Lecture # 11. Outline Quality Management ( chapter 26 - Pressman )  Software reviews  Formal Inspections & Technical Reviews.
SOFTWARE Quality Management
Formal Technical Reviews
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 6/e (McGraw-Hill 2005). Slides copyright 2005 by Roger Pressman.1.
Software Quality Assurance (SQA). Recap SQA goal, attributes and metrics SQA plan Formal Technical Review (FTR) Statistical SQA – Six Sigma – Identifying.
Software Quality Assurance
Overview Lesson 10,11 - Software Quality Assurance
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 What is software? Software errors, faults and failures Classification.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Software Quality Assurance - Outline ä What is Software Quality assurance(SQA)? ä Quality Concepts. ä Software Quality Assurance Activities. ä Software.
Software Quality Assurance Instructor: Dr. Jerry Gao.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Software Quality Assurance
Chapter 16 Software Quality Assurance
Overview Software Quality Software Quality and Quality Assurance
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Dillon: CSE470: QUALITY ASSURANCE1 Software Qualities Maintainer User Customer Good Documentation Readable Code Good Design Low Cost Portability Increased.
Assistance - Savita Kini November 15, Software Quality Assurance - Outline ä What is Software Quality assurance(SQA)? ä Quality Concepts. ä Software.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
S oftware Q uality A ssurance Part One Reviews and Inspections.
Software Quality Assurance Activities
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
Chapter 8 Software Quality Assurance
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
S Q A.
Software Quality Assurance SE Software Quality Assurance What is “quality”?
Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality.
Software Project Management Lecture # 11. Outline Quality Management (chapter 26 - Pressman)  What is quality?  Meaning of Quality in Various Context.
Software Project Management Lecture # 12. Outline Chapter 26 – Quality Management  What is Quality?  Meaning of Quality in Various Context  Software.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Statistical Software Quality Assurance Implies –Information about defects is collected and categorized –An attempt is made to trace each defect to underlying.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
SQA. 2 Software Quality Assurance What is Software Quality assurance(SQA)? Quality Concepts. Software Quality Assurance Activities. Software Reviews and.
1 Software Quality Assurance. 2 Quality Concepts - 1 Variation control is the heart of quality control Software engineers strive to control the – process.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
JAMINAN KUALITAS PERANGKAT LUNAK NUR CAHYO WIBOWO.
1 Lecture 12: Chapter 16 Software Quality Assurance Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
Software reviews Cost impact of software defects Defect amplification model Review metrics and their use – Preparation effort (E p ), assessment effort.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
More SQA Reviews and Inspections. Types of Evaluations  Verification Unit Test, Integration Test, Usability Test, etc  Formal Reviews  aka "formal.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 26 Quality Management Software Engineering: A Practitioner’s Approach, 6/e Chapter 26 Quality.
Lecture#1 Introduction….Cont Software Quality Engineering Subject : 19(A/B) – {Assignment /Query}
CS223: Software Engineering Lecture 36: Software Quality.
1 Definition Quality costs Plan Team Characteristics Implementation documentation Reviews & Audit Software Quality Assurance.
Software Project Management Lecture # 12. Outline Quality Management ( chapter 26 - Pressman )  SQA  Who does it?  SQA Activities  Software reviews.
Review Techniques SEII-Lecture 16
Software Quality Control and Quality Assurance: Introduction
Software Quality Assurance
CIS 375 Bruce R. Maxim UM-Dearborn
CS223: Software Engineering
Software Quality Assurance
Software Verification and Validation
SOFTWARE PROCESS AND PROJECT METRICS
Software Quality Assurance
Chapter 21 Software Quality Assurance
Quality Quality is “a characteristic or attribute of something.”
Software Quality Assurance
Chapter 21 Software Quality Assurance
Chapter 26 Quality Management
Quality Measurable characteristic Cyclomatic complexity Cohesion
Software Quality Assurance
Chapter 26 Quality Management
Chapter # 1 Overview of Software Quality Assurance
Quality Management By Prakash G Asnani
3. Software Quality Management
Presentation transcript:

Software Engineering Lecture 8: Quality Assurance

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

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”

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

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.

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?

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

Quality Assurance l Auditing and reporting functions l Goals: Provide management with information on product quality Trigger identification & resolution of quality problems

Software Quality Assurance l Conformance to: Explicitly stated functional and performance requirements Explicitly documented development standards Implicit characteristics of professional software

SQA [2] l Three important points: requirements are the foundation for measuring quality specified standards guide the development process implicit requirements (e.g., maintainability)

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

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

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!

[From SEPA 4/e]

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

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!

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

Defect Amplification Model [from SEPA 4/e]

Defect Amplification: No Reviews [From SEPA 4/e]

Defect Amplification: w/Reviews [From SEPA 4/e]

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

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

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

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

Review Guidelines [2] l Allocate resources for reviews l Conduct meaningful training l Review your early reviews!

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

Causes of Defects [2] l Incomplete / erroneous testing l Inaccurate / incomplete documentation l Error in implementation of design l Ambiguous / inconsistent UI

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

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

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

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:

Questions?