Thursday, August 20, 2015

CBOK: Understanding Quality Control









Common Body of Knowledge: Understanding Quality Control
By Trevor Carter

  




   Quality Control focuses on identify defects/issues in the software by executing test scripts. Test scripts help identify weaknesses within the software.

   
  Until I studied the Common Body of Knowledge from the Quality Assurance Institute I did not relate quality control to test execution. As a matter of fact, I always related quality assurance to the actual testing process. After reading and understanding QAI’s definition of quality control it made more sense to identify test execution with control, whereas quality assurance is about creating activities that evaluate processes that help produce the software.
  

  While it is possible to have quality control without quality assurance, I have found by experience that this is not ideal to producing quality software. If there are no guidelines in place (processes and procedures), getting good quality control is like throwing darts at a dart board blindfolded.


  There are many activities involved with quality control. You have both manual test execution and automated test execution. The more complex and robust the software is, the more likely you’re going to need both manual and automated tests to fully engage the software. Both types of testing require analysis. Metrics need to be in place to measure success and failure. The great thing about automated tests is that repeatable tests don’t have to be manually tested, which can be time consuming. Having automated tests allows manual testers to focus on new functionality. Automated tests can focus on existing functionality that ports over from one release to the next.


  Below is a list that differentiates quality control from quality assurance: 

  •   Quality control verifies the attributes of the product. It asks the question, do the results satisfy the system requirements?
  •  Quality control finds weaknesses in the software – defects/issues.
  •  Quality assurance establishes processes that help guide quality control, to produce consistent results. These processes also help in analyzing the quality control results.    
  •   Quality assurance is a management initiative. Quality assurance personnel are not involved in quality control.



  There are many different phases associated to quality control. Each phase plays a specific role in finding the weakness of the software. This is not an exhaustive list, but focuses on the main phases associated to quality control.

Functional tests: The quality control team runs specific test cases (contains the scripts) to locate weaknesses in the product, and then reports those weaknesses so that they can be addressed.

Ad-hoc/Exploratory tests: Ad-hoc testing is a creative endeavor that allows quality control personnel to get into the software without any specific test scripts. In order to perform this type of testing, testers should have a good working knowledge of the software.

Regression test: Once the initial test phases are complete the quality control team can run end-to-end tests. This phase is particularly useful for automation, as it covers a broad range of functionality.









No comments:

Post a Comment