Skip to content

Latest commit

 

History

History
104 lines (65 loc) · 7.2 KB

TESTING.md

File metadata and controls

104 lines (65 loc) · 7.2 KB

The Newsbox Testing

⬅️ Return to the README

Table of Contents

Performance

Google's Lighthouse Performance

Google Lighthouse was used to test the performance of the website. There are a couple of issues due to Bootstrap and general Heroku slowness.

Lighthouse score

Go back to the top


Accessibility

Accessibility Validation

The WAVE WebAIM web accessibility evaluation tool was used to ensure the website met high accessibility standards. All pages pass with zero errors due to the and a few warnings due to style preferences detailed below. *

Go back to the top


Code Validation

HTML Validation

The W3C Markup Validation Service was used to validate the HTML of the website. For logged in pages, the page source was copied and pasted into the validator. All pages pass except for the follwing errors due to footer:

  • stray footer tag (After checking this doesn't seem to be correct)

Go back to the top


CSS Validation

The W3C Jigsaw CSS Validation Service was used to validate the CSS of the website. The CSS passes with 0 errors.

Go back to the top


JS Validation

JSHint was used to validate the JavaScript/Jquery of the website. No major issues were found.

Go back to the top


PEP8 Validation

A combination of the following Python packages was used to ensure the code is PEP8 compliant: flake8 and autopep8. The final flagged files were checked in PEP8 Online. The only issues found were a few longer lines in the base project's settings.py, models.py and webhook_handler.py and migrations files due to HTML blocks.

Go back to the top


Testing

Manual Testing (BDD)

BDD, or Behaviour Driven Development, is the process used to test user stories in a non-technical way, allowing anyone to test the features of an app.

User Story BDD Test Pass
As a first time user
I want to know what is expected of me on the home page
So that I can read some blog posts navigate the site and decide on whether or not I want to sign up
Given that I'm a first time user
When I view/scroll down the homepage
Then I should see what the purpose of the site is, easy navigation, a link to sign up and some news stories
As a first time user
I want to be able to
read posts and comments, So that I can
decide on whether or not I think it is worth signing up to.
Given that I'm a first time user
When I view/scroll down the homepage
Then I read posts and comments, a link to sign up and some news stories
As a first time user
I want to be able to
know how to sign up to the web site easily and create a profile. So that I can
post stories and engage and comment on other posts.
Given that I'm a first time user
When I sign up to the web site
post stories and engage and comment on other posts.
As a Site User
I want to be able to
easily register a profile. So that I can
create a profile and access the main functionality of the site.
Given that I'm a site user
When I register a profile
Then I can access the main functionality of the site
As a Site User
I want to be able to
easily login/log out. So that I can
access my information without filling in forms every time and ensure the security of my account.
Given that I'm a site user
When I login/log out
Then I can access my information without filling in forms every time and ensure the security of my account
As a Site User
I want to be able to
easily recover my password if I forget it. So that I can
recover access to my account.
Given that I'm a site user
When I click forgot password
Then I should receive an email with simple instrucitons to reset password
As a Site User
I want to be able to
receive a confirmation email after registering. So that I can
verify that my registration was successful.
Given that I'm a site user
When I sign up
Then I should receive a confirmation email after registering so that I can verify that my registration was successful
As a Site User
I want to be able to
see different categories of posts. So that I can
identify specific posts and not waste time looking at other categories' posts.
Given that I'm a site user
When I click categories dropdown
Then I should see see the categories and be able to click and see all posts within that category
As a Site User
I want to be able to
search for a post by name or description. So that I can
find a specific post I'd like I am interested in.
Given that I'm a site user
When I use the search bar
Then I should see specific post/s that match my search query
As a Site User
I want to be able to
create/read/update/delete a post. So that I can
alter how I would like my post to look to allow for maximum engagement.
Given that I'm a site user
When I choose create/read/update/delete a post
Then I should receive a confirmation message and all functionality works as expected
As a Site owner
I want to be able to
review all posts, categories, users, likes, etc. So that I can
maintain the site and remove any offensive content.
Given that I'm a Site owner
When I navigate to the admin
Then I should see all posts, categories, users, likes, etc.
As a Site owner
I want to be able to
edit/update/delete a post. So that I can
maintain the site and remove any offensive content.
Given that I'm a Site owner
When I navigate to the admin
Then I should see be able to control all content on the website
As a Site owner
I want to be able to
direct users to my social profiles. So that I can
increase social interaction and attract new users.
Given that I'm a Site owner
When I view/scroll down to the footer
Then I should see working links to my social media profiles
As a Site owner
I want to be able to ensure
all areas of the site to function correctly and have no bugs. So that I can
ensure an enjoyable browsing experience for all newcomers.
Given that I'm a Site owner
When I check all site functionality
Then I should see that everything works as expected, there are no bugs and all links and forms work as expected

Go back to the top