Peer Reviews A. Winsor Brown Jan. 13, 2010

Slides:



Advertisements
Similar presentations
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Advertisements

Software Project Management
Chapter 4 Quality Assurance in Context
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Object-oriented Analysis and Design
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Copyright USC-CSSE 1 Quality Management – Lessons of COQUALMO (COnstructive QUALity MOdel) A Software Defect Density Prediction Model AWBrown.
SE 555 Software Requirements & Specification Requirements Validation.
© USC-CSE Feb Keun Lee ( & Sunita Chulani COQUALMO and Orthogonal Defect.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
University of Southern California Center for Software Engineering CSE USC Sep. 24, 2009 v01 ©USC-CSE CS 577a Software Engineering I Peer Review.
Test Design Techniques
S/W Project Management
Extreme Programming Software Development Written by Sanjay Kumar.
Software Inspections and Walkthroughs By. Adnan khan.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Test Organization and Management
CLEANROOM SOFTWARE ENGINEERING.
Software Quality Assurance Lecture #4 By: Faraz Ahmed.
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.
Why do we … Life cycle processes … simplified !!!.
Instructor: Peter Clarke
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Georgia Institute of Technology CS 4320 Fall 2003.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Pair Development Framework Monvorath (Molly) Phongpaibul.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Mahindra Satyam Confidential Quality Management System Software Defect Prevention.
Manual Testing Concepts Instructor: Surender. Agenda  Content: 1. Testing Overview I. What is testing II. Who does testing III. When to Start Testing.
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 Engineering — Software Life Cycle Processes — Maintenance
Software Project Configuration Management
Software Configuration Management (SCM)
Software Quality Engineering
School of Business Administration
Chapter 11: Software Configuration Management
Software Quality Engineering
TechStambha PMP Certification Training
Code Inspection - Inspectors' Training <CIIT.ppt>
Verification and Validation
Engineering Processes
Fundamental Test Process
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
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.
Chapter 11: Software Configuration Management
Quality Measurable characteristic Cyclomatic complexity Cohesion
Baisc Of Software Testing
Welcome to Corporate Training -1
Quality Management, Peer Review, & Architecture Review Board
Architecture Review Boards Remote Student Specifics
QA Reviews Lecture # 6.
Software Testing “If you can’t test it, you can’t design it”
Software Testing Lifecycle Practice
Executive Project Kickoff
Software Reviews.
Testing, Inspection, Walkthrough
Role Based Peer Reviews A. Winsor Brown Oct. 2, 2009
Presentation transcript:

Peer Reviews A. Winsor Brown Jan. 13, 2010 CS577b Spring 2010 Peer Reviews A. Winsor Brown Jan. 13, 2010 (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Goals of Presentation Background CeBASE types of defects vs. methods of removal COQUALMO Model Reviews per IEEE J-STD-016-1995: [repeat from 577a03] Standard for Information Technology Software Life Cycle Processes Software Development Acquirer-Supplier Agreement Quality Models and Metrics Peer Reviews as practiced in CS577 Fagan’s Inspections (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

CeBASE Empirical Data Shows Center for experience BAsed Software Engineering An early 2000 joint effort with UMD (Vic Basili); Funded by NSF Factor of 100 Growth in Software Cost-to-Fix from Requirements to Test [Other studies show a Factor of 1000] Technique Selection Guidance: Peer Reviews vs. Test (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Factor-of-100 Growth in Software Cost-to-Fix (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Technique Selection Guidance “Under specified conditions, …” Peer reviews are more effective than functional testing for faults of omission and incorrect specification (UMD, USC) Functional testing is more effective than reviews for faults concerning numerical approximations and control flow (UMD, USC) (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

COQUALMO The COQUALMO model contains two sub-models 1) the Defect Introduction model: Uses the required subset of COCOMO cost drivers and three internal baseline defect rates (requirements, design, code and test baselines) 2) the Defect Removal model: Uses three (orthogonal) defect removal profile levels, Automated Analysis People Reviews Execution Testing and Tools along with the prediction produced by the defect introduction model to estimate resultant defect density (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

COQUALMO (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

IEEE J-STD-016-1995 Standard for Information Technology Software Life Cycle Processes Software Development Acquirer-Supplier Agreement ls usable with any development strategy: structured to better accommodate incremental, evolutionary, and other development models than the traditional “waterfall” model. It is structured to avoid time-oriented dependencies and implications, provides alternatives to formal reviews (that can force a waterfall development model), and explains how to apply the standard across multiple builds or iterations. (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Reviews per IEEE J-STD-016-1995 Joint technical reviews – objectives: a) Review evolving software products, using as criteria the software product evaluation criteria in annex L; review and demonstrate proposed technical solutions; provide insight and obtain feedback on the technical effort; surface and resolve technical issues. b) Review project status; surface near- and long-term risks regarding technical, cost, and schedule issues. c) ... d) e) .... (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Reviews per IEEE J-STD-016-1995 Joint management reviews – objectives: a) Keep management informed about project status, directions being taken, technical agreements reached, and overall status of evolving software products. b) Resolve issues that could not be resolved at joint technical reviews. c) Arrive at agreed-upon mitigation strategies for near- and long-term risks that could not be resolved at joint technical reviews. d) Identify and resolve management-level issues and risks not raised at joint technical reviews. e) Obtain commitments and acquirer approvals needed for timely accomplishment of the project. (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Agenda Reviews per IEEE J-STD-016-1995: Quality Models and Metrics  Peer Reviews as practiced in CS577 (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Quality Model Types All four types represented: Process, Product, Property, Success (P3S) Product What’s a defect? Problem reports Property Defects [over time]: Removal and residual injection rates Defect Density Success Defect removal rate Problem/Trouble Reports Open over time Process Macro: Defect injection and removal; workflow Micro: ETVX, defect removal techniques, etc. (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Product Models Related to Quality What’s a defect? An instance of non-conformance with the initiating requirements, standards, or exit criteria or other “checklists” Can exist in the accuracy/completeness of requirements, standards, and associated interface/reference documents Determined ONLY by the responsible Author of an artifact Typically start out as concerns in informal or agile reviews What’s an “issue” Concerns that can NOT be fixed by the author of the artifact under review In developments with large number of people or cycles, issues are usually tracked to closure. (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Defect Categories Severity Major Minor A Condition that causes an operational failure, malfunction, or prevents attainment of an expected or specified result Information that would lead to an incorrect response or misinterpretation of the information by the user An instance of non-conformance that would lead to a discrepancy report if implemented as is Minor A violation of standards, guidelines, or rules, but would not lead to a discrepancy report Information that is undesirable but would not cause a malfunction or unexpected results (bad workmanship) Information that, if left uncorrected, may decrease maintainability (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Defect Categories (continued) Class Missing Information that is specified in the requirements or standard, but is not present in the document Wrong Information that is specified in the requirements or standards and is present in the document, but the information is incorrect Extra Information that is not specified in the requirements or standards but is present in the document (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Defect Categories (continued) Type Unavoidable Unavoidable defects (AKA changes) arise because of the methods, techniques or approaches being followed necessitate changes. Examples include changes arising because of the dynamics of learning, exploration in IKIWISI situations, code or screen contents reorganizations taken on as an "afterthought", replacement of stubs or place-holders in code, etc. Such situations are often "planned for" and expected to occur. Avoidable Changes in analysis, design, code or documentation arising from human error, and which could be avoided through better analysis, design, training, etc. Examples include stub replacement that violates win conditions or requirements such as execution time, memory space: for instance the replacement of a "stub" which breaks a critical timing constraint. (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Defect Categories (continued) Severity Class Type Major Missing Avoidable Wrong Unavoidable Minor Extra (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Agenda Reviews per IEEE J-STD-016-199u5: Quality Models and Metrics Peer Reviews as practiced in CS577  (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Role Based Agile Internal/Informal Review The main activities are following Planning Overview (optional) Preparation Review Meeting Rework Participants (four recommended) Review Leader (recommended: quality focal point for cs577) “Coder” (or next type of person in the artifact’s chain) “Tester” (reviews external interfaces; generates gedanken test approaches) Author (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

Agile Internal/Informal Review Planning Overview Preparation Concern Log Problem List Review Rework Review Result Summary (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

ETVX Paradigm Sw Development Process Role Based Peer Review Relationships: A software development process, e.g., specifying, designing, coding Role Based Peer Review Tasks distributed to team members Entry Criteria Task Validate Exit Emphasize SIMPLE process management. Simple because we are not accounting for forks & joins: processes that produce multiple products (that are used by different subsequent processes) or use multiple inputs from different predecessor processes. At the highest level we see a major task with transition where the validate box would be in this case the PDR. Below that we see the division of work amongst the software development team. On the right hand side of the foil we see Fagan's Inspection as the in-process, work product validation. (c) 2003-10 AWBrown & CSSE Jan. 13, 2010

CS577 IICM-Sw Defect Reporting Concepts Range of Defect identification and reporting mechanisms One at a time: Problem report system Multiple issues/problems found by a single reviewer: Agile Artifact Review (AAR) – only two types of forms (Issues/Concern Log and Defect List) Agile Internal/Informal Review (AIR): Two types of forms Agile Formal Review: Three different types of forms Internal/Informal Review: Four different types of bigger forms Formal Review: Four different types of bigger forms Fagan’s Inspection: Five different types of forms (c) 2003-10 AWBrown & CSSE Jan. 13, 2010