Website testing sounds simple, yet is complex, based on the nature of the website. Testing a single webpage is simple and can be done manually. But with the nature of web applications becoming complex day by day, especially in the current age of robust, dynamic single page applications that are developed using Angular or React, the complexity of testing is also increasing.
As website testers we are bound to make mistakes, after all we are only human! The pressure of working under Agile environment for coping up with fast-paced delivery for go to market launch. There have been some common areas that we end up forgetting as we test a website or a web application. Today, I am going to share some key notes to avoid mistakes in website testing. These notes would help you ensure a robust delivery irrespective of whether you are testing the web application manually or in an automated environment. Without further ado, let’s get started.
1. You Forget To Test Accessibility
Forgetting to test while keeping the accessibility of a website in mind is one of the very common mistakes of website testing. While testing a website we often forget and sometimes ignore the accessibility due to lack of time, especially if we refer to cross browser accessibility testing. However, it is of utmost importance.
Imagine you are launching a website that targets the audience in China. For a large demographic region like China, where the population is more than 1.38 billion, even if 4% people are physically challenged and have trouble going through your site using a screen reader or any other device, that means, your site loses almost 50 million audience.
Moreover, to get ranking in the search engine results, Google demands that your website must abide by WCAG guidelines that state that a site should be accessible by everyone, especially by people who are disabled. Hence, this is something that you must not forget and pay special attention to, while the testing phase of your website or webapp is executed.
2. Is Your Stage Environment Perfectly Configured?
One of the common challenges of website automated testing, which you may have come across, would have been around a scenario where the script shows some error, but the system is working as expected. The reverse scenario also happens when the system does not work perfectly as per requirements, but the script does not show any errors.
This issues mostly happen due to an unstable build, inaccurate database or if the settings of the test environment are not appropriate. Not verifying all the configuration details before testing into stage environment is a very common mistake for website testing. Being a tester, you should never forget to check all the configurations and settings before executing the automation script.
3. Did You Chalk Out Everything According to the Deadline
Once I worked in a project that involved us creating a cross browser compatible web application. Agile methodology was not that popular at that time. While the development team was doing their work, the testing team, instead of going through the business documents and figuring out a plan for starting and executing the test cases, waited for the developers to complete their work. Development team took a little more time than anticipated but they completed their part. However, that delay caused a lot of stress among the testing team, the testers were in a rush since a huge load of work came on their shoulder all of a sudden.
To avoid such mistakes in website testing , it’s better to chalk out a plan earlier, so that once the development is done, without any waste of time, testing begins immediately. The shift left testing approach came into the application with the intent of minimizing the time required for testing by implementing a methodology where writing the test cases begins even before development starts.
4. You Forget About Selenium’s Limited Reporting
You may be using Selenium WebDriver for automated testing of your dynamic website. Before testing, you should remember that being an open source tool Selenium has certain limitations. While executing the test cases, Selenium does not support a lot while working on its own.
It is better to integrate Selenium with a third party tool like LambdaTest which helps the tester to capture screenshots and share the bug reports through its inbuilt integration tools. Moreover, you can also generate a customized report where you will find the detailed error reports, pass-fail count, execution time etc. What is even better, you can now run automated tests using LambdaTest on your browser using their scalable online Selenium grid that will cut down your build time a lot.
5. Slipping Out On Hyperlinks
Hyperlinks are crucial for an efficient user journey on a website. However, under the pressure of agile SDLC, I have observed a common website testing mistake where the testing team is so focused on functional testing that they forget to monitor whether all the hyperlinks are relevant or not? As a tester, don’t forget to go through the business requirements and check whether all the desired hyperlinks are working properly or not.
Also, do remember to check via browser compatibility testing. Often it has been observed that “a href” works in one browser and does not work in another, especially if the browser is a lower version of IE.
6. Missing Out On Cross Browser Testing
Cross browser testing is one of the most important facts which a tester must check but often forgets while website testing. Nowadays apart from the major browsers, almost hundreds of different browsers and their versions are used worldwide. And the usage ratio varies depending on the demographics, age group as well as the device used. Due to lack of time testers often pass cross browser testing by running a test across Chrome, Firefox, IE, and Safari. But chances are there that your website may fail in Opera or Yandex browser.
It is better to get a browser usage share and prepare a cross browser testing matrix. LambdaTest can help you avoid such mistakes in website testing by allowing you to perform cross browser testing of a website on 2000+ browsers and their versions, hosted by VMs hosted through their cloud servers.
7. You Forget About Responsiveness Across Various Devices
Responsiveness is another important testing criteria, yet often overlooked by testers. When a website is developed using frameworks like Bootstrap, the standard media queries included in the libraries ensure that it runs in all kinds of devices without any horizontal scrollbar or other display issues. However, there are more than hundreds of devices, including desktop, laptops and handhelds, each with their own resolutions. There is no way to guess which device the user may use to access the website you are testing. Don’t make this mistake in website testing.
LambdaTest offers a feature of responsive testing for you to test your RWD(Responsive Web Design) on 44 desktop and mobile devices in a single test session.
8. Not Paying Attention To Page Loading Speed
If your site is required to be SEO optimized, it must load faster on the browser. Google considers loading speed in its SEO algorithm. And this is one thing which testers forget while website testing. Check the loading speed of the site on all browsers under normal network connectivity. If it is too slow, forward the issue to the developer. The reason may be large-sized CSS or JS files, or some unnecessary libraries which were included but not used later on. Get it fixed before starting the next testing phase. If the site is slow, it won’t get displayed among the top results in the search engine, which means bad news for both the organization as well as the development and testing team.
You can test the speed of a webpage using Google PageSpeed Insights.
9. Not Bringing The Appropriate Candidates For Usability Testing
One of the most common mistakes in website testing happens, is recruiting the wrong participant for website usability testing. Usability testing is all about viewing a website through the eye of someone who is meant to use the site. The candidate should be selected based on multiple factors like age, job, demographics etc.
To save time, testers often pick their colleagues or friends for usability testing. Ultimately they get a generalized opinion about the site instead of a distinct error of bug which may have been detected by the right candidate. It is essential to get some time and pick the right candidate for a successful usability testing. Here are 13 common mistakes that happens during Usability testing.
10. Using Playback & Record For Automated Scripts
Testers often depend on the records for creating automated scripts while using web automation tools like Selenium Webdriver. Testers forget while website testing that record features are an option to generate a script that acts as a framework or skeleton. They are not the final stages while creating a script. In order to execute automation testing effectively, you must customize the auto-generated script.
Instead of using records, you can customize the script by adding validation checkpoints, data parameterization and also modularize the script in a way that multiple testers can work on it at a certain point of time. Read our blog on Scripting testing vs Record and Replay testing to clear out any ambiguity.
11. That 404 Is Always A Headache
A website may often face some downtime. This may be because of routine maintenance or else some server or backend issue. Whenever a user tries to access a site that is down, the “Error 404 Site cannot be displayed” page gets displayed to the user. Recently I came across the 404 pages of Pixar, which uses the character ‘Sadness’ from the 2015 Oscar winner “Inside Out”.
It is the designer’s duty to brilliantly design a 404 page which ensures that the user will keep on guessing how excellent the actual site can be once its up. In fact, the requirement of most new sites demands a customized 404 page as well. As a tester, check if the 404 error page is displaying the customized one or the general blank page. As a tester, you need to commit for a thorough validation of 404 errors to avoid any mistake in website testing.
12. Did You Test All Your CTAs?
Testers often make the mistake of not checking the CTAs while performing user experience testing. CTAs are an important factor that motivates the end user to become a potential customer or a permanent user of your site or application. Common design mistakes often result in a poorly designed CTA, sometimes not large enough to notice and most commonly, not appropriately named, which ultimately leads the end users driving away from what has been a potential customer-seller partnership. Don’t forget to check those CTAs and notify the designer immediately if you find any improper naming convention, whitespace issues or other mistakes like size or location.
13. Company Logo Must be Clickable
A one-click link which redirects the users to the homepage is a must for any websites having multiple pages or components. Whenever a user feels confused and disoriented, they want to return to the homepage. Standard practice is embedding the URL of the homepage in the company logo. It either redirects the user to the home page or the single sign-on page if the website has multiple children.
Avoid the frequent mistakes in website testing by ensuringthat the company logo is clickable everywhere. Also, make sure that it redirects the user to the desired page.
14. Stop Daydreaming About 100% Automation
A lot of testers when start learning Selenium or other automation tools, gets excited thinking that the selenium scripts will replace their entire manual efforts. This is a mistake in website which may lead to wasting a lot of time and bandwidth. Automation mostly relies on the basic efforts of manual testing. UX testing or certain another visual website testing can never be automated.
The ideal solution is to learn and prioritize which tests should be automated in a way that it reduces manual time. Website testing is mostly about manual effort since the machine cannot detect many things that can be done by a naked human eye. A skilled manual tester can be trained to be a better automation tester but an automation tester relying on scripts will never have the skill of a manual tester. Also, read out other blog, if you are about to start automation testing from scratch.
15. Always Keep An Eye Out On Analytics
When a website is tested while in production, testers often make mistake and check whether everything is working perfectly on their local devices. Don’t do that. It’s a good practice to observe how the users are feeling while using your site.
Refer to Google analytics and other analytic tools, which will give you detailed data about the number of devices and browsers used to open your site, average loading time, user count, etc. All these data are vital to check how your website is performing in the market. Notify the developers whenever you see any discrepancy in the data. Here is how you can use web analytics to study your website traffic.
16. Hacker Alert! Does Your Website Pass All Security Checkpoints?
With the number of users accessing the internet increasing, the risk of hackers and malicious activities are increasing as well. Security of a website is one area where you cannot afford to commit mistakes in website testing. If the site which you are testing requires data privacy like storage of user information, bank details etc. you can’t afford to make any mistake for website testing from a security point of view. Check all the requests and response from the server and ensure that everything is behaving like they are supposed to. Also, check the back button. Ideally, when a user logs out, the session must end. Back button should not redirect the user to an active session. Apart from that, don’t forget to check whether the cache stores login information after the user logs out. It is strictly prohibited in secure applications like banking or online payment.
Read our blog, if you are curious about finding the influence of Microservice architecture in Security testing.
17. Did You Check How it Performs Under Heavy Traffic On Stage Environment?
Performance testing of a website is a compulsory phase to execute carefully. Even popular sites have performance issues. Britannica once gave a huge discount and so many users accessed there site at a single time that the entire site went down. Don’t make the mistake of skipping load testing. Use proper tools to check how the website performs when a huge number of users tries to access it at the same time. Carry on multiple simulations by repeatedly increasing the load.
Although, we keep load testing in our checklist but we restrict it to only our production environment. We should not! You should also perform load testing on Stage environment so you could get an estimate of how the code would respond to an excessive number of queries. Here are 13 reasons why Staging environment is failing for your organization.
18. Does The Site Comply To All Mandatory Compliances?
W3C compliance is a term often used by web developers. It means that a website which is developed using HTML and CSS complies completely with the standards which are set by W3C. However, developers often do the coding according to their own style and miss out certain compliances. And it’s kind of hard to keep track of the compliances since they often get updated.
Testers must not forget to check the website and ensure that it complies by all the mandatory standards. Just run a simple check using the W3C markup validator and it will tell you the exact code snippets where there is something faulty.
19. Did You Check The Security Of All Data Entry Points For User Confidential Information?
Suppose you are testing an application like Turbotax, or any other secured progressive web applications. Now, these applications have a very cool feature of uploading any document on the app server by just clicking a picture. As a tester you should remember to check where the app stores the image. Does it store in the cache, or on the physical drive of the device? If by any chance it is stored locally, it may pose an issue of privacy breach if the user by mistake shares it on a social network.
Ideally, for securing progressive web applications, data is captured using device hardware like audio recorder and camera should only be uploaded in the application server and not either on cache or on a local drive. If you are testing an app like that, don’t forget to check it.
20. Are You Relying Too Much On Hardcoded Data ?
For saving time testers often use the same data in their HTTP requests for every scenario. If the application is smarter, the updated database technology will detect duplicate requests and cache them automatically, thereby giving the tester an illusion of a faster system. The resulting performance test is thereby, inconclusive.
If you are using JSON for data upload, instead of hardcoding all the information, you can use a script to generate a random email or a number by JMeter. Once that file is run within an HTTP request, every information that you upload on the database becomes unique, saving you from invalid tests.
21. Have You Checked The SSL Certificates?
The primary reason most websites use SSL is to encrypt information that is sensitive and not meant to be shared with anyone other than the site owner or developer. As a tester, you must check on your web server and find out if the SSL certificate is valid, installed correctly and does not display any kind of errors to the users.
There are lots of SSL Checker tools available where you will be required to enter the site URL and hit the check button. The process is simple but if left unchecked may pose security issues for your website, especially if the SSL is not correctly installed.
22. Depending Too Much On Selenium WebDriver Alone? Beware Of Scalability Issue
Although WebDriver has the capability to test your website on any browser or operating systems, there is a certain limitation to the number of tests it can execute in parallel. Also, the testing speed depends on the node and hub configuration of the tester. If the structure of your website is complicated, you will need a scalable environment. Don’t make the mistake in website testing of using only one Selenium interface since running the tests sequentially will waste a lot of time.
LambdaTest Selenium grid can help you perform parallel testing of your Selenium test scripts, helping you to scale as much as you like.
23. Did You Perform Website Testing Through Various Geo-Locations?
The tester must use a tool that allows to run the website from multiple geolocations as well as from different network speed and check how it performs under extremely low speed. Raise the issue to the developers as well so that they can design an attractive 404 page as mentioned above or an attractive loader which makes the user aware that the site will function normally under average network connectivity. Another key point to avoid mistakes in website testing, is to make sure that you test a website from numerous IPs belonging to different geographies before providing a sign-off.
With LambdaTest, you can use tunnel for testing your locally hosted website or webapp through various geolocations using a VPN. Here is a blog to help you perform Geolocation cross browser testing through VPN on LambdaTest.
24. Are All Web Elements Having Well Defined IDs?
A well-defined ID is very important for a webpage. Let’s suppose you are using Salesforce and want to open a particular purchase data of a user. If the ID is not defined in the URL, you will get a 404.
While testing, the job of a tester is also to make sure that for every hyperlink and page redirect, the ID is well allocated which helps in a better synchronization of scripts. Make sure that there are no duplicate IDs on the DOM as well.
Although there is a myth in the industry that testing is a boring job, the best thing about being one is that every day you get to learn something new. Especially when the current software testing trends are shifting more towards
automation testing through machine learning and AI, testers will get the opportunity to learn to code as well. So make mistakes, you will make lots of them. But the important thing is whether you are learning from them and make sure not to repeat them. Hopefully, the mistakes I’ve listed above will help you a lot in avoiding them while testing a website. Do let me know if you faced any other common mistake during your career.
Arnab Roy Chowdhury is a UI developer by profession and a blogging enthusiast. He has been writing content for about 5 years and has strong expertise in technical blogs, travelogues, and content in the latest programming languages.
Originally published at LambdaTest
Author Arnab Roy Chowdhury