Automated Testing of a Digital Image Processing Software
The Customer is a global leader in digital image editing and quality measurements for mobile phones, tablets and digital cameras with a rich portfolio of the patented intellectual property. They offer award-winning products to enhance user experience in all aspects of digital imaging, including processing, storage, printing and display of digital images.
The Customer had a legacy tool for professional-level digital image editing. The desktop tool had been developed to run on both Windows and macOS (OS X) and could work both as a standalone application and a plugin to be integrated with Adobe Photoshop, Adobe Lightroom, Adobe Aperturе, and alike apps.
The tool was ill-documented and based on old technologies. Still, the Customer wanted to keep legacy software marketable via fixing bugs and adding new features. At the same time, the Customer started writing completely new UI for the product using contemporary technologies. In the development of the new product version, continuous integration and continuous delivery (CI/CD) were used to provide releases at any time and in a sustainable manner.
The Customer was in search for a reliable contractor who would take over the QA part of the project to ensure the exceptional quality of customer experience for both legacy and new product versions.
The Customer chose ScienceSoft to hand over responsibility for smooth and consistent testing of both product versions. To accomplish the Customer’s goals in a timely and efficient manner, ScienceSoft’s test automation engineers used the proprietary the IMAAT approach (Integrated Manual and Automated Testing).
For the legacy product version:
- Since the legacy app was written with old technologies, it was impossible to automate the majority of tests. Automated tests were used for basic functionality checks only. The rest of the needed tests were executed manually.
For the new product version (modernized product):
- The majority of the functional regression tests were automated.
- Cross-platform tests were automated. To reduce the testing time and volume, ScienceSoft’s team managed to elegantly combine test automation frameworks for Windows (PyWinAuto) and macOS (OS X) (ATOMac), covering them with a universal interface.
- Integration tests to check the сonnection with the image processing engine were automated. Since the testing team didn’t have direct access to the image processing engine, they used pseudo-interface to mimic its actions.
- Automated testing was integrated into the CI/CD pipeline to support continuous delivery.
- Integrations with such tools as Adobe Photoshop, Adobe Lightroom and Adobe Aperturе and other were tested manually. Since each tool has its own specifics, the creation of universal, reusable tests was not possible and the test automation was not feasible in the case.
- Initial and one-time tests were run manually, and hotfixes were verified in a similar way.
Ensuring seamless experience of image fine-tuning, the Customer retained the loyalty of the users of the legacy version and the new product quickly attracted a significant amount of new audience.
Spix, PyWinAuto, ATOMac, Behave (BDD approach), Python.