Requirements-based testing is a testing approach in which test cases, conditions and data are derived from requirements. It includes functional tests and also non-functional attributes such as performance, reliability or usability.
Defining Test Completion Criteria - Testing is completed only when all the functional and non-functional testing is complete.
Design Test Cases - A Test case has five parameters namely the initial state or precondition, data setup, the inputs, expected outcomes and actual outcomes.
Execute Tests - Execute the test cases against the system under test and document the results.
Verify Test Results - Verify if the expected and actual results match each other.
Verify Test Coverage - Verify if the tests cover both functional and non-functional aspects of the requirement.
Track and Manage Defects - Any defects detected during the testing process goes through the defect life cycle and are tracked to resolution. Defect Statistics are maintained which will give us the overall status of the project.
Testing must be carried out in a timely manner.
Testing process should add value to the software life cycle, hence it needs to be effective.
Testing the system exhaustively is impossible hence the testing process needs to be efficient as well.
Testing must provide the overall status of the project, hence it should be manageable.