written 7.7 years ago by
modified 7.7 years ago
Verification is a kind of activity that helps in evaluating a software system by determining
whether the product of a given development phase satisfies the requirements established
before the start of that phase.
Activities that check the correctness of a development phase are called verification activities. Verification activities aim at confirming that one is "building the product correctly".
Verification activities are performed on interim products by applying mostly static analysis
techniques, such as inspection, walkthrough, and reviews and using standards and checklists.
Validation activities help us in confirming that a product meets its intended use.
Validation activities aim at confirming that a product meets its customer's expectation.
In other words, validation activities focus on the final product, which is extensively tested from
the customer point of view.
It aims at confirming that one is "building the correct product".
For example, it is performed towards the end of system development to determine if the entire
system meets the customer's needs and expectations.
An error is a state of the system. In absence of any corrective action by the system, an error state
could lead to a failure which would not be attributed to any event subsequent to the error.
It the one which is generated because of wrong login, loop or due to syntax.
Error normally arises in software. Error means to change the functionality of the program.
This is a part of a system state that is liable to lead to a failure.
A fault is the adjudged cause of an error.
A wrong or mistaken step, process or Data definition in a computed program which causes the
program to perform in an unintended or unanticipated manner.
Fault is a stage of software which is caused by an error/bug/defect/mistake.
The fault is basically the original cause of an error.
An uninitialized pointer variable in a C language program is an example of software faults.
Defect is the difference between expected and actual result in the context of testing. Defect is the
deviation of the customer requirement.
Defect is an error found AFTER the application goes into production.
A defect occurs only after a mistake done from the developer's end.
Programmatic errors give rise to software defect.
In software testing a defect is considered to be anything that can hamper the functioning or
execution of the software application or service .
For instance, a defect can be either a failure of a certain section of the code to function
accurately, a flaw in the design of the system, or a fault, which could either be an error in the
A failure is said to occur whenever the external behaviour of a system does not conform to that
prescribed in the system specification.
If under certain circumstances the defects get executed by the tester during the testing then it
results into the failure which is known as software failure.
Failure occurs when fault executes.
Hence the process of failure manifestation can therefore be represented as a behaviour chain as follows:
fault ->error ->failure
Figure 1: Relationship between error, fault, failure and defect