openPR Logo
Press release

Automated GUI Testing: Squish Success at Perforce Systems

09-10-2009 07:36 PM CET | IT, New Media & Software

Press release from: froglogic GmbH

Hamburg, Germany - 2009-09-08 froglogic GmbH and Perforce Software announce that froglogic's Squish tool is used to ensure the quality of Perforce's P4V client.

Introduction

Perforce Software, founded in 1995, markets and supports Perforce, the Fast Software Configuration Management (SCM) system. Perforce is an award winning SCM system used to version and manage source code and all digital assets. Perforce SCM seamlessly handles distributed development and multi-platform environments and is used by more than 330,000 developers worldwide.

Recently, Perforce adopted Squish for GUI performance testing of their SCM system's flagship GUI, the Perforce Visual Client (P4V). We discussed Perforce's use of Squish with Tim Brazil, a Perforce Performance Lab engineer.

Why Squish?

In mid-2009 Tim Brazil chose Squish to round out his testing arsenal and to help ensure that performance remains high as new features and bugfixes are applied to P4V. P4V, written in C++ and using the Qt GUI library, provides a graphical interface on Windows, Mac OS X, Linux, Solaris, and FreeBSD.

One feature in particular Tim liked was Squish's support for multiple standard scripting languages for writing tests—these currently include JavaScript, Perl, Python, and Tcl. Using a standard scripting language avoids the need for testers to learn an obscure proprietary testing language, and means they can benefit from the large number of third party modules available for standard scripting languages.

Squish provides a complete GUI-based testing IDE capable of recording and playing back GUI tests, but for Tim, it was also Squish's support for command line use that was particularly appealing.

"I prefer to work in a command-line environment that facilitates the use of scripting languages," Tim explained. "It is evident that froglogic's approach took engineers like myself into account when they designed the product. For example, features like the envars file, suite.conf file, squishserver, and squishrunner, allow me to design a fairly complex test environment with relatively minimal work."

Tim has many years of experience in the testing field and is a strong proponent of using both automated and manual testing.

"I believe the best software testing solution is to use a good mix of automation and manual tools," said Tim. "By utilizing the strengths of both, producing superior products can be achieved."

"The benefits of automated testing include reliability, repeatability, comprehensiveness, and speed," Tim continues. "Furthermore, automated tests can quickly and dependably navigate through test scenarios and are, therefore, more likely to uncover subtle timing problems." He pointed out that manual testing alone is often both slow and fallible, and that even with a comprehensive test plan at hand it can be difficult to reliably recreate the exact test actions and environment.

Squish at Perforce

Tim uses Squish to test the performance of P4V, specifically on Windows Professional, Mac OS X, and SLED (SUSE Linux Enterprise Desktop). Squish is used to test the nightly build as well as the previous three P4V releases. A daily performance report is generated, identifying performance trends and pinpointing any possible areas of concern as P4V continually evolves.

Each test Tim uses is designed to work independently—if one test fails, it has no effect on subsequent tests. No third party tools are used; instead, a custom Perl script (runner.pl) runs the Squish tests. This script runs each set of Squish P4V tests for each version of P4V on each client machine, accumulating results into an XML file (see the screenshot below). Once the tests are complete, the XML results file is automatically parsed and converted into an HTML report for the test team's review each morning.

Squish in Practice

We asked Tim what features of Squish he liked most, apart from the multiple scripting language and command-line tools support he'd already mentioned.

Squish's Object Map came to mind: "At previous companies I have used graphical test tools that were heavily invested in using coordinates to identify objects. This was a maintenance nightmare. Squish's objects.map is unique and greatly facilitates test readability, robustness, and maintenance."

Squish uniquely identifies application objects such as widgets, using the values of their properties. For every identified object, Squish also creates a corresponding symbolic name—the symbolic name is the one that is normally used inside test scripts. This means that if a developer changes one of an object's properties, the test engineer only has to update the corresponding object property once in the Object Map to reflect the change. The symbolic name used for the object will continue to work in all the tests where it is used.

In some cases, an object property's value may vary depending on the platform the application is being run on. Squish's Object Map can accommodate such challenges since the properties used to identify an object can not only be matched for equality, but also using wildcard or regular expression matches—a feature that Tim has found to be particularly useful.

"One of the biggest challenges I've faced with automated GUI testing is the ability to maintain a robust test as the product changes and evolves over time," Tim continues. "This is a problem because GUI application performance can vary on different operating systems. One particular issue we've had is being able to identify when a web page or GUI application object is ready to be tested, since load times vary. The wait*() functions Squish provides have been invaluable in helping me tune a test so that it provides consistent behavior when run on various platforms."

In addition to Squish's documented features, Tim has found Squish's technical support team very helpful: "I was impressed with froglogic's support from the moment I started to evaluate Squish. Just because something isn't stated in the documentation does not mean it cannot be done. Squish's technical support team has quickly and efficiently provided solutions that work."

Conclusion

Perforce's Performance Lab depends on the reliability and repeatability of Squish tests to check application performance as well as behavior across multiple platforms. Squish's usefulness and flexibility has allowed Perforce to rapidly adopt Squish as an integral part of their performance quality monitoring process. This has lead to time and cost savings compared with the previous manual testing, and at the same time ensured that tests are automatically and reliably repeated to ensure product quality.

Making a third party tool an integral part of P4V's testing process is a significant commitment, but one that Perforce has chosen to make with Squish.

froglogic's team would like to thank Tim for taking the time to share Perforce's experience with Squish, and we are looking forward to a continued successful relationship.

roglogic GmbH is a software company based in Hamburg, Germany. Their flagship product is Squish, the market-leading automated testing tool for GUI applications based on Qt, Java AWT/Swing and SWT/RCP, Mac OS X Carbon/Cocoa and for HTML/Ajax-based web applications running in different web browsers. froglogic also offers services in the areas QA/automated testing and Qt C++ programming and consulting. More about froglogic at http://www.froglogic.com.

froglogic GmbH
Beim Alten Gaswerk 1
22761 Hamburg
Germany

+49 40 78897137
contact@froglogic.com

This release was published on openPR.

Permanent link to this press release:

Copy
Please set a link in the press area of your homepage to this press release on openPR. openPR disclaims liability for any content contained in this release.

You can edit or delete your press release Automated GUI Testing: Squish Success at Perforce Systems here

News-ID: 95759 • Views:

More Releases from froglogic GmbH

Squish GUI Tester 6.4 Release with Cutting-edge Object Recognition Features
Squish GUI Tester 6.4 Release with Cutting-edge Object Recognition Features
Hamburg, Germany, [TODO: Insert date] froglogic, the leading cross-platform GUI testing company, today announced the release of Squish GUI Tester 6.4. This version introduces cutting-edge GUI object recognition features: flexible and fail-safe script-based object maps and highly configurable image-based object lookup methods. These features simplify mastering test automation challenges such as maintaining object names, dynamic object lookups and custom UI controls. "Squish GUI Tester is one of the few tools on the
froglogic Announced 2018 Plans for AI-Driven Test Automation Solutions
froglogic Announced 2018 Plans for AI-Driven Test Automation Solutions
Jan 17, 2018 Hamburg, Germany: froglogic today announced its 2018 plans for releasing Test Automation Solutions driven by Artificial Intelligence. froglogic is the vendor of the industry leading GUI Test Automation Tool Squish GUI Tester and Code Coverage Tool Squish Coco. To further support engineers with their test automation efforts, froglogic has been researching how AI can help to automate more of the test automation process. The team at froglogic identified two
froglogic released Squish Coco 4.0 – Code Coverage now with MC/DC and MCC
froglogic GmbH today announced its release of Squish Coco version 4.0, a complete C, C++, C# and Tcl code coverage tool chain for a wide range of platforms, compilers and targets including Windows, Linux, Mac OS X, Unix and embedded systems. The focus of Squish Coco 4.0 is to provide full compliance with all Safety Integration Levels (SIL) of the safety standards IEC 61508, ISO 26262, EN 50128 and DO 187. As
froglogic Delivers Squish Tool Suite for Automated Testing of Embedded Qt GUIs and HMIs
froglogic Delivers Squish Tool Suite for Automated Testing of Embedded Qt GUIs a …
With the rise of modern user interfaces (HMIs) in the embedded industries, new methods to automate the GUI tests of embedded devices are required to develop and ship quality products. froglogic, the innovative firm behind the cross-platform and cross-technology GUI test automation tool Squish and the cross-platform code coverage analysis tool Squish Coco, delivers reliable and proven solutions for test automation for more than 13 years to well over 3000

