# Software Testing Policy

# Purpose of this Software Testing policy

The testing policy outlines the high-level strategy and principles for software testing. It outlines the test goals and objectives, benefits and strategies for test process improvement. All subsequent test strategies and low-level test plans will be established on the basis of this policy.

# Mission Statement

To ensure that any changes to software do not jeopardize the quality characteristics of mission-critical systems used by GoR Institutions.

To verify, validate, and evaluate the quality of software or systems being delivered and to ensure that testing is performed effectively and dynamically to ensure that the product satisfies the end-user requirements resulting in the institution’s satisfaction.

# Software Testing Policy Objectives and Principles

The following are the main objectives of the software testing policy:

1. To ensure that testing is planned early in the project so that testing activities may be started as soon as possible in the project life cycle, and resources planned accordingly.
2. To identify and include important stakeholders in the testing process, including developers, technical advisors, and software testers, in order to understand testing priorities and risks from both a business and technological perspective.
3. To ensure that a risk based approach is used to prioritize testing activities with the added benefit of making optimal use of resources by focusing on the most critical areas of testing.
4. To ensure defect discovery whether it be requirements defects, code defect or other types of defects, occurs as soon as feasible to avoid spiraling expenses associated with finding and correcting issues later on in the project/software’s lifecycle.
5. To ensure that important business needs are covered by testing through comprehensive traceability of testing coverage back to original business requirements.
6. To ensure there is focus on testing the ‘unwritten requirements’ of a system to identify any defects that users may find. Unwritten requirements cover areas such as user behavior which involve using the system in the context of the end users rather than how it has been designed.
7. To ensure that testing also covers compliance with applicable policies and regulations

# Benefits of the Software Testing Policy

This testing policy aims to give the GoR institutions the observable advantages listed below:

1. Ensures that testing is a standardized and repeatable activity rather than a customized activity for each project or software modification, i.e., that we are not reinventing the wheel but also not restricted by a single restrictive technique. The mindset that this policy and accompanying approach will create is a "freedom to test" mentality.
2. Supports successful collaboration across all GoR institutions through the adoption of standardized concepts, methods, and deliverables.
3. Provides a framework for defining how test planning, design, execution, and closure are conducted.
4. Ensures adequate resources for software testing are provided to ensure that testing is effective.
5. Ensure that regression testing is carried out which ensures that existing processes and functions are validated when new fixes are introduced in software during the testing process.
6. Ensures completeness of testing by relating testing to both functional and non-functional requirements such as security and performance testing.
7. Ensures that all testing operations are documented to an agreed-upon, suitable degree in line with the testing policy.
8. Ensures that the available resources are used as efficiently as possible to carry out testing activities.