Upload
ngotuyen
View
228
Download
3
Embed Size (px)
Citation preview
11
Software Inspections Software Inspections and Walkthroughsand WalkthroughsAuthor: A. Frank AckermanAuthor: A. Frank AckermanPresented by Cynthia JohnsonPresented by Cynthia JohnsonEEL6883EEL6883
22
Software InspectionsSoftware Inspections ““Software Inspections are a disciplined Software Inspections are a disciplined
engineering practice for detecting and engineering practice for detecting and correcting defects in software artifacts, correcting defects in software artifacts, and preventing their leakage into field and preventing their leakage into field operations.” Don O'Neill, Don O' Neill operations.” Don O'Neill, Don O' Neill Consulting for SEIConsulting for SEI
33
Software WalkthroughsSoftware Walkthroughs a form of a form of software peer reviewsoftware peer review "in which a "in which a
designer or programmer leads members of the designer or programmer leads members of the development team and other interested parties development team and other interested parties through a software product, and the through a software product, and the participants ask questions and make participants ask questions and make comments about possible errors, violation of comments about possible errors, violation of development standards, and other problems" (development standards, and other problems" (IEEEIEEE Std. 1028-1997, Std. 1028-1997, IEEE Standard for IEEE Standard for Software ReviewsSoftware Reviews, clause 38. , clause 38.
44
What’s the difference?What’s the difference? An inspection is a more formal process An inspection is a more formal process
than a walkthrough used to collect than a walkthrough used to collect metrics or statistics about the software metrics or statistics about the software processprocess
Walkthrough is a more informal version Walkthrough is a more informal version of an inspectionof an inspection
55
Why inspect software?Why inspect software? Routine production of reliable software within Routine production of reliable software within
budget and on schedule continues to elude budget and on schedule continues to elude most development organizations.most development organizations.
While efforts are ongoing to make development While efforts are ongoing to make development an industrial process, much of the work is still an industrial process, much of the work is still done by “intellectual artisans”done by “intellectual artisans”
Artisan’s work is inherently difficult to bond and Artisan’s work is inherently difficult to bond and can not be specified precisely.can not be specified precisely.
Inspections are a method to reduce variability Inspections are a method to reduce variability and tighten process control.and tighten process control.
66
History of InspectionsHistory of Inspections M.E. Fagan of IBM first defined M.E. Fagan of IBM first defined
inspections in 1976.inspections in 1976. E. Yourdon was among the first to E. Yourdon was among the first to
publish a book on inspections in 1978.publish a book on inspections in 1978. IEEE standard covering inspections first IEEE standard covering inspections first
appeared in 1988.appeared in 1988.
77
What do inspections What do inspections cover?cover?
Inspections and walkthroughs are Inspections and walkthroughs are primarily intended to discover defects in primarily intended to discover defects in software artifacts.software artifacts.
This is a static analysis technique of This is a static analysis technique of software testing.software testing.
In addition, inspections address three In addition, inspections address three major tasks of process management: major tasks of process management: planning, measurement, control.planning, measurement, control.
88
Inspection metricsInspection metrics Inspections are used to collect quantitative Inspections are used to collect quantitative
quality data at defined points in the quality data at defined points in the development process.development process.
This can be used to give feedback to the This can be used to give feedback to the developers, feed-forward to future developers, feed-forward to future development, and feed-into future steps of development, and feed-into future steps of process.process.
Can also provide data on effectiveness of Can also provide data on effectiveness of inspection techniques.inspection techniques.
99
What can be inspected?What can be inspected? Inspections can be held a various points Inspections can be held a various points
in development process.in development process. Fagan recommended inspections on:Fagan recommended inspections on:
Detailed designDetailed design Cleanly compiled codeCleanly compiled code Completion of unit testCompletion of unit test
1010
Who is involved?Who is involved? At a minimum a formal inspection At a minimum a formal inspection
includes:includes: Designated moderatorDesignated moderator Author of the workAuthor of the work At least one peer inspectorAt least one peer inspector
Walkthroughs generally do not include Walkthroughs generally do not include designated moderator and are often led designated moderator and are often led by the author of the software.by the author of the software.
1111
Steps of inspectionSteps of inspection PlanningPlanning OverviewOverview PreparationPreparation MeetingMeeting ReworkRework Follow-upFollow-up
1212
PlanningPlanning Planning begins when entry criteria for Planning begins when entry criteria for
inspection type is met.inspection type is met. Moderator is selected – usually a peer or Moderator is selected – usually a peer or
technical leadertechnical leader Selection may be made by developer, but this Selection may be made by developer, but this
is generally not an ideal situationis generally not an ideal situation Management is encouraged not to look at Management is encouraged not to look at
individual inspection resultsindividual inspection results Moderator verifies that product meets entry Moderator verifies that product meets entry
criteria and schedules future steps.criteria and schedules future steps.
1313
OverviewOverview Presentation to inspectors with any Presentation to inspectors with any
background information needed to background information needed to properly review software product.properly review software product.
Purpose is educational onlyPurpose is educational only Data collected is author preparation time Data collected is author preparation time
and time spent on presentation.and time spent on presentation.
1414
PreparationPreparation Individual activityIndividual activity Author collects all material required for Author collects all material required for
inspectioninspection Inspectors study the material and Inspectors study the material and
complete inspection log.complete inspection log. Defects are noted at this step, but not Defects are noted at this step, but not
collectedcollected
1515
MeetingMeeting Meeting is conducted by moderatorMeeting is conducted by moderator Agenda includes:Agenda includes:
IntroductionIntroduction Establishing readinessEstablishing readiness Examining material and recording defectsExamining material and recording defects Review defectsReview defects Determine dispositionDetermine disposition DebriefDebrief
Defect data is collected this timeDefect data is collected this time
1616
Common meeting Common meeting problemsproblems
Interpersonal tensions are most likely to arise Interpersonal tensions are most likely to arise at this pointat this point
Experienced moderators can detect and Experienced moderators can detect and defuse this tensiondefuse this tension
The more inspections that occur, the less likely The more inspections that occur, the less likely interpersonal tensions are to interfereinterpersonal tensions are to interfere
Effort should be made by all participants to Effort should be made by all participants to keep emphasis on producing quality product, keep emphasis on producing quality product, not making fault finding personalnot making fault finding personal
1717
ReworkRework Performed by the author in response to Performed by the author in response to
defect disposition determined at meetingdefect disposition determined at meeting
1818
Follow-upFollow-up Moderator verifies that corrections are Moderator verifies that corrections are
mademade Moderator completes inspection Moderator completes inspection
management report and defect summary management report and defect summary reportreport
1919
Inspection RolesInspection Roles Author – developer of work productAuthor – developer of work product Moderator – an inspector responsible for Moderator – an inspector responsible for
organizing and reporting on inspectionorganizing and reporting on inspection Reader – an inspector who guies the Reader – an inspector who guies the
examination of the productexamination of the product Recorder – an inspector who enters all the Recorder – an inspector who enters all the
defects found on the defect listdefects found on the defect list Inspector – Member of inspection team. Often Inspector – Member of inspection team. Often
chosen to represent specific role- designer, chosen to represent specific role- designer, tester, technical writer, SQA, etctester, technical writer, SQA, etc
2020
Inspection as Process Inspection as Process ControlControl
When employed at various points When employed at various points through out the process, the completion through out the process, the completion of an inspection can trigger entry into a of an inspection can trigger entry into a new development phase.new development phase.
Generally, Software Development Plan Generally, Software Development Plan spells out entry and exit criteria and spells out entry and exit criteria and required participants in each type of required participants in each type of inspection.inspection.
2121
Aspects of inspectionsAspects of inspections Initial introduction of inspection into an Initial introduction of inspection into an
organization can cause anxiety and organization can cause anxiety and tension among developerstension among developers
When it becomes clear that management When it becomes clear that management supports inspection as a quality supports inspection as a quality improvement technique and not a witch improvement technique and not a witch hunt, the effectiveness of the inspection hunt, the effectiveness of the inspection increases.increases.
2222
Inspection DataInspection Data The collection and analysis of data is The collection and analysis of data is
what sets inspections apart from other what sets inspections apart from other peer review techniques such as peer review techniques such as walkthroughs.walkthroughs.
This data can be used in a variety of This data can be used in a variety of ways by a variety of personnel.ways by a variety of personnel.
2323
Data customersData customers First-line managers – amount of rework First-line managers – amount of rework
generates schedule informationgenerates schedule information Next phase developers or verifiers get Next phase developers or verifiers get
“intelligence” report on status of software“intelligence” report on status of software Quality assurance personnel use data on Quality assurance personnel use data on
amount of material inspected, amount of amount of material inspected, amount of inspection material, speed of examination inspection material, speed of examination to examine inspection effectivenessto examine inspection effectiveness
2424
More data usageMore data usage Quality assurance is responsible for Quality assurance is responsible for
recommending inspection and recommending inspection and preparation rates – actual review data preparation rates – actual review data makes these more realisticmakes these more realistic
Defect rates and types discovered at Defect rates and types discovered at different points can point to most different points can point to most effective place to review. For example, effective place to review. For example, design inspections may prove more cost design inspections may prove more cost effective than code.effective than code.
2525
AlternativesAlternatives There is a “cost of quality” associated with There is a “cost of quality” associated with
walkthroughs and inspections. In software, walkthroughs and inspections. In software, person-hours are the highest measurable person-hours are the highest measurable expenseexpense
Many organizations find that the cost of Many organizations find that the cost of inspection does not generate a return on inspection does not generate a return on investmentinvestment
Some inspect a percentage of codeSome inspect a percentage of code Others inspect only critical portionsOthers inspect only critical portions
2626
ConclusionsConclusions Inspections have been proven an Inspections have been proven an
efficient and effective method for efficient and effective method for improving software qualityimproving software quality
In conjunction with testing, audits and In conjunction with testing, audits and formal verification a successful, quality formal verification a successful, quality product can be producedproduct can be produced
2727
My opinionMy opinion When done correctly, walkthroughs and When done correctly, walkthroughs and
inspections are valuable defect finding tools.inspections are valuable defect finding tools. When not supported by management or bought When not supported by management or bought
into by development personnel, they become into by development personnel, they become “busy work” for developers.“busy work” for developers.
It is important for developers to not take It is important for developers to not take criticism personally.criticism personally.
It is equally important for inspectors to look for It is equally important for inspectors to look for defects and not criticize because developer defects and not criticize because developer didn’t code exactly the way they woulddidn’t code exactly the way they would
2828
ReferencesReferences http://www.sei.cmu.edu/str/descriptions/inhttp://www.sei.cmu.edu/str/descriptions/in
spections_body.htmlspections_body.html IEEEIEEE Std. 1028-1997, Std. 1028-1997, IEEE Standard for IEEE Standard for
Software ReviewsSoftware Reviews