What is functional testing? What does it cover? Why does it matter? So many questions and such little time. To put it in the simplest way, functional testing analyses your website to see if it works. Your first thought might be of course it works, it’s live and bringing in conversions so I don’t need functional testing.
Let’s break this down a bit. Functional testing explores a large scope of different website-based environments, which could be negatively affecting your users. Just because you have conversions coming through that doesn’t mean that you aren’t missing out on more.
Let’s explore 3 situations in which functional testing benefits your site:
1) Product Updates: If you have an e-commerce site, it’s entirely possible that you are releasing hundreds of different products a month. With all of these products being added every day, ensuring that they are loaded correctly and that they aren’t creating issues for other product pages should be a top priority.
Example: You're planning to release a bespoke item. You have created a lot of traction on social media and ordered in a large quantity of the product, as shoppers wait eagerly for it to drop on your website. Everything appears to be going well and the product page is made live. But you’re not getting as many orders through as you initially planned for. Social media lights up with customers venting their frustration online saying that they can’t access the item and suddenly you have a big problem on your hands.
Solution: Functional testing can analyse your website before or after a page is made live. Meaning any issues which would prevent users from completing conversions are eradicated before they are in the hands of your customers.
2) Device and browser combinations: It’s said that everyone experiences the world differently and it's the same for the digital world. While one person might prefer to use a Samsung S7 edge with a Chrome browser, another might prefer to use an iPhone 10 with the Safari browser. Including your global audience, there are hundreds of different ways in which your website can be displayed and operated due to platform combinations.
Example: Your site has been developed in the UK using a limited range of platform combinations which your internal teams have access to, but you have noticed a problem with some of your global visits. Data shows users in Japan have the highest bounce rates on the front page of your website and you have no idea why.
Solution: Functional testing can cover global platform combinations by testing the look and feel of your website on the hundreds of different devices and browsers your audience is using.
3) Account registration/forms – For many sites having an account is the baseline for a user to perform a conversion of your website. Some sites might have guest check out but if you want to obtain repeat users then a basic account is needed.
Example: You have noticed a slight abnormality in the number of guest checkouts on your site. It’s suddenly risen, and you have no idea why. Or maybe you have released a new piece of content which requires users to fill in a form to access the content, but numbers are low.
Solution: Functional testing analyses every form on your website for ease of use, readability, automatic form filling responses and other issues which could prevent or deter your users from completing these forms.
Even though we have briefly scratched the surface on why functional testing is paramount, already it's obvious that a lot can go wrong and with no way of regulating it, your website is a ticking time bomb.
Now you might be thinking, I need functional testing, but what options are available?
In the world of web testing, there are two sides. Similar to The Matrix, automatic and manual testing battle against each other like Neo and Agent Smith. If you imagine manual testing as Neo and automatic testing as Agent Smith, the former is the human side of web testing. It focuses on actual human behaviours using real testers to explore your site for bugs or glitches. Manual testing can always be adapted or paused without taking the website offline to be fixed or changed. Additionally, it gives you real user feedback on ways to improve your site. Whereas automatic testing is very robotic and only explores specifically constructed customer journeys. If something goes wrong or needs to be changed then you must completely stop the test and restart it again from the back end. Automatic testing is a coded and limited way of analysing your website.
The fact is, your website is used by real people, so test it using real people too. Manual testing is a gift that keeps on giving and I think we all agree that we would rather be Neo than Agent Smith.