Quality Assurance Plan
- Introduction
- Automated and Regression testing
- User testing
- Experienced users
- Inexperienced users
- Scope
- FURPS
- Functionality goals
- Receipt Input
- User should be able to manually enter a receipt
- User should be able to save an entered receipt
- User should be able to upload an image
- User should be able to have the image scanned and fill in a template receipt
- User should be able to correct errors from scanning image
- Receipt Search
- User should be able to search receipts by business, by date, by contained items categories
- Visualization
- User should be able to visualize their spending by time-frame
- User should be able to visualize their spending by category
- User should be able to visualize their spending in different charts/graphs
- Usability goals
- Software is easy to use
- Success/Error of operations should be clearly indicated
- Reliability goals
- Regular usage is free of unexpected errors
- Manual input is 100% reliable
- OCR is 90%+ reliable
- Program should be available 24/7
- Performance goals
- System responds to any user request in less than 1 second
- Supportability goals
- System should not be dependant on any specific DBMS
- System should be easily extendable and modular
- Quality Objective -
- Users are able to run the program without it crashing
- Users are able to use it with little guidance
- UI is visually appealing
- Roles and responsibilities of team members
- Jeremie
- Backend Testing
- Test database module (unit testing)
- Test OCR module (unit testing)
- Backend Testing
- Jorgen
- Backend Testing
- Test database module (unit testing)
- Test OCR module (unit testing)
- Backend Testing
- Lucas
- Frontend Testing
- Test upload function (such as it is)
- Test manual receipt input
- Frontend Testing
- Michael
- Frontend Testing
- Test manual receipt input
- Test sidenav menu
- Frontend Testing
- Jeremie
- Test methodology
- Deliverables
- Test Scripts
- Strategies/approach (unit, regression, system/integration, acceptance)
- Unit testing for the database tables, operations
- Manual testing for frontend?
- Bug reporting
- GitLab issue flagging, separate discord channel
- Test tools
- None
- Deliverables
- Inspection methodology - deliverables, strategies/approach (not graded)
- Deliverables
- Code review improvement report
- Strategies/approach
- Pair programming
- Code review
- Deliverables
- Action Plan (as usual)
Person | Accomplished | Time taken |
Jeremie | Test Plan
Some database models |
4 hours |
Jorgen | Database module debugging
Test plan |
4 hours |
Lucas | Upload UI
Helped with manual input |
4 hours |
Michael | Manual input | 4 hours |
Person | To do next week | Estimated time required |
Jeremie | Finish database module
Installing TesseractJS |
5 hours |
Jorgen | Finish database module | 5 hours |
Lucas | Implement searching | 7 hours |
Michael | Connect manual input with database | 5 hours |