Participants and "customers" in the testing process
- How, at what stage, and with whom does the testing team interact in the software development process?
- What do various participants in the development process expect from the QA team, and how can that be achieved?
What is quality?
Before we deal with all the expectations and requirements of the testing team as well as product quality, let us take a step back and look at the notion of quality.
What is quality? How do we know something is of high quality? What do we expect from a high-quality product? What makes a high-quality product different from a low-quality product?
- Quality is a very subjective attribute. Everyone will give their own definition of quality or description of a high-quality product.
- Every person may consider one or another thing, product, or service to be of high or low quality, based on his or her needs, values and priorities. One and the same thing can be seen as being of high quality for one person and of low quality for another.
To sum up, we get the following definition: quality, first of all, means meeting expectations. In other words, it is a subjective assessment, and depends on who is assessing.
What follows from this? To achieve a higher assessment of your quality, you need to understand who makes it and what it's based on. Therefore, if you want to get a high quality software product, you must understand the expectations of all people involved in the development and operation of that product. You should be able to work together with all the participants in the development process and at all stages.
What type of expectations can be had with regard to the quality of a software?
The understanding of software quality may differ among different participants in the development process. The same is true about expectations from the testing team within the QA process. Let us summarize all requirements in the following table.
|Participants in SW development process||Expectations from high-quality software||Expectations from QA|
|Outside IT teams||
At what stages of development should testers be involved?
A brief answer is—at all stages. As we have seen, the testing team collaborates with all participants in the software development process. If there are separate stages and steps within the process, then testers should be involved at each stage or step.
The splitting of the process into stages does not necessarily mean Waterfall. In agile development, too, you can find different tasks: analyzing and working out users' stories, configuring the environment, debugging the software, demo, features acceptance, etc.
The following activities can be identified within the software development process, each involving the QA team:
Other activities will be present in both waterfall and iterative development:
- In Waterfall, these are separate stages/steps of development
- In Agile, these could be different activities within one iteration