By René Thomas
In an age when the entire world is glued to screens big and small, websites are now facing an unprecedented amount of traffic 24/7. Testing these websites to ensure they are able to hit user sweet spots has now become more crucial than ever. But what if you’re a rookie tester and you have no clue where to start? What do you do then?
In this article, I’ll share the four key areas you MUST consider when testing a website. By the time you’re done reading, you’ll have everyone thinking you’ve been around the testing block more than just a few times!
1. Functionality ….make sure it works, duh!
Let’s kick things off with a no-brainer! Functionality testing is done to make sure your website “behaves” the way it is intended to. It’s that simple. You might ask: “Isn’t that what all types of tests do?”, and the answer would be yes. The difference with functionality testing is simply that it focuses on validating whether the actions of the site match the requirements or specifications it was built to fulfill.
The design of a website is usually based on a list of basic core functions and expected behaviors that must be met. In the Agile framework, these design specifications are typically found in user stories written to meet your user’s needs. Functionality testing very closely simulates the user’s experience by testing all the actions the website is expected to perform in the real world. This means that these tests are useful in defining whether or not the final product is truly “Done”.
Another benefit of functionality tests is how they allow your testing scope to vary from very modular, unit tests to broad, system-wide tests. Since applications are usually weakest where multiple points interact, a great strategy is to integrate different unit tests into testing groups. Testing this way exposes whatever bugs are lurking at these integration points.
Check out this great article about 8 Functional Testing Types that you can include in your testing. Also check out this Functional Testing Guide for a more in-depth discussion on how to efficiently include functional tests in your test strategy.
2. Performance Matters!
Now let’s talk about Performance Testing. It’s really what the name suggests: executing tests to ensure the website performs at its best under varying conditions.
When we speak about Performance Testing, we are generally talking about testing site speed, scalability, and stability.
Site Speed & Scalability
“Two Hundred and Fifty milliseconds, that’s the magic number!”; so says Harry Shum, the Executive Vice President of Technology and Research at Microsoft when asked what he recommends as a competitive website speed.
A user should have little to no friction when using a website, so asking yourself questions like “Are loading times frustratingly slow?” and “How are click-through-rates being affected by slow load times?” should guide how you carry out your performance tests.
Slow load times = poor user experience. This leads to reduced website traffic and ultimately potential customer and revenue loss. Let’s say you’re a user in the middle of an online transfer on your bank’s website when suddenly the buffering ring of death appears just as you hit “SEND.” Was your transaction successful? Where did your money go? That situation would make anyone a little anxious.
This is where you come in as a Tester; by continuously putting the website under varying levels of stress and load, you can be sure it can handle a certain threshold of users at the same time without slowing down or crashing.
E-commerce websites like Amazon have seen other-worldly increases in revenue since the beginning of the CoronaVirus pandemic. So far, they’ve managed to maintain their usual site standards even with such crazy increases in concurrent users. Companies like that know they have to carry out these types of tests to be able to make predictions for the future. Can you imagine if Amazon crashed on Black Friday because their servers weren’t equipped to handle the influx of buyers?! Sure it works when there are 100 users online, but does it perform at the same standard when there are 100,000 users? *Insert scalability*
An alarming 47% of respondents in a recent survey said they would immediately leave a website if they had trouble loading an image. What’s even more concerning is that, according to SOASTA and O’Reilly in their book Time Is Money-The Business Value of Web Performance, users perceive load times to be 15% slower than they actually are. Stats like that mean you have to work twice as hard to keep users satisfied. What I’m saying here is that as far as testing for scalability goes, just remember: the website should always act optimally even with load increases. These results are crucial in helping you prepare for future influxes. If you only test under ideal conditions, you run the risk of releasing a website that simply won’t be able to handle sudden user spikes.
The take-away here? Keep Performance Testing at the top of your list, and you’ll have a website that’s not only stable but virtually tough-as-nails. Check out this list of 15 BEST Performance Testing Tools (Load Testing Tools) in 2020 that can help keep you up to speed.
3. Compatibility...like butter on toast!
Compatibility testing is generally understood to be a type of non-functional testing that ensures an application will run across different browsers, hardware, operating systems, and environments. Your goal is always user satisfaction, so it’s important to keep in mind that users come in different shapes, sizes, and device preferences. Since not all of your users have an iPhone, it is your responsibility as a QA specialist to make sure you test whether the website can operate on all devices that may be used to access your website.
Compatibility testing can be daunting because there are so many types of devices a user could be using. Even if you were to focus your tests on the most popular browsers and devices, it would be almost impossible for you to physically account for all the possible variations of those browsers, devices, and operating systems. The good thing is it’s 2020, and we have simulator tools to take care of that.
BrowserStack is currently one of the most reliable testing platforms, which allows you to simulate tests in minutes across on-demand browsers, operating systems, and devices. Check it out if you want to increase your website compatibility and test efficiency tenfold.
4. Accessibility, because... Inclusivity
Remember I mentioned before that users come in different shapes and sizes? Well, it doesn’t just refer to their devices and which browsers they use. Some users live with physical disabilities such as visual and hearing impairments.
With stay-at-home orders being enforced across the world due to the COVID19 pandemic, we are now living through what I am calling a “Digital Renaissance”. Normal everyday life is now virtual. A regular trip to the pharmacy has become a few swipes and a click on a user’s cellphone. This pandemic has proved just how reliant we are on the internet to live comfortably. As businesses continue to digitize their products and services to accommodate this new life, it is our job as testers to ensure no user gets left behind.
So what is Accessibility testing? It’s testing for user inclusivity. In more technical terms, it is a subset of Usability Testing. It adds to the general premise of usability testing (which tests that your site is usable by the average user) by testing how usable it is for people with disabilities.
The Web Content Accessibility Guidelines (WCAG) is a document that provides an international standard for web content accessibility against which creators and QA Specialists must test their product. You can view the WCAG Documents on the WCAG website to find out how you can keep your website compliant.
Remember, it’s not enough to just be user-friendly; your website isn’t fit for release until you’ve tested that it’s “ALL-user-friendly”.
The short guide is clearly not the holy grail of web testing. It’s simply a starter kit for a tester who is new to the space. The four areas mentioned – Functionality, Performance, Compatibility, and Accessibility – are core tenets of web testing that you must consider in your test plan. Having these bases covered is a great place to start. Here are my final tips for you:
- Take advantage of the abundance of testing resources you have at your fingertips, including those I listed above and in our blog.
- Don’t be afraid to ask questions to clarify user stories or any information that seems murky or inconsistent with the app you’re testing. You’re a tester. It’s your responsibility to spot flaws and errors, not just in the app but in the testing process.
- Remember, you’re an advocate for the user – always focus on ensuring the app responds well to the users for whom it is being built. If there are gaps, speak up and share with your team.
Bearing in mind these tips and the 4 types of testing, you’re well on your way to being a great tester. Own your role and get testing!