... | ... | @@ -419,4 +419,287 @@ Note: each E# corresponds to the epic below. |
|
|
|
|
|
### Reflection
|
|
|
|
|
|
While we had initial promising results from Tesseract(Google’s open-source Optical Character Recognition(OCR) Engine) for OCR, the results obtained from real receipts using Tesseract did not meet the criteria listed in our acceptance test. The time and resources to improve cleanup the results from Tesseract to meet our needs for this project or to train an OCR Receipt scanner from pre-existing photo machine learning program was way out of the scope of this project and thus left unimplemented. |
|
|
\ No newline at end of file |
|
|
While we had initial promising results from Tesseract(Google’s open-source Optical Character Recognition(OCR) Engine) for OCR, the results obtained from real receipts using Tesseract did not meet the criteria listed in our acceptance test. The time and resources to improve cleanup the results from Tesseract to meet our needs for this project or to train an OCR Receipt scanner from pre-existing photo machine learning program was way out of the scope of this project and thus left unimplemented.
|
|
|
|
|
|
|
|
|
## Testing
|
|
|
### Automated Testing
|
|
|
### Manual Testing
|
|
|
#### Receipt Input
|
|
|
##### Test 1
|
|
|
* Goal: Display helpful error messages on invalid operation
|
|
|
* Instructions
|
|
|
* Click on “Receipt Input”. Enter Date, Item Name, Amount, Cost per Item and tag. Leave the Business Name field blank. Click “Create”. Then click “Save”
|
|
|
* Verify That:
|
|
|
* An error message is displayed
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 2
|
|
|
* Goal: Display helpful error messages on invalid operation
|
|
|
* Instructions
|
|
|
* Enter receipt information but leave the date field blank
|
|
|
* Verify That:
|
|
|
* An error message is displayed
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 3
|
|
|
* Goal:
|
|
|
* Instructions
|
|
|
*
|
|
|
* Verify That:
|
|
|
*
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 4
|
|
|
* Goal:
|
|
|
* Instructions
|
|
|
*
|
|
|
* Verify That:
|
|
|
*
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 5
|
|
|
* Goal:
|
|
|
* Instructions
|
|
|
*
|
|
|
* Verify That:
|
|
|
*
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 6
|
|
|
* Goal:
|
|
|
* Instructions
|
|
|
*
|
|
|
* Verify That:
|
|
|
*
|
|
|
* Status: Pass
|
|
|
|
|
|
|
|
|
#### Searching
|
|
|
|
|
|
##### Test 1
|
|
|
* Goal: Data stored in the database can be loaded
|
|
|
* Instructions
|
|
|
* Check if all data is appearing inside the data field
|
|
|
* Verify That:
|
|
|
* Can see Tota
|
|
|
* Can see Company
|
|
|
* Can see Date
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 2
|
|
|
* Goal: Data stored in the database can be loaded
|
|
|
* Instructions
|
|
|
* Check if data appears inside modal
|
|
|
* Verify That:
|
|
|
* Can see Total
|
|
|
* Can see Company
|
|
|
* Can see Date
|
|
|
* Can see item and individual price
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 3
|
|
|
* Goal: Data stored in the database can be removed
|
|
|
* Instructions
|
|
|
* Check if item has been deleted from database
|
|
|
* Verify That:
|
|
|
* Receipt and all items are removed from database
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 3
|
|
|
* Goal:
|
|
|
* Instructions
|
|
|
*
|
|
|
* Verify That:
|
|
|
*
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 4
|
|
|
* Goal: Data stored in the database can be loaded
|
|
|
* Instructions
|
|
|
* Check if photo shows in card
|
|
|
* Verify That:
|
|
|
* Can see image added
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 5
|
|
|
* Goal: Data stored in the database can be loaded
|
|
|
* Instructions
|
|
|
* Check if photos are in modal
|
|
|
* Verify That:
|
|
|
* Can see photo
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 6
|
|
|
* Goal: Display works as expected based on what it says it should do
|
|
|
* Instructions
|
|
|
* Check Item get sorted old to new and new to old
|
|
|
* Verify That:
|
|
|
* Items are in proper order
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 7
|
|
|
* Goal: Display works as expected based on what it says it should do
|
|
|
* Instructions
|
|
|
* Check that Company filters are working
|
|
|
* Verify That:
|
|
|
* Can see receipts with only companies selected
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 8
|
|
|
* Goal: Data stored in the database can be loaded
|
|
|
* Instructions
|
|
|
* Search by items only show receipts with those items
|
|
|
* Verify That:
|
|
|
* Can see Total
|
|
|
* Can see Company
|
|
|
* Can see Date
|
|
|
* Status: Pass
|
|
|
|
|
|
#### Budgeting
|
|
|
##### Test 1
|
|
|
* Goal: Data is stored in the database and data can be loaded from the database and displayed
|
|
|
* Instructions
|
|
|
* Create Budget(ex: 50.00) for a timeframe(ex: March 2020) on All receipts where there is not a budget
|
|
|
* Verify That:
|
|
|
* Can view budget
|
|
|
* Budget amount is correct
|
|
|
* Budget is saved and kept upon reloading the application
|
|
|
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 2
|
|
|
* Goal: Data is stored in the database and data can be loaded from the database and displayed
|
|
|
* Instructions
|
|
|
* Update an existing Budget(ex: 50.00) to a new value(ex: 100.00) for a timeframe(ex: march 2020) on All receipts for a budget that already exists in the database
|
|
|
* Verify That:
|
|
|
* Can view budget
|
|
|
* Budget amount is the new amount
|
|
|
* New budget amount is saved and kept upon reloading the application
|
|
|
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 3
|
|
|
* Goal: Data is stored in the database and data can be loaded from the database and displayed
|
|
|
* Instructions
|
|
|
* Create Budget(ex: 50.00) for a timeframe(ex: march 2020) on a business where there is not a budget
|
|
|
* Verify That:
|
|
|
* Can view budget
|
|
|
* Budget amount is correct
|
|
|
* Budget is saved and kept upon reloading the application
|
|
|
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 4
|
|
|
* Goal: Create Budget(ex: 50.00) for a timeframe(ex: march 2020) on a business where there is not a budget
|
|
|
* Instructions
|
|
|
* Update an existing Budget(ex: 50.00) to a new value(ex: 100.00) for a timeframe(ex: march 2020) on a business for a budget that already exists in the database
|
|
|
* Verify That:
|
|
|
* Can view budget
|
|
|
* Budget amount is the new amount
|
|
|
* New budget amount is saved and kept upon reloading the application
|
|
|
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 5
|
|
|
* Goal: Data is stored in the database and data can be loaded from the database and displayed
|
|
|
* Instructions
|
|
|
* Create Budget(ex: 50.00) for a timeframe(ex: march 2020) on a category where there is not a budget
|
|
|
* Verify That:
|
|
|
* Can view budget
|
|
|
* Budget amount is correct
|
|
|
* Budget is saved and kept upon reloading the application
|
|
|
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 6
|
|
|
* Goal: Data is stored in the database and data can be loaded from the database and displayed
|
|
|
* Instructions
|
|
|
* Update an existing Budget(ex: 50.00) to a new value(ex: 100.00) for a timeframe(ex: march 2020) on a category for a budget that already exists in the database
|
|
|
* Verify That:
|
|
|
* Can view budget
|
|
|
* Budget amount is the new amount
|
|
|
* New budget amount is saved and kept upon reloading the application
|
|
|
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 7
|
|
|
* Goal: Display helpful error messages on invalid operation
|
|
|
* Instructions
|
|
|
* Create Budget(ex: -50.00) for a timeframe(ex: Febuary 2020) on a category/business/all where there is not a budget
|
|
|
* Verify That:
|
|
|
* An error message displayed
|
|
|
* The value is not saved
|
|
|
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 8
|
|
|
* Goal: Display helpful error messages on invalid operation
|
|
|
* Instructions
|
|
|
* Update an existing Budget to a new value that is <= 0 (ex: -10) for a timeframe(ex: February 2020) on a category/business/all for a budget that already exists in the database
|
|
|
* Verify That:
|
|
|
* An error message is displayed
|
|
|
* The value is not saved
|
|
|
|
|
|
* Status: Pass
|
|
|
|
|
|
* Prerequisites for next tests:
|
|
|
* Receipts have been entered in the receipt input page
|
|
|
* Budgets have been entered in the budget input part of the page
|
|
|
|
|
|
|
|
|
##### Test 9
|
|
|
* Goal: Data can be loaded from the database and displayed
|
|
|
* Instructions
|
|
|
* Browse a budget that has a budget set for the current timeframe for a business/a category/all
|
|
|
* Verify That:
|
|
|
* The budget is correctly displayed
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 10
|
|
|
* Goal: Display helpful error messages on invalid operation
|
|
|
* Instructions
|
|
|
* Browse a budget that has no budget set for the current timeframe for a business/a category/all
|
|
|
* Verify That:
|
|
|
* No budget is displayed
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 11
|
|
|
* Goal: Data can be loaded from the database and displayed
|
|
|
* Instructions
|
|
|
* Browse a timeframe where there is spending for the current timeframe for a business/a category/all
|
|
|
* Verify That:
|
|
|
* The spending is correctly displayed
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 12
|
|
|
* Goal: Data can be loaded from the database and displayed
|
|
|
* Instructions
|
|
|
* Browse a budget where there is no spending for the current timeframe for a business/a category/all
|
|
|
* Verify That:
|
|
|
* The spending is 0
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 13
|
|
|
* Goal: Data can be loaded from the database and displayed
|
|
|
* Instructions
|
|
|
* Browse a timeframe where there is spending and a budget set for the current timeframe for a business/a category/all and the budget is bigger than the spending
|
|
|
* Verify That:
|
|
|
* The surplus is correctly computed
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 14
|
|
|
* Goal: Data can be loaded from the database and displayed
|
|
|
* Instructions
|
|
|
* Browse a timeframe where there is spending and a budget set for the current timeframe for a business/a category/all and the budget is smaller than the spending
|
|
|
* Verify That:
|
|
|
* The deficit is correctly computed
|
|
|
* Status: Pass
|
|
|
|
|
|
##### Test 15
|
|
|
* Goal: Data can be loaded from the database and displayed
|
|
|
* Instructions
|
|
|
* Browse a budget where there is no budget set for the current timeframe for a business/a category/all
|
|
|
* Verify That:
|
|
|
* No budget is displayed
|
|
|
* Status: Pass |