Testing

Testing is the process of verifying and validating that the software meets the requirements of the institution and its stakeholders. This phase involves a variety of testing activities, such as unit testing, system testing, integration testing, user acceptance testing, performance testing and security testing.

The activities to be carried out in this phase are detailed below.

Test planning [Mandatory]

Test planning [Mandatory]

The objective of test planning is to define the scope, approach, resources and schedule of testing activities. It includes:

  1. Defining test scope and objectives
  2. Defining the required resources including testing team, infrastructure, logistics and testing tools
  3. Defining the approach for testing including the entry and exit criteria for each testing stage
  4. Defining the expected test deliverables
  5. Scheduling test activities in an appropriate manner

Output: Test strategy and test plan

Test design [Mandatory]

This step involves defining the test scenarios required to test the software requirements and the test cases required to test each scenario. Test cases should include:

 

  1. The reference to the requirement being tested
  2. Description of the function or feature being tested
  3. Test data & instructions to run the test
  4. Expected test results

It is crucial to keep in mind that tests should be designed to test both the specified and unwritten requirements including expected user behavior and arbitrary scenarios that could break the system.

Output: Test scenarios and test cases

Test execution[Mandatory]

In this step testing is executed based on the test plan and test cases. Ensure the testing teams are aware of their responsibilities prior to testing. Ideally the testing team should be in one location to enable easier collaboration. Key activities include:

  1. Preparation and setup of the test environment
  2. Execution of test cases based on the test plan
  3. Recording of test results
  4. Recording, classification and prioritization of identified defects
  5. Resolution of defects based on priority
  6. Regression testing after defects have been resolved

The minimum test types to conduct include

Output: Test reports with test completion status and test pass rates, Defect logs

Test closure [Mandatory]

This is the final step in the testing process. The testing phase is closed when the following is achieved:

  1. All the tests have been completed and there are justifications for any tests that cannot be completed
  2. All critical defects have been resolved. If any defects are open, then reasons for defects being open should be provided. Defects should be analysed based on their impact on the operations of the institution. A decision should be made on which defects must be closed before the software or a component of the software can go to production

Output:  Final testing report showing completion rate, pass rate and status of defects