All 5 Releases


More Releases for Squish

froglogic Releases Squish GUI Test Automation Tool Squish GUI Tester 5.0
Hamburg, Germany – 2013-06-25 froglogic GmbH today announced that Squish 5.0—a major new version of the popular Squish GUI Tester —is now available. Squish GUI Tester is the market leading, functional test automation tool for cross-platform and cross-device GUI testing on desktop, embedded and mobile platforms as well as web browsers. More than 3,000 QA departments around the world benefit from its tight integration with each supported GUI technology enabling the
froglogic Announces Test Automation Management Solution Squish Central
Hamburg, Germany – 2012-12-18 froglogic GmbH today announced the first final release of its new Squish Central product. Squish Central is a web-based, cross-platform, and distributed test automation management solution that includes built-in integration for Squish GUI tests and other types of tests. Squish Central is the latest addition to froglogic's Squish product family which already includes cross-platform tools for GUI test automation and C/C++ code coverage analysis. The first version of
Mobile GUI Test Automation: Squish Goes Android
Hamburg, Germany – 2012-06-12 froglogic announced Squish, its cross-platform automated GUI testing tool, will support automated testing for Android Apps on Android-powered devices and emulators. The Squish GUI testing tool is the market leading tool for cross-platform GUI test automation on desktop, embedded and mobile platforms. By adding the Android Edition, Android App developers finally have the professional GUI testing tool option for software functional and regression testing. "Squish for Android deeply
froglogic Releases Automated GUI Testing Tool Squish 4.2
Hamburg, Germany - 2012-03-06 froglogic GmbH today announced that Squish 4.2 - a new feature release of the popular cross-platform, cross-technology GUI Testing Tool Squish - is now available. Squish is the leading functional, cross-platform GUI and regression testing tool that can test applications based on a variety of GUI technologies, including Nokia's Qt Software Development Frameworks, Java SWT/Eclipse RCP, Java AWT/Swing, Windows MFC and .NET, Mac OS X Carbon/Cocoa, iOS
Squish Central Test Automation Management Beta Launched
froglogic GmbH today announced a beta program for its new Squish Central product. Squish Central is a web based, cross-platform, and distributed test automation management solution that includes built-in integration for automated Squish GUI tests. froglogic is the vendor of Squish, the market leading cross-platform and cross-technology GUI test automation tool. Squish is designed for creating, executing, and maintaining automated functional GUI tests on a variety of platforms and GUI technologies.
GUI Test Automation: froglogic Releases Squish 4.1
Hamburg, Germany – 2011-07-27 froglogic GmbH today announced that Squish 4.1 - a new feature release of the Squish GUI Testing Tool - is now available. Squish is the leading functional, cross-platform GUI and regression testing tool that can test applications based on a variety of GUI technologies, including Nokia's Qt Software Development Frameworks, Java SWT/Eclipse RCP, Java AWT/Swing, Windows MFC and .NET, Mac OS X Carbon/Cocoa, iOS CocoaTouch and Web/HTML/AJAX.