7.3 Definitions of Defects Depend on Software Specifications

7.3 Definitions of Defects Depend on Software Specifications

A software specification is the measuring stick that we use to decide whether a piece of software has defects. We cannot determine a software component's correctness without access to the software's specification. The specification contains the description and requirements for what a software component is supposed to do and what it is not supposed to do. It is important to note that complete, thorough, and accurate specifications are notoriously difficult to produce. Specifications typically fall between two extremes: The specification may come as a set of formal documents and requirements compiled by end users, analysts, user interface engineers , domain specialists, and others, or it may only have been a set of goals and loosely defined objectives verbally communicated to the software designers and developers. The deviation of a software component from the software specification is a defect or fault. The higher the quality of the specification, the easier it is to define what a defect is or to identify where the programmer made mistakes. When a project's specification is vague, and the elements are poorly defined and the requirements are not definitive, then the definition of a software defect for that project is a moving target. If the specifications are ambiguous, we cannot say what is defective and what is not. We cannot state with certainty whether the developer is correct. Vaguely defined specifications lead to vaguely defined defects. Fault-tolerant and reliable software is not possible under these situations.



Parallel and Distributed Programming Using C++
Parallel and Distributed Programming Using C++
ISBN: 0131013769
EAN: 2147483647
Year: 2002
Pages: 133

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net