Testing Policy Document Demo 2 - COS301-SE-2026/Veritas-Lab GitHub Wiki

Testing Policy Document

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.

Integration Testing

Big bang integration.

End-to-End Testing

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

Environments:

Development

There is a testing environment available to engineers only.

Production

The production is automatically deployed.