Skip to content

Test Plan

Robert Fraser edited this page Jul 12, 2019 · 8 revisions

Functional Tests

Login

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

  1. Launch the app
  2. Enter the account username into the text field
  3. Enter the account password into the text field
  4. 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

  1. Launch the app
  2. Enter the account username into the text field
  3. Enter an incorrect password into the text field
  4. 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

  1. Launch the app
  2. Enter an invalid username into the text field
  3. Enter any password into the text field
  4. Hit the login button

Navigation

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

  1. Ensure user is logged in and bottom navigation bar is visible
  2. Press the Home button and check that the Home section is now displayed
  3. Press the Activities button and check that the Activities section is now displayed
  4. Press the Social button and check that the Social section is now displayed
  5. 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

  1. Enter a screen with a back button (eg. one of the activities pages)
  2. Press the back button in the top left corner of the screen

Step Tracking

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

  1. Check current number of steps
  2. Walk around, carrying phone in pocket
  3. 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

  1. Place phone in a stable location and do not move it
  2. Check current number of steps
  3. Wait several minutes
  4. Ensure that the number of steps has not changed

Other Tests

Unit Testing

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

Continuous Integration

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. Travis CI Example

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

Clone this wiki locally