Web testing, why do it?
When building a website, it’s not just important to make sure the design is beautiful, and the build is comprehensive. We need to make sure that the website works perfectly before being released to the general public. There are a series of tests run on a website specifically designed to get into all of the functionality of a site, to try and find any issue, big or small, that might make the users experience anything less than stellar.
What do we test for?
When testing a website we’ve built we need to make sure that it not only does everything we need it to do but it also that it looks and acts the way we want it to when being used on various different browsers and operating systems. It’s no good making sure that a website works amazingly well on Safari on the latest Mac operating system when users are more likely to be using it on mobile sites.
All websites have functionality built into them. It could be something simple such as the process of filling in a contact form, to something more complicated such as an e-commerce process. Functionality testing is designed to specifically test these functions and make sure the entire process works correctly from the initial action to the desired outcome. If at any point in the process, it doesn’t act as intended then we need to fix it before a website can go live.
During web testing, compatibility of the website on different web browsers, operating systems and mobile optimisation should be considered.
Checking website aesthetics and functionality in multiple browsers is another essential task during web testing. It ensures that the website looks and functions as it should do in all available browsers. And not only different browsers should be tested. For a thorough test older versions of browsers should be checked too just in case users are using outdated versions.
Operating system compatibility
Testing websites on different operating systems will make sure that all users have an optimal experience. Just like using a different browser, using a different operating system (Mac, Windows, Linux, etc.) can result in changes to the website functionality.
Statistics show that users are more likely to be viewing a website on a mobile device and it’s now essential to test a website thoroughly on different types of devices.
Another essential part of testing a website is to perform security and penetration, testing.
Security testing aims to test the processes for collecting and storing information. It ensures that your information is stored properly, remains confidential and is protected from all vulnerabilities.
Penetration testing takes security testing a little further. This is where a website is purposely attacked and thoroughly tested for any points of weakness. This is especially important when personal information is gathered by a website or if e-commerce is involved. Secure pages should not be accessible without authorisation and restricted files should remain secure. A website’s SSL certificate should also be verified.
Once all of the above has been tested we then test the content of the website. All of the copy/text needs to be checked for spelling and grammatical errors. One way of doing this is to install an online grammar checker and check as you go. Grammarly has a browser attachment that highlights errors. Another option is to export all text to a word processing programme that also highlights errors. And finally, it’s always good to get a fresh perspective on things, so ask a mate to have a look over it for you.
How We Test
There are a couple of ways to test on all these different types of browser, operating system and mobile devices. Using physical devices are optimal as they produce real-time results. The develop tab in Safari can quickly open web pages in other browsers, it also lets Safari mimic other screen sizes, operating systems and mobile devices. Online services such as Browserstack.com are also available. Online automated testing services are available and will do thorough testing for you for a fee.
Once all the issues have been highlighted and fixed, another thorough round of testing then occurs to a) make sure that the fixes work, and 2) to make sure that no new or overlooked issued now occur.
Recording your findings
A great way to share any issues with functionality during web testing is to record it. If you’re working with a Mac there’s a great app called Screenshot. We’ve discussed before handy hints for Mac Users. There are other online options available, including Loom, which make videos that are easily shared by the team.
Capturing screenshots and issues on team collaboration boards such as Trello is also a great idea. Using collaborative sites keeps the information in one place and everyone on the team can see where each issue is in the process of being fixed.
Initially, during an actual test, it’s a good idea to keep a spreadsheet listing each issue as you find them, where they occur, what operating system and browser you are using and when it was tested. Noting when is important if the build is still ongoing. This might be fixed as the build continues and you don’t want to waste time on issues that no longer exist.
Once testing is finished, it’s not over yet. Now is the time to get the client involved. Ideally, they will be involved along the way anyway but once you’ve thoroughly tested a site, the client then needs to have a good go at their own testing to make sure that no errors have been missed, and that they are happy before signing off for the launch. We don’t want an upset client who suddenly isn’t happy with their site once it’s live.
Any final thoughts?
Once the issues are highlighted, fixed and re-checked, and the client is happy to sign off for the launch, the site can then go live! Any new additions/changes to the site once it’s live need testing to make sure they don’t cause any issues and ongoing testing should be sporadically done when updates to browsers and operating systems occur.
What are your thoughts about testing websites? Have you gone through the process yourself or have you picked up any ideas?