Technische Universität München. Software Quality. Management. Dr. Stefan Wagner Technische Universität München. Garching 21 May 2010

Similar documents
An Introduction to. Metrics. used during. Software Development

Optimization of Software Quality using Management and Technical Review Techniques

An Overview of Quality Assurance Practices in Agile Methodologies

Software Quality Assurance Software Inspections and Reviews

Investigating the Temporal Behavior of Defect Detection in Software Inspection and Inspection-Based Testing

A Framework for Software Product Line Engineering

Identification and Analysis of Combined Quality Assurance Approaches

Business Dashboard. Develop a high performance business overnight!

Software Process Training

The Formality Spectrum

Driving Quality Improvement and Reducing Technical Debt with the Definition of Done

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework

Testing Introduction. IEEE Definitions

MANUAL TESTING. (Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info

Collaborative Programming: Pair Programming and Reviews CSE 403

Peer Review Process Description

Software Review Guidelines

SOFTWARE QUALITY - QUALITY COMPONENTS SOFTWARE ENGINEERING SOFTWARE QUALITY THE QUALITY SYSTEM. THE QUALITY SYSTEM (cont d)

Cost-Optimisation of Analytical Software Quality Assurance. Stefan Wagner

Sample Exam Syllabus

Peer Review Process Description

Software quality engineering. Quality assurance. Testing

CSTE Mock Test - Part III Questions Along with Answers

ISTQB Certified Tester. Foundation Level. Sample Exam 1

Guide to: Successful Customer Onboarding

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Software Quality Testing Course Material

Smarter Balanced Assessment Consortium. Recommendation

Chapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management

Quality Meets the CEO

SOFTWARE QUALITY & SYSTEMS ENGINEERING PROGRAM. Quality Assurance Checklist

Software Testing. Quality & Testing. Software Testing

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.

Getting Web Performance Buy-In. Billy

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

Measurable Software Quality Improvement through Innovative Software Inspection Technologies at Allianz Life Assurance

Comparing Methods to Identify Defect Reports in a Change Management Database

Quality Management. Lecture 12 Software quality management

Quality Assurance - Karthik

Verification and Validation of Software Components and Component Based Software Systems

Keywords: SQA,Black Box Testing( BBT), White Box testing(wbt).

Software Project Audit Process

How to measure the ROI of SPI as early as possible

FSW QA Testing Levels Definitions

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

Using Peer Review Data to Manage Software Defects By Steven H. Lett

Presentation: 1.1 Introduction to Software Testing

TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization

Quality Management. Objectives. Topics covered. Process and product quality Quality assurance and standards Quality planning Quality control

CSTE Mock Test - Part I - Questions Along with Answers

Karunya University Dept. of Information Technology

Accounting for ethical, social, environmental and economic issues: towards an integrated approach

The V-model. Validation and Verification. Inspections [24.3] Testing overview [8, 15.2] - system testing. How much V&V is enough?

A Hybrid Learning Course on Software Development Requirements Validation of Tool Support 1

THE KEY ADVANTAGES OF BUSINESS INTELLIGENCE AND ANALYTICS

Learning outcomes. Systems Engineering. Software Quality Management. Product reflects Process. Lecture 5. Introduction to Software Quality Management

Questionnaire based usability testing

Software Quality Management

Highway Asset Management Quick Start Guidance Note. Getting Started

Job Description. Job title Database Administrator: Microsoft SQL. Department Support and Overheads: Information Technology and Systems

Peer Review in Software Development: A Survey

Process Models and Metrics

Basic Testing Concepts and Terminology

Seven Deadly Sins of Debugging

What is a life cycle model?

Peer Testing in Software Engineering Projects

Standard Glossary of Terms Used in Software Testing. Version 3.01

Tutorial on. Project Management

International Software Test Institute

Alberto Bacchelli Delft University of Technology The Netherlands. What Do Code Reviews at Microsoft and in Open Source Projects Have in Common?

User experience storyboards: Building better UIs with RUP, UML, and use cases

MOBILE METRICS REPORT

1. Introduction. Annex 7 Software Project Audit Process

7 Directorate Performance Managers. 7 Performance Reporting and Data Quality Officer. 8 Responsible Officers

Application of the perspectivebased reading technique in the nuclear I&C context. Jussi Lahtinen

Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors

INFORMATION SYSTEMS EXAMINATIONS BOARD

Test-Driven Development. SC12 Educator s Session November 13, 2012

Compensation Reports: Eight Standards Every Nonprofit Should Know Before Selecting A Survey

Board report for 31 May 06 Item 8

ISTQB Advanced Level. Certification Exam. Self Study E-Book

Table of Contents The Revenue Division s Cash Controls Report Number

UNIT-II Part-A Questions

I. General Knowledge, Conduct, and Ethics (16 Questions)

Quality management practices in the South African Consumer Price Index

Director Test Research: David Walkiewicz

Using HP AppPulse Mobile

TestTrack Test Case Management Quick Start Guide

Quality Management. Objectives

Quality Management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1

Software Test Plan (STP) Template

Chap 1. Software Quality Management

An Evaluation of Inspection Automation Tools

KEY PERFORMANCE INDICATORS (KPIS): DEFINE AND ACT

Group18-CUCE2012. Mr. Mobile Project. Software Testing Plan (STP) Version: 4.0. CM Identifier: G18_SE004

LIGHTING CONTROL AT YOUR FINGERTIPS

Standard for Software Component Testing

Strategic time tracking

Chapter 8 Software Testing

Pathways to Digital Growth

Transcription:

Technische Universität München Software Quality Management Dr. Stefan Wagner Technische Universität München Garching 21 May 2010 1

Last QOT: What quality attribute is the hardest to evaluate with tests? "Absence of defects" "Safety" "Reliability" "Usability" Showing absence of defects is clearly not possible with testing. As Dijkstra's law says: "Testing can show the presence but not the absence of errors." 2 Safety is indeed hard to evaluate with tests alone as the system has to be safe in all cases and under all circumstances. Nevertheless, testing is suitable as one building block for providing safety evidence. The best way of evaluating reliabilty are tests. The best way are field tests (or beta tests) in which the future users work with the system. Also system tests tend to be a useful means for evaluating reliablity. Usability can be tested with user tests. The Nielsen-Norman law says: "Usability is quantifiable." New QOT: "On which quality attribute do reviews have the most direct influence?"

Constructive Quality Assurance Testing Review of last week's lecture 3

Metrics and Basics Product Quality Measurement Process Quality Quality Management Certification We are still in the part "Product Quality". 4

Review alkthrough Inspection There is no fixed terminology, but "review" seems to be the most used umbrella term for all quality assurance methods that involve reading the contents of an artefact to find quality defects. Walkthroughs are usually more light-weight in that the author explains the artefact. Inspections are more formalised. 5

Quality Assurance (QA) Constructive QA Process Standards Coding Guidelines Analytical QA Analysing Methods Testing Methods Verifying Methods Metrics Dynamic Test Formal Verification Anomaly Analysis Review/Inspection Model Checking Graphs and Tables Autom. Static Analysis Reviews and inspections are testing methods. 6

Walkthrough Peer Review Technical Review More formalised process Formal or Fagan- Inspection Walkthrough, also called presentation reviews, have the aim that the participants understand the contents of the analysed artefact. The author guides the group through a document and his or her thought processes, so all understand the same thing. The end should be a consensus on how to change the document. Peer reviews do not involve the author explaining the artefact. The author gives the artefact to one or more colleagues who read it and give feedback. The aim is to find defects and get feedback on the programming style. Technical reviews formalise this process. They are often also management reviews or project status reviews. Here the aim is often to make decisions about the project progress. A group discusses the artefact and makes a decision about the content. The main aim of inspections is to find defects. It involves formal individual and group checking using sources and standards. Usually there are detailed and specific rules. 7

Gilb, Graham, Software Inspection, 1993 Optimal reading speed 1± 0.8 pages per hour A surprising but well investigated fact about reviews is that the optimal reading speed is about 1 page per hour. The normal reading speed (without the aim of finding defects) is considerably higher. If you read significantly faster, you miss defects, if you read slower, you do not find more defects. 8

Inspections On average 1/3 of all faults Up to 93% of faults 1-2 person-hours per fault Wagner, A Literature Survey of the Quality Economics of Defect-Detection Techniques, 2006 Effective and efficient Effectivness Are able to find up to 93% of faults On overage, a third of the faults are found Efficiency Effort to detect a fault 1-2 person-hours / fault Comparable to common testing methods But Also in early phases Also on requirements and design documents Fault removal is the least expensive 9

Estimated review effectiveness Percentage of defects 25 25 20 16 14 0-20 21-40 41-60 61-80 81-100 Ciolkowski, Laitenberger, Biffl, Software Reviews: The State of the Practice, 2003 In practice, reviews do not often reach the highest possible effectiveness. Most reviews seem to have an effectiveness between 20% and 60%. 10

Defect-removal effort in person-hours per defect Req. Inspection System Test 1.1 Design Inspection Integration Test 8.4 2.3 5.4 Code Inspection Unit Test 2.7 3.5 Wagner, A Literature Survey of the Quality Economics of Defect-Detection Techniques, 2006 The most interesting data about inspections is the defect-removal effort. It is not only interesting to look at the effort that is needed for finding a defect, but also how much effort is spent on removing it. An inspection gives you directly the cause of the problem, while testing always needs debugging first. The highest removal effort is in system testing with up to 20 person hours per defect. 11

Requirements Design Implementation Test Operation 1 10 100 1000 10000 Defect Costs Boehm, Software Engineering Economics, 1981 It is always better to prevent a defect then to remove it The earlier a defect is found, the less expensive it is. Defect costs here include finding and removing the defect as well as further co (loss of reputation). There is a ten-fold increase from phase to phase. Hence, investing early pays heavily. 12

How often do you review? Percentage of respondents 14 29 11 32 Daily Weekly Monthly At milestones 6 13 14 51 Review Inspection Wagner et al., Quality Models in Practice, 2010 Most reviews and inspections are done at specific milestones in the development process, i.e., only a small number of times. Some companies, however, use reviews and even inspections on a daily basis. 13

Regular reviews of artefacts Percentage of respondents Requirements 42 Design 40 Code 28 Ciolkowski, Laitenberger, Biffl, Software Reviews: The State of the Practice, 2003 Overall, reviews are not well adopted in practice. Less than a third of the companies perform regular code reviews. The situation is not much better for requirements and design. 14

Obstacles to using reviews Percentage of respondents Time pressure 75 Cost 56 Lack of training 50 Ciolkowski, Laitenberger, Biffl, Software Reviews: The State of the Practice, 2003 The major obstacles that people in practice see are time pressure, cost, and lack of training. 15

Group work You are responsible to introduce inspections at your company. How do you convince your colleagues? 15 minutes Design poster Short presentation 16

Early investment pays of later Early feedback on the quality Improves readability 17

Early investment pays off later. Overall quality is higher although costs are lower. 18

The skills of the involved people increase. New employees learn fast in reviews. Early investment pays off later. Better control over the project in early phases. 19

Inspection process Document Change requests Planning Checklists Entry Kick off Individual checking Logging meeting Edit and follow-up Exit Gilb, Graham, Software Inspection, Addison-Wesley, 1993 The planning step involves all organisational tasks, e.g., who needs to take part? What will be inspected? Then it is checked whether the document fullfils the entry criteria, e.g., specific automatic code checks have been peformed, the code compiles. In the kick off meeting, all participants come together to discuss how the inspection will be done. They will receive all necessary material. Afterwards, all participants check the document individually for defects (or issues). Most often, checklists are used to drive this checking. In the logging meeting, the individual issues are logged. Sometimes this also involves joint checking. The edit and follow-up meeting is responsible for issuing change requests for found defects. Here, the document can be scheduled for re-inspection. If the document fullfils the exit criteria, it is successfully inspected. 20

Reading techniques Checklist-based Reading Perspective-based Reading Defect-based Reading Usage-based Reading Basili et al., The Empirical Investigation of Perspective-Based Reading, 1996 Checklist-based reading Defect checking using a checklist Coding guidelines Perspective-based reading Reading from the point of view of different roles Designer, developer, maintainer, user, or tester Defect-based reading Searching for specific defect classes Incorrect function, interface fault, or type fault Usage-based reading Reading following the use cases Needs prioritised use cases 21

The Android open source project uses Gerrit as web based reviewing tool review.source.android.com 22

Overview of a change with description, change set, and responsible reviewers. 23

24 Side-by-side diff view of the change in one file with inline comments from the reviewers.

Mondrian Google uses internally a very similar approach using their Mondrian tool. 25

Review alkthrough Inspection 26