Test Plan

Unit testing

  • We will test for the pdf result generation. Specifically, for each survey we provide on our app, we will test to make sure that the responses to all the questions show up in the correct format and that the scores are calculated correctly.
  • We will test for survey result storage. Specifically, we need to make sure that each entry matches the actual survey response correctly, and that all database errors are invoked with corresponding invalid operations.
  • We will test for user authentication. We need to make sure the doctors are able to login and get the data of their particular patients from the Firestore database and ineligible users are authenticated to retrieve any data.
  • We will test for data request form. We will check to make sure each data request entry is correctly stored in our database.
  • We will test for data retrieval. We need to make sure that our client can get all data in the correct format and with the right number. We also need to make sure that the data a doctor gets contains and only contains the specific patient she or he requests for and that the internal database is not accssible to any external individuals for sake of information protection.

Integration and system testing

  • We will test if the new UI features are compatible with the existing survey bodies. Specifically, we will manually test each component and makes sure they function properly and smoothly. For example, if a user is in the middle of a survey and decides to switch language, we need to make sure that they don’t lose their previous responses and the page isn’t accidentally re-rendered which takes them back to the start of the survey.

Performance and reliance testing

  • We will test our app’s capability of handling frequent survey submissions and login requests. Specifically, we need to examine the performance of our app when there are many responses uploaded to the database or authentication and data retrieval requests from the database.

Acceptance testing

  • We will work with the client and discuss any parts of the app that need to be fixed for the desired usability.