Quality control process and tools

Quality control process diagram

The quality control process in the previous diagram can be briefly described as follows.

Software Development Process QC Workflow QC QC Leader
Development Planning Review and contribute to test plans
Create test specifications (test cases/test scenarios)
Prepare and acquire test data
Test Analysis and Design Review and contribute to test plans Initiate the preparation, specifications
Create test specifications (test cases/test scenarios) Write or review a Test strategy for the project
Prepare and acquire test data Leading, guiding and monitoring the analysis, design
Internal Testing Test Implementation and Execution Implements tests, execute and log the tests Monitoring implementation and execution of the tests
Check performance and scan security- Evaluate the results and the deviations from expected results Ensure traceability of the tests to the test basis and keep track of bugs on the Bug tracking system
Post bugs to bug tracking system (Jira/Redmine/Trello) Prioritize/schedule tests to align with the project planning defined by PM
Re-testing (confirmation testing) after bug fixing
Evaluating and Reporting Report test progress to QC lead and PM Evaluating test results and progress
Write test summary reports based on the information gathered during the test
UAT UAT Verify Customer Feedbacks or Change Requests (CRs) Follow-up
Perform re-testing and regression testing after changing the source code Controlling
Update test specifications
Maintenance Maintenance Review and contribute to tasks Review and estimate time for tasks
Create/update test specifications Follow-up test progress
Execute tests for these tasks
Perform regression testing

Similar to the tools we identified for the development process, we have selected a handful of choice solutions and platforms that we often utilize for quality control testing.

Purpose Tool
Website performance index Google PageSpeed, Webpagetest, JMeter
Security Adobe Commerce Security Scan Tool, SonarQube, ZAP
Issue management system JIRA
UI testing Perfect Pixel, BrowserStack
API testing Postman, SoapUI
Automation testing Selenium

Website performance index

GooglePageSpeed reports on the performance of a page on both mobile and desktop devices and provides suggestions on how that page may be improved.

WebPageTest is a web performance tool that uses real browsers to access web pages and collect timing metrics.

JMeter is an Apache project that can be used as a load-testing tool for analyzing and measuring the performance of a variety of services, with a focus on web applications.

Security

SonarQube and ZAP were introduced in the development process, but we are also including it here with more information about how it is involved in the QC process.

SonarQube is also used for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities.

OWASPZAP (Zed Attack Proxy) is intended to be used by both those new to application security, as well as professional penetration testers. Some of the built-in features include intercepting proxy server, traditional and AJAX Web crawlers, automated scanner, passive scanner, forced browsing, Fuzzier, WebSocket support, scripting languages, and Plug-n-Hack support.

UI testing

Perfect Pixel allows developers and markup designers to put a semi-transparent image overlay over the top of the developed HTML and perform a pixel-perfect comparison between them.

BrowserStack is a cloud web and mobile testing platform that allows developers the ability to test their websites and mobile applications across on-demand browsers, operating systems, and real mobile devices.

API testing

Postman is the collaboration platform for API development. Postman simplifies each step of building an API and streamlines collaboration so you can create better APIs.

SoapUI is an open-source web service testing application for Simple Object Access Protocol (SOAP) and representational state transfers (REST). Its functionality covers web-service inspection; invoking, development, simulation, and mocking; functional testing; load and compliance testing.

Automation Testing

Selenium is composed of several components (Selenium client API, Selenium WebDriver) with each taking on a specific role in aiding the development of web application test automation.

On this page