Website Testing

Websites are thoroughly tested for functionality, browser consistency, performance, scalability, and accessibility.

Functionality

Functionality should be independent of the device, browser, or operating system that a visitor is using to view your website. Key functions and user scenarios should have been defined in the project specifications. Examples include:

  • Being able to load all pages
  • Adding items to a cart and checking out
  • Submitting forms and receiving notifications
  • A user being able to complete a signup process and pay for subscription

Browser Consistency

There are hundreds of different versions of desktop and mobile web browsers. Luckily, almost all of them are based on one of only four browser engines to render the page. Browsers are responsible for displaying the page content and rendering the CSS, which controls how elements are displayed on the page. Among modern browsers the rendering is fairly consistent, especially when leveraging frameworks like Bootstrap and using browser pre-fixers.

To streamline the testing process we use online cross browser testing services to let us simultaneously test a page across dozens of browsers at once and spot any visual issues.

Desktop browsers

  • Google Chrome
  • Mozilla Firefox
  • Apple Safari
  • Microsoft Edge

Microsoft Internet Explorer 11 is generally supported on a best effort basis since it lacks support that features common among modern browsers.

Mobile browsers

  • Google Chrome
  • Mozilla Firefox
  • Apple Safari

Performance

Website performance generally refers to how fast a page load for a single user. We measure individual page results using built in browser tools like Google Chrome's "Lighthouse" feature and third party website testing services to simulate page load speeds across the world.

Three main metrics that determine the performance of a page are:

Database Queries

How fast/efficient data is returned from a database

Nearly all content management systems and e-commerce websites rely on a database to hold all the content. How fast the website is able to query that database and get a response is a big part of performance. We test how fast we're able to query a:

  • Single record - An individual page, article, or product
  • Multiple Records - Such as a category
  • Search - How long it takes to look through the entire database for a keyword

Server Response Times

How fast the web server can process and load a page

File Size

How much data is being loaded per page

One measure of scalability is how many visitors at a time a website can support - both simulataneiously and over time. We use load testing software that simulates visitors and their actions on a website and measure page load times and server load. If times stay generally consistent and there are enough server resources available (memory, disk space, bandwidth), we've gone a good job at scalability.

Scalability

Individual page performance is important, but a successful website should be able to support hundreds or thousands of visitors as a time. A common example is public transportation agency websites, where thousands of visitors may be accessing the website at any moment to get bus or train route information.

Generally if a website is slow for one user, it's going to be very slow for hundreds trying to access it at the same time. This can result in the server crashing entirely and bringing down the website.

Concurrent User Testing

How many visitors can a site support?

One measure of scalability is how many visitors at a time a website can support - both simulataneiously and over time. We use load testing software that simulates visitors and their actions on a website and measure page load times and server load. If times stay generally consistent and there are enough server resources available (memory, disk space, bandwidth), we've gone a good job at scalability.

Site Scale Testing

How big can a website get?

The other measure is how much content a website can support and still deliver acceptable page load times. This is usually a concern for sites with large databases, such an e-commerce, news publications, and membership based websites. A site may perform well at 100 or 1,000 products in the catalog, but how well will it perform at 100,000 or 1,000,000 products? To test this we simulate content and take it to the extremes to see if the website is performing as it should.

Accessibility

Websites should be easily accesible by all users, regardless of physical, visual, or audio impairments. We scan websites using an automated accessibility checker that scans the code against published accessibility standards. This is done throughout the development processs to catch issues early on and to establish good habits and examples prior to training.