What we would do if we had all the time we needed:
- Notification Testing
- Notifications are tricky because they occur outside of the app. This would involve further investigation and looking into testing that works for notifications specifically. Right now, the easiest way to test if the notification feature is by using the application as intended, that is, sending a message from the admin portal and as a result a notification is sent to the mobile device.
- Testing Embedded Videos
- We are using iFrames from the Web View library and it is difficult to control the content in the iFrame itself inside of the Web View. If there are additional elements as a result of browsing in the iFrame link, such as a login page, it is harder to test this.
What we are actually going to do:
- Unit Testing
- Using the Jest testing framework to check that each page of the app is displaying as expected.
- Integration and System Testing
- We will have unit tests for individual components that are related to the user interface and the flow of the application. For example, testing that a back button renders and appears on the app and the related time and date loads correctly. As for the tools used, we are using Jest and npm version 9.5.0 and node version 18.15.0. To run our test scripts, use the command “npm test – –watchAll”. This test script is used for testing both the mobile app and the admin portal components. We used the Expo mobile app on our physical devices to test features on our app without having to deploy it to the App Store or the Google Play Store.
- End users are intended to have iOS and Android operating systems and for admin portal desktop testing, we are using Google Chrome.
- Performance and Reliability
- More test features are needed to test more complex interactions in the app. This could also include testing that the app is formatted correctly on different devices, accounting for different proportions and screen sizes.