6/19/2007se 652- 2007_06_19_overview_inspections.ppt1 team software project (tsp) june 19, 2007 high...

23
6/19/2007 SE 652- 2007_06_19_Overview_Inspe ctions.ppt 1 Team Software Project (TSP) June 19, 2007 High Level Designs, Code Inspections & Measurement

Post on 19-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 1

Team Software Project (TSP)

June 19, 2007

High Level Designs,

Code Inspections &

Measurement

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 2

Outline

High Level Design Phase Review

Inspection Questions

Power

Code Inspection

Measurement

System Test Plan Review

Next Phases (Implementation & Test)

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 3

Due Today

Completed & Inspected High Level Design (SDS) & Integration Test Plan

Completed & Inspected Configuration Management Plan

SRS Inspection Quality Records (LOGD, INS, Baseline Sheets)

Completed & Inspected Integration Test Plans (incl. LOGD, INS, Baseline forms)

Completed and Inspected Coding, naming & design standards (incl. LOGD, INS, Baseline forms)

System Test Plans (draft for inspection)

Updated project schedule & measurement data collected

Time, defect & size data collected

Updated project notebook

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 4

Software Design Specification (SDS)

InputConceptual Design

Requirements (SRS)

Design ObjectivesPrincipal parts

How the parts interact

How they are put together

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 5

Design Standards

Naming conventionsFunction, File, Variable, Parameter NamesDefines, Globals, Public, Statics, etc.

Interface formatsVariable handlingError codes

System & Error messagesDefect standards

SeveritiesDefect typesRoot cause bucketing

LOC counting

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 6

Design for Reuse

Reusable functions should be:Self contained

Cleanly isolated

Clearly & concisely documented (usage, interfaces, returns, errors)

Examples of successful reusable components?

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 7

Design for Testability

Unit test harnesses

Simulation testing

Black box testingVerify program’s external interfaces

White box testingAlso considers program’s logical paths & structure

Typically requires special tools (e.g. code coverage)

Typically requires supporting code

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 8

Integration Test Plan

ObjectiveVerify all system component interfaces

ActivityReview all interfaces (as defined in SDS)

Specify how to test them

Recommend: inspecting SDS & Integration Test Plan simultaneouslyCould also combine into a single document

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 9

System Test Plan

Areas to cover:InstallationStart-upAll required functions available & working as specifiedDiabolical (e.g. power failures, corner cases, incorrect handling)PerformanceUsability

Includes:Test cases you plan to run (numbered / named)Expected resultsOrdering of testing & dependenciesSupporting materials neededTraceability to requirements

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 10

Power!

What is it?“probability that one actor within a social relationship will be in a

position to carry out his own will despite resistance” – Max Weber

“interpersonal relationship in which one individual (or group) has the ability to cause another individual (or group) to take an action that would not be taken otherwise” – Steers & Black

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 11

Types of Power

Referent/CharismaticBased on personal qualities, characteristics, reputation

ExpertKnowledge or expertise relevant to person

Power only in domain of expertise

LegitimatePerson has the right to exert power in a specified domain

RewardControls rewards a person wants

CoerciveBased on fear, person can administer punishment

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 12

Effectiveness

Which types of power are most effective?

Power within the class teams?

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 13

Inspections

Inspection ObjectivesFind defects at earliest possible pointVerify to specification (e.g. design to requirements)Verify to standardsCollect element and process dataSet baseline point

Exit CriteriaAll detected defects resolvedOutstanding, non-blocking issues tracked

Techniques & MethodsGeneric checklists & standardsInspectors prepared in advanceFocus on problems, not on resolutionPeers only“Mandatory” data collection

Roles: Moderator, reader, recorder, inspector, author

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 14

Inspection Logistics

Identify moderator (for TSPi, use process manager)Inspection briefing (identify inspection roles, set date/time for inspection)Review product

– Individual reviews– Record time spent reviewing– Identify defects, but do not log on LOGD form

(defects recorded during inspection on INS & LOGD forms)

– Typically want 3-5 days for an adequate review period

Inspection meeting– Obtain & record preparation data– Step through product one line or section at a time– Raise defects or questions– Defects recorded by moderator on INS form– Defects recorded by producer on LOGD form (no need to use Change Requests)– Peripheral issues & action items should be recorded in ITL log*

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 15

Inspection Logistics (continued)

Estimate remaining defectsTBD (but, for each defect, record all members who identified it)

Conclude meeting– Agree on verification method for defects

– Agree on disposition (e.g. approved, approved with modification, re-inspect)

Rework product & verify fixes (e.g. moderator)

Obtain signatures of all inspectors on baseline sheet(file as quality record)

Spelling Code Inspection

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 17

Measurement Data & Metrics

Base Metrics# & Type of Defects found (major, minor)For each defect, who found# of pages inspected, preparation time (per inspector), inspection time

MeasuresPreparation rate = # pages / average preparation timeInspection rate = # pages / inspection timeInspection defect rate = # major defects / inspection timeDefect density = # estimated defects / # of pagesInspection yield = # defects / # estimated defects (individual & team)

SRS Phase Defect Containment (%) =100% * # Defects removed @ step / ( Incoming defects + Injected defects)

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 18

InspectionsEstimating Defects

Capture-ReCapture ExampleCatch 20 fish in lake, tag & release them

Catch 25 more, 5 are tagged

How many fish are in the lake?

5 out of 25 = 20 out of Total Population

Total = ?

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 19

Capture-ReCapture Formula

Fishing example:5 out of 25 = 20 out of Total

C = # from both fishing tries (e.g. 5)

A = # from first fishing try (e.g. 20)

B = # from second fishing try (e.g. 25)

So,C out of B = A out of Total

C/B = A/Total

Total = A*B/C

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 20

Estimating Defects2 Developer Case

C = # from both tries = # found by both developersA = # from first try = # found by developer AB = # from second try = # found by developer B

Total # defects = # A * # B / # both foundYield = # found / Total # defects expressed as percentage

= 100 * (A*B-C) / (A*B/C)= 100 * (A*B-C)*C / A*B

Humphrey 2 Developer Example:Two developers, A found 7, B found 5, common defects 3Total estimated # defects = (7*5)/3 = 12Yield = 9 / 12 = 75%

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 21

Estimating Defects3 Developer Example

Three developers in an inspection identified 10 unique defects (# from 1 to 10).Harry found defects 1, 2, 3, 4 & 5

Chapin found defects 1, 2, 4, 6 & 7

Sue found defects 4, 6, 7, 8, 9 & 10

Estimate total # of defects in product prior to inspection.

Estimate total inspection yield.

Sue identified the most unique defects (3) = 6 identified

Combine Harry’s & Chapin’s defects = 7 identified, 3 in common w/ Sue

Total Product Defects = 6 * 7 / 3 = 14

Yield % = 100 * 10/14 = 71%

6/19/2007 SE 652- 2007_06_19_Overview_Inspections.ppt 22

Capture-ReCapture Assumptions & Cautions

• Population is homogeneous

• Population is randomly distributed

• Sample #s are reasonably large

Backup Slides