Tests
Our main framework is pytest. We would like to implement the following tests for
our Fastapi applications.
Unit Tests
Responsibility: Developers
Purpose: Write unit tests for internal functions. Few examples of tests of the individual FastAPI endpoints (routes) to ensure they handle requests and responses correctly.
Functional Tests
Responsibility: Automation QA
Purpose: Test the endpoints considering edge cases and business rules.
Performance Tests:
Responsibility: Automation QA (with input from software engineers)
Purpose: Evaluate the performance of the FastAPI application, especially under load, and assess the responsiveness when serving multiple requests.
Handling bugs
When creating a new bug ticket, the QA/PM/other reporter should include:
- a minimal example of the failed request
- an actual result
- if possible, the exact expected result. If not (e.g. when there's numerical issue), description of it
The developer should include this data in tests when addressing the issue.