<< Chapter < Page Chapter >> Page >

Defect characterization

SQM processes find defects. Characterizing those defects leads to an understanding of the product, facilitates corrections to the process or the product, and informs project management or the customer of the status of the process or product. Many defect (fault) taxonomies exist, and, while attempts have been made to gain consensus on a fault and failure taxonomy, the literature indicates. Defect (anomaly) characterization is also used in audits and reviews, with the review leader often presenting a list of anomalies provided by team members for consideration at a review meeting.

As new design methods and languages evolve, along with advances in overall software technologies, new classes of defects appear, and a great deal of effort is required to interpret previously defined classes. When tracking defects, the software engineer is interested in not only the number of defects but also the types. Information alone, without some classification, is not really of any use in identifying the underlying causes of the defects, since specific types of problems need to be grouped together in order for determinations to be made about them. The point is to establish a defect taxonomy that is meaningful to the organization and to the software engineers.

SQM discovers information at all stages of software development and maintenance. Typically, where the word “defect” is used, it refers to a “fault” as defined below. However, different cultures and standards may use somewhat different meanings for these terms, which have led to attempts to define them. Partial definitions taken from standard (IEEE610.12-90) are:

  • Error: “A difference…between a computed result and the correct result”
  • Fault: “An incorrect step, process, or data definition in a computer program”
  • Failure: “The [incorrect] result of a fault”
  • Mistake: “A human action that produces an incorrect result”
  • Failures found in testing as a result of software faults are included as defects in the discussion in this section. Reliability models are built from failure data collected during software testing or from software in service, and thus can be used to predict future failures and to assist in decisions on when to stop testing.

One probable action resulting from SQM findings is to remove the defects from the product under examination. Other actions enable the achievement of full value from the findings of SQM activities. These actions include analyzing and summarizing the findings, and using measurement techniques to improve the product and the process as well as to track the defects and their removal.

Data on the inadequacies and defects found during the implementation of SQM techniques may be lost unless they are recorded. For some techniques (for example, technical reviews, audits, inspections), recorders are present to set down such information, along with issues and decisions. When automated tools are used, the tool output may provide the defect information. Data about defects may be collected and recorded on an SCR (software change request) form and may subsequently be entered into some type of database, either manually or automatically, from an analysis tool. Reports about defects are provided to the management of the organization.

Questions & Answers

draw and explain state and activity diagram of library management system
Prashant Reply
explain association and generalisation with library system diagram
Prashant Reply
what do you mean by functional and non functional requirements
functional - describes what a software system should do . non functional - place constraints on how the will do so
non functional requirement include: quility . reliability . response time . security . privacy . effectiveness . maintainability . robustness scalability . fault tolerance . extensibility . efficiency . portability . resilience ... .
What does encapsulation mean?
Sravanthi Reply
Encapsulation in Java is a process of wrapping code and data together into a single unit, for example, a capsule which is mixed of several medicines. ... Now we can use setter and getter methods to set and get the data in it. The Java Bean class is the example of a fully encapsulated class.
What is software Engineering
Jakisay Reply
Sofyware engineering is the application of principles used in the field of engineering which usually deals with phsical systems to the design, testing, development, deployment and management of software systems
what is cocomo model
Shrudhi Reply
The Constructive Cost Model is a procedural software cost estimation model developed by Barry W. Boehm. The model parameters are derived from fitting a regression formula using data from historical projects
Please is there any scholarship for African students undergraduate for now
Awal Reply
4 generation technology
Richa, what is your question?
what is the work of software engineer
mercy Reply
steps of developing a software
latest Reply
bamori project
which approach used to reduce number of test cases
Harshdeep Reply
I wish to ask what is the mean of a data model
Ateke Reply
explanation of working of computer
Gulfam Reply
How are u guys
What is software engineering
parfait Reply
explain basic path testing for triangle problem?
Janavi Reply

Get the best Software engineering course in your pocket!

Source:  OpenStax, Software engineering. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10790/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software engineering' conversation and receive update notifications?