Skip to content

Latest commit

 

History

History
174 lines (122 loc) · 11.6 KB

testing.md

File metadata and controls

174 lines (122 loc) · 11.6 KB

Testing Index

User Stories

For full test of user stories please see the video - when clicked will take you to Youtube ▶️ 🔗

User Testing

For a view from Mobile Devices see Mobile Images


New User

  • I would like to find out what the site is about - About Section on Homepage ✔️
  • I would like to see if the site is for me without registering - Playmates Link at the bottom of the homepage ✔️
  • I would like to easily register - Registration page ✔️
  • I would like to be able to add my dog’s details - Build Profile Page ✔️

Existing User

  • I want to be able to sign in and out easily - Login Page ✔️
  • I would like to be able to delete my account - Delete Page ✔️
  • I would like to be able to add/edit/delete comments to my own and other profiles - Add comments on profiles pages with options to edit and delete ✔️
  • I would like to be able to reset my password - Reset password page ✔️

All Users

  • I would like to get user feedback when I take actions on the site - all pages ✔️
  • I would like to be able to contact PuppyPlaymates - contact and report pages ✔️
  • I would like to be able to add comments and details about my walks - Walks modal on profile page ✔️
  • I would like to be able to track what pages I have liked or that like me - Pups I love and Admirers section ✔️
  • I would like to be able to message or comment on other profiles - Add Comments on profiles pages with options to edit or delete ✔️
  • I would like to feel safe when using the platform - report pages and admin ✔️
  • I would like to be able to search for other users - Search option in playmates pages ✔️
  • I would like to be able to add/edit/delete images and change my profile image - Add images modal, with options to change profile picture or delete image ✔️
  • I would like to be able to add/edit/delete dog information - Build profile page, edit info and delete profile ✔️
  • I would like to be able to add/edit/delete my information - Build profile page, edit human and delete profile ✔️

Email Testing

I have used Temp Mail for part of my user testing so I could create multiple profiles at a time to test the interactions between the accounts. This also meant I was able to check that each email was being sent correctly. I adjusted the format of the email using HTML in the mail functions. I have also checked the PuppyPlaymates Gmail account to ensure each email is in their sent box. Email’s testing


Function Testing

Every function written was passed individually through Python Tutor, I assigned input variables and then stepped through each line of code to ensure expected outcomes.

I paid particular attention to the backend validation when testing my functions and tried to use different data types at input to test whether they would pass.


Regrex Testing

I checked the integrity of my Regrex pattern on my backend by passing each pattern into Regrex101 and running a series of random checks through each pattern. Regrex101 have lots of helpful tips in creating patterns.


Code Validators

Every page of the website was run through HTML Validator because of flask being a templating language the code would not show as valid html. I copied the code from within DEV Tools, both by viewing page source and from within the inspect as HTML and pasted it into the validators to check the validity at render. - All pages ✔️

I passed the CSS file through CSS Validator - ✔️

Every Python file has been run through to check for Pep8 compliances and to test the validity of the code. Pep8 Online - ✔️

The JavaScript file has been run through a JavaScript to test the validity of the code. JSHint - ✔️

❗ Exception to testing above - The select feature when inputting from dev tools and inspecting as html does not pass the HTML validation. This is a Materialize class and not my own code that is causing this issue. I have done thorough testing manually on the select feature to ensure it does not impact user experience.

Schema Testing

I used Studio 3T to run an analysis on my database to ensure that the data was of the correct type. Database Scheme Check

Performance Testing

I passed every page through Dev Tools Lighthouse to check to see how well the website was functioning. A few things were flagged and changed during this round of the testing.

Lighthouse Images


Browser & OS Compatibility

Tested on Chrome, Firefox, Opera, Brave, Internet Explorer, Microsoft Edge, Safari. iOS, Android 10, and Windows 10. I used a combination of manual browser checks and used PowerMapper to check for browser compatibility. Internet Explorer is the only browser that has shown issues with compatibility. As internet explorer is a much older browser with limited support, I have chosen not make changes for this release.

