Software Testing - Some Definitions

The following terms are defined in BS7925-1. They are the basic definitions about software bugs:

Error
A human action that produces an incorrect result.

Fault
A manifestation of an error in software. The terms ‘defect’ or ‘bug’ are often used too.

Failure
A deviation of the software from its expected delivery or service.

Reliability
The probability that software will not cause the failure of a system for a specified time under specified conditions.

Correctness
The degree to which software conforms to its specification.

We can see from these definitions that an error may lead to fault and that a fault may lead to failures. Also, failures affect the reliability of a system. But some faults may not result in failure.

For example, a programmer may write code to obtain some working memory but forget to write the code to free that memory when it is no longer required. This fault causes a ‘memory leak’, the memory leaks away and is no longer available to any program. If the faulty code is not used very much then the memory leak will be small and the system may continue without any problems. However, if a large amount of memory leaks away then eventually the system will fail when it can obtain no more free memory.

A single fault may result in 0, 1 or more failures. If a fault does not cause a failure then the system reliability is not affected. A system demonstrating a high number of failures has poor reliability.

More by this Author


Comments

No comments yet.

    Sign in or sign up and post using a HubPages Network account.

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.


    Click to Rate This Article
    working