Precision Farming Technology Company Produces Measurable Quality Improvement Results using Squish GUI Tester
- Improved Testing Coverage
- Improved Test Reliability
- Improved Application Quality
An industry leader in the Precision Farming Technology field that develops tools to help farmers optimize the planning, planting and application of their harvest with greater accuracy, efficiency and profitability recently selected Squish for their automated GUI test framework.
With only 5% of application test cases automated, Squish is already identifying 10% of all discovered defects.
This company is using Squish GUI Tester to test their interactive touch screen precision farming software and simulators.
The products are written in Qt and run on an embedded Linux operating system. Squish GUI tests are created and deployed across the embedded devices and simulators.
Knowing the importance of implementing automated regression testing, this company sought to locate an existing solution that could control their Qt-based application to in an effort to reduce testing cycle times, improve their code quality, and finder defects earlier.
After discovering froglogic’s Squish GUI Tester at Qt Dev Days, the company spent two weeks evaluating the product determining Squish would be a good fit for their automated test framework. While no other tools were evaluated, they found the combination of source code availability, the option to use Python as a scripting language, rapid access to Qt objects and intelligent waitForObject functions all overwhelming reasons to select Squish GUI Tester as their solution.
Upon integrating Squish GUI Tester into their application life cycle process, they were quite surprised how easily Squish adapted to each and every new idea. They found the availability of environment variables or a command line parameter impacting the way Squish behaves readily available and to meet their needs.
Squish in Use
Within two months of using Squish GUI Tester to build their automated test framework the first set of GUI regression tests went live.
As part of the test framework planning the team hard to identify:
- Gaps in their existing test plan as a consideration for their initial automated tests.
- Tedious, repetitive, yet important tests lending themselves to automation.
- Rapidly scalable tests, which once created would have a high probability of reuse.
The Squish test framework was architected to work with many Squish-independent python packages and reusable functions, keeping the actual Squish tests quite small. Taking an approach where engineers helped define test steps, then using those steps to generate heavily reusable scripts. Extensive care was taken to employ best practices where possible, incorporating Python-specific best practices as well as logging, unit testing, variable naming conventions, function scripts and more. The result was a strong and maintainable Squish test framework capable of easy refactoring and continual expansion.
Pleased with the customer support responsiveness, the company discovered and worked around a few defects early on, and was pleased to see the fix already implemented in the next release.
Even while developing more tests, they continue to run the existing Squish test framework hourly, enabling them to quickly identify and address any problems.
After just ten months time, more than 200 tests were produced. These tests have demonstrated a measurable impact on their application quality due to the expanded test coverage, the Squish test’s reliability and the identification of defects.
Running the same set of tests every hour was not possible when the tests were run manually. In a week alone, the quantity of test runs substantially outweighs what was formerly possible, thereby identifying defects which previously may have gone undetected, and unaddressed, for longer periods of time.
While their current Squish test framework automates less than 5% of their total test cases, it’s responsible for discovering approximately 10% of the identified defects. The initial bug discovery numbers reveal a tremendous value in their Squish test framework, and one that with greater application coverage can increase the framework value and reduce the lifespan of defects.
The company is currently working to expand their distributed framework, creating more servers to increase the volume and frequency of Squish tests executions. They are continually writing new Squish tests and refactoring the existing tests to evolve as the Squish test framework evolves.
Since implementing Squish GUI Tester, the company has increased their testing coverage, has seen an increase in the quality of their application and continues to expand their Squish automated test framework of more than 200 tests.