22
Software Reviews Kristian Sandahl

Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

Software ReviewsKristian Sandahl

Page 2: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

2

Requirements

System Design(Architecture,

High-level Design)

Module Design(Program Design,Detailed Design)

Implementationof Units (classes, procedures,

functions)Unit testing

Module Testing(Integration testing of units)

System Testing(Integration testing of modules)

Acceptance Test(Release testing)

Validate Requirements, Verify Specification

Verify System Design

Verify Module Design

Verify Implementation

Project Management, Software Quality Assurance (SQA), Supporting Tools, Education

Maintenance

Page 3: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

What is inspection?3

Goal Find defects (anomalies) Improve software development process

Several sources with proven history First introduced by Fagan at IBM (1976) Main book “Software Inspections” by Graham and Gilb (1993) IEEE Standard 1028 – 2008 Several scientific studies show that defects are found using

inspection, approx. 60-90% of total defects (Pfleeger & Atlee, 2010)

Is and is not It is systematic peer examination of software products/artifacts. It is not testing. Can be performed early on partially finished

parts.

Page 4: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

The coffee machine class model

4

CoffeeCustomer

Porter

CupOfCoffee

CanOfCoffee

buys

byus

0..*

0..1

0..*

0..*

makes machine

11

1 111

10..*

Interface CoinHandler Brewer

Page 5: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

What can be inspected?5

Requirements

System Design(Architecture,

High-level Design)

Module Design(Program Design,Detailed Design)

Implementationof Units (classes, procedures,

functions)Unit testing

Module Testing(Integration testing of units)

System Testing(Integration testing of modules)

Acceptance Test(Release testing)

Maintenance

Source code

Design documents

RequirementsSpecifications

Test Documents

Maintenancemanuals

System BuildProcedures

InstallationProcedures

ReleaseNotes

DevelopmentProcess Descriptions

ArchitectureDescriptions

(IEEE Std 1028-2008)

Page 6: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

6

Inspection: 2-6 participants (IEEE Std 1028-2008)

Roles

Inspection leader(Moderator)

Recorder

Inspector

ReaderAuthor

Who participates in an inspection?

Page 7: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

7

Inspection: 2-6 participants (IEEE Std 1028-2008)

Roles

Inspection leader(Moderator)

Recorder

Inspector

ReaderAuthor

Inspection leader Planning and organizing tasks Must be trained in the inspection

process Ensure that inspection data is collected Issue inspection output

Who participates in an inspection?

Page 8: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

8

Inspection: 2-6 participants (IEEE Std 1028-2008)

Roles

Inspection leader(Moderator)

Recorder

Inspector

ReaderAuthor

Recorder Document e.g., defects, decisions, and

recommendations. The inspection leader can be the

recorder

Who participates in an inspection?

Page 9: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

9

Inspection: 2-6 participants (IEEE Std 1028-2008)

Roles

Inspection leader(Moderator)

Recorder

Inspector

ReaderAuthor

Reader Informs the software product to be

inspected Highlight important apects

Who participates in an inspection?

Page 10: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

10

Inspection: 2-6 participants (IEEE Std 1028-2008)

Roles

Inspection leader(Moderator)

Recorder

Inspector

ReaderAuthor

Author Perform rework to meet inspection exit

criteria Responsible for meeting entry criteria Shall not be inspection leader, recorder, or

reader

Who participates in an inspection?

Page 11: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

11

Inspection: 2-6 participants (IEEE Std 1028-2008)

Roles

Inspection leader(Moderator)

Recorder

Inspector

ReaderAuthor

Inspector Identifies and describes defects Chosen due to expertice and different view

points (e.g., design, requirements, testing) Can be assigned specifc topics (e.g.,

compliance to standards) All participants are inspectors

Who participates in an inspection?

Page 12: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

Inspection Process 12

Plan andOverview

IndividualChecking

InspectionMeeting

Edit andFollow-upEntry Exit

Input (for entry) Objective statement Software products / artifacts

(to be inspected) Inspection procedures Reporting forms Known defects Source documents

Author

Responsible for meeting entry criteria

Page 13: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

Source and product - examples 13

Source code

Design documents

RequirementsSpecifications

Test Documents

ReleaseNotes

ArchitectureDescriptions

(IEEE Std 1028-2008)

Source documents Software products / artifacts

ArchitectureDescriptions

Page 14: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

Inspection Process 14

Plan andOverview

IndividualChecking

InspectionMeeting

Edit andFollow-upEntry Exit

Planning the inspection Identify inspection team Assign responsibilities Schedule meetings Distribute material Specify scope and priorities

Inspection leader

Overview Introduce the product

Author

Page 15: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

Inspection Process 15

Plan andOverview

IndividualChecking

InspectionMeeting

Edit andFollow-upEntry Exit

Inspection rate (IEEE Std 1028-2008) Requirements or Architecture (2-3 pages per hour) Source code (100-200 lines per hour)

Inspectors

Individual checking Exam the product individually Report all defects to the

inspection leader Prepare for the inspection meeting

Page 16: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

Inspection Process 16

Plan andOverview

IndividualChecking

InspectionMeeting

Edit andFollow-upEntry Exit

Meeting agenda Introduction of roles and purpose Reader presents the product (details) Inspect product, produce defect list

(whole team) Review defect/anomaly list

(completeness and accuracy) Make exit decission

Should detect, not resolve defects

Inspection leader Recorder InspectorReader

Exit decisions (1, 2 or 3)1. Accept with no further verification2. Accept with rework verification

(verify by one member)3. Reinspect – redo the the process

Page 17: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

Inspection Process 17

Plan andOverview

IndividualChecking

InspectionMeeting

Edit andFollow-upEntry Exit

Edit Author resolves items

Inspection leader

Follow-up Inspection leader verifies that all items

are closed

Author

Page 18: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

Collected inspection data 18

General inspection data Software product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of inspected material

ClassificationE.g., logic problem, data sensor problem(see IEEE Std 1044-1993)

CategoriesE.g., missing, extra, ambigious, incorrect, not conforming to standards etc.

RankingE.g., catastrophic, critical, marginal, negligible

Defect/AnomalyData Item

Page 19: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

Process Improvements

19

Improve InspectionProcess

Improve process for creating the product

Analyze Inspection

Data

Page 20: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

Other Software Reviews 20

Management Reviews Check deviations from plans Products are plans and reports Performed by management staff

Technical Reviews Evaluate conformance to specifications

and standards. Performed by technical leadership and

peers Higher volume of material than

inspections

Walk-through The author presents, leads, and controls

the discussion. Informal atmosphere

Audit External 3rd party (independent)

evaluation of conformance to specification and standards.

Page 21: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

Tool-based code review in Gerrit 21

Sometimes theterm ”inspection” isused for this review.

Source: https://review.openstack.org/Documentation/intro-quick.html

Page 22: Title of Presentation - IDATDDC88/theory/13reviews.pdfSoftware product identification Date and time of inspection Inspection team Inspection time (meeting and individual) Volume of

www.liu.se