Ideal Test Plan

Unit Testing

  • Jest – We will use Jest to write unit tests for each simple step in our program such as sending something to our database or calculating results from the questionnaire.
  • Console.log various steps in the program to ensure program is being executed in order and the information being received/delivered is correct.

Integration and System Testing (with UI)

  • We will run through the experience of using the app ourselves to ensure that each component added functions as expected.
  • Ensure pages are shown to the user in the order we expect.
  • Ensure progress is saved after leaving the questionnaire before completion.

Description of Tools Used

  • Jest: The default template for React Native uses the Jest testing framework. This simple Javascript testing framework is very popular and well documented. It provides an easy-to-use API, fast test execution, built-in mocking capabilities, and powerful assertion functions. Jest supports different types of tests, integrates with popular JavaScript frameworks, and simplifies asynchronous testing. It is widely adopted for its simplicity and efficiency in testing JavaScript codebases.

Descriptions of Types of End Users

  • Couples considering marriage: Engaged couples or couples considering marriage will be using this application in order to assess their relationship and determine which aspects are their strengths and weaknesses.

Performance, Reliability, etc. Testing

  • We will use the app in various circumstances to ensure the application is performing well. For example, if trying to leave the questionnaire early, we have to make sure the data is saved even if the entire questionnaire is not completed.

Acceptance Testing

  • We will present our demos to our client and incorporate any feedback received from her.

Realistic Test Plan

Unit Testing

  • Jest – We will use Jest to write unit tests for as many significant steps in our program as we can, such as sending something to our database or calculating results from the questionnaire.
  • Console.log various steps in the program to ensure program is being executed in order and the information being received/delivered is correct.

Integration Testing

  • We will run through the experience of using the app ourselves to ensure that each component added functions as expected.
  • Ensure pages are shown to the user in the order we expect.
  • Ensure progress is saved after leaving the questionnaire before completion.

Acceptance Testing

  • We will present our demos to our client and incorporate any feedback received from her.