Software inspection

Software inspection

Inspection in software engineering, refers to peer review of any work product by trained individuals who look for defects using a well defined process. An inspection might also be referred to as a Fagan inspection after Michael Fagan, the inventor of the process.

Introduction

An inspection is one of the most common sorts of review practices found in software projects. The goal of the inspection is for all of the inspectors to reach consensus on a work product and approve it for use in the project. Commonly inspected work products include software requirements specifications and test plans. In an inspection, a work product is selected for review and a team is gathered for an inspection meeting to review the work product. A moderator is chosen to moderate the meeting. Each inspector prepares for the meeting by reading the work product and noting each defect. The goal of the inspection is to identify defects. In an inspection, a defect is any part of the work product that will keep an inspector from approving it. For example, if the team is inspecting a software requirements specification, each defect will be text in the document which an inspector disagrees with.

The process

The inspection process was developed by Michael Fagan in the mid-1970s and it has later been extended and modified.

The process should have an entry criteria that determines if the inspection process is ready to begin. This prevents unfinished work products from entering the inspection process. The entry criteria might be a checklist including items such as "The document has been spell-checked".

The stages in the inspections process are: Planning, Overview meeting, Preparation, Inspection meeting, Rework and Follow-up. The Preparation, Inspection meeting and Rework stages might be iterated.

* Planning: The inspection is planned by the moderator.
* Overview meeting: The author describes the background of the work product.
* Preparation: Each inspector examines the work product to identify possible defects.
* Inspection meeting: During this meeting the reader reads through the work product, part by part and the inspectors point out the defects for every part.
* Rework: The author makes changes to the work product according to the action plans from the inspection meeting.
* Follow-up: The changes by the author are checked to make sure everything is correct.

The process is ended by the moderator when it satisfies some predefined exit criteria.

Inspection roles

During an inspection the following roles are used.

* Author: The person who created the work product being inspected.
* Moderator: This is the leader of the inspection. The moderator plans the inspection and coordinates it.
* Reader: The person reading through the documents, one item at a time. The other inspectors then point out defects.
* Recorder: The person that documents the defects that are found during the inspection.

Related inspection types

Code review

A code review can be done as a special kind of inspection in which the team examines a sample of code and fixes any defects in it. In a code review, a defect is a block of code which does not properly implement its requirements, which does not function as the programmer intended, or which is not incorrect but could be improved (for example, it could be made more readable or its performance could be improved). In addition to helping teams find and fix bugs, code reviews are useful for both cross-training programmers on the code being reviewed and for helping junior developers learn new programming techniques.

Peer Reviews

Peer Reviews are considered an industry best-practice for detecting software defects early and learning about software artifacts. Peer Reviews are composed of software walkthroughs and software inspections and are integral to software product engineering activities. A collection of coordinated knowledge, skills, and behaviors facilitates the best possible practice of Peer Reviews. The elements of Peer Reviews include the structured review process, standard of excellence product checklists, defined roles of participants, and the forms and reports.

Software inspections are the most rigorous form of Peer Reviews and fully utilize these elements in detecting defects. Software walkthroughs draw selectively upon the elements in assisting the producer to obtain the deepest understanding of an artifact and reaching a consensus among participants. Measured results reveal that Peer Reviews produce an attractive return on investment obtained through accelerated learning and early defect detection. For best results, Peer Reviews are rolled out within an organization through a defined program of preparing a policy and procedure, training practitioners and managers, defining measurements and populating a database structure, and sustaining the roll out infrastructure.

See also

* Software engineering
* List of software engineering topics
* Tom Gilb

External links

* [http://www.stellman-greene.com/reviews Review and inspection practices]
*Article [http://www.methodsandtools.com/archive/archive.php?id=29 Software Inspections] by Ron Radice
* [http://www.the-software-experts.de/e_dta-sw-test-inspection.htm Comparison of different inspection and review techniques]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Inspection — Maintenance check of electronic equipment on a U.S. Navy aircraft. An inspection is, most generally, an organized examination or formal evaluation exercise. In engineering activities inspection involves the measurements, tests, and gauges applied …   Wikipedia

  • Software review — A software review is A process or meeting during which a software product is [examined by] project personnel, managers, users, customers, user representatives, or other interested parties for comment or approval .IEEE Std. 1028 1997, IEEE… …   Wikipedia

  • Software technical review — A software technical review is a form of peer review in which a team of qualified personnel ... examines the suitability of the software product for its intended use and identifies discrepancies from specifications and standards. Technical… …   Wikipedia

  • Software peer review — In software development, peer review refers to a type of software review in which a work product (normally some form of document) is examined by its author and one or more colleagues, in order to evaluate its technical content and… …   Wikipedia

  • Software walkthrough — In software engineering, a walkthrough or walk through is a form of software peer review in which a designer or programmer leads members of the development team and other interested parties through a software product, and the participants ask… …   Wikipedia

  • Software Security Assurance — Software is itself a resource and thus must be afforded appropriate security. Software also contains and controls data and other resources. Therefore, it must be designed and implemented to protect those resources. Software Security Assurance is… …   Wikipedia

  • Software testing — is an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test [ [http://www.kaner.com/pdfs/ETatQAI.pdf Exploratory Testing] , Cem Kaner, Florida Institute of Technology,… …   Wikipedia

  • Software verification — is a broad and complex discipline of software engineering whose goal is to assure that software fully satisfies all the expected requirements.There are two fundamental approaches to verification: * Dynamic verification , also known as Test or… …   Wikipedia

  • Software Firewall — Eine (auch: ein) Personal Firewall oder Desktop Firewall (von englisch firewall Brandschutzwand, „Brandmauer“) ist eine Software, die den ein und ausgehenden Datenverkehr eines PCs auf dem Rechner selbst filtert. Sie wird zum Schutz des Computers …   Deutsch Wikipedia

  • Software tools for molecular microscopy — There are a large number of software tools or software applications that have been specifically developed for the field sometimes referred to as molecular microscopy or cryo electron microscopy or cryoEM. Several special issues of the Journal of… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”