Qt and Java GUI Test Automation: Many Years of Squish Success at ARM Ltd.
ARM Ltd., is a well-established company that designs the technology that lies at the heart of many advanced digital products. ARM's product offering includes RISC microprocessors, graphics processors, enabling software, cell libraries, embedded memories, high-speed connectivity products, peripherals, and development tools.
We had the pleasure of discussing ARM's use of Squish with Dave Dextor, one of ARM's Staff Validation Engineers.
ARM originally evaluated Squish several years ago, and bought their first licenses around 2005. We asked Dave what motivated ARM to choose Squish, and he told us:
The ease of use of Squish along with the object map which can be used to reduce the maintenance of tests were two key factors. And support of multiple operating systems and technologies—especially for Qt and Linux—was also very important.
Squish's unique object map makes it possible to identify application objects. When application objects change, the object map makes it possible for test engineers to make simple changes to the object map so that objects continue to be correctly identified by test scripts—without having to modify the tests themselves.
Dave also mentioned some of the other features that made Squish attractive to ARM, in particular the ease with which it is possible to do data driven testing, Squish's support for multiple standard scripting languages, and the fact that Squish has better features than competing tools.
Squish at ARM
ARM started out by using Squish for GUI testing of a proprietary debugger and an Eclipse-based IDE. The debugger was written using Qt and it was when looking for a suitable testing tool for this that ARM first came across Squish. They are now developing a new Eclipse-based debugger in Java and plan to use Squish to provide automated GUI testing for that tool.
The software that Squish is used to test runs on Windows and Linux (specifically, Windows XP, Windows Vista, and Red Hat Enterprise Linux 3 and 4).
Dave told us that one of the biggest challenges ARM had encountered when it came to creating and maintaining tests was keeping the tests current in the face of changes to the software across build cycles. Another challenge was to automate the testing process as much as possible based on the ARM cluster they use as a centralized server for development and testing.
At present, ARM make most use of Squish's command line tools to provide the maximum amount of test automation possible. Dave said that Squish had been particularly helpful in making testing cycles shorter, and also reducing the amount of human resources needed for testing.
Other than Squish, ARM support their testing process and test automation using in-house developed scripts (in Perl and Python), and proprietary debugger automation software. They also make extensive use of JUnit (a unit testing framework for Java) and CXXTest (a JUnit-like unit testing framework for C and C++).
Regarding froglogic's technical support, Dave told us:
It's been very helpful on the few occasions I've needed it.
ARM produce cross-platform tools based on Qt and Java technologies. Squish has enabled them to use the same testing tool chain on all the platforms they support and using both the GUI technologies they use—as well as giving their test engineers the freedom to use the scripting languages they prefer. ARM now have several years of experience using Squish, and Dave tells us that in future they plan to use Squish even more than they do now.
froglogic's team would like to thank Dave for taking the time to share ARM's experience with Squish, and we are looking forward to a continued successful relationship.
Visit www.froglogic.com to learn more about Squish and to get your free and supported evaluation copy!
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)