-
Notifications
You must be signed in to change notification settings - Fork 0
Testing Plan
For sprint 1 we will be testing 1 feature: Ability to Manage Race Course. Specifically, that means creating a new race (in the web app) and viewing a race (in both apps).
For sprint 1 the other 4 features will not be being tested as they will not be completed for the end of sprint 1. Additionally, some aspects of the feature Ability to Manager Race Course will also not be tested, such as the ability to define the race's course and grouping several race courses together as a regatta.
We will have unit tests for all code in the backend and any logic code in the frontends. We will have integration tests for the backend and database communication, as well as any logic in the frontends that merit it. We will have acceptance tests to manually confirm the frontends and backend are working together properly.
The tests below are the tests we have planned, but more implementation is required before the tests can be written.
- Make sure that the user's position data is tracked and stored as a track.
- Make sure the user can link tracking to a race if the tracking started near the start time of a race that the user has joined.
- Make sure the user can see how long they have been tracking their position for.
- Make sure the user can see how far they have gone while tracking their position.
- Make sure the user can see their current speed while tracking their position.
- Make sure the user can stop tracking their position.
- Make sure that stopping a track that was linked to a race will mark it as pending upload.
- Make sure users can attach their name, position, and boat name to an uploaded track.
- Make sure the server can handle 7 tracks uploaded concurrently, by 150 users within 1 minute.
- Make sure a race course can be created.
- Make sure a race cannot be created if it does contain at least two gates which define the start and finish lines.
- Make sure a created race course can be edited.
- Make sure a created race can be duplicated.
- Make sure a created race can be published and found by users.
- Make sure users can join a created race.
- Make sure race courses can be grouped into a regatta event.
- Make sure that publishing a regatta event publishes all the race courses within that group.
- Make sure text notes and pdf files can be added to a race.
- Make sure added text notes and pdf files can be accessed by users.
- Make sure every test can be manually completed by users with only a local internet connection (no greater internet connection).
- Make sure race results are calculated correctly from the uploaded track data.
- Make sure race coordinators can edit start times of tracks.
- Make sure race coordinators can edit finish times of tracks.
Our testing will be complete when every story has at least one test, our logic classes have 100% class coverage, all tests pass, and all open bugs are fixed or will be fixed in the next release.
- GitHub Actions
- Vitest
- Flutter's flutter_test package
Minimum hardware requirements:
- Windows 10 or above
- Android 14 (API 34)
Minimum software requirements:
- Chrome browser 129
- Sailing Race Analyzer
- Features
- Web App
- Mobile App
- Repo
- Issue Tracking
- Branching
- Dev Tools & Programs
- Architecture
- Database Structure
- Network
- Sequence Diagrams
- Backend
- REACT
- Flutter