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 |
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.
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.
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.
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.
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.