Validation Testing

Software validation testing is essentially a task carried out by a software tester. The aim is to check, if the software has been made in lines with the requirements of the client. In this article, we will talk about software validation testing in detail.
The aim of software testing is to measure the quality of a software in terms of number of defects found in the software, the number of tests run and the system covered by the tests. These tests are carried out for both the functional and non functional attributes of the software. When bugs or defects are found with the help of testing, the bug is logged and the developers team fixes the bug. Once the bug is fixed and testing is carried out again to ensure that the bug was indeed fixed and no new defects have been introduced in the software. With the entire cycle the quality of the software increases.

Verification and validation testing are two important tests, which are carried out on a software, before it has been handed over to the customer. This makes sure, that the software testing life cycle starts early. The aim of both verification and validation is to ensure that the software product is made according to the requirements of the client and does indeed fulfill the intended purpose. So that the software product is tested thoroughly without any bias, often the job of validation testing may also be given to third party validation testing services. Therefore, validation testing is an important part of software quality assurance procedures and standards. In this article, we will concentrate on validation testing.

Software Validation Testing

While verification is a quality control process, quality assurance process carried out before the software is ready for release is known as validation testing. The validation testing goals is to validate and be confident about the software product or system, that it fulfills the requirements given by the customer. The acceptance of the software from the end customer is also a part of validation testing.

Validation testing answers the question, "Are you building the right software system". Another question, which the entire process of validation testing in software engineering answers is, "Is the deliverable fit for purpose". In other words, does the software system provide the right solution to the problem. Therefore, often the testing activities are introduced early in the software development life cycle. The two major areas, when validation testing should take place are in the early stages of software development and towards the end, when the product is ready for release. In other words, it is acceptance testing which is a part of validation testing.

Validation Testing Types

If the testers are involved in the software product right from the very beginning, then validation testing in software testing starts right after a component of the system has been developed. The different types of software validation testing are:

Component Testing
Component testing is also known as unit testing. The aim of the tests carried out in this testing type is to search for defects in the software component. At the same time, it also verifies the functioning of the different software components, like modules, objects, classes, etc., which can be tested separately.

Integration Testing
This is an important part of the software validation model, where the interaction between the different interfaces of the components is tested. Along with the interaction between the different parts of the system, the interaction of the system with the computer operating system, file system, hardware and any other software system it might interact with is also tested.

System Testing
System testing, also known as functional and system testing is carried out when the entire software system is ready. The concern of this testing is to check the behavior of the whole system as defined by the scope of the project. The main concern of system testing is to verify the system against the specified requirements. While carrying out the tester is not concerned with the internals of the system, but checks if the system behaves as per expectations.

Acceptance Testing
Here the tester especially has to literally think like the client and test the software with respect to user needs, requirements and business processes and determine, whether the software can be handed over to the client. At this stage, often a client representative is also a part of the testing team, so that the client has confidence in the system. There are different types of acceptance testing:
  • Operational Acceptance Testing
  • Compliance Acceptance Testing
  • Alpha Testing
  • Beta Testing
Often when validation testing interview questions are asked, they revolve around the different types of validation testing. The difference between verification and validation is also a common software validation testing question. Some organizations may use different terms for some of the terms given in the article above. As far as possible, I have tried to accept the alternate names as well.
By
Published: 9/6/2010
Like This Article?
Follow:
Post Comment
Your Comments:
Your Name: