Software Validation

What is meant by Software Validation?

Software Validation
Software Validation is a method of validating the software product, so as to ensure that the product meets the pre-defined specified business requirements and end users/customers' demands and expectations.

It is basically, performed with the intent to check that whether the developed software is built as per pre-decided software requirement specifications (SRS) and if it caters to fulfil the customers' actual needs in the real environment. Both, the verification and validation is a software testing activity, and verification is followed by the validation. Validation is usually carried out at the end of the software development.

Validation is an actual testing performed on the software product. It gives answer to our query of "Are we developing the right software product?" Further, it also ensures the identification of defects that were got missed during the verification process.

How to do it?

As told earlier, validation is the actual testing performed on the software product. Thus, it requires proper testing strategy to follow. According to ISO / IEC 12207:2008, validation process includes:

  • Gathering and analysis of the specifications and requirements.
  • Based on specifications and requirements, preparation of test strategies, plans and cases, that seems fit for use.
  • Go for testing the boundary values along with stress and functionalities test.
  • Test the error message.
  • Evaluating software, to ensure that it meets the all pre-decided requirements and is acceptable for use.

Some of features of Software Validation are:

  • Basically, checks that the developed software, follows all requirements and specifications.
  • Usually, performed at the end of software development. However, it may also be carried out during the software development.
  • Responsible for software's acceptance by the user.
  • Actual testing performed on actual software product.
  • Validation is done after Verification.
  • It is a high level testing.
  • Testing Team is responsible for carrying out the validation process.
  • Errors located during validation process prove to more costly than those, caught during verification.
  • Validation may include following types of testing:
    • Black Box Testing

      It is a technique of assessing the software's working, on the basis of available specifications only, and being unaware of knowledge and understanding of the internal features and structure of the software.

    • White Box Testing

      It involves testing of software's functionality, with the knowledge of internal working and structure of the software, by the testers.

    • Gray Box Testing

      Gray-Box Testing is a combination of black-box testing and white-box testing approach, that enables to evaluate the functionality of the software, externally, from users-perspective, by executing test plans and cases, prepared from limited knowledge of the internal features, functionality or details of software.

  • Apart from above testing methodologies, it also includes smoke, regression, functional, system and user acceptance testing.

Keeping in account, benefits linked with validation, it becomes essential to make software product, go through validation process which is nothing but, an actual testing on actual software, so that the software product is readily acceptable by the end users to satisfy their end requirements, in real environment.