Chapter 14: Inspection Basic Concept and Generic Process

Slides:



Advertisements
Similar presentations
Testing and Quality Assurance
Advertisements

Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
Chapter 4 Quality Assurance in Context
Static Technique. Static Technique - Review  A way of testing software work products  Program code, requirement spec., design spec.  Test plan, test.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
1 Software Testing and Quality Assurance Lecture 2 Software Verification & Validation.
1 Static Testing: defect prevention SIM objectives Able to list various type of structured group examinations (manual checking) Able to statically.
Software Testing and Quality Assurance
SE 555 Software Requirements & Specification Requirements Validation.
 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.
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
Software Inspections and Walkthroughs By. Adnan khan.
Ch.4: QA in Context  QA and the overall development context Defect handling/resolution How alternative QA activities fit in process Alternative perspectives:
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.
CLEANROOM SOFTWARE ENGINEERING.
SoITSSpecifications of IT systems? 1 Specifications of IT systems checking and validating Jens Bennedsen and Peter Gorm Larsen
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
CS4311 Spring 2011 Verification & Validation Dr. Guoqiang Hu Department of Computer Science UTEP.
Chapter 14: Inspection  Basic Concept and Generic Process  Fagan Inspection  Other Inspection and Related Activities.
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.
Chapter 6: Testing Overview Basic idea of testing - execute software and observe its behavior or outcome. If failure is observed, analyze execution record.
Phil Cronin Anne Hill Allen Schones CIS841 Summer on Campus 1998 IN-PROCESS INSPECTIONS FOR OBJECT ORIENTED DESIGNS.
- Component Inspection. -Usability Testing. -Unit Testing. -System Testing.
Week 2 Quality Assurance Quality Assurance in Context
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Formal Technical Reviews Matt Graham 18 November 2004 EECS 814 University of Kansas.
Jump to first page (C) 1998, Arun Lakhotia 1 Quality Assurance: Reviews and Walkthroughs Arun Lakhotia University of Southwestern Louisiana Po Box
This chapter is extracted from Sommerville’s slides. Textbook chapter
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Quality Assurance.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Unit III Static Testing. static testing Testing of a component or system at requirements or implementation level without execution of any software, e.g.,
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Software Engineering Lecture 8: Quality Assurance.
Advances In Software Inspection
VERIFICATION AND VALIDATION TECHNIQUES. The goals of verification and validation activities are to assess and improve the quality of the work products.
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
Static and Integration Testing. Static Testing vs Dynamic Testing  To find defects  This testing includes verification process  without executing.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
GROUP MEMBERS AYAZ JAVED BITF06A002 SADAF SARFARAZ BITF06A003 SAMIN ATIQA BITF06A028 BILAL KHALID BITF06A042.
1 Software Testing and Quality Assurance Motivation and Review of Software Verification & Validation (2)
The Value of Managing the Review Process
Software Testing.
Software Engineering (CSI 321)
Software Quality Engineering
The Movement To Objects
Peer Review and Testing
CASE Tools and Joint and Rapid Application Development
Software Quality Engineering
IEEE Std 1074: Standard for Software Lifecycle
Verification & Validation
Verification and Validation
Verification and Validation
Engineering Processes
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.
Quality Measurable characteristic Cyclomatic complexity Cohesion
Baisc Of Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Adaptive Product Development Process Framework
QA Reviews Lecture # 6.
Testing, Inspection, Walkthrough
Chapter 10: Testing and Quality Assurance
Presentation transcript:

Chapter 14: Inspection Basic Concept and Generic Process Fagan Inspection Other Inspection and Related Activities

QA Alternatives Defect prevention: Error blocking and error source removal. Defect removal: Inspection - this chapter. Testing, etc. Defect containment: Fault tolerance and failure containment (safety assurance).

Inspection as Part of QA Throughout the software process Coding phase: code inspection Design phase: design inspection Inspection in other phases and at transitions from one phase to another Many different software artifacts: program code, typically requirement/design/other documents charts/models/diagrams/tables/etc.

Generic Process and Variations Generic process/steps: Fig 14.1 (p.238) Preparation (individual) Collection (group/meeting) Repair (follow-up) Inspection Process Variations: Team organization and size (who?) Inspection objects and objectives? Number/coordination of multiple sessions? Collection technique? Detect (& classify/analyze) defects? Use of post-collection feedback?

Fagan Inspection Fagan at IBM (earliest form of inspection) Lead to other variations Generic process and steps Six steps of Fagan inspection: Planning Overview (1-to-n meeting) Preparation (individual inspection) Inspection (n-to-n meeting) Rework Follow-up Mapping to generic inspection process in Fig 14.1 (p.238)

Fagan Inspection Planning Overview Entry criteria: what to inspect Team size: about 4 persons Developers/testers from similar projects Inspectors not authors Overview Author-inspectors meeting General background information functional/structural/info., intentions Assign individual tasks: coverage of important areas moderate overlap

Fagan Inspection Preparation or individual inspection Independent analysis/examination Code as well as other document Individual results: questions/guesses potential defects Inspection (generic: collection) Meeting to collect/consolidate individual inspection results Team leader/meeting moderator (1) Reader/presenter: summarize/paraphrase for individual pieces Defect identification, but not solutions No more than 2 hours Inspection report

Fagan Inspection Rework Follow-up Fagan inspection in practice Author's response Defect fixing (solutions) Follow-up Resolution verification by moderator Re-inspection? Fagan inspection in practice Widely used in industry Evaluation studies Variations and other inspections

Fagan Inspection: Findings Importance of preparation: Most defect detected Actual meetings are to CONSOLIDATE defects Other important findings: Important role of the moderator Team size and # sessions tailored to env. Prefer systematic detection techniques to ad-hoc ones More use of inspection feedback/analysis

Other Inspection Methods Variations to Fagan inspection size/scope and formality variations. Alternative inspection techniques/processes: Two-person inspection Meetingless inspections Phased inspections N-fold inspections Informal check/review/walkthrough

Reduced Size/Scope Inspection Two-person inspection Fagan inspection simplified Author-inspector pair reciprocal: mutually beneficial Smaller scale program Meetingless inspections Importance of preparation (indiv. insp.) (most defects found during preparation) Empirical evidence 1-on-1 instead of team meetings

Other Expanded Fagan Inspections Phased inspections Expand Fagan inspection Multiple phases/meetings Each on a specific area/problem-type Dynamic team make-up N-fold inspections N parallel inspections, 1 moderator Duplications => “cost“

Informal Inspection Desk check (self conducted): Should focus on conceptual problems Use tools for problems with syntax/spelling/format/etc. Informal review (by others): Similar to desk check, but by others Benefit from independent/orthogonal view Group reviews for phase transitions Walkthroughs: More organized, but still informal Leading role of author/moderator Less preparation by other participants than in inspection

Formal Inspection: Code Reading Focus on code Optional meetings Code reading by stepwise abstraction Variation to code reading A formalized code reading technique Top-down decomposition and bottom-up abstraction Recent evidence of effectiveness Empirical support for the program comprehension model Fig 14.2 (p.245)

A program segment (left) and its permutation (right) input (x); if (x > 0) then y  x; else y  -x; output (y); y  x; if (x > 0) then else output (y); y  -x; input (x);

Formal Inspection: ADR & Correctness Active design reviews (ADR) Another formal inspection, for designs Inspector active vs. passive Author prepares questionnaires More than one meeting Scenario based (questionnaires) Overall ADR divided into small ones 2-4 persons (for each smaller ADR) Inspection for program correctness Correctness (vs. questionnaire) of: topology (decomposition, hierarchy) algebra (equivalence of refinements) invariance (variable relations) robustness (error handling)

Extending Inspection: Analysis Inspection as analysis Program/document/etc. analysis Inspection as statics analysis Testing as dynamic analysis Other analyses Static: algorithm, decision table, boundary value, control flow, data flow, etc. Dynamic: symbolic execution, simulation, prototyping, timing, in-field execution, etc. Covered in SQE (various chapters), with pointers in Section 14.3.5.

Defect Detection Techniques Ad-hoc vs. systematic ones below Checklist-based inspection: Similar to testing checklists (Ch.8). Basic types: artifact-/property-based. Scenario-based inspection: Similar to usage-based testing. Scenarios ties multiple components. More a usage/external view. Abstraction-based inspection: Similar to code reading with stepwise abstraction.

Implementation and Effectiveness Implementation support: Process and communication support Repository management tools Defect tracking and analysis as followup Still human intensive Effectiveness studies Measurement: defect or effort Defect detection technique important Inspector skills/expertise also important Other factors, less than unanimous Many individual variations

Summary Key advantages: Key limitations: Wide applicability and early availability Complementary to testing & other QA Effective under many circumstances Key limitations: Human intensive Dynamic/complex problems and interactions: Hard to track/analyze. Hard to automate. Comparison to other QA: Chapter 17.