Insights: Article

Quality Assurance vs. Testing: What’s the difference and do I need both?

The terms ‘Quality Assurance’ and ‘Testing’ are frequently used together. Why is this so? What exactly is Quality Assurance versus Testing? Kinetic IT’s Test Manager, Amar Soundarapandian, finds out.

Quality Assurance and Testing

At Kinetic IT, our ServiceNow professional services team has a huge focus on applying Quality Assurance over Testing. These activities are the cornerstone of any IT professional worth their salt, and it’s important we keep up to date with the different impacts of change on our customers’ technology ecosystems, every day. It’s all about being prepared in case there are bumps in the road – because knowledge is power.

While most of us in the software services industry understand what Testing is and why we do it, not many are certain about how much Testing is sufficient. Let’s explore how Quality Assurance helps in this regard!

RELATED CONTENT: Kinetic IT solidifies ServiceNow Elite partnership status

Testing

Testing is the process of validating software solutions against specifications. Responsible for the identification of defects (or ‘bugs’), and the validation of remediation efforts, Testing ensures that unintended behaviours are removed from the system or solution. The act of performing this cycle is also known as ‘rinse and repeat’.

Quality Assurance

Quality Assurance (QA) is a set of processes that, when applied, work to ensure software solutions can be delivered to a high quality. It achieves this by ensuring that the standards and procedures being adopted are appropriate for the project and are correctly implemented. Loosely, you could consider QA as your ‘rules of engagement’ or an outline of the goals you want or need to achieve.

At Kinetic IT, we have developed a well-defined QA governance process that can be applied to any project regardless of the development methodology or the technology used to deliver the software solution. For each stage of the Testing process (i.e., test planning, test preparation, test execution and test completion), we identify Quality Gates, which act as checkpoints in the process. A set of criteria is developed for each Quality Gate to give an indication of whether the testing team has everything they need to progress.

RELATED CONTENT: ServiceNow at Kinetic IT: Meet our ServiceNow crew

Quality Gates

For example, ‘Readiness for Test Execution’ is defined as a Quality Gate. To progress through this gate:

  1. Test requirements must have been written, reviewed and agreed
  2. Test cases must have been written and linked to test requirements
  3. Test environments, test data and test tools must be available
  4. Defect resolution resources must have been agreed upon and made available
  5. Unit testing must have been completed by the developer
  6. Changes must have been implemented in the test environment

If any of the above criteria is not met, then the ‘Readiness for Test Execution’ Quality Gate fails.

Failure of a Quality Gate leads to the creation and communication of a testing risk. The severity and likelihood of impact for this risk is assessed by the project team who is responsible for managing the risk. This process ensures project stakeholders are aware of testing risks, which are critical in making informed decisions in relation to project delivery.

RELATED CONTENT: Kinetic IT identified as ServiceNow ‘Rising Star’ in ISG Provider Lens™

Why do we use Quality Assurance and Testing together?

There are many strong reasons to use Quality Assurance and Testing together. Time allocated to test activities within projects is often constrained. Additionally, testers may not be provided with sufficient information, tools or resources that they need to deliver a high-quality outcome. Without the required inputs, the test team may only identify a subset of the solution’s defects. This can generate the perception that thorough testing has been completed if these defects have been remediated and retested.

The application of QA in conjunction with testing increases the awareness of missing tests and risks which would otherwise remain unknown. As the QA process looks at all stages of the testing lifecycle, including which inputs are required from other areas (e.g., solution design, requirements and development activities) it can assess the quality of the software development process as a whole.

Differences between Quality Assurance and Testing

The following distinctions provide a summary of the differences between Testing and QA:

Testing Quality Assurance
  • Validates the software product or solution against requirements
  • Validates the processes and procedures involved in software development regarding testing
  • Helps identify defects by comparing against requirements
  • Helps prevent defects from entering the system
  • Focus is on the product
  • The focus is on the process
  • Results in defects
  • Results in uncovering risks
  • Requires major involvement from the testing team only
  • Requires involvement from the entire team

Thus, the application of both Quality Assurance and Testing is necessary and plays a pivotal role in ensuring the overall quality of a software solution. The status of defects identified from testing, coupled with the risks identified through QA processes at the end of a test, can give a clearer picture of the sufficiency of Testing.

Quality Assurance and Testing at Kinetic IT

Kinetic IT’s Quality Assurance and Testing services are embedded into our project methodology for our ServiceNow professional services engagements. Through this approach, we have successfully delivered value for many of our customers across a range of industry sectors including transport, resources, education, community services, aviation, energy and utilities.

Want to know how Kinetic IT can design a Quality Assurance and Testing strategy for your organisation? Contact our team to learn more.