A Day in the Life of an Automated Tester
In web design, the developer is commonly considered the MVP of the team. After all, they make ‘the thing’! Few people consider just how many players are involved throughout the course of a website development project. But, no one is perfect, even the top developers and designers might misstep now and then or be faced with a bug in the code that they’ve never seen before.
That is why a strong team consists of individuals who monitor and review each others’ work. Automated testers are there to ensure quality, functionality, and maintenance are maintained throughout the project’s lifespan. In the end, there’s a value to work -- and to the prevention of rework.
As an automated tester, one of my main responsibilities is to make sure all sites in production (client websites that are deployed and live online), are running the way they are supposed to. I am part of the Support Team, and therefore am not assigned to any one particular client, website, client site or project. Rather, I oversee hundreds of different digital solutions that Echidna has deployed over the years.
To ensure a site is functioning properly a typical test will, depending on the complexity and size of a site, include an average of 15 scenarios. A tester can choose either to perform the tests manually, or to automate the tests.
To test manually requires lots of time, which is expensive. It can also be a tedious task, as tests are repeated multiple times with each release of a site, during its life-cycle, and through different environments of production. Automation helps reduce the manual work that has to be put in each time a test needs to be run. Build once, use, and improvise it for the rest of its life.
Another benefit to automated tests is in scheduling. This is what checks the site at all times, and will recognize an error and notify the tester. Results generated each time a test is run are saved as a video and an image. If a discrepancy occurs, the team is notified and a fix can be issued (or the client be notified of such a problem, if needed).
Scheduled, automated tests keep running even while a site is in development. When anything is out of the site’s normal behaviour, the tester and the team behind the development is notified so a fix can be issued, or rolled back to a state where things were normal.
Report & Repair
Automation makes life easier, but this does not imply that once a test is built, it can be left unattended.
Tests need to be maintained just as much as a website is maintained. Changes to a website call for new tests to be conducted, so that it continuously sees a passing result. Not only do functional aspects of a website change, but non-functional aspects as well. These must also be monitored.
Errors, bugs, or mistakes are a part of any product. Any reported error must be attended to and resolved. A failed test result should mean one of two things - a fault in the site or a faulty test case. The job of the tester is to find the root of the problem and take actions accordingly.
Yes, there are times when one fix leads to another error in another part of a site. In this case, the developer is unaware and will report it as, “error was unrelated to the issue they were dealing with / something else totally unrelated to the issue was broken”. In such a case, the automated tester can see the bigger picture of the project to determine the true source of the issue and will handle the situation.
Tools for Website Testing
An automated tester uses a variety of tools to test the functionality, accessibility, optimization, and performance of a website. The specific tools used will vary from one development company to another, but a good tester will run multiple types of testing over the course of a site build. At Digital Echidna, automated testers commonly use the following methods and tools:
- Visual & Functional Testing: Ghost Inspector, Selenium
- Functional Testing: Behat, Selenium IDE, Selenium WebDriver
- Accessibility Testing: Dynomapper
- Site Performance Testing: webpagetest.org, LoaderIO, Dareboost
- Load Testing: K6, Apache Jmeter
- Link Functionality Testing: Link Checker
Most of the tools we use are open source. We are always researching new tools. Our expertise helps us develop tests throughout the website build that benefit both our clients and our project team. We are continually integrating new tests to our projects that help us prevent the same problems from repeating.
While an automated tester may not be the developer who makes a site look beautiful, they are in the trenches making sure that beautiful site stays beautiful for the long haul. Part of the investment in hiring a development firm is the comfort in knowing there’s a team looking out for you and taking care of your investment.
To sum up, the most exciting part of my day is when I recognize a bug, report it, and see it repaired. Certainly, my most exciting part of the day contradicts with that of a developer’s, which is finding a solution to a problem on line 67 of their code causing them nightmares at night.
Did you enjoy this article? Get more just like it by signing up to receive Digital Echidna’s free e-newsletter, delivered to your inbox every month. Subscribe today.