Automated GUI testing

With unit tests, we can conveniently test one or several classes in separation, but we have to write all the test cases manually. Is there a better way? For example, could we record our clicks instead of coding them in C++ or QML? As you probably guessed, there is a whole array of such tools—from commercial ones such as Squish and Ranorex, to open source ones such as Testing Unitario GUI (TUG) and Open HMI Testing (OHT).

As the open source solutions require compilation, and even sometimes have a Boost dependency, for the sake of simplicity, we will use the commercial Squish tool to illustrate the concept of automated GUI testing.