A Software quality assurance test is, strictly speaking, a QC (Quality Control) function. When we talk about QA (Quality Assurance) in general conversation, most people think of software testing.
To be sure, software testing is a very important part of the overall quality assurance function, but it occurs “after the fact.” In other words, it is the gatekeeper function of QA. Thorough testing assures that proper procedures have been followed in the creation of the software application.
On this page, we’ll list what is involved in the execution of a thorough Software quality assurance test, and review the various types of testing.
Let’s start with the four major software testing types:
Unit Testing seeks to demonstrate the a single program or unit of code functions as intended and may be done initially by the code developer with additional testing performed by a quality control team member.
Integration Testing is done to ensure that the code interacts successfully with related programs, databases, etc.
System Testing simulates the operation of the entire system and all inter-related components
User Acceptance Testing is the real-world test of a system. This phase ensures that the systems meets the users needs and interacts successfully with all related systems and functions.
The above is a very high-level view of a complete Software quality assurance test. With each of these steps are a variety of detailed and very specific types of tests that must be done to ensure that the product functions as intended and as efficiently as possible.
These four testing techniques are what we refer to as “Validation Techniques.” Simply put, this means that you are testing the code after it has been produced to ensure that it performs the intended function(s).
As part of a complete quality assurance plan, “Verification Techniques” should be performed as well. These are done prior to validation and, if done properly, will make the validation (i.e. testing) phase faster and easier. Here are the four verification categories:
Requirements Reviews are done prior to coding to ensure that the users needs are understood.
Design Reviews are conducted to review the feasibility of the design in support of the user requirements and interactions with hardware and other software components.
Code Walkthroughs are an informal review of the source code to find defects and verify coding techniques and are usually performed by developers.
Code Inspections are a more formal version of walkthroughs and are performed by team members from different disciplines (developers, QA analysts, subject matter experts, etc.).
As a part of a complete Software quality assurance test, both verification and validation techniques should be included in your standard operating procedures.