Software Quality Assurance Software Inspections and Reviews

Similar documents
Peer Review Process Description

Peer Review Process Description

Software Process Training

Quality Management. Lecture 12 Software quality management

Software Quality Assurance Plan

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Optimization of Software Quality using Management and Technical Review Techniques

The W-MODEL Strengthening the Bond Between Development and Test

Software Quality Assurance: VI Standards

Software Engineering 9.1. Quality Control

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

Chap 1. Software Quality Management

The Role of Information Technology Studies in Software Product Quality Improvement

Knowledge Infrastructure for Project Management 1

The Formality Spectrum

Project Management Competency Standards

Software Quality Management

Software Quality Management

Testing Process Models

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

Darshan Institute of Engineering & Technology Unit : 7

Software Project Management Matrics. Complied by Heng Sovannarith

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Early Software Product Improvement with Sequential Inspection Sessions: An empirical Investigation of Inspector Capability and Learning Effects

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011,

Conceptualizing Total Quality Management (TQM) for Improving Housing Areas for the Urban Poor

Measurement Information Model

Product Architecture Management - an approach to Product Life Cycle

MTAT Software Engineering Management

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Analyze data from multiple disparate sources

SOFTWARE PROCESS IMPROVEMENT AT SYSGENIC

A Framework for Software Product Line Engineering

Implementation of ANSI/AAMI/IEC Medical Device Software Lifecycle Processes.

CMMI STANDARDS IN SOFTWARE DEVELOPING PROCESS

Introduction to Software Engineering. 8. Software Quality

STS Federal Government Consulting Practice IV&V Offering

MNLARS Project Audit Checklist

Certification Authorities Software Team (CAST) Position Paper CAST-26

T task Distribution and Selection Based Algorithm

Basic Testing Concepts and Terminology

Surveying and evaluating tools for managing processes for software intensive systems

Fault Slip Through Measurement in Software Development Process

Basic Trends of Modern Software Development

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors

Failure Mode and Effect Analysis. Software Development is Different

Design Reviews. Introduction

SOFTWARE QUALITY & SYSTEMS ENGINEERING PROGRAM. Quality Assurance Checklist

TR CMS 101:2011. Standard for Compliance Management Systems (CMS)

International Journal of Information Technology & Computer Science ( IJITCS ) (ISSN No : ) Volume 5 : Issue on September / October, 2012

the state of the practice Variations in Software Development Practices

Open Source Approach in Software Development - Advantages and Disadvantages

Information Technology Engineers Examination. Information Security Specialist Examination. (Level 4) Syllabus

Simulating Software Projects An Approach for Teaching Project Management

Automated Office Systems Support Quality Assurance Plan. A Model DRAFT. December 1996

Systems Engineering Process

An Overview of Quality Assurance Practices in Agile Methodologies

Knowledge-based Approach in Information Systems Life Cycle and Information Systems Architecture

Improving Software Project Management Skills Using a Software Project Simulator

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

I.3 Quality Management

Security Controls Assessment for Federal Information Systems

Specialties Manufacturing. Talladega Castings & Machine Co., Inc. ISO 9001:2008. Quality Manual

CREDENTIALS & CERTIFICATIONS 2015

Software Development Life Cycle (SDLC)

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

General Terms of Purchase. of HAN University of Applied Sciences

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

Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland

CSTE Mock Test - Part I - Questions Along with Answers

Lecture 8 About Quality and Quality Management Systems

JOURNAL OF MEDICAL INFORMATICS & TECHNOLOGIES Vol. 21/2012, ISSN

Using Productivity Measure and Function Points to Improve the Software Development Process

CHAPTER 7 Software Configuration Management

Learning from Our Mistakes with Defect Causal Analysis. April Copyright 2001, Software Productivity Consortium NFP, Inc. All rights reserved.

MAKING YOUR ORGANISATION S INFORMATION ACCESSIBLE FOR ALL IMPLEMENTING THE GUIDELINES FOR ACCESSIBLE INFORMATION

AGILE SOFTWARE DEVELOPMENT A TECHNIQUE

A CASE STUDY ON SOFTWARE PROJECT MANAGEMENT IN INDUSTRY EXPERIENCES AND CONCLUSIONS

Overview of STS Consulting s IV&V Methodology

A Competence Model for Global Software Development Teams

Transcription:

Software Quality Assurance Software Inspections and Reviews

Contents Definitions Why software inspections? Requirements for inspections Inspection team Inspection phases 2

