Once in my training session, I throwed Rubik’s Cube to the participants and asked them to test. Few of them started testing the Rubik’s Cube, and few of them started gazing me. After few moment, one gentleman asked “What is the requirement?”. Yes, he is correct. Testers should ask questions before they start testing anything. It is not ideal testing without any inputs.
If you are feeling unwell and visiting doctor, first and foremost thing will be doctors shoot few questions like “From when you are feeling unwell?”, “Is your throat paining?”, “Is it paining while coughing?” etc. Based on your response he prescribes medicines or injections. If you are not responding proper answers, then it will lead to doctors to prescribe irrelevant medicines. It applies for Software Testing projects as well. Clients should state crystal clear requirements to deliver quality software.
In this blog post, we will see about Test Requirements, Types of Requirements, Good requirements, Bad requirements, benefits of requirements and requirements analysis.
What is Requirement?
According IEEE Standard Glossary of Software Engineering, a requirement is defined as: A condition or capability needed by a user to solve a problem or achieve an objective. A condition or capability that must be met or possessed by a system or system component to satisfy a contract standard, specification, or other formally imposed document. A documented representation of a condition or capability as in the above.
Requirement addresses what needs to be tested?
Types of Test Requirements
There are two types of requirements. Functional and Non-Functional Requirements.
Functional Test Requirements:
Functional Requirements Document (FRD) explains about functionality of application under test (AUT). It helps testers to verify and validate the system. E.g: Login, Forgot Password, Creating account etc.
Non-Functional Test Requirements:
Non-Functional Requirements Document (NFRD) explains about non-functional aspects of the system like performance, security, usability, scalability, stability, availability, usability, maintainability etc. E.g: Response time of page load.
Attributes of Good Test Requirements:
Requirements should have following attributes:
- Requirements should be in document format i.e. readable and editable. Version should be maintained.
- It should be complete.
- It should be testable.
- It should traceable and track able.
- It should be accessible to project team members.
- It should be understandable by testers.
Input will be functional and non-functional requirements specifications document.
- Requirements Analysis
- Brainstorming with business analysts, developers and other key people for better understanding.
- Aligning the test process
- Studying the application and its architecture and interfaces.