Get in touch
I have already been involved in various agile software development projects. In all of them, I as a software tester was expected to "ensure quality".
But to be able to ensure the quality, I should be able to decide on the following points, among others:
The final decision about quality is made by the users. If a certain feature is desired and not provided, an expectation is not met. This lowers the quality of the application in the perception of the users. If a bug disturbs the users or even makes the software application unusable, this lowers the quality. If a feature is nevertheless released, although it has more disadvantages at the time of the acceptance due to identified errors, than it offers an increase in value, then this decreases the quality of the product. If there is a need for optimization in the software development process and this is not adjusted accordingly, this usually leads to poor quality of the resulting product.
As shown in the previous section, the listed points have a decisive influence on product quality. Let's take a closer look at the individual points and illuminate which of them I really have an influence on as a software tester.
As a software tester, feedback from users and customers about the product is particularly important to me. I can collect this from various sources. Among other things, through app store ratings, surveys, analytics, reviews and the opinions of acquaintances. Based on the information I have gathered, I can then make recommendations to the people involved in the software development process. However, the decision as to which feature is ultimately implemented is always made by the business owner.
Bugs that I have identified are analyzed by me. Then the information collected is passed on to the team. Afterwards, we discuss them in the team and decide together if and when these bugs will be fixed.
In a larger project, I found that most critical bugs arise because the requirements are unclear or incorrectly defined. I discussed this finding with the team. However, after this discussion, nothing was changed in the software development process. The team refused to adjust the process to address the identified vulnerability. In the past, I have seen this kind of behavior in other projects or teams. When I discover optimization points in the software development process, I can only point them out. As a tester, however, I cannot and must not determine that these are also implemented.
As mentioned earlier, in a team, the different roles make the decisions that help ensure quality. As a software tester, I usually provide important information about the current state of the application and the processes by which it was developed. Based on this information, I make my recommendations. The collected information and recommendations then serve as a basis for decision-making for all persons involved in the software development process. They should help the people involved to make a good decision. However, the final decision is usually not made by the software tester, but by the development team. Therefore, as a software tester, I cannot ensure quality on my own responsibility or in a free decision - this can only be achieved together with all the people involved in the software development process.
This article first appeared on entwickler.de (in German). We appreciate your feedback and sharing the article.