Archives

Difference between Quality Assurance, Quality Control and Testing

November 5, 2015

QA – Quality Assurance – is the most all-embracing and aggregate term among those placed in the heading. QA prevents appearing of issues by focusing on procedures establishment and continuous improvement of product development. It’s a continuous process that is dedicated to improving quality of service or product delivery.

QC – Quality Control – is a set of activities run for detecting issues during the project implementation. Quality control is based on comparing actual results and predefined exit criteria.

Testing is a process of software operation that aims at detecting possible defects, though testing itself can’t help with preventing those.

So, here went the definitions. Let’s see some examples below to understand them better.

First of all, we’ll list the main stages of project implementation (product/service delivery), from having the idea to accomplishing here.

  1. Idea
  2. Design
  3. Development
  4. Implementation

So the question arises of how to accomplish it successfully!

There might be three different cases depending on how experienced are those who’s decided to start a project. Three different teams: one that does it for the first time, another team that has experience in project managing, and the third team of professionals.

They start working, and their aim is to deliver a good product. What should be done for it to be of high quality?

Case #1: Testing is included to product development.

We divide the stages into as many simple activities as possible:

– thinking over the idea, structuring and writing it down

– adding functional and graphical details

– prototyping

– product development

– product testing

– product refining (bug fixing)

– product implementation

This case has quality checks only within the stage of testing. And, as we all know, testing simply identifies existing defects and does nothing to prevent them. That’s what we see in the Case #1.

After finalizing testing stage of the Case #1, there were so many issues discovered, that fixing and retesting them took a lot of additional time, much more than it was predicted. A significant part of defects were related to product requirements. Clarifying these requirements also took a lot of time. Lengthy discussions of test engineers and developers gave no solutions to this, because it was only the Client who could answer the questions whether those functions are vitally important and should be left in the product. This story shows us only some weaknesses of managing a project for the first time, without any background.

 

Case #2: QC and Testing are included in product development.

So, we take to account some experience of similar project management and add some activities to our plan:

 – thinking over the idea, structuring and writing it down

– reviewing and approving the requirements by the Client

– adding functional, non-functional and graphical details

– Requirements analysis and testing

– architecture and development tools analysis

– project implementation planning

– test planning

– forming a list of exit criteria

prototyping

– prototype analysis and testing

– product development

– code quality level check

– preparation for testing

– product testing

– product verification and business logic conformity

– analysing received data

– product refining (bug fixing)

– product implementation

In this case, quality will be higher, though not that ideal as we’ve expected.

This case includes product quality control through requirements check, planning activities, code check, comparing actual and expected results. Here, testing is also done to wring out all possible bugs. Such a product will be better and more stable if being compared to the product from the Case #1.

Since the Case #2 was finished we’ve grown as professionals, though we did face some issues during our previous project. E.g. teams had time-outs because of lack of communication. The Client caused some delays in requirement approvals. The project lacked specialists of sufficient qualification. Some requirements have been radically changed. Lots of other things happened…

 

Case #3: QA, QC and Testing are included in product development.

So, we take to account our experience from Case#2 and add we add some additional stages again.

 – thinking over the idea, structuring and writing it down

– selecting systems for document flow, code management, bug reporting

– reviewing and approving the requirements by the Client

– adding functional, non-functional and graphical details 

– documenting and tracking changes of all requirements

– requirements analysis and testing

approving updated requirements 

– selecting an appropriate management methodology

– project implementation process development

– architecture and development tools analysis

– project implementation planning

– test planning

– risk assessment and prevention

– forming a list of exit criteria

– prototyping

– prototype analysis and testing

– arranging work processes within teams

– product development

– code quality check

– product version control

– preparation for testing

– product testing

– product verification and business logic conformity

– analysing received data

– results verification

– product refining (bug fixing)

– product implementation

– analysing and further improving of the employed process

This time the product was delivered in time, and its quality level matched the expected one. Here quality assurance was drawn on. Despite some misconceptions we faced during the project, the Client received the product of expected quality level. The Client is satisfied and willing to keep our business relationship active.

Case #1 shows us only testing, Case #2 might be used as an example of quality control, while Case #3 visualizes quality assurance that allowed project improving, forecasting, monitoring and testing.

That’s how a product quality is assured.

Tags

CoreValueQuality AssuranceQuality Controltesting

Share


0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Articles

Weathering the Storm

September 22, 2017

As everyone is aware, over the first half of September, Hurricane Irma brought huge devastation to the Caribbean and Florida, with islands all but destroyed and more than 6 million Floridians lacking power.

9 Big Things about Java 9

September 15, 2017 | Andrew Petryk

According to the latest Tiobe index of programming language popularity, Java tops the list.  No wonder there is so much buzz around the new Java 9 release, set for September 21, 2017.  Take a walk through with our expert.     1. JSHELL Many compiled languages include tools for statements interpretation. By using these REPL tools […]