Software testing is a specialized field, and we can recommend you a ton of experts who have made a name for themselves in this craft. But what if you want to learn it for yourself and for testing your own website?
Here is a quick DIY guide on learning how to test your website and make it a “place to be” for your audience.
So, what is software testing?
There are plenty of definitions for this, some of few lines, others of few paragraphs, but our favorite of them all is from one of the best testers in the world- Michael Bolton (no, not the singer!).
Testing is asking and answering the question, “Is there a problem here?”
This definition sums up the essence of testing- we are running an investigation to identify problems or bugs with our product, and in this case, our website.
So, what exactly is a problem or a bug?
Again, there are plenty of definitions for this, but our favorite is from another testing guru, James Bach.
“A bug is something that bugs somebody!”
Basically, you are looking for visuals and behaviors in your website that can cause irritation, frustration, or confusion for your users, and then getting them fixed, which will improve the quality of your website.
Let’s do it step by step.
- Plan it out!
Software Testing is a time-consuming activity and you can’t do it at the eleventh hour, so you need to plan out a significant amount of time where you will be running tests on your website, and getting it fixed. Verifying the fixes will also take time and effort from you, as well as the development team. A one pager test plan will be a good first step to listing down your goals for this activity, timeline, roles, resources you will need, and broader activities involving this endeavor.
- Create a mind map of your website
Mind mapping is a visual technique for documenting and presenting information. It is very famous with testing professionals as it helps them with visualizing the scope of work and identifying the areas which can be riskier than others. It is very easy to learn as it doesn’t have a lot of rules and can be done both on and off paper. You can also do this activity with your team to brainstorm ideas or scenarios for testing your website.
Here, we will need you to create a mind map of all the pages and related features of your website and pin it where you can always see it.
- Start with functional testing
Functional testing is a broader term for testing all the features of your website, which include all the visuals and behaviors that your users can see and/or experience. Here are the steps to follow:
- Take a look at your mind map and open one page at a time, see if it looks the way it should.
- Start with the first business/process flow of your website, which in most cases is user signup. See them one by one and in one go to identify problems with the flow and if it is causing any confusion for the users.
- Check all the links, including your menus and sub menus, see if they are taking users to the correct pages and make sure that no links are broken. We also recommend using a broken link checker to make this job easier for you.
- Now, check all the forms in your website and see what fields there are for users to interact with. We need to see if each of them is behaving correctly and is allowing users to input the right kind of data. Keep an eye out for the following.
- Fields that are mandatory or non-mandatory and if they are behaving correctly.
- Fields that require unique data, for example, signup email or username.
- Input type and length of text boxes.
- Look for proper field labels and if the fields also contain user guidance, for example, phone number, email fields, etc.
- Look for proper error/alert messages upon submitting incorrect information.
- See what happens once you submit the form.
- Compatibility Testing
Compatibility testing can include everything from browser compatibility to operating system compatibility, but here, we will look for the following.
- Cross Browser Compatibility Testing
You will be testing your website on multiple browsers and their current and previous versions to see if it works as expected, and, in case of a compatibility issues, if it degrades gracefully and lets users know what is happening. You can either do it manually by installing different browsers and then testing your website on it or you can use a tool to do that.
- Test for Responsiveness
Here we will recommend you test your website on both mobile and desktop. You can definitely use simulators for this, but we still recommend you check it on at least 2-3 devices to learn how it acts with smaller screen sizes. A good tool to start is Google’s mobile friendly test.
- Performance Testing
Performance testing is basically a specialized field within the software testing community and it requires proper training and experience to perform; but here we are giving you few tips to make sure your website is performing well enough for the end users.
- Use a speed testing tool to check your website’s performance, we recommend Google’s PageSpeed Insights.
- Also, check how the website behaves on slower internet connections and if it degrades gracefully.
- You can also load and stress test your website by using a separate tool or by using Monitis’s load testing feature.
- Security Testing
In this step, we recommend you do the following basic tests.
- Authentication- making sure that it is letting the correct user in.
- Authorization- making sure it is letting the correct user access the allowed pages/features only.
- See if all your external forms (forms that require no login to access) have mandatory captcha with them.
- Secure pages shouldn’t be accessed without user login.
- In case of SSL certificates, website should redirect users to encrypted SSL pages.
- Content Verification
Content includes all the text, images, audio and video content on your website. Please ensure the following.
- The website content doesn’t have any grammatical or spelling errors.
- All the visual content (images, videos. etc.) don’t have any copyright violations and are of standard quality.
- No dummy content or test data is present on the website.
- Images should contain alt text tag in HTML.
- A/B Testing
A/B Testing or split testing is a technique where you can test two or more versions of your web pages and compare the results to see which one is preferable by your users. We usually divide our traffic to different variations of the same page and compare the patterns of how users are engaging with them. The better way to do it to use a specialized tool for it, and it is not very difficult to learn and execute. We recommend using Google Analytics to collect and compare data on your A/B testing experiments.
If you want us to jot down a quick guide for you on A/B Testing, do let us know in the comment section.
We also want you to think about accessibility of your website, which means optimization for the users who use screen readers or are colorblind or can’t use a mouse, etc.
It is important to note that skipping some of the mini steps from the above guide is absolutely fine and every solution that we have proposed depends upon the needs of your business and context of your website. There are no silver bullets when it comes to testing and quality assurance, and the best way to learn is to experiment, document, and improve upon that in an iterative manner.
Another thing to note is that the testing process will only stop once you are done with fixing and verifying all the issues you have identified, as well as running regression test cycles on your website when required. Testing is a time-consuming process and it requires the grit and nerve to perform tasks and experiments repeatedly, as well as the ability to observe and communicate the findings with the team who has developed your website.
Finding bugs is inevitable but we want you to make sure that you put your best foot forward in front of your customers and make them trust your business even more after interacting with your website. A well-functioning website is the first step towards having a thriving online business.
We hope this guide was helpful and you did learn a thing or two about website testing. Let us know your feedback or if you want us to write more guides for you.