Software Validaton By Hitesh Agarwal

Software Validaton
Name of Skill

Software Validation

Classification of Skill

According to Tutorialspoint, validation testing in the V model has the four activities:

  1. Unit Testing, validating the program
  2. Integration Testing, validating the design
  3. System Testing, validating the system / architecture
  4. User Acceptance Testing, validating against requirements Note how this overlaps the four levels of verification defined by Toolbox.com. It seems that the terminology is not used consistently.

Prerequisites for Skill
  1. Understanding of Software Requirements.
  2. A good knowledge of Software Quality.
  3. A good knowledge of the technology at hand
  4. Well understanding on the UI design principles.
Related Software Engineering Area(s)

Software validation falls under Software Quality Management(SQM), which is the collection of all processes that ensure that software products, services, and life cycle process implementations meet organizational software quality objectives and achieve stakeholder satisfaction. SQM comprises four subcategories:

  1. Software quality planning
  2. Software quality assurance(SQA)
  3. Software quality control (SQC)
  4. Software process improvement (SPI
Rationale for Skill

Software validation confirms that certain specifications coincide with user needs, the software is meeting intended use and requires objective evidence that the requirements can be consistently fulfilled.

For small to mid-sized manufacturing companies, software validation can seem like an overwhelming task. However, the benefits of validating prove to be well worth the cost. Some of the reasons for software validation include:

  1. Saving money by discovering weaknesses or flaws in processes prior to production.
  2. Providing management with a clear understanding of risks so that appropriate decisions can be made.
  3. Increasing the likelihood projects will be completed on time and within budget.
  4. Increasing product and system quality.
  5. Meeting regulatory compliance.
Roles for Skill

1. Software Validation Engineer
2. Software Requirements Engineer
3. Stakeholders

Work Related to Skill 1. USER REQUIREMENTS DOCUMENT :
Create a user requirements document that contains a quick list of one or two-line sentences identifying the functionality that is required for your business.
2. PROJECT PLAN:
In creation of the project plan you will identify who, what, where and when the validation will occur. A validation team will oversee the entire process, and typically includes the project manager, technical lead, quality assurance lead, validation lead and a support lead. Responsibilities of each team position should be explained in the project plan. The project plan should also include a system description, purpose, environment specifications, assumptions, exclusions, limitations, testing, acceptance criteria, error resolution and system documentation. There are various websites with samples and templates available to get you started.
3.FUNCTIONAL SPECIFICATIONS DOCUMENT:
Create a functional specifications document that is an extension of the user requirements but contains slightly more information. Each requirement now expands to three or four sentences.
4. GAP ANALYSIS :
A review of the functional specifications occurs and a gap analysis is created. The gap analysis is used to determine risk, or the difference between the desired performance and the existing performance. These risks should be documented and prioritized. If a gap is identified as a high risk, it becomes important to ensure that your procedures will mitigate the risk.
5. TESTING PROTOCOL:
The testing protocol document outlines the specific objectives, procedures, data sets, test scenarios, expected results and acceptance criteria for the system testing process. These protocols should test the software components your company will utilize.
6. TESTING REPORT:
The testing report is an outline of the testing that has occurred. Typically, it will include an executive summary of the test execution that addresses adherence to test procedures, acceptability of results, as well as any unexpected results.
7. SYSTEM RELEASE/GO-LIVE:
The system release allows the software to be used in production. By this time, the users have been trained, data has been entered and business scenarios have been completed. The users can now begin using the software.
8. VALIDATION COMPLETE:
Once the validation is complete, the system must be maintained in a validated state. Maintaining this state requires that standard operating procedures are in place for addressing problematic concerns and resolution, change control, record retirement, etc. If changes are required within the system, the changes should be reviewed and assessed for risk. Necessary changes should be authorized, documented, tested and approved before implementation occurs.
Real-World Example

Below is a link to a a report that provides a detailed descriptio of the software validation process in a real world scenario.

Software Validation Process(CREWS Report).

Role of Academia or Industry in Cultivating the Skill

Software verification and validation is considered to be one of the main knowledge areas for an undergraduate Software Engineering curriculum, by the ACM and the IEEE. This topic is also among the top ten important topics in terms of its appropriateness to industry. It is stated that software disciplines, such as requirement management and quality management are very important in the life cycle of software.

Some experiences have suggested that the teaching of software testing should begin as early as possible so that an adequate culture of testing could be created. Earlier mastering of testing concepts and techniques would:
(1) improve reasoning about the program (and its solution), leading to high quality products.
(2) induce and facilitate the use of testing throughout the software development process.

Tools Supporting the Skill

1.) Selenium
2.) Watir
3.) Ranorex
4.) Figma
5.) Adobe XD

Skill Self-Assessment

My Skill Score: 7/10

Reason:
Software validation in my experience, is a skill tht encompasses a lot of different aspects of software development process. A software validation engineer needs to understand the requirement specifications, the technologies involved in building the software, testing strategies etc. Since I have not worked in the industry, I donot have the required experience to rate myself any higher.

References

https://www.fda.gov/media/73141/download

https://pdfs.semanticscholar.org/e0fc/a12359448abc30c8e4180a308beb82b46275.pd

https://www.processproerp.com/10-steps-to-software-validation

"https://www.edureka.co/blog/software-testing-tools/

Icon