This lecture Software quality and inspections • Perspectives of quality • Quality factors • Two examples: – Reliability – Usability by Kristian Sandahl • Inspections • Process improvement paradigms Perspectives of quality • Transcendent – something we learn to recognize • Product-based – measurable variable • Usage-based – in the eyes of the beholder • Manufacturing-based – conformance to requirements • Value-based – market sets the value Many opinions ⇒ Statistical techniques Quality factors • • • • • • • • • • • • • • • • • • Correctness Reliability Efficiency Usability Integrity Maintainability Flexibility Testability Security Price? Portability Reusability Interoperability Survivability Safety Manageability Supportability Replaceability Functionality Reliability • The probability that the software executes with no failures during a specified time interval • Approximation: MTTF/(1+MTTF) • Reliability engineering: – Goal failure intensity – Operational profiles – Statistical Usage Testing Usability • Relevance • Efficiency • Attitude • Learnability Usability engineering: – Task analysis – Prototyping (HI-FI, LO-FI) Systematic inspections • The best way of finding many defects • Experimentally proven in replicated studies • Goals: – Find defects – Training – Communications – Hostage taking Roles • • • • Author Moderator Inspector Scribe Process Inspection record • Group: • Initial: – Check criteria – Plan – Overview • Individual: – Preparation, or – Detection – – – – Detection, or Collection Inspection record Data collection • Location • Description • Decision for entire document: – Pass with changes – Reinspect • Exit: – Change – Follow-up – Document & data handling Data collection • • • • • Number of defects Classes of defects Severity Number of inspectors Number of hours Reading techniques • • • • Inspections cost a lot! Checklist Scenario Perspective Usage-based Inspections in quality assurance • • • • Appraisal – defect detection Assurance – prediction of defects Control – adjust the process Improvement: reduce variation, increase precision Analysis Design Coding Root-cause analysis • Performed regularly for severe defects, frequent defects, or random defects • Popular mind map: The Ishikawa diagram Main cause Main Main cause cause Test-cases Problem Inspection data Inspection Inspection Inspection data data data Main cause Inspection data CMM QIP 5: Optimising 4: Managed 3: Defined 2: Repeatable 1: Initial Main Main cause cause 1. 2. 3. 4. 5. 6. Set quantifiable goals Select processes Run processes Measure objectives Analyse measurements Package experience