Pushing the Boundaries of Test Automation: an Overview of How to Automate the UX with Heuristics

One of my current responsibilities is to find ways to automate, as much as practical, the ‘testing’ of the user experience (UX) for complex web-based applications. In my view, full test automation of UX is impractical and probably unwise; however, we can use automation to find potential UX problems, or undesirable effects, even in rich, complex applications. I, and others, am working to find ways to use automation to discover these various types of potential problems. Here’s an overview of some of the points I have made. I intend to extend and expand on my work in future posts.

In my experience, heuristic techniques are useful in helping identify potential issues. Various people have managed to create test automation that essentially automates different types of heuristics.

EXAMPLES OF PUSHING THE BOUNDARIES

  • Dynamic Usability / Accessibility Testing—See the following article I wrote that describes some of my work in the area. The code is available here. You’re welcome to use and experiment with it.
  • Fighting Layout Bugs—This is by Michael Tamm. He described the work in a public “tech talk” at Google’s Test Automation Conference (GTAC) in 2009. The link is available on his project’s homepage.
  • Crawljax—This is another open-source project which applies actions. It uses patterns to determine when to apply the actions. I’ve seen it used for significant, global web applications. There is a video online which describes some of that work.
  • BiDi Checker—This software helps to identify problems related to bi-directional content on web sites and web applications. It successfully finds and identifies a wide range of potential issues.

You might notice that all the examples I’ve provided are available as free open-source software (FOSS). I’ve learnt to value open source because it reduces the cost of experimentation and allows us to extend and modify the code, e.g. to add new heuristics relatively easily. (You still need to be able to write code, however the code is freely and immediately available.)

AUTOMATION IS (OFTEN) NECESSARY, BUT NOT SUFFICIENT

Automation and automated tests can be beguiling, and paradoxically increase the chances of missing critical problems if we chose to rely mainly, or even solely, on the automated tests. Even with state of the art (the best we can do across the industry) automated tests, I still believe we need to ask additional questions about the software being tested. Sadly, in my experience, most automated tests are poorly designed and implemented, which increases the likelihood of problems eluding the automated tests.

Here are two articles which describe some key concerns:

The first describes how people can be biased into over-reliance on automation. It is called “Beware of Automation Bias by M.L. Cummings, 2004. The article is available online.

The second helped me understand where testing helps us work out which questions to ask (of the software) and that we need to use a process to identify the relevant questions. The article is called “5 Orders of Ignorance,” by Phillip G Armour, CACM 2000.

 

Julian Harty

Julian has been working in technology since 1980 and over the years has held an eclectic collection
of roles and responsibilities: He was the first software test engineer at Google in Europe, the Tester at Large for eBay group, and has consulted and helped lots of companies and projects globally. He’s also been a company director for a mix of companies and startups. Currently, Julian combines commercial work, parttime Ph.D. studies, and helping with improving education, teaching and learning using low-cost mobile devices particularly for disadvantaged schools globally. He has authored several books, most recently the Mobile Analytics Playbook which can be downloaded for free at: http://www.themobileanalyticsplaybook.com/. You can find lots of his work, including opensource projects, online.

Julian Harty
Julian has been working in technology since 1980 and over the years has held an eclectic collection of roles and responsibilities: He was the first software test engineer at Google in Europe, the Tester at Large for eBay group, and has consulted and helped lots of companies and projects globally. He’s also been a company director for a mix of companies and startups. Currently, Julian combines commercial work, parttime Ph.D. studies, and helping with improving education, teaching and learning using low-cost mobile devices particularly for disadvantaged schools globally. He has authored several books, most recently the Mobile Analytics Playbook which can be downloaded for free at: http://www.themobileanalyticsplaybook.com/. You can find lots of his work, including opensource projects, online.

The Related Post

5 roadblocks in vehicular autonomy that complicate Software Testing Experts in the field have previously referred to air travel as somewhat of a gold standard for autonomous vehicle safety, but after Boeing’s two tragedies, that analogy can no longer be used when talking about self-driving cars. This was after Boeing’s 737 MAX Jets have found ...
Introduction As a consultant and trainer, I am often asked by my clients and students how to deal with automated acceptance tests. One common question is whether automated acceptance tests should use the graphical user interface (GUI) provided by the application.
We’re excited to share with you the latest and greatest features of TestArchitect Gondola, as well as how to use them. So, check them out below! Gondola Studio UI/UX ImprovementsGondola Studio’s new Test Execution Dialog makes it easy to configure and run your test. You can choose the browser or device you’d like to run ...
How to do UI test automation with the fewest headaches I’m currently interviewing lots of teams that have implemented acceptance testing for my new book. A majority of those interviewed so far have at some point shot themselves in the foot with UI test automation. After speaking to several people who are about to do ...
Test automation provides great benefits to the software testing process and improves the quality of the results. It improves reliability while minimizing variability in the results, speeds up the process, increases test coverage, and ultimately can provide greater confidence in the quality of the software being tested. However, automation is not a silver bullet. It ...
The following is a transcript of a May 7, 2008 interview with Hung Q. Nguyen, founder and CEO of LogiGear Corporation and coauthor of the best selling textbook Testing Computer Software. Interviewer: When it comes to software testing, what concerns or issues are you hearing from software developers? Hung Q. Nguyen: The most pressing concern ...
Learn how to leverage TestArchitect and Selenium for turnkey, Automated Web testing. TestArchitect lets you create, manage, and run web-based automated tests on different types of browsers—using either a WebDriver or non-WebDriver technique. In this article, we will explore employing WebDriver for testing a web-based application with TestArchitect. TestArchitect with WebDriver is a tool for automating ...
Picture a series of sprints: There are a variety of features being developed, with an eye towards having automated tests related to those features. Work starts to move along and Test Automation work likewise goes along with it. However, at some point, there invariably is that moment, usually in the middle of the project, where ...
The path to continuous delivery leads through automation Software testing and verification needs a careful and diligent process of impersonating an end user, trying various usages and input scenarios, comparing and asserting expected behaviours. Directly, the words “careful and diligent” invoke the idea of letting a computer program do the job. Automating certain programmable aspects ...
Has this ever happened to you: You’ve been testing for a while, perhaps building off of a branch, only to find out that, after all of this time, there is something big wrong. It’s a bad build and now you have to go backwards, fix something, and get a new build. Basically, you just wasted ...
Understanding the benefits and challenges of Automating ERP is critical. According to SAP, ERP (Enterprise Resource Planning) “is the core processes that are needed to run a company: finance, human resources, manufacturing, supply chain, services, procurement, and others. At its most basic level, ERP integrates these processes into a single system. But new ERP systems ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe