# 5. Testing

OpenCRVS has been thoroughly tested to ensure that all functionality is reliable and it can work on a variety of devices and levels of connectivity. From a performance perspective the minimum server configuration has been successfully stress tested with loads of up to 200 birth declarations a minute, with multiple concurrent users experiencing response times consistently less than 5 seconds. Cyber-security penetration tests have been carried out on the application with no significant vulnerabilities found.&#x20;

Depending on your implementation and the configuration changes (or customisations) you have made, it is always prudent to conduct your own lab testing prior to releasing the application to users for field testing and wider rollout.

At a minimum, a number of functional smoke tests should be conducted to ensure that the application has been installed correctly and the configuration is working as expected. A smoke test should include the following:

* create and update users (National System Admin and Local System Admin)
* birth registration flows (tested with Field Agents, Registration Agents and Registrars)
* death registration flows (tested with Field Agents, Registration Agents and Registrars)
* performance management (tested with National Registrar, Performance Manager and Registrars)
* use of the actual devices (e.g. laptops, tablets) to be used by staff

Email us at <team@opencrvs.org> for access to the full set of product test cases and scripts.

**Performance testing** should be conducted, with stress test thresholds set based on the maximum number of vital event registrations expected. For example, in Farajaland there are 20,000 births expected per annum, or approximately 100 births per working day.     &#x20;

**Penetration testing** of the application and infrastructure is essential to mitigate risks that PII could be accessed or misused. This should be organised with an accredited partner, for example with [CREST](https://www.crest-approved.org/) and [CyberEssentials](https://www.ncsc.gov.uk/cyberessentials/overview) certification.  &#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.opencrvs.org/v1.3/setup/5.-testing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
