The main goal of the quality assurance process is to ensure that the product (app, website, etc.) is implemented correctly. It implies that the product requirements have been drafted precisely, and the development team has a clear idea of how the product should work before it is introduced.
QA testing is necessary, but its accompanying actions, such as planning and documenting the process, are equally important. QA engineers have to develop test scenarios, as well as to prepare for the test and evaluate its results. The establishment of the idea of a fundamental QA testing process at all levels of testing took years.
So, the key steps of QA process flow are as follows:
- Planning and management
- Analysis and design
- Evaluation of output criteria and writing of reports
- Test completing
Here QA workflow is described in a logical sequence, but under real-world design conditions, they can overlap, co-occur, or even repeat. Typically, these steps are adapted to the needs of a particular system or project.
Step 1. Planning and management
Test planning implies the identification of the critical test objectives and tasks that are required to achieve these objectives. During the planning process, the QA team is convinced that they have clear goals and wishes of the customer and objectively assessed risk levels for the project. After this, the QA team set the goals and objectives for testing. Documents such as Test Policy, Test Strategy, and Test Plan are compiled to describe the test objectives better.
Test Policy is a high-level document that describes the company's principles, approaches, and key QA testing goals.
Test strategy is a high-level document that describes test levels and test approaches within those levels. It operates at the company or program level (one or more projects).
Test plan is a document that describes the tools, approaches, schedule, and resources required for the QA testing process. Among other things, this document defines the test tools, functionality to be tested, team role allocation, test environment, test design techniques used, test input and output criteria, and risks. That is, this is a detailed description of the entire testing process.
In any activity, management does not end with planning. We need to monitor and measure progress. It is why test management is a continuous process that juxtaposes the current test situation with the plan and report. In turn, the data obtained during the control team role allocation are taken into account in the planning of further actions.
Step 2. Analysis and design
QA test analysis and design is the process of writing test scenarios and conditions based on common test goals. During the analysis and design process, the QA team develops a test script based on the overall test goals determined during planning.
Test script is a document that defines the sequence of actions when QA test is performed.
Step 3. Introduction and realization
During the test run, test cases are written based on the test scripts. QA team collects the information required for the tests, then prepares the test environment and run the test.
Test case is a document that contains a set of input values, pre- and post-conditions, as well as the expected test result, designed to verify that a certain system functionality meets the requirements specified for this functionality.
Test environment is hardware and software and other tools required to perform tests.
4. Evaluation of output criteria and writing of reports
Output criteria determine when testing can be completed. They are necessary for each level of testing as a QA team needs to know if tests have been conducted sufficiently.
When evaluating output criteria, it is necessary to:
- Check whether a sufficient number of tests have been carried out, whether the required degree of system quality assurance has been achieved.
- Make sure that no additional tests are necessary. If there is still such a need, it may be necessary to change the established output criterion.
Once the QA testing process is complete, the QA team has to write a report and make it available to all stakeholders. After all, it is not only testers who need to know the results of the tests - this information may be necessary for many participants in the software quality assurance process.
5. Test Completion Steps
At the end of the test, the QA team collects, organizes, and analyzes information about its results. It can be useful later - at the stage of releasing the finished product.
The main objectives of this phase are:
Make sure that all the planned functionality has been implemented.
Check that all error reports submitted earlier have been closed in one way or another.
Shutdown of test support, test environment, and infrastructure.
Evaluate the overall test results and analyze the experience gained in its process.
It is essential to understand that testing is not a phase or step. It is a process that is as long as development. QA testing process runs simultaneously with development. So at every stage of the development process, you need to make sure that the code is tested thoroughly.
Before the QA outsourcing company starts the software quality testing process, they need to know the methodology and all processes to make the necessary changes.