-
Notifications
You must be signed in to change notification settings - Fork 0
Test Plan
The very first step in using the app is being able to login to the app. This should be an easy and fast process, allowing the user to very quickly get to the best parts of the app.
| Sequence of Events | User types in username and password and hits login |
| Success Criteria | User is logged in and the main app page is displayed |
| Pre-Requisites | Account already exists |
| Known Issues |
Steps
- Launch the app
- Enter the account username into the text field
- Enter the account password into the text field
- Hit the login button
| Sequence of Events | User types in username and incorrect password and hits login |
| Success Criteria | Warning message is displayed and the user is not logged in |
| Pre-Requisites | Account already exists |
| Known Issues | Warnings are not displayed |
Steps
- Launch the app
- Enter the account username into the text field
- Enter an incorrect password into the text field
- Hit the login button
| Sequence of Events | User types in invalid account details and hits login |
| Success Criteria | Warning message is displayed and the user is not logged in |
| Pre-Requisites | No account with the username exists |
| Known Issues | Warnings are not displayed |
Steps
- Launch the app
- Enter an invalid username into the text field
- Enter any password into the text field
- Hit the login button
The Ecosoft app has a lot of individual screens and sections, which need to be easily navigated by the user. Testing needs to be conducted to ensure that all buttons work, and that all pages are accessible.
| Sequence of Events | User presses one of the four buttons on the bottom navigation bar |
| Success Criteria | User is transferred to the corresponding section |
| Pre-Requisites | User is logged in, app is running |
| Known Issues | Occasional visual artefacts in the navigation bar |
Steps
- Ensure user is logged in and bottom navigation bar is visible
- Press the Home button and check that the Home section is now displayed
- Press the Activities button and check that the Activities section is now displayed
- Press the Social button and check that the Social section is now displayed
- Press the Profile button and check that the Profile section is now displayed
Certain screens have a back button. On these screens, pressing the back button should return the user to the previous section.
| Sequence of Events | User presses the back button |
| Success Criteria | User is transferred to the previous screen |
| Pre-Requisites | User is logged in and currently in a screen with a back button |
| Known Issues | Occasional visual artefacts in the navigation bar |
Steps
- Enter a screen with a back button (eg. one of the activities pages)
- Press the back button in the top left corner of the screen
A key part of the app is step tracking. As the user walks around with the app running, their steps should be accurately tracked and displayed. Users should not be able to get steps easily by doing nothing, or through cheating methods such as shaking their phone.
| Sequence of Events | Walking around properly registers steps |
| Success Criteria | Step counter increases as the user moves around |
| Pre-Requisites | User is logged in, app is running |
| Known Issues | Step tracking may be too sensitive |
Steps
- Check current number of steps
- Walk around, carrying phone in pocket
- Check that the number of steps has increased
| Sequence of Events | Keeping phone still does not increment steps |
| Success Criteria | Step counter does not change |
| Pre-Requisites | User is logged in, app is running |
| Known Issues | Step tracking may be too sensitive |
Steps
- Place phone in a stable location and do not move it
- Check current number of steps
- Wait several minutes
- Ensure that the number of steps has not changed
For some backend classes, unit tests are written to ensure that developer changes do not break existing features.
| Sequence of Events | Unit Tests are executed after developers make code changes. |
| Success Criteria | All unit tests pass |
| Known Issues | Unit test coverage can be improved substantially |
For continuous integration, TravisCI is used to ensure that the build is stable independent of machine. This allows for greater reassurance, especially when making merge requests between branches.
![]()
| Sequence of Events | TravisCI automatically attempts a build when a merge request is made |
| Success Criteria | TravisCI builds successfully |
| Known Issues | Long set up and running time, integration doesn't run as well as expected |