Software Requirements are Descriptions and specifications of a system-A requirementis a condition or capability to which the system must conform and Define. A system is designed with certain functionality in mind and to ome up with that functionality and its specification right at the beginning is Requirement Engineering. Requirements Engineering-Eliciting, organizing, and documenting the requirements of the system-The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed Software requirements should be:
SRS stands for Software Requirement Specification.
It establishes the basis for agreement between customers and contractors or suppliers on what the software product is expected to do, as well as what it is not expected to do.
Some of the features of SRS are -
★ It sets permits a rigorous assessment of requirements before design can begin.
★ It sets the basis for software design, test, deployment, training etc. It also sets pre-requisite for a good design though it is not enough.
★ It sets basis for software enhancement and maintenance.
★ It sets Basis for Project plans like Scheduling and Estimation.
Functional Requirements are the Expected functionality or services from the system.
Non - Functional Requirements are System property and constraints. Now Constraints can be on requirements itself. Some examples are of Response time, 24X7 availability of the system etc.
The steps involved are Planning Analysis Design coding testing. After testing maintenance of the product in also involved.
It is used to Verify whether the build is ready for feature/requirement based testing).
It is used in verifying software restart capabilities after a "disaster".
It is ued toverify proper controls have been designed.
This Question is often asked in microsoft of from any other company who is looking to hire you for testing work. A test case will have 5 section.
It evaluate the Human Computer Interface. Verifies for ease of use by end-users. Verifies ease of learning the software, including user documentation. Checks how effectively the software functions in supporting user tasks. Checks the ability to recover from user errors.