1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
Static Technique. Static Technique - Review  A way of testing software work products  Program code, requirement spec., design spec.  Test plan, test.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
 Every stage from phase DESIGN in Software Development Process will have “design document” especially in analysis and design phases.  “Design document”
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
Code Inspections CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 23, 2003.
Overview Lesson 10,11 - Software Quality Assurance
OHT 8.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Review objectives Formal design reviews (FDRs) Participants Preparations.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
SE 555 Software Requirements & Specification Requirements Validation.
CSC 395 – Software Engineering Lecture 9: Testing -or- How I Stopped Worrying and Learned to Love the Bug.
 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 For Software Engineering && Architecture and Design.
Verification and Validation
Design Reviews Peer Reviews. Agenda Peer Reviews Participants of Peer Review Preparation for a Peer Review Session The Peer Review Session Post-peer Review.
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
Introduction to Software Quality Assurance (SQA)
Software Inspections and Walkthroughs By. Adnan khan.
Slide 6.1 CHAPTER 6 TESTING. Slide 6.2 Overview l Quality issues l Nonexecution-based testing l Execution-based testing l What should be tested? l Testing.
Software Quality Assurance Activities
Lecture 16 Formal Technical Reviews (FTRs) (also know as inspections) FOR0383 Software Quality Assurance 9/19/20151Dr Andy Brooks Don´t review in your.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
Phil Cronin Anne Hill Allen Schones CIS841 Summer on Campus 1998 IN-PROCESS INSPECTIONS FOR OBJECT ORIENTED DESIGNS.
程建群 博士 (Dr. Jason Cheng) 年 03 月 Software Engineering Part 06.
Software Quality Assurance Lecture #2 By: Faraz Ahmed.
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.
Disciplined Software Engineering Lecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Product Design Finalization; Inspections.
6. Testing and Verification
Formal Technical Reviews Matt Graham 18 November 2004 EECS 814 University of Kansas.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Inspection and Review The main objective of an Inspection or a Review is to Detect Defects. (Today -there may be some other goals or broader definition.
Unit III Static Testing. static testing Testing of a component or system at requirements or implementation level without execution of any software, e.g.,
Inspection and Review The main objective of an Inspection or a Review is to detect defects. This activity and procedure was first formalized by Mike Fagan.
Thomas L. Gilchrist Testing Basics Set 5: CM & Peer Reviews By Thomas L. Gilchrist CSQE,CSQA 2009.
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Advances In Software Inspection
Peer Review Presented by : Basker George. Peer ( 同等的人 ) Review( 回顾 ) During the development of software, defects are inevitably ( 不可避免 ) injected. Defect.
VERIFICATION AND VALIDATION TECHNIQUES. The goals of verification and validation activities are to assess and improve the quality of the work products.
Software Engineering 2 Term Project by: Feras Batarseh Nestor Rivera.
Software Project Management Lecture # 12. Outline Quality Management ( chapter 26 - Pressman )  SQA  Who does it?  SQA Activities  Software reviews.
SQA COMPONENTS IN THE PROJECT LIFE CYCLE C HAPTER 8 Dr. Ahmad F. Shubita.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Software Reviews Ashima Wadhwa.
SQA project process standards IEEE software engineering standards
Software Quality Control and Quality Assurance: Introduction
CIS 375 Bruce R. Maxim UM-Dearborn
Software Configuration Management (SCM)
Software Quality Assurance
CSC 480 Software Engineering
SQA project process standards IEEE software engineering standards
Software Quality Assurance
Peer Reviews 11/21/2018.
Software Quality Assurance
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
Applied Software Project Management
QA Reviews Lecture # 6.
WALKTHROUGH and INSPECTION
Testing and Inspection Present and Future
Software Reviews.
Role Based Peer Reviews A. Winsor Brown Oct. 2, 2009
Presentation transcript:

1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883

2 Software Inspections  “Software Inspections are a disciplined engineering practice for detecting and correcting defects in software artifacts, and preventing their leakage into field operations.” Don O'Neill, Don O' Neill Consulting for SEI

3 Software Walkthroughs  a form of software peer review "in which a designer or programmer leads members of the development team and other interested parties through a software product, and the participants ask questions and make comments about possible errors, violation of development standards, and other problems" (IEEE Std , IEEE Standard for Software Reviews, clause 38. software peer reviewIEEEsoftware peer reviewIEEE

4 What’s the difference?  An inspection is a more formal process than a walkthrough used to collect metrics or statistics about the software process  Walkthrough is a more informal version of an inspection

5 Why inspect software?  Routine production of reliable software within budget and on schedule continues to elude most development organizations.  While efforts are ongoing to make development an industrial process, much of the work is still done by “intellectual artisans”  Artisan’s work is inherently difficult to bond and can not be specified precisely.  Inspections are a method to reduce variability and tighten process control.

6 History of Inspections  M.E. Fagan of IBM first defined inspections in  E. Yourdon was among the first to publish a book on inspections in  IEEE standard covering inspections first appeared in 1988.

7 What do inspections cover?  Inspections and walkthroughs are primarily intended to discover defects in software artifacts.  This is a static analysis technique of software testing.  In addition, inspections address three major tasks of process management: planning, measurement, control.

8 Inspection metrics  Inspections are used to collect quantitative quality data at defined points in the development process.  This can be used to give feedback to the developers, feed-forward to future development, and feed-into future steps of process.  Can also provide data on effectiveness of inspection techniques.

9 What can be inspected?  Inspections can be held a various points in development process.  Fagan recommended inspections on:  Detailed design  Cleanly compiled code  Completion of unit test

10 Who is involved?  At a minimum a formal inspection includes:  Designated moderator  Author of the work  At least one peer inspector  Walkthroughs generally do not include designated moderator and are often led by the author of the software.

11 Steps of inspection  Planning  Overview  Preparation  Meeting  Rework  Follow-up

12 Planning  Planning begins when entry criteria for inspection type is met.  Moderator is selected – usually a peer or technical leader  Selection may be made by developer, but this is generally not an ideal situation  Management is encouraged not to look at individual inspection results  Moderator verifies that product meets entry criteria and schedules future steps.

13 Overview  Presentation to inspectors with any background information needed to properly review software product.  Purpose is educational only  Data collected is author preparation time and time spent on presentation.

14 Preparation  Individual activity  Author collects all material required for inspection  Inspectors study the material and complete inspection log.  Defects are noted at this step, but not collected

15 Meeting  Meeting is conducted by moderator  Agenda includes:  Introduction  Establishing readiness  Examining material and recording defects  Review defects  Determine disposition  Debrief  Defect data is collected this time

16 Common meeting problems  Interpersonal tensions are most likely to arise at this point  Experienced moderators can detect and defuse this tension  The more inspections that occur, the less likely interpersonal tensions are to interfere  Effort should be made by all participants to keep emphasis on producing quality product, not making fault finding personal

17 Rework  Performed by the author in response to defect disposition determined at meeting

18 Follow-up  Moderator verifies that corrections are made  Moderator completes inspection management report and defect summary report

19 Inspection Roles  Author – developer of work product  Moderator – an inspector responsible for organizing and reporting on inspection  Reader – an inspector who guies the examination of the product  Recorder – an inspector who enters all the defects found on the defect list  Inspector – Member of inspection team. Often chosen to represent specific role- designer, tester, technical writer, SQA, etc

20 Inspection as Process Control  When employed at various points through out the process, the completion of an inspection can trigger entry into a new development phase.  Generally, Software Development Plan spells out entry and exit criteria and required participants in each type of inspection.

21 Aspects of inspections  Initial introduction of inspection into an organization can cause anxiety and tension among developers  When it becomes clear that management supports inspection as a quality improvement technique and not a witch hunt, the effectiveness of the inspection increases.

22 Inspection Data  The collection and analysis of data is what sets inspections apart from other peer review techniques such as walkthroughs.  This data can be used in a variety of ways by a variety of personnel.

23 Data customers  First-line managers – amount of rework generates schedule information  Next phase developers or verifiers get “intelligence” report on status of software  Quality assurance personnel use data on amount of material inspected, amount of inspection material, speed of examination to examine inspection effectiveness

24 More data usage  Quality assurance is responsible for recommending inspection and preparation rates – actual review data makes these more realistic  Defect rates and types discovered at different points can point to most effective place to review. For example, design inspections may prove more cost effective than code.

25 Alternatives  There is a “cost of quality” associated with walkthroughs and inspections. In software, person-hours are the highest measurable expense  Many organizations find that the cost of inspection does not generate a return on investment  Some inspect a percentage of code  Others inspect only critical portions

26 Conclusions  Inspections have been proven an efficient and effective method for improving software quality  In conjunction with testing, audits and formal verification a successful, quality product can be produced

27 My opinion  When done correctly, walkthroughs and inspections are valuable defect finding tools.  When not supported by management or bought into by development personnel, they become “busy work” for developers.  It is important for developers to not take criticism personally.  It is equally important for inspectors to look for defects and not criticize because developer didn’t code exactly the way they would

28 References  spections_body.html spections_body.html spections_body.html  IEEE Std , IEEE Standard for Software Reviews IEEE