Testing will cover the full-stack application including frontend, backend and APIs. The goal is to meet functionality and usability requirements as specified in the requirements file.
Each usability requirement will have a respective usability test:
- The site needs to be responsive across devices
- Document resizing the site with chrome dev tools (virtual devices)
- Check if pages look correct on physical mobile and table devices
- The site styling should be compatible across modern Firefox, Chrome and Safari browsers
- Open and view site on each browser.
- Font should be readable
- Pay close attention to font sizing especially during resizes
- Elements distinguishable from each other (i.e. colours, sizing)
- Similarly look out for too loud or too plain colors and element sizes
- All input types should work
- try using all inputs both correctly and incorrectly
- Next buttons should send user to the next step
- try using next button to navigate to next step
- Go back buttons should send user to the previous step
- try using go back button to go to the previous step
The following are the functionality requirements have a respective test(s):
- User input should be correctly validated when submitted
- Unit Test: check that the input meets the requirements using expect blocks in Playwright
- User input should be saved as required
- Unit Test: check input is being saved into the backend
- User choices should be rendered correctly on the last page prior to submission
- Usability test: view step 4 and ensure that the correct info is visible on the summary page
- Unit Test: ensure the fields needed for rendering are saved into the backend
Testing should be done for each API request using curl, postman or similar tooling