The Basics of Automated Testing

By Jon Jagdharry

You’ve pondered automated testing, haven’t you? It’s a strong buzz phrase in the eCommerce industry currently, and it’d be hard not to notice. It probably sounds like a luxury that only huge retail companies can exploit, but I’m going to tell you how you can benefit as well. As a small eCommerce retailer, you have even less time and lessresources that you can dedicate to testing your site and staying aware of its peak potential, which makes automating this process an even greater asset to your business. Here are a just a few of the benefits:

  1. Time and Speed
    When it comes to technology, time and speed are everything! Automated testing gives you the best of both worlds. Instead of paying people to repeatedly and tediously replicate multiple user experiences on your site, automation allows for replicating dozens of user types and experiences automatically, with very little intervention. It can also be extrapolated into load testing, so you’ll learn if your site can handle a large amount of traffic.
  2. Reusability
    Most automated tests are set up, then run on a scheduled basis. This ensures that an exact process is done each time, which then reveals trends in the results. It removes the risk for human error where we could skip, misinterpret, or add a step to the test. And because it allows for unattended testing at all hours, it allows you to focus on other priorities.
  3. Functionality Coverage
    Automated testing can cover all aspects of a functionality. Manual testing can overlook odd cases where inexperienced clients may skip fields, click unusual places, fill in incorrect values, or circumvent links in ways you couldn’t predict. Automated tests can be created to capture each of these different scenarios, and can be combined into a test suite which will run them all simultaneously.
  4. Maintenance
    Automated testing is not perfect – like any piece of software, tests need to be maintained. However, as your site or application is updated, tests can simply be adjusted to match. Unless there has been a big functionality change, typically your tester will review references to specific objects for differences (such as class and ID names).
  5. Functional, and Visual
    While standard automated testing does not extend to checking the visual layout of your site, there are some methods that can be added which will check certain CSS attributes. For an additional quick workaround, you can automate collecting screenshots of each page, and review them visually. This isn’t a perfect solution, but it gives you a starting point to look for visual oddities, and narrows down more manual reviews.
  6. Cost
    Automation is a process that has the majority of cost loaded at the start; unlike manual testing, where the cost is more distributed throughout the entire process. Automated tests take some time and help to develop, however once the finished tests are delivered, the time taken to maintain and run tests is dramatically decreased, and it doesn’t cost you anything to repeatedly run them. It is much easier to justify the up-front cost when compared to paying multiple people to run sufficiently complex tests repeatedly.

In addition to the six strongest features above, other benefits are: reliability, power and versatility, maintaining continuous integration, and generating easy access to test results.

If you’d like to dive deeper into details about automated testing, take a look at Selenium and PhantomJS, which are both free products. We’ve used them at Gauge Interactive for testing, and highly recommend them. We’d be happy to talk further with you about how to get the most from your site testing. A little time up front gives you the security of knowing that your site is consistently functional, and saves you a multitude of time and tedium over the lifetime of your site.