Software requirements identify the why, what and how of a business' application. They are the building blocks upon which a software is developed. For QA testers, requirements are the basis of test cases and QA analysts review requirements to check if they are SMART i.e. Specific, Measurable, Attainable, Realistic and Testable. So, QA testers should be a part of general requirements engineering (i.e. gathering, analysis, prioritizing, reviews / inspections).
Requirements attributes are characteristics of requirements that define whether requirements are clear, complete, correct, prioritized, concise and testable.
Acceptance criteria determine the scope and requirements that must be executed by developers to consider the user story finished. QA testers should be able to tell whether a solution completely satisfies a requirement. These criteria will make requirements measurable.
To write a good or high quality requirement, a requirements rule set should be defined.
Some examples are:
Templates provide consistency and are ideal for capturing requirements for any project.
Agile user stories typically follow this format: “As a [role], I want [goal] so that [benefit]” e.g. As a user, I want to see recent related articles at the bottom of the article I’m reading so that I can continue to explore the same topic. These featured articles should be about the same topic as the article I’m reading so it feels relevant, timely, and related to my interest.
Other common templates include:
A requirements review is a process that involves people from both client and vendor organizations. They check the requirements document for any anomalies and omissions. Reviews, if well executed, are most effective to find defects. The purpose of a requirements review is to ensure that:
In Agile methodology, the QA tester is more involved in requirements than ever before and takes part in all the project and development activities.
Sign up to our bi-weekly newsletter for a bite-sized curation of valuable insight from the Sitecore community.