The article by Karen Manucharian, Release Manager at QA Madness
Do you remember the episode of “Friends” where Monica asks Phoebe to cut her hair like Demi Moore? In the midst of the process, Monica notices that the haircut is a “little” shorter than what they had discussed. “Would you relax? This is how he wears it”. And that’s when they realize: Phoebe used Dudley Moore as a reference, and Monica ended up with a mannish haircut 🤭
What does it have to do with QA? Well, lack of clear, detailed requirements has quite similar consequences regardless of a sphere of our life. In startups, for example, it is a common situation that no one is one hundred percent sure what feature a target audience needs, how users will react to their product, and how it all should be implemented in the first place. To get it all right, you need to be a visionary like Kanye West or an extremely perceptive and persistent person who will insistently ask a product owner about the requirements and write the specification.
Correctly written documentation is the key to project success. Requirements specification, or simply requirements, is a detailed description of what is to be implemented to accomplish a specific goal. This document outlines a business idea in the form of a technical statement, making it understandable to the entire development team.
Usually, a business analyst (BA) is the one to draw up the software requirements specification, becoming an intermediary between a business and a development team. The purpose of requirements in IT is to accurately describe a business task that a dev team receives from stakeholders. Then, specialists use it as a reference for writing the software code that will satisfy the mentioned requirements.
For a QA team, requirements are the basis for concluding whether the code fulfills its purpose. However, documentation can feature ambiguous descriptions, or there can be gaps in the requirements. For example, sometimes functions are described inaccurately or not covered at all. In this case, a QA specialist contacts a BA for clarification.
An SRS document is the foundation of the project. It addresses most of the issues a development team can face and saves a lot of time for figuring out those issues. Otherwise, specialists will have to clarify the details through emails, calls, and meetings during the development and testing stages. Besides, functional specification greatly facilitates acceptance testing. A properly written software requirements document features all the valid arguments that let you make conclusions about a product’s readiness for release.
Writing project documentation is a direct responsibility of a QA team. However, it is extremely important to involve QA engineers in this process – and the earlier, the better! QA specialists help identify and correct inconsistencies in descriptions and explanations of product features. There is a type of testing covering this — requirements testing, also known as documentation testing.
Once a BA completes writing a specification for a new feature, a QA or QC engineer starts analyzing the described requirements. A QA expert conducts a review and finds inaccuracies in the documentation. You can learn more about levels and types of requirements here. The earlier the review is conducted, the more time and effort a project team will save in the future.
That is where our favorite recursive part begins. As you might guess, there are specific requirements for writing a technical requirements document. To write the specification correctly, you need to remember about several important principles:
Now, imagine what can happen if at least one of these principles is violated.
To tell the truth, having no specification at all is better than a badly written specification that doesn’t explain much and takes time to redo.
It is more or less clear about good documentation, but what about bad requirements? Well, a document that doesn’t meet one or several criteria mentioned above falls under this category.
Here are some examples of what can happen if a team uses a poorly written requirements document:
The consequences of working without a functional specification document will be about the same.
It’s disappointing to admit that there are still projects with no software requirements specification in 2022. Nevertheless, a QA team needs to rely on something other than experience in their work.
Software doesn’t exist without requirements. The very fact that you work with it shows that there are requirements – in the minds of stakeholders and product managers. BAs just haven’t received a documented version of these ideas yet.
So, if it’s a small project, QA experts might know the product better than others. Therefore, they can write functional specification and acceptance testing criteria.
Let’s say a QA specialist has just joined a project and figured out that there is no requirements specification or it’s poorly written. What should one do?
For starters, you can take the initiative. Try to convey the idea about the necessity to document the requirements or improve them. After all, the task of QA is to take care of the project’s quality as a whole, and not just look for bugs. You can raise this issue at a meeting, send an email with an explanation to the client, or write about your idea in the work chat. It depends on how communication with your team usually goes. The key thing is to competently argue your proposal.
A QA expert can show exactly how the lack of requirements affects the quality of the project. For example, you can mention the bus factor. If only one or a few specialists have exclusive knowledge about a product and they are hit by a bus, then this knowledge will be lost forever. So, the project will be delayed or discontinued.
If a client’s team doesn’t have a specialist who can write the requirements, or there is not enough time for this, we can offer to prepare test cases. They can be used as minimal documentation in the future to better understand how a particular feature works. If there is such a need, a QA team can help edit project documentation or write user guides for the system.
Thus, you shouldn’t ignore the lack of requirements. Instead, discuss it with the team and make a polite suggestion to improve the situation. And even if these proposals are not accepted, you’ll demonstrate your proactivity and efficiency.
So, what we have for conclusions:
You just need to find time to document the project’s theory and get it approved by stakeholders. Believe us, it’ll change your life on the project, whilst developers and newbies will be grateful to you.
The saturated mobile app market makes businesses constantly reimagine the definition of quality. This never-ending…
Over half of the software companies use test automation. And almost all testing pros rely…
Imagine studying a language without dictionaries or manuals. Could you learn what each word means…
For QA engineers, learning is a never-ending journey. While you can always expand and refresh…
Everyone can write decent functional test cases. Writing documentation for functional testing services that have…
Automation is now a priority. Nearly all QA specialists write automation scripts for their projects.…