Web testing, or website testing, is the practice of thoroughly checking over a website or web application either before it has launched or once it is live on the web and accessible to the public.
The general aim of web testing is to find problems, also known as bugs, issues or defects, that might have a negative effect on the website or application. Web testing can also be used to discover specific areas or aspects of a website that can be improved and so gain better results, whether that is more enquiries, more sales, more repeat visitors, happier users, or whatever the aim might be.
There are many forms of web testing, depending on which aspect of a website is being tested. Here is a breakdown with some explanation of the main areas of web testing, which this website covers in some degree.
Software testers called it ‘functional testing’ but for websites I prefer to call it ‘functionality testing’, as that term is slightly more understandable for web type people.
Functionality testing is verifying that all the functionality of a web or mobile site works in line with the specification or other documentation that describes how the functionality should work.
If in the specification it states that clicking on a particular link or button should take the visitor to a specific page, then you should test this item to verify that the website does do that correctly.
For instance, if I am testing a contact enquiry form on a website, then in the specification it should describe what fields should be displayed, which of those fields are required, any validation rules that should be in place and what should happen once the form has been submitted.
So now, as part of my testing, I can make sure that the correct fields do display, I can try to submit the form without filling in all of the required fields, I can try inputting text into a phone number field to see if it will be accepted and I can make sure that, once the form is submitted, the thanks page is displayed and that an email is triggered.
These tests are all testing the form’s functionality by carrying out an action, such as inputting some text into a field, and verifying what the outcome or result is, such as whether the text was accepted and whether it should have have been accepted.
To help determine what you should test, take a look at the Testing Plans & Checklists section.
Browser compatibility testing
Or cross browser testing, browser checking or simply browser testing, is verifying that the website works and displays correctly in each of the major web browsers.
Generally, browser testing involves running through the website multiple times, once for each browser and noting any layout, styling or functionality aspects that are different, incorrect or broken.
This is necessary as unfortunately not each web browser will display the website in the same way. Furthermore, older web browsers do not have the same capabilities as newer browsers or are not able to handle some of the new web technologies.
For instance, the current trend is for buttons and other styling to have rounded corners, as this is more aesthetically pleasing. Generally, this rounded corner style is applied using a technology called CSS3. Older web browsers, such as IE7 and IE8 don’t support CSS3 and so allowances need to be made for those older browsers.
We need to test in IE7 and IE8 to make sure that the buttons display in an acceptable way and are still usable, even if they are not quite as nice to look at as on the newer browsers.
There are lots more examples where browser testing is necessary to make sure the website looks and works correctly in each browser.
Not everybody has access to all of the web browsers that need to be tested and so a number of browser testing tools have been developed to enable access to each web browser version and operating system.
Get started with 27 browser testing tools.
Similar to browser testing, mobile testing is concerned with making sure that the website displays and works correctly across all the major smartphones and mobile devices.
The site being tested might be a dedicated mobile site, using templates that have specifically been optimised for mobile screen resolutions, or it could be a responsive site, which utilises the same framework as the main desktop site but in a layout that responds to the screen resolution being used.
It may also be a requirement to test the main desktop site but on mobile devices.
Finally, mobile testing also covers testing dedicated or native apps on mobile devices including iPhone, iPad, Android, Blackberry and Windows Phone.
There are many different handsets and tablets, especially for the Android operating system, all with different screen resolutions, software versions and capabilities. Therefore, some mobile testing tools allow you to test on specific handsets to determine whether there are any differences or issues that would affect users with those handsets or running that particular version of the operating system.
It is not unheard of for Android apps in particular to be tested on 30 to 40 different handsets or more.
Get started with 49 mobile testing tools.
When visitors arrive at a website they tend to have an idea of what they are expecting to accomplish on that site, whether it is finding out some information, purchasing a product or any other objective from a potentially very long list.
If the visitor cannot achieve the completion of this task easily or in a straightforward manner then they can become frustrated and, if they have an option to get the information or purchase the product from elsewhere then they will often exercise that option and leave the website.
Usability testing aims to put yourself in the mind of the user, or visitor, and work through the site to complete similar tasks, as a real visitor would.
There are various forms of usability testing, and one is not necessarily better or worse than another. It is possible to utilise each form of testing and so together form a pretty clear understanding of what the usability issues are for a particular website.
Traditional Usability Testing – the traditional approach to usability testing is to invite a group of people into a room, possibly related to the target demographic of the website being tested, each armed with a computer, and ask them to carry out a series of pre-prepared tasks whilst watching and recording the results.
Once the results have been analysed it should be possible to work out the areas of the website that the users found most difficult, confusing or frustrating. From there, those areas can be improved and then another round of usability testing can be conducted to see if those improvements have hit the spot and if there are any other areas then require attention.
User Testing – similar to the traditional approach, User Testing is its cheaper, online equivalent, as it does not require a physical usability lab with all the computers and other equipment. User Testing works by signing up to one of the many user testing services that have large numbers of users waiting to carry out tests earning a small fee for their trouble. You put together the tasks that you would like the users to carry out, decide how many users you wish to pay for, and wait whilst the users complete the tasks.
They will record video and audio of themselves as they work through the tasks, explaining what they like, don’t like, what is confusing for them and what they are struggling with. In this way it is possible to pick up a good number of usability complaints from a relatively small number of users.
Feedback Tools – another way of gaining an understanding from users as to whether they are finding it difficult to use your website is through a feedback tool on your website. This would normally consist of a small tab that displays on each page termed ‘feedback’ or a small form that might display asking a short question with a multiple choice answer.
By using these tools it is possible to build up a picture of what the user is struggling with and what they have come to the site to accomplish. The benefits of this approach are that the feedback is coming from real users actually trying to use the website and accomplish real tasks rather than the ‘this is what we think users will want to do on the site’ approach from the other forms of usability testing covered so far.
Click tracking, eye tracking, scroll tracking, heatmaps, analytics, etc. – the use of analytics plus other tools to find out where people are clicking, what they are looking at, how far down the page they scroll, etc. are extremely useful in determining whether there are some serious deficiencies or areas that can be improved.
As an obvious example, if you place a ‘buy now’ button lower down the page then you can use a scroll tracking tool to work out whether visitors are generally scrolling down far enough to spot the button in order to click on it.
Similarly, visitors often click on images and so you can use click tracking to determine if an image is being clicked on and whether adding a relevant link to that image would be of benefit.
Friends and family usability testing – you can use friends and family, or colleagues, clients, suppliers, whoever, to help you conduct usability testing by asking them to have a quick look at the site and see if they can complete a specific task and give their feedback.
Own usability testing – of course, if you can put yourself in the mindset of your users and can step back from the website you have been involved in, then you can carry out some usability testing yourself. Generally speaking, somebody unconnected with the project is in a position to offer more insightful feedback, as they will be confused by aspects that you may not have realised.
Get started with 61 usability testing tools.
A/B, Split and Multivariate Testing
Often, when a publication states ‘website testing’ in the context of improving conversion rates then it is this method of testing that they are generally talking about. As you can hopefully tell by now, website testing is not just about improving conversion rates.
But there is a real benefit to be gained from this aspect of testing, the ability to present different versions of the same page to website visitors and record which version performs better is the central approach to A/B or Split Testing.
In this way it is possible to work out which version of the page is better overall and that should help to raise conversion rates.
Multivariate testing takes this onto the next level by adding a greater number of individual items to the test, rather than just A or B and then recording which combination of those items was the most effective.
The idea of multivariate testing is that you are in a constant cycle, you try out some ideas, test them, record and analyse the results and then try out some more ideas, test those, etc. The aim is for continual improvement, often in small steps rather than a big jump all at once.
Get started with 22 A/B, Split and Multivariate testing tools.
Slow websites are a frustrating experience for even the keenest of visitors and improving performance is a key driver of improving conversion rates and customer loyalty.
A slow website is not just because it is placed on a slow web host although that can play a part. Other areas can cause performance to degrade such as whether database queries are optimised, files are cached and images are compressed.
In order to identify what needs attention, testing a website’s performance should be able to pinpoint aspects such as these that can be improved and make using the website a quicker and more pleasurable experience.
Get started with 21 performance testing tools.
Load or stress testing
A website, and the server infrastructure it is placed on, has a finite capacity and can only handle a certain amount of traffic, or requests, before it slows down and then stop working altogether.
We’ve all heard reports of websites crashing under the weight of visitor numbers trying to buy tickets or redeem clubcards and so load testing, also called stress testing, is the method used to determine how much load a website can be placed under before it slows and then stops working.
What load testing aims to do is to simulate a large number of visitors arriving at a website and carrying out a predetermined sequence of operations, such as buying a concert ticket, whilst recording how long each step took and whether certain steps took longer as more visitors were added to the simulation.
From this load testing it should be possible to work out where the bottlenecks are in the website that can be improved and how much load, or how many simultaneous visitors, the website can handle. Very useful if you are just about to make a big announcement or are preparing for a busy period.
Get started with 13 stress or load testing tools.
Testing software, such as web applications, tends to require a more formal process and be more complex than testing a website (this does depend on the website).
Because of this, when developing software there is generally a need for ongoing management of what testing has been done, what testing is still to do and reporting of this progress, the issues found and overall quality of the software.
There is a clear advantage to adopting a more formal testing approach when testing, in that a well organised, thorough testing phase to a project will help to achieve a better quality product overall.
Of course, with that there is an investment needed, in terms of time to plan and execute tests plus sometimes investment in the right test management tools and software.
Get started with 41 software testing tools.
Testing everything manually can be very time consuming and, for many websites, there is a need to regularly test the same aspects over and over again. This is generally when frequent updates are made to the website and the same aspects need to be tested each time an update is made.
Certain actions can be automated, such as filling in forms, or navigating through a particular user journey, and so once the automated scripts are written and put in place, the amount of manual testing needed for these tests is greatly reduced.
Additionally, if you need to test the same thing across a number of web browsers then it is possible to automate those actions and run the script for each browser that you wish to test.
Automated testing can also be used when they are hundreds or thousands of variations or possible outcomes. It just wouldn’t be feasible to conduct this number of tests manually and so automation can often be used to systematically go through each variation and record a pass or fail for each one.
Of course, automation is not a replacement for manual testing, it is still important to test many aspects manually but automation can be extremely useful when utilised in the right way.
An area that many people rightfully worry about is the security of their website and whether they would be susceptible to hackers or other vindictive types.
Security testing aims to identify any potential areas where a hacker might gain unauthorised access and retrieve personal data or be able to manipulate the website in order to post content onto it or change its appearance.
There are automatic scanning tools that look for vulnerabilities from a bank of potential exploits and there are security testing experts who can try different methods of gaining access to the site or denying the site the ability to function normally.
Get started with 11 security testing tools.
Every website should conform to one of the accessibility guidelines or legislation such as Web Content Accessibility Guidelines 2.0 or Section 508 in the US. These guidelines are put in place to ensure that websites are built and display content in an accessible format in order to allow those individuals with visual impairments or who are unable to use a mouse or who have other forms of difficulty in accessing and using the website.
Many websites do not even comply with the lowest ‘A’ level of the WCAG and so, for example, users with screen reader software may find even basic navigation frustrating.
Therefore, testing a website’s accessibility ensures that these guidelines are being followed, that the website complies with the legislation but also so that a large portion of the world can actually use the website without difficulty.
Get started with 21 validators and accessibility testing tools.
You might call it proof reading but testing a website’s content is important to iron out spelling errors, grammatical errors and also punctuation problems that otherwise detract and undermine a good website.
Content testing also extends to checking the readability of the copy to make sure that the sentence structure and words used are in line with the target demographic using the website.
For instance, a website aimed at children should not use overly complicated terminology or vocabulary that a person of that age would not normally be expected to understand.
Get started with 4 content testing tools.
Once a website has been launched, unfortunately it doesn’t just continue to work and sometimes intervention is necessary in order to fix an issue with a website that has caused an outage.
Problems can arise due to excessive load, database issues, web host problems or other specific issues depending on the website.
The first part to this is to monitor the website and so become alerted to any outages. A simple monitoring service can be set up, which checks the website at regular intervals to make sure it is still responding (note, responding, which does not necessarily mean functioning).
This can be taken further to ensure that certain aspects of a website continue to function correctly and within an acceptable amount of time.
For example, some monitoring services allow a script to be followed that mimics a user purchasing a product. This script is then run automatically every 15 minutes or so and an alert if fired off if one of the steps failed or if one of the steps is much slower than it should be.
Get started with 30 site monitoring tools.
I hope that helps to answer the ‘what is web testing’ question and makes it easier to understand the types of testing that make up testing websites, mobile sites and applications.
There are other areas too that can be tested and so web testing is not only limited to the aspects covered above.
It is the aim of this website to provide helpful information and guidance on how to go about testing each aspect of a website for those people who do not regularly test websites.
For more information and the next step in learning about web testing, please read our FAQs.