Whenever an application crashes or malfunctions, users often wonder if the application had been thoroughly tested. This is where the need for Quality Assurance (QA) comes into play. The testing and validation of user requirements for an application before it goes out to the consumers is a long and exhaustive process.
However, it’s imperative to understand the significance of QA during the various stages in a project whether it may be in the early stages (design) or the later stages (deployment). In this article, I will outline the basics of QA involvement in the two main development stages of a project, as well some relevant personal project experience that corresponds to it.
During the beginning stages of a project, the client and the development team are in constant communication regarding the user requirements to define what the software product should do and how it should function.
Although the amount of work for QA is quite minimal at this stage, it’s the preparation of the test plan that is often overlooked. Within a test plan, there are multiple sections ranging from the scope, strategy, roles and responsibilities, to the environment. Each section requires extensive documentation to prepare for the testing stages that occur during each sprint.
For instance, a project I am currently on working requires an outline of the test plan. Since my background on the project requirements is very minimal, it’s my responsibility to collaborate with the project’s business analyst (BA). The BA’s expertise in defining the requirements of the project can assist me in understanding the architecture and use of the application. With this information, I am able to tailor my test plan to address areas that will require testing as well as employ the appropriate testing strategies.
These strategies can include which testing tools to use, and analyzing the risks and mitigating them. In addition to preparing a test plan, it’s also imperative to participate in scrums to be kept informed of any design changes to the application and adjust plans accordingly. In the early stages of a project, the preparation and documentation of the test plan are vital for a smooth transition to the later stages where QA’s workload increases rapidly.
As an application nears completion, it requires extensive testing and validation to ensure it fulfills the technical requirements set forth at the start of the project. Here the importance of proper test planning and ongoing project involvement pays dividends. Because the QA team can follow a guideline and was apprised throughout the project, the chances of veering off course and being startled by design changes are extremely minimized.
In addition, an underrated aspect of QA is its role in acting as a consumer advocate.
What does this entail?
It means stepping into the end users’ shoes and envisioning how they see the product. An example of when I acted as an end user advocate was during a project where the Appnovation team was responsible for providing a consultation on an existing application created by another software development company. With the help of our in-house BA who created the user requirements for me to verify, I started my analysis of the application. I immediately noticed areas that may cause confusion to end users such as how the content was organized and the complicated user workflows.
As a tester, I felt confusion and frustration while using the application and I could only imagine how much worse it would be for the customer. After I provided some critical and constructive feedback, the developers were able to produce a more simplified and intuitive version of the application.
Testing will always remain one of the main core tasks for QA, but it’s the additional roles and responsibilities that QA takes on (such as being a customer advocate) that makes QA so invaluable to the development cycle.