What would we do if we had all the time that we really needed?
Unit Testing
Make sure NoSQL database (Firebase) is being filled accurately
Authentication testing to make sure users are in system and can log in, log out, be authenticated, etc.
Each transaction item scanned is accurately categorized by OpenAI
Integration and System Testing (with UI)
Testing API calls to make sure that they are accurate in each step as they feed into each other (Taggun -> OpenAI -> Bend)
Test buttons that allows for transition to each page
Make sure camera is able to take photos that can be loaded into the API
Camera takes photos that can be seen by the user in the application
The photo (receipt) is able to be passed into the API
Test UI on different platforms to make sure that the format stays the same in each
Make sure user can login, be authenticated, and redirected to their dashboard upon login
From the dashboard, users are able to open the camera, scan a receipt, and receive a carbon score based on their purchases from the receipt
With each scan, the updated score bar on the dashboard will accurately update
Descriptions of tools
Jasmine: Behavior-driven development framework for testing JavaScript code. Provides utilities that can be used to run automated tests for both synchronous and asynchronous code
Appium: Open-source framework that facilitates UI automation testing for native mobile applications
Types of end users
General users: People who use the app because want to be more sustainable in their daily life
Performance & Reliability
Test application reliability when scanning other documents that are not receipts
Ensure that the application basics are able to function even when API or firebase is down
Test the timing of each of the APIs to make sure they work within a reasonable timeframe
Transactional items are accurately categorized and its carbon score correctly calculated
Acceptance Testing
Walkthrough the application with the client and test out a sample receipt
Ensure that users understand clearly how to use the application, how to scan receipts, and what the resulting data represents
What we are actually going to test
Unit Testing
Make sure that each of the buttons allows for transition to each page
Make sure photos are saved
Make sure API calls return numeric carbon emission output as end result
Integration and System Testing (with UI)
Make sure user can login, be authenticated, and redirected to their dashboard upon login
Make sure that the camera is able to open and take photos
The application performs similarly on both iOS and Android systems
Descriptions of tools
Jasmine: Behavior-driven development framework for testing JavaScript code. Provides utilities that can be used to run automated tests for both synchronous and asynchronous code
Types of end users
General users: People who use the app because want to be more sustainable in their daily life
Performance & Reliability
When a user scans their receipt, it does not take an exceptionally long amount of time to process and receive their carbon calculation from
Every time a user scans a receipt, they will receive a score (as in the API calls are successful)
Acceptance Testing
Walkthrough the application with the client and test out a sample receipt
Ensure that users understand clearly how to use the application, how to scan receipts, and what the resulting data represents