Repository navigation
Testing Policy Document Demo 3
The following document is the Testing Policy Document of Veritas Labs. It outlines the technologies, procedure and requirements followed when testing the system.
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 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 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.
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.
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.
Playwright End-to-End Tests should be written for each use case and must pass before entering production.
There is a testing environment available to engineers only.
The production is automatically deployed.
- User Stories
- Use Cases
- Use Case Diagrams
- Functional Requirements
- API Service Contracts
- Quality Requirements
- Constraints
- Technologies Required
- Architecture Diagram
- Domain Model
- Introduction
- User Stories
- Use Case Diagrams
- Functional Requirements
- Non-Functional Requirements
- Domain Model
- Introduction
- User Stories
- Use Case Diagrams
- Functional Requirements
- Non-Functional Requirements
- Domain Model
- Introduction
- Architectural Requirements
- Technology Requirements
- API Contracts
- Deployment
- NFR Testing
- NFR Traceability Matrix
- Introduction
- User Stories
- Use Case Diagrams
- Functional Requirements
- Non-Functional Requirements
- Domain Model
- Introduction
- Architectural Requirements
- Technology Requirements
- API Contracts
- Deployment
- NFR Testing
- NFR Traceability Matrix