Browser testing

A user mentioned they struggles with sign up using Safari, they retested it at a later date and have said they it is now working. I was unable to find the cause of this bug but am aware if it happens again.

Testing for Responsiveness

I manually tested the responsiveness of the app by testing every page on my Android. I asked a friend with an iPhone to check the site on their IOS ✔️

Please see Mobile Site Images for images of each page of the application from a mobile view


Usability

User Testing

I manually tested all the following calls to action:

  • Buttons on hover ✔️
  • Clicking Buttons ✔️
  • Page Navigation in Nav and Footer ✔️
  • External Links opening a new tab ✔️
  • Privacy and Safe Spaces Policy opens in a new tab ✔️
  • Validation for inputs ✔️
  • Submitting Forms ✔️
  • Sideways scroll on images ✔️
  • Modal Triggers ✔️
  • Liking and Unlikely Dogs ✔️
  • Adding/Editing/Deleting Images/Comments/Walks/Info ✔️
  • Creating a Profile ✔️
  • Login and Log out ✔️
  • Contact Us/Report User ✔️
  • Searching the users ✔️

Bugs

During the last round of user testing, I found a few styling and functional bugs:

  • BUG Add Comment button jumping on hover - FIX margin was causing an issue, split out into separate class ✔️
  • BUG Admins could delete own profile - FIX Added templating to not show delete button and advise can't be deleted. ✔️
  • BUG Show more not showing - FIX added display using js ✔️
  • BUG with colour of buttons - FIX used CSS to correct the colour ✔️
  • BUG issue with button hover. FIX changed :target and :focus in style.css ✔️
  • BUG had display as unset for comments. FIX changed to display block ✔️
  • BUG overlay dogs stopped working, FIX unset max-width ✔️

User Feedback Testing Logs

I put the site out to a small group of users to feedback on how they found the application. Please see the logs below to see what feedback was received and how this feedback was used in the testing process

Feedback Investigation Fox Decision
Can't remember if Name and About were options on signup, I feel like I put dummy data in here? Hadn’t included human in the profile set up, users expected it Added these fields in the build profile part of the site ✔️
The line remains yellow "as if indicating the password doesn’t match Goes green when you click somewhere else on the page but not key up Could write a function to change the Materialize class to work on key up Could be used added in a future release
Special character for password: I would mention which ones are allowed as I think the - might not be working, I tried different passwords before I could be accepted Present, no way for users to know which character are accepted Added helper text including the characters needed for password validation ✔️
Instinctively I wanted to click on the image placeholder to add the image of my dog Images were only unloadable from the edit images button Changed so that containing image and content is an anchor ✔️
No safari just did not work for me Tried passing through a safari test environment and could find the same bug Asked user to try again to see if problem persisting – didn’t happen again but will keep tabs ❓ Still ongoing
If I go to edit my pup, I had clicked he had been neutered but it did not bring back the original setting so when I clicked update it changed it, so he had not been neutered Form was not inheriting values from the data base Added a switch statement in the template to toggle the switch accordingly ✔️
On the calendar for a date of birth I can added a future date, and as a result I got Age of -1 Lack of defensive programming Create a function to find todays date and set the min/max dates ✔️
On mobile when the menu is open, there is a weird dark overlay at the bottom, that appears only if you click on the menu if you are at the bottom of the page(footer level) Was showing on some displays Hidden the overlay so that it does not interfere with the UI ✔️
When I went to the list of playmates, it only allows me to click on a profile only if hover on top of the dog's name. At the beginning, I was trying to click the image, I thought it was a bug Currently name was used as an anchor tag Change to make the whole card a clickable link ✔️
With the comments, what is the purpose of me putting a comment on my own dog? Is this intentional? Comments are allowed for both guests and profile Add helper text to also reassure profile owner that they can comment on own profile with updates ✔️
Perhaps it would be nice to have a dropdown menu which takes the values from your database for the breeds etc Currently the search is text based Could add a database for different dog breeds allowing for a check list of breeds, however this is an extension of scope May be implemented in future feature