The year, 2013 brought in along with it a lot of big technological advances—the bionic eye, virtual reality, introduction of wearable technology, practical voice recognition solutions, and many more. But for any technology buff, the biggest cause of the technological paradigm shift we are experiencing today took off in 2013, the Internet of Things (IoT). Gartner expects an increase in the number of IoT devices to be around 26 billion by the year 2020. And a 2015 Business Insider Intelligence report estimated that by 2019, the Internet of Things could receive a larger public reception than the Smartphone, tablet, PC, wearables, and connected car markets combined. Enterprises are expected to be the most eager adopters of IoT initiatives. En route to integrating more than 23 billion devices into verticals such as manufacturing and retail within the next four years. With the expected increase in number there is going to be that much more pressure of the testers. Testing applications connected to the Internet, IoT devices, is going to result in only sleepless nights. The Internet of Things does pose fresh challenges to developers and software testers that will stretch their skills in releasing top-notch, quality-assured software.
One company from Germany, named froglogic has hit this curve ball for a home run. froglogic is the vendor of the automated GUI Testing Tool Squish and Code Coverage Analysis Tool Coco. froglogic, an early anticipator for the need for GUI test automation and code coverage tooling for the rapidly transforming embedded markets, was founded by industry veterans, was founded in 2003 by Reginald Stadlbauer and Harri Porten. And the two gentlemen did it with one intention in mind: To create a best-of-breed cross-platform GUI test automation tool which specifically supported the automation of tests based on the popular cross-platform GUI framework Qt. With their first release of the Squish GUI Tester, the team at froglogic achieved its goal.
With functional GUI testing becoming an essential part of development and QA when creating sophisticated modern GUI applications, manual testing alone cannot review an application for regressions within an acceptable time frame. Automated GUI tests quickly produce reliable and reproducible results, and execute in a fraction of the time. Automated GUI testing enables test engineers to expand testing coverage and rapidly find regressions so fixes can be make early, saving both time and money. The creation of a maintainable and time-proven automated GUI testing framework requires an automation tool that embodies a deep knowledge of the underlying GUI technologies being tested. The founder’s of froglogic understood this and improved the popular cross-platform, multi-technology GUI testing tool, Squish, to support automating testing for all kinds of modern GUI applications, with dedicated and comprehensive support for applications built using Java (Swing/AWT, SWT/Eclipse RCP and JavaFX), native Windows, macOS, Apple iOS, Android, Qt, Qt Quick/ QML, and several others, including highly dynamic Web-based HTML5 applications.
In addition to this, Squish provides tight integration with the specific GUI technologies it supports—giving testers unprecedented access to the internals of the applications they are testing (to data items, controls, widgets, among others), and also leads to the production of robust and stable GUI tests.
Moreover, Squish and all the tests created with it, are completely cross-platform, and work on Windows, Linux/Unix, macOS, embedded Linux, Windows CE, iOS, Android and several RTOSes such as QNX, FreeRTOS and more.
The best-of-breed cross-platform GUI test automation tool which specifically supports the automation of tests based on the popular cross-platform GUI framework Qt
In short, Squish offers the best possible integration for each specific GUI technology it supports, to give our customers tools for creating long-lasting, robust, and reliable automated tests to ensure long-term QA success—the company’s mission.
It was in 2011, that froglogic also extended its product portfolio with Squish Coco, a cross-platform C/C++ and C# code coverage analysis tool. Squish Coco’s code coverage tool chain provides wrappers for standard compilers to build instrumented versions of applications—with no source code changes necessary. Tests executed against an instrumented application produce data which Squish Coco analyzes. The analysis ensures testing coverage is achieved by discovering untested sections of code, identifying redundant tests and finding dead code.
In addition, Squish Coco also determines the optimal test execution order, maximizing code coverage in a given time frame. It helps in maintaining coverage levels between releases by comparing coverage differences between two application versions and identifying where new tests are needed. Squish Coco also provides advanced coverage analysis, merging and analyzing multiple execution reports.
froglogic has gone a step ahead and is providing professional services to firms, looking to train their teams, get help or advise developing tests, incorporate Squish GUI Testing and Coco into development process, to maximize their investment and help produce quality results.
These developments have helped froglogic in taking the centre stage in the test automation landscape.
Squish in Use
With aviation companies, particularly those providing flight planning and virtualization solutions, undergo scrutinous testing, ensuring the reliability and accuracy the aviation industry has come to expect. One such international aviation company, offering industry-specific consulting and IT services as well as solution development and implementation to major airlines around the world chose Squish for their GUI automated testing needs. This particular international aviation company produces efficiency optimizing software solutions in addition to large data center operations. The aviation applications, built using Java, produce interactive flight planning, flight operation visualization, phase analysis and optimization, and world-wide aeronautical data coverage with aircraft situation display functionality.
The company researched automated GUI regression testing tools to incorporate automated testing into their product life cycle. Searching for solutions to reliably automate their application, an evaluation was conducted confirming key identified test cases could be automated without compromise. The evaluation came down to two tools: TestPlant’s eggPlant and froglogic’s Squish.
Following a thorough evaluation, this aviation company chose froglogic’s Squish. Where eggPlant locates objects using image-based object recognition, Squish natively hooks into applications, working with objects directly, identifying and using object properties to interact with the application under test.
Squish also operates across technologies and multiple platforms, including AIX and Linux, of particular interest to this aviation company. Additionally, the test design flexibility, familiar Eclipse-based GUI, choice of scripting languages, seamless maintenance with your choice of version control system as well as the documentation and knowledge base were all contributing factors in the decision to implement Squish as their automated GUI regression testing solution.
The evaluators found Squish to provide a more flexible solution, letting the user decide how to design the tests. From record and playback to complex object-oriented framework options, as well as application model accessibility, Squish successfully interacted with the application under test.
The aviation company configured Squish’s Jenkins integration to trigger their approximately 270 Squish test cases, and generate execution reports at each desired phase.
Proving an integral component of their application lifecycle, this aviation company has achieved a significant testing coverage increase for both major and minor releases, all while producing valuable quality-related information for management.
froglogic has many such successful interactions with global frontrunners such as Siemens, ARM, Ericsson, Bosch, General Electrics, Airbus and many others which speak volumes of the company’s repertoire.
Joining the AI Band Wagon
froglogic recently announced its 2018 plans for releasing Test Automation Solutions driven by Artificial Intelligence. 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 main focus areas where AI can significantly increase the productivity of testers and developers—Creation of Automated Tests and Analysis and Interpretation of Test Results.
This tool, utilizing the award winning technology of the Squish GUI Tester under the hood to inspect and automate GUIs, will use AI to automatically derive tests for an application by exploring its GUI. Additionally, this tool will identify issues such as GUI and behavioral regressions, bugs and crashes, without developers having to write a single test. These issues will be found and reported to the developers immediately after a code change has occurred.
froglogic has developed a tool which collects and analyzes the results and allows users to collaborate. This tool, which will be available as a cloud service and self-hosted offering, will support the users with the intelligent analysis and interpretation of test results to significantly cut down the time of reviewing results and taking decisions on next steps.
As a first step, froglogic will release the Squish Team Server, which will serve as the basis of the new tools, in early 2018. Throughout the year, updates to the Squish Team Server will be released featuring the AI powered GUI testing and intelligent test result analysis and interpretation.
With the vision to provide a platform of Test Automation tools for development and QA organizations which are of maximum benefit while spending as little time as possible on the testing itself, froglogic will only inch closer to its goal with the addition of AI to its existing suite of tools.