Software Testing 102 - The act of quality in testing

Research shows that one of the main root causes of software startup failures is poor quality assurance done during the software development process. The reason for executing stringent quality processes is to prevent the release of poor-quality products.

Quality means different things to different people. Testing and quality have been misunderstood by a lot of organizations as many assume that “ to test means to do quality” which is not entirely true.

Testing however forms an Integral part of quality but quality revolves more around approaches and processes that cover all QA activities across the SDLC and STLC from the beginning to delivery and optimization. We would need to explain the quality and testing differently to be able to grasp its purpose properly.

Quality can be categorized into product quality and a quality process;

Product quality: It is the collection of all the features and characteristics of a product that contribute to its ability to meet the customer's needs and requirements. It’s the ability of the product to fulfill what the end-user wants and perceives as value.

Quality process: This involves evaluating objectively the performance of processes and work products against process descriptions, standards, and procedures. This stage includes:

  • Encouraging documentation process standards, such as the creation of well-defined engineering documents using standard templates e.g Test documents
  • Mentoring how to conduct standard processes, such as quality reviews performing in-process test data recording procedures
  • Identifying standards, if any, that should be used in software development processes

Testing

Testing is an activity that checks/assesses the functionality and correctness of software according to user requirements specified to improve the quality and reliability of the system. It is conducted in order to measure the perceived quality of functionality or deliverable. Testing helps with supporting the delivery of a quality product provided it is run as part of a quality process. Testing needs a strategy, approach, and plan derived from quality processes to ensure that the product quality delivery is robust.

How to get quality through testing?

While to err is human, to create high-quality software you need to implement an effective QA management that provides tools and methodologies for building bug-free products also implementing a well-defined robust quality process while testing would limit errors and costly mistakes during product development.

As a tester you need to do more than just testing that a feature or functionality works according to requirements, you should also ensure that all processes and procedures used in carrying out the testing activity conform to standards. It is more of taking ownership of the overall quality of the product or feature.

An example is : Test a basic add to cart functionality. normally as a tester you just want to check if a user can add an item to the cart, proceed to checkout and pay for the item via different payment gateways available. Quality testing in this scenario is when the tester is curious about other experiences on that feature than just the function. Let's say the user experience (simplicity in the process), the color, fonts, Imagery used on the website, and compatibility of that feature when displayed in a mobile or desktop application. Going the extra mile to ensure that product quality is at par. Other factors might also want to be considered depending on the testing environment.

In conclusion, testing is not complete without a defined quality assurance process guiding its scope.