Embedded Squish for Qt Success at Dash Navigation

Squish for Qt is well known for its excellent Qt GUI testing features. Less well known is Squish’s support for embedded platforms running and testing Qt/Embedded or Qtopia applications.

Squish’s distributed and modular design, true cross-platform support, and its dedicated Qt support means that Squish users can create and run automated GUI tests for embedded Qt applications both on the embedded target device and also on the desktop using the virtual framebuffer emulation. This greatly simplifies the task of testing embedded GUIs.

One of froglogic’s customers making use of these features is Silicon Valley based Dash Navigation, Inc. Their product, Dash Express, is the first Internet-connected personal navigation device. It runs an embedded Linux platform on an ARM processor and uses Qt/Embedded for the device’s graphical user interface.

Testing such a dynamic user interface proved to be a very tedious task, so Dash’s Quality Assurance team, lead by Mr. Ean Houts, spent a few weeks evaluating Squish to see if it would work for them. After completing the evaluation, in September 2007, the Dash Quality Assurance team started to use Squish for their GUI test automation.

 

The Challenge

Testing dynamic graphical applications such as the ones running on Dash’s devices is a complicated task. Doing the testing manually takes a lot of time and requires highly qualified staff, and yet is still prone to human error. Automating the tests has the potential to save considerable time and to greatly improve the reliability of the testing, but Dash needed to find a testing tool that would work with a very dynamic user interface and in the embedded environment, and which would let them test in the way they wanted to.

Dash searched the Internet for suitable automated GUI test tools, and evaluated several of those they found. Their evaluations revealed that the only tool that could reliably deal with their dynamic user interface and embedded environment was Squish.

 

Why Squish?

Dash chose Squish for several reasons. One main reason was Squish’s dedicated Qt support. The ability to directly query Qt objects, create abstract object maps and be able to utilize flexible scripting features in the test scripts were crucial for Dash

“In a start-up environment things can change rather fast—the ability for us to abstract our scripts from most screen layout changes is a real time saver.” said Mr Houts.

Other features which Dash makes extensive use of include the handy spy tool, and also the screenshot verification facility. Squish’s ability to run the same tests on both the embedded device and on the frame buffer emulation platform is yet another requirement which Squish fulfills very nicely.

“Additionally, Squish’s execution speed was significantly faster than the other products we were evaluating which has certainly helped productivity and execution time.” Mr Houts adds.

Finally, when asked about froglogic’s technical support service, Mr. Houts just said, “We are very satisfied with froglogic’s support service. Our questions have always been dealt with promptly, with excellent follow-up to ensure our issues were totally resolved.

 

The Benefits

Having automated many of their GUI test cases during the last year, Squish is now an integral part of Dash’s nightly test strategy. Squish is used to find regressions as quickly as possible and to ensure that Dash’s software’s quality is maintained.

“We see shorter testing cycles and faster identification of problems as one of the huge advantages of automated GUI tests.”, says Mr. Houts. “We use Squish in combination with our Ruby-based test harness and ApTest’s test management solution.”

Due to Squish’s open interfaces and command line tools for test execution, it is straightforward to integrate Squish test runs into any of the test management systems and test harnesses that are available. This ease of integration was one of the reasons why Dash’s QA engineers had no problem integrating Squish into a test management system provided by a different vendor.

 

Conclusion

Automating graphical user interface testing on the desktop and on embedded devices is both possible and practical. Such testing makes it much easier to spot regressions after software changes and to ensure that software quality is maintained as well as being faster and far more reliable than manual testing. As Dash found, Squish is a powerful and flexible testing tool, excellent in its own right, and also easily able to integrate fully with other products in the testing tool chain.
We’d like to thank Mr. Houts for sharing his experiences and wish him and Dash Navigation a continued successful future.