Definitions Manual quality assurance in three variants Comment technique Fast, cheap, flexible, low performance Structured walkthrough Medium use of resources and moderate performance Fagan inspection Expensive and time consuming, but effective 3

Definitions Comparison of efficiency and effectiveness of different inspection- and review techniques according to Thaler and Utesch Technique Efficiency Operationally effective deviations Man-hours Effectiveness Operationally effective deviations KNLOC Comment technique 0.05 0.1 Structured walkthrough 0.08 0.8 Inspection 0.17 7.8 4

Definitions Software inspection Manual quality control of a product Small group of participants with defined roles Aims at the detection of faults, not at finding solutions Requires a functioning development process Executed as a formal process Input and output criteria Defined inspection phases Skilled participants Collection and analysis of inspection data including feedback to the inspection process Fault documentation Objectives for the results (e.g. Fault detection rates, inspection rate) An inspection can be executed in every phase of a software development (inspection of the requirements, inspection of the design, inspection of the source codes, inspection of test cases) 5

Definitions Reviews Review here refers to methods which are no formal inspection, partially review is used in the literature as a generic term for all manual test methods (formal inspection included) Often not only focused on the efficient detection of faults, but also as a means for decision making solving of conflicts (e.g. concerning design decisions) exchange of information brainstorming Normally no formal procedure exists for the execution and the choice of the participants as well as their roles Often no record and analysis of review data Often no quantitative objectives 6

Definitions The main differences between reviews respectively walkthroughs and formal software inspections are: Inspections have the exclusive aim to detect faults efficiently and effectively Inspections are done as a defined process 7

Definitions Comparison of efficiency and effectiveness of review and test techniques according to Thaler and Utesch Review Technique NLOC Operationally effective deviations Manhours Efficiency Deviations Man-hours Effectiveness Deviations KNLOC Inspection 11909 87 501 0.17 7.3 Structured walkthrough 176391 226 2680 0.05 1.3 Developer test 188300 334 6112 0.08 1.8 8

Why Software Inspections? Many quality characteristics e.g. understandability, changeability, informational value of identifiers and comments are testable only manually Undetected faults from the definition and design phase later cause high consequential costs As inspections are executed in a team, the knowledge base is enhanced Implements the principle of external quality control Delivery of high-quality results to the subsequent software development phase (milestone) Responsibility for the quality is assigned to the whole team 9

Why Software Inspections? Manual testing of products is a useful complement of tool supported tests The compliance to standards is permanently monitored Critical product components are detected early Every successful inspection is a milestone in the project Every member of the inspection team becomes acquainted with the work methods of his colleagues As several persons inspect the products, the authors try to use an understandable style Different products of the same author contain fewer defects from inspection to inspection It turned out that functioning inspections are a very efficient means for quality assurance 10

Requirements for Inspections The required time has to be scheduled project planning The participants have to be skilled w.r.t. inspections The procedure of the inspections has to be written down and its compliance has to be controlled The project has to be done well-structured and controlled There has to be a quality management process with defined quality objectives The results of inspections must not be used in personnel evaluation The time period between registration and execution of an inspection has to be short, i.e., inspections are executed with high priority Listeners should not participate 11

Inspection Team Moderator Accepted specialist with special training as moderator Chairs meeting and assures that the inspection is executed according to the scheduled procedure Author (editor) Is responsible for the correction of faults detected during the inspection and normally has generated the product to be tested The Author is never the moderator, reader or recorder Reader Leads the inspection team through the session Has to be able to describe illustratively the different parts of the work 12

Inspection Team Recorder Notes and classifies all faults and supports the moderator with the making of the remaining reports Inspectors All members of the inspection team (also the moderator, author, reader, and recorder) are inspectors whose aim has to be the detection of faults Further inspectors can be, e.g. project members from the same project consultants (standards!) system specialists data security officer Size of the review team: 3 to 7 members 13

Inspection Team The minimal number of participants in inspections is 3 (moderator/recorder, reader, author) If there are only 3 persons in an inspection team, the moderator is always the recorder at the same time In every inspection there is an author The inspection team should be as small as possible (max. 7 persons). Everybody should bring in a unique expertise. Additional participants reduce the efficiency and effectiveness of the inspection Inspections are a Peer-to-Peer technique. Managers should not participate 14

Inspection Phases Planning: Organizational preparation Overview: The author informs Preparation: Every inspector prepares Inspection meeting Rework: Fault correction Follow-up: Inspection of the fault corrections 15

Inspection Phases Inspection Planning Planning is done at the start of the project. Time, resources, involved persons, etc. must be assigned The author informs the moderator that his product is ready for inspection The moderator checks whether the product fulfills the input criteria (usually very simple things, like no syntax errors ) If the product does not fulfill the input criteria the moderator informs the author about the required modifications Finally, the moderator invites 16

Inspection Phases Overview The overview is optional. It serves as information for the inspectors about the product. The following reasons may exist for an overview The product is critical within the project, i.e., it has a key position The product is extensive, complex or is connected to numerous other positions The used technology is new The product comes from a one-man-project. The other inspectors need background knowledge. etc. The overview normally takes roughly 2 to 3 hours Faults already detected during the overview have to be corrected before the material is distributed to the inspectors for preparation 17

Inspection Phases Preparation of Inspection Every inspector individually prepares for the inspection meeting and informally notes down all detected faults and ambiguities For this purpose every inspector gets a complete set of the required documents The documents must not be changed until the review There should be guide values for the preparation rate to schedule the preparation time Too low values cause an insufficient knowledge of the inspectors during the inspection meeting Too long preparation times reduce the efficiency The main objective of the preparation is the understanding of the product, not fault detection 18

Inspection Phases Preparation of Inspection According to Fagan the overview should have a source code line rate (without comments) per hour of 500 For the rate of the preparation Fagan proposes 125 source code lines (without comments) per hour. 19

Inspection Phases The Inspection Meeting The moderator introduces the agenda of the meeting and introduces the participants and their roles The reader reads through the documents explaining the content, piecewise and with appropriate speed The inspectors search for faults during the talk Discussions are allowed only concerning faults and their types. The moderator has to make sure that all inspectors concentrate on the fault detection Detected faults are classified if possible (type, priority) and noted by the recorder The author answers questions Checklists can facilitate and systematize the inspection 20

Inspection Phases The Inspection Meeting The goal of the inspection is synergy for the purpose of fault detection. Maximum duration: 2 to 3 hours There should be a guideline for the inspection speed (e.g. LOC/hour) It is determined whether the product is accepted, conditionally accepted or a reinspection is required 21

Inspection Phases The Inspection Meeting According to Fagan the inspection speed should be approximately 90 source code lines (without comments) per hour. The maximum inspection rate should not exceed 125 source code lines (without comments) per hour. 22

Inspection Phases The Inspection Meeting Empirical results of Thaler and Utesch show that with a decrease of the inspection rate the effectiveness of the inspection increases Deviations/KNLOC Operationally effective deviations All deviations Inspection rate in NLOC/hour 23

Software Inspections and Reviews Empirical data by Ebert show that the effectiveness increases with a decrease of the inspection rate. The efficiency increases with a decrease of the inspection rate up to a maximum value and from then on it decreases again with a further decrease of the inspection rate. According to Ebert, the optimum is approximately at 90 statements per man-hour. 24

Inspection Phases Rework of Inspection The author corrects the faults listed in the inspection protocol Fault correction Initiation of a fault correction elsewhere if a correction by the author is not directly possible (e.g. faulty requirement detected in the code inspection) It turns out that an assumed faulty position is correct. A comment of the author in the follow-up is necessary It is possible that faults should not be corrected directly. The fault is then put into the change request system to be dealt with later The author gives the revised version of the product to the moderator, if the product was conditionally accepted in the inspection meeting or a reinspection is necessary If the product was accepted, this phase is completed. The product is brought under configuration control 25

Inspection Phases Follow-Up of Inspection If the product was conditionally accepted during the inspection meeting the verification of the fault correction can be done by two people, e.g., by the author and the reader If a reinspection was decided a conventional inspection meeting takes place that is focused on the faults Pending inspection reports will be created 26

Literature Fagan M.E., Design and code inspections to reduce errors in program development, IBM Syst. J., No. 3, 1976, pp. 182-211 Fagan M.E., Advances in Software Inspections, in: IEEE Transactions of Software Engineering, Vol. SE-12, No. 7, 1986, pp. 744-751 Ebert C., Improving the Validation Process for a Better Field Quality in a Product Line Architecture, Proceedings Informatik 2000, 2000, pp. 372 388 Gilb T., Graham D., Software Inspection, Menlo Park: Addison-Wesley, 1993 Thaler M., Utesch M., Effektivität und Effizienz von Softwareinspektionen, Wien: Oldenbourg, 1996, pp. 183 196 Yourdon E., Structured Walkthroughs, Englewood Cliffs: Prentice-Hall, 1985 27