The ABB Group, a multinational organization headquartered in Zurich, Switzerland, is a pioneer in power grids, electrification products, industrial automation and robotics and motion. The company serves its customers in utilities, industry, and transport and infrastructure globally. Continuing a history of innovation spanning more than 130 years, ABB today is writing the future of industrial digitalization.
Jarkko Peltonen, a Test Automation Specialist within ABB’s Electrification Products division, ensures high product quality, and by extension, safety, by integrating froglogic’s Squish GUI Tester into the development and test processes of a protection relay. His team uses Squish to test the Qt-based embedded touch screen at the frontend of the relay. Mr. Peltonen uses both Squish for Qt on a Linux operating system of the touchscreen and Squish for Windows for the desktop version of the software.
Mr. Peltonen was impressed with Squish’s stability and noted the ease of integrating his Squish tests with Jenkins, a Continuous Integration (CI) platform. In his process, Jenkins checks for the availability of new builds and starts the test process. He uses a Robot Framework script which starts the squishrunner process. Once the tests have finished, the wrap-up framework checks the output for any fails and reports the pass/failure history from Squish.
Mr. Peltonen also mentioned he follows the Page Object Model (POM) approach when creating Squish tests. “Our scripts are not done by recording, they are built by modelling the structure of the UI.” The POM method is an object-oriented abstraction of UI components. That is, for each page in the application, there is an associated page class. Consider the example where one has a page element referenced tens or hundreds of time across a suite. A change to this element will require updating each instance of the element with the test scripts. Under the POM method, all that is required is to update the page class once. The tests remain untouched. This method thus reduces code duplication and improves the maintainability of tests.
“I can program in Python and even import my own libraries in the tests. That’s where it’s handy.”
Mr. Peltonen’s group follows a three-pronged approach to testing, including unit testing, manual testing, and automated GUI testing with Squish. He plans to continue to grow the automated GUI test cases in conjunction with developers augmenting their unit test suites. Mr. Peltonen’s future plans also include combining visual-based object recognition into his property-based scripts, a complimentary approach that Squish offers. Noting that he is using Squish in his test process “more and more,” he also expressed interest in upcoming features, like OCR, and upcoming products, like Squish Test Center.