Skip to content
This repository has been archived by the owner on Sep 29, 2021. It is now read-only.

Transporter Account Related System Test Procedures

Kelly Holtzman edited this page Jan 30, 2021 · 2 revisions

These test cases do not have to do with modifying particular Transporter Account information like email address, contact number, name, etc. Such types of changes are related to how the Account editing widget should behave and so are more fit to unit tests.

These test cases focus on several system component interactions involving Account information changes.


Template for Individual System Test Cases

Test Description and Status: "A one-line description" (✅ if completed)

Steps:

  1. ...

Note: These procedures do not have implementation details, but your implemented tests should follow them. Tests may insinuate using mocked or the real external systems.


Visual Aid to understanding the test cases here

Generic Transporter Account save actions (no focus on the content of the Account changes)

Test Name and Status: "Successfully save account changes"

Steps:

  1. Create a Transporter Account to modify
  2. Change Account field(s) and save
  3. Verify the Account information exists and is updated in the local database
  4. Verify the previous, outdated Account information does not exist in the local database
  5. Verify the Account exists and is updated in the remote database
  6. Verify the Transporter is not notified of expected success
  7. Verify the Account can still be modified further

Test Name and Status: "Successfully query remote account changes, changes occur"

Steps:

  1. Create a Transporter Account to modify
  2. Change Account field(s) in the remote database (such that the application will observe the changes and update itself)
  3. Verify the Account watchdog observes the change in remote within the test interval
  4. Verify the local Account information is updated with the remote information
  5. Verify the new Account information is displayed to the Transporter in Account Information page
  6. Verify the Transporter is not notified of expected success
  7. Verify the Account can still be modified further from application side

Test Name and Status: "Successfully query remote account changes, no changes occur"

Steps:

  1. Create a Transporter Account (do not make further changes)
  2. Verify the Account watchdog queries the remote for changes within the test interval
  3. Verify no updates occur to Account as there are no changes in the remote
  4. Verify the Transporter is not notified of expected success
  5. Verify the Account can still be modified further from application side

Test Name and Status: "Failure to retrieve remote account changes notifies Transporter, retries"

Steps:

  1. Create a Transporter Account to modify
  2. Set up remote database queries/retrievals to fail
  3. Verify the Transporter is notified of failed remote query/retrieval by watchdog within test interval, only once (because the watchdog retries, we should only notify once if unsuccessful and once when successful after failures)
  4. Set up remote database queries/retrievals to succeed
  5. Verify the Account watchdog queries the remote for changes within the test interval
  6. Verify the Transporter is notified of successful remote query/retrieval by watchdog within test interval

Test Name and Status: "Failure to save account changes notifies Transporter, retries"

Steps:

  1. Create a Transporter Account to modify
  2. Set up local database queries/retrievals/save actions to fail
  3. Change an Account field and save
  4. Verify the Transporter is notified of failed local query/retrieval
  5. Set up local database queries/retrievals/save actions to succeed
  6. Verify the local is retried within test interval
  7. Verify the Account information exists and is updated in the local database
  8. Verify the previous, outdated Account information does not exist in the local database
  9. Verify the Account exists and is updated in the remote database
  10. Verify the Transporter is notified of the eventual save success
  11. Verify the Account can still be modified further

For the above test case, there is a possibility that with such catastrophic failure it is sufficient to warn the transporter about what blew up :( . It isn't likely we could recover from being unable to contact local and so the Transporter would lose any recent changes since last save...

Deliverables pages (see website)

Client meeting minutes pages:

  1. Progress Update and Project Requirement Questions Oct 5, 2020
  2. Progress Update Meeting Oct 29, 2020
  3. Progress Update Meeting and USM-related questions Nov 11, 2020
  4. Mentor Progress Update Meeting Nov 25, 2020
  5. Livestock Services Saskatchewan Project Meeting Dec 3, 2020
  6. Team and Instructor, Mentor, and Faculty Meeting Minutes

Team meeting minutes pages:

  1. Sprint 0
  2. Sprint 1
  3. Sprint 1 Retrospective
  4. Sprint 2
  5. Sprint 2 Retrospective
  6. Sprint 3
  7. Sprint 3 Retrospective
  8. Sprint 4
  9. Sprint 4 Retrospective
  10. Sprint 5
  11. Sprint 5 Retrospective
  12. Sprint 6
  13. Sprint 6 Retrospective
  14. Sprint 7
  15. Sprint 8
  16. Sprint 7/8 Retrospective
  17. Sprint 9
  18. Sprint 10

Requirements-related pages:

  1. About Project Charter
  2. About Project Requirements

Specification-related pages:

  1. Animal Record Transport Template Breakdown
  2. Transfer of Care Document Breakdown
  3. FWR Document Breakdown
  4. Contingency Plan Breakdown

User Story Mapping-related pages:

  1. User Story Mapping Guide

Design-related pages:

  1. C4-Model for Client-Server Architecture
  2. Data Modelling Design Process
  3. Guide to GUI Prototyping Structure

System Test Procedure pages:

  1. Animal Transport Record-related Test Cases
  2. Transporter Account-related Test Cases
  3. System Settings-related Test Cases

Investigation pages:

  1. Adobe XD vs Figma
  2. Client-Server Architecture Tools
  3. Firebase vs. AWS Amplify

Project Setup/FAQ pages:

  1. Cloning Humane Transport
  2. Set up Pre-Commit
  3. IDE Useful Settings
  4. Testing Workflow
  5. Useful Git Commands
  6. Must Know Flutter Concepts
Clone this wiki locally