Skip to content

Testing Policy Document Demo 3

Byron Pillay edited this page Sep 3, 2026 · 5 revisions

Testing Policy Document

Introduction

The following document is the Testing Policy Document of Veritas Labs. It outlines the technologies, procedure and requirements followed when testing the system.

Software/Technology for Testing:

PyTest

Pytest was chosen as the Backend testing framework for the following reasons:

  • PyTest integrates well with Python and FastAPI, which are used to develop the Backend of the project.
  • PyTest is relatively simple and easy to use.
  • PyTest-cov allows the team to measure coverage and work towards the 85% coverage non-functional requirement.

Jest

Jest was chosen as the Frontend testing framework for the following reasons:

  • The team is familiar with Jest.
  • Jest integrates well with JavaScript/TypeScript and React-based applications.
  • Jest provides support for mocking, assertions and automated unit testing.
  • Jest allows the Frontend components and logic to be tested independently.

Playwright

Playwright was chosen as the End-to-End testing framework for the following reasons:

  • Playwright supports automated testing of complete user workflows through the application.
  • Playwright can test interactions between the Frontend and Backend, making it suitable for validating system integration.
  • Playwright supports multiple browsers, allowing the application to be tested across different browser environments.
  • Playwright integrates well with GitHub Actions, allowing End-to-End tests to be executed automatically as part of the CI pipeline.

Testing:

Unit Testing

Unit tests should be done with PyTest for the Frontend and Jest for the Backend. Furthermore, all unit tests must achieve an 85% coverage. The strategy of unit testing used by the system is White-Box Unit Testing.

Example of Backend Unit Testing
image
Example of Frontend Unit Testing
image

Integration Testing

Each developer is responsible for the integration tests of their own code. The method for integration testing is Top-Down. The Backend has integration tests with the database, and the collection of Backend and database has integration tests with the storage. Finally, the collection integrates with the Frontend.

Example of Backend Integration Testing
image
Example of Backend Intregration Testing
image

End-to-End Testing

Playwright End-to-End Tests should be written for each use case and must pass before entering production.

Example of End-to-End Intregration Testing
image

Environments:

Development

There is a testing environment available to engineers only.

Production

The production is automatically deployed.

Clone this wiki locally