Requirements specification document contains all the requirements for the system, formulated in a natural language, so that they be easily understandable to both the customer and those who are involved in the project. From testing perspective, we are interested in picking up enough information from this document to start planning, designing and developing test cases.
For our purposes here, requirements specification must have the following properties:
- Each requirement must be assigned a unique identifier so that it can be unambiguously referenced while defining the scope of testing, designing test cases and generating test reports.
- Requirements must be directly related to satisfying the needs and expectations of the system user. System and acceptance tests should be designed on the basis of a project requirements specification document therefore, the latter should be developed from a system-level perspective. This principle prevents the creation of requirements which define the internal implementation (structure) of the system and require detailed knowledge of the code with intent to execute successful tests. Such requirements should be engineered in the late stages of software development process and be covered by unit tests, and integration tests to verify how system components behave after they have been combined. QA testing services can help you to check developed IT products in order to make sure they meet their requirements specification. If you hire overseas partners to test your software this work will be done competently and within budget.
- There must be both functional and nonfunctional requirements. Functional requirements describe the services and functions that the system being developed should perform. Non-functional requirements describe the limitations in the abilities of the system to perform a particular task, for example, the number of simultaneous users it can handle, and the standards that it must meet.
- The requirements specification document must be placed under configuration management. This, at least, means that this document is subject to version control and that all versions of the document must be placed in a secure archive repository, such as, for instance, a directory whose content is usually duplicated. If the requirements need to undergo changes, we should be able to ensure that appropriate changes are made to system and acceptance test cases.