Skip to content

Testing Plan and Continuous Integration

Irisvella edited this page Dec 29, 2024 · 4 revisions

Testing Plan & Continuous Integration

Testing Plan

To ensure the system continues to work as intended between changes, the following testing strategy will be implemented:

Unit Tests

Unit tests will be performed to ensure individual components render and behave correctly such as displaying the correct data and returning the right data. Django's built-in testing framework will be used for the backend, and Jest will be used for the frontend. Everyone is in charge of writing tests for the features they implement.

Integration Tests

Integration tests will be written to ensure different modules interact as intended. These tests will involve frontend-backend communication and communication between different modules. Everyone in in charge of writing tests for the components they implement.

User Acceptance Testing

Once core functionalities are implemented, alpha testing will be performed. Depending on the progress of the project, a final product may be released to the stakeholder for beta testing.


Continuous Integration

We’re setting up a GitHub Actions pipeline so that every push or pull request builds and triggers a full test run.

Workflow Breakdown

  1. Install Dependencies and Compile

    • Create a virtual environment and install dependencies, builds
  2. Run Tests

    • Automatically run tests for the frontend and backend
  3. Notifications

    • GitHub sends an automatic pass/fail status on each pull request.

Team Responsibilities

  • Writing Tests: Everyone writes tests for the features they develop.
  • Reviewing PRs: Two members must review and approve PRs. The person initiating the PR can request a review from at least 2 other members. The reviewers must look over all the changes and give constructive feedback when both approving or requesting changes.
  • Monitoring CI: If a build fails, the developer who owns that feature is responsible for fixing it quickly.

Clone this wiki locally