As organizations strive to deliver exceptional user experiences across various platforms and devices, the importance of app automation cannot be overstated. In this article, we'll delve into three case studies that demonstrate the power of app user experience (UX) automation in ensuring timely feedback, reducing manual testing efforts, and enhancing overall quality engineering.
Case Study #1: Android Application Acceptance Test Suite
Our team created an Android Acceptance Test Suite to cover essential regression features and provide timely feedback to developers and QA teams. This suite can be easily run within the CI process or in QA by pulling the most recent build on which to test. By providing constant feedback, we saved hours of QA testing per run and allowed manual testers to focus on tighter feedback cycles for brand new features. The test results were provided via Cucumber Reports with attached debug information such as custom exception messages, screenshots at the time of error, and a snapshot of the page XML. Reporting features included useful metrics like percentage of features passed, failed, skipped, or pending implementation.
Case Study #2: API Acceptance Test Suite
For this project, we developed an API Acceptance Test Suite that covered all exposed endpoints in the customer's backend API. The test cases were written from the perspective of user stories as opposed to merely unit testing the endpoints. We designed and developed an HTTP Client for testing REST and REST-like APIs, which is now used by other teams. The test suite was fully integrated into the API's Continuous Integration pipeline on Jenkins, running twice a day on a timer. We configured the test suite to accept environmental variables as testing arguments, allowing multiple Jenkins jobs to leverage the same test suite while testing different environments and features.
Case Study #3: Web Acceptance Test Suite
Our Web Acceptance Test Suite covered all user-facing web features available on the customer's web application, including compatibility testing with various browsers. Currently, the test suite measures compatibility with Firefox, Chrome, Safari, Edge, and Internet Explorer. Within this compatibility testing, it also tests video playback and video player functionality. The core engine that drives the Web Acceptance Test suite is Selenium Webdriver and Cucumber, allowing all test plans to be written and expressed via user stories compatible with Behavior Driven Development.
By leveraging app UX automation, organizations can significantly reduce manual testing efforts, enhance overall quality engineering, and deliver exceptional user experiences across various platforms and devices.