My First Experience as an Exploratory Tester
In this article, I detail how I learnt and practiced my exploratory testing skills.
What is Exploratory Testing?
Exploratory testing is an unstructured testing approach where a QA tester interacts with the software and identifies bugs and improvements. It is a great way of identifying usability issues that may not be covered in the predefined test cases.
As the QA tester interacts with the software, they document the bugs they find in a bug report
How To Create an Effective Bug Report
A bug report is a document that outlines any bug that a QA tester encounters as they interact with the software. It usually includes bugs in this format:
- Bug ID - a unique identifier for the bug
Description - a short detailed description of the bug
Visual proof - a screenshot or screen recording of the bug
Environment - the system’s specification at the time. This includes the operating system, the browser and it’s version, the display size.
Steps to reproduce - instructions for recreating the bug
Expected results - outline what the feature should accomplish
Actual result - outline the feature’s current behavior
Bug severity - determines the bugs that should be prioritized by the developers
My Experience Testing Cars.ng Website
I got the chance to test the Cars.ng website this week and it was an interesting experience. My strategy was to start with design tests then dive into functionality testing.
Design Testing
The Cars.ng website has a nice functional design but it has a few bugs. For example, one of the CTA buttons in the homepage “disappears“ on hover.
Responsive Testing
The general design of the Cars.ng website looks really good in desktop screens. So I moved forward to testing tablet screens which are usually between 768px and 1024px where I found a couple of bugs. There were issues with the spacing and alignment of elements in tablet screens. For example, in the image below, some of the elements are squeezed when they could easily take up the full screen size.
In mobile screens(between 320px and 600px), there were a couple of elements that were not responsive. In the homepage, there’s a section after the hero section that is squeezes it’s element in a row instead of wrapping them or displaying in a column.
Functionality
While I was testing, I encountered a bug that was a bottleneck and I couldn’t test most of the website’s functionalities. When I signed up and logged in using Google, the whole app crashed and all the pages were displaying the 500 error response page.
I had to manually delete the session cookie in my browser to continue testing.
Navigation
Once I was done testing the website’s responsiveness, I tested the buttons and links and ensured the worked and lead to the appropriate pages.
There were a couple of links and tabs that returned a status 500 error response page while others directed the user to a page that was not related to the button text.
For example, the link to the SUVs page returns a status 500 error response page.
UX Writing
In this phase, I ensured that the user gets appropriate response from a completed task and the button texts were accurate. This was partly tested while I was testing the button and links.
A good example of a bug I found is captured below. When a user subscribes to the newsletter, they get a successful message that states “Sign up successful!“. This is confusing as it is not related to the task at hand.
Summary
Exploratory testing is an unstructured testing approach where a QA tester interacts with the software with the aim of finding and documenting bugs. It’s a good way of finding bugs that are not predefined in the test case.
You can check out my bug report for Cars.ng here.