chitkara logo


Vol. 4, Issue 9, March 2018

3 Qs of Software Validation Process

Software development starts with Software Requirements Specifications (SRS) and functional specifications defined by the end user. It is a job of Testing Team to verify the implementation of each of the specification as provided in the SRS. Upon verification, bugs & errors are reported and resolved before final go ahead is given to deploy the software in the live environment. Now the problem is that both development team & testing team work in simulated environment and not in the actual environment where software is going to be deployed or used. This is a reason that validation of the software becomes immensely important.

Validation is different from verification as verification is carried out to check if the software meets specifications or not. Validation on the other hand is carried out at the customer or user end. Acceptance of the product/software by the end user depends on the success of the validation process. So validation process has to be very critical. 5 phase software validation process as shown in the figure below is carried out in most industries including medical, manufacturing, pharmaceuticals etc.

Software Validation Process (Source: Reference 1)

Operation Team that is responsible for the deployment of software in the live environment uses 3Q approach for software validation - IQ (Installation Qualification), OQ (Operational Qualification) and PQ (Performance Qualification). These steps need to be performed in a sequence as we cannot check the performance of the software until the installation is done. Operational and Performance Qualification could be done in parallel to save time. These 3Qs are explained in a little more details as below:-

Installation Qualification (IQ)
It involves the validation of installation of product/software in user environment and configuration as agreed upon in SRS. The validation process also provides an installation guide to the end user. Because of the following two reasons IQ phase is considered to be the most crucial

  • Development environment doesn't have 100% real-time environment available to verify the installation issues & hence a difference in the environment could contribute to several problems.
  • Due to various reasons, there is a possibility of lack of collaboration and coordination across teams during the initial stages of software development.

Operational Qualification (OQ)
After successful validation of the IQ, OQ is carried out. This process involves testing of key functionalities of software to check their compliance with SRS. In this phase a complete Quality Assurance (QA) plan is chalked out that includes details like number of tests, test schedule, methodology, tools, impact on the service, test execution sequence, method of reporting issues and the SLAs (service level agreement) for fixing them. OQ tests are a collection of important tests which are designed based on the 'Functional Requirements Specification' document to ensure that the entire software system functions as per the expectation.

Performance Qualification (PQ)
After successful completion of IQ and OQ process, software undergoes performance qualification. Here the software already deployed at the end user environment, undergoes load and stress testing which is not stimulated but uses live data that user is feeding to it. It is called Beta Phase of software where objective is to check software's response time, and ability to perform with peak load. It is generally done with live or actual data. Software is also tested against any crash that may occur during the peak load. Ideally, PQ is carried out for a period of week or may be longer in order to make sure that the software is working according to the required performance.

It has been witnessed that even though software testing activity has been carried out on all products in house, there have been instances where major failures have occurred only after deployment of software in end user environment. This leads to loss of huge amount of money and credibility of the development house. This 3Q approach of software validation ensures that risk of deploying the software in live environment is minimal. This also ensures that cost of failure is minimal and keeps the faith of the end user towards the development company intact.

By: Dr. Prasenjit Das - Associate Dean (CSE), Chitkara University, H.P.

References

  1. www.softwaretestinghelp.com

CLICK HERE to Rate the Article


Disclaimer: The content of this newsletter is contributed by Chitkara University faculty & taken from resources that are believed to be reliable. The content is verified by editorial team to best of its accuracy but editorial team denies any ownership pertaining to validation of the source & accuracy of the content. The objective of the newsletter is only limited to spread awareness among faculty & students about technology and not to impose or influence decision of individuals.