Developing a secure Credit Card Approval app, the customer faced challenges in efficiently combining manual and automated testing, leading to release quality issues. Seeking streamlined Appium testing, IGT stepped in to reduce cycle time, address regional variations, and manage an expanding regression suite, enhancing overall release efficiency and quality.
What we Did
- Process Development
- Legacy Software Integration
- API Development
- Project Management
Customer was developing a secure Credit Card Approval app for Android 5.0 and above and iOS 8.0 and above. Their in-house testing team introduced automated functional testing in addition to manual testing to ensure fast releases. The testers wrote a set of simple positive Appium scripts to detect critical functional issues. However, the in-house testing team could not combine manual and automated testing and didn’t perform Appium automated testing efficiently due to a heavy workload. As a result, the quality of releases worsened. Also, the Customer needed to introduce performance testing, which became impossible due to the testing team overload.
Seeking to make Appium automated testing more efficient and reduce the load on their testing team, the Customer turned to IGT, their long-term partner. One of the key project challenges was a tight timeframe. The Customer planned to release a fully functional secure app for beta-testing in only five months.
The client wanted to minimize the effort to execute their Regression and Sanity test suite and was looking for a cost-effective solution
• Their business priority was to reduce “Time to Market”, so the Testing Cycle needed to be reduced
• Testing had to be done across 13 Caribbean Counties, environment, and browsers
• The regression suite size was increasing with each release due to new functionality leading to increased test effort
IGT automated testing engineers studied the available project requirements and drafted a suitable process for Appium automated testing in the project. The team analysed the Customer’s test automation scripts and introduced several improvements:
To run tests with different sets of values for each test, automated testing engineers used a data-driven approach.
To reflect the app’s business logic in a number of scripted user actions, automated testing engineers used a keyword-driven approach.
To speed up the testing process, IGT testing team used Jenkins continuous integration server. This way, the testing team set up a schedule for a script start without a tester’s participation, as Appium does not allow for an automatic test start.
In the course of the project, the testing team performed automated functional testing with Appium for the Android app version. They also wrote separate Appium scripts for critical path testing of the iOS app version, as it was still under development and scripts for the Android version could not be used.
All Appium scripts could be updated and reused.
IGT team also managed to save time by using Appium scripts for the app performance evaluation. The team paid specific attention to the following parameters:
Test execution duration
Number of user operations per execution
Volume of data per operation and data type
To ensure vast device coverage and detect device-specific issues, IGT testing team ran testing on real devices (chosen according to global use statistics) and emulators.
Appium (Open source) Mobile Test automation tool is used for Mobile automation.
• A hybrid automation framework designed using Selenium and Java
• Execute multiple tests on multiple platforms at a time
• Easier maintenance and Continuous Integration
• Automation Execution of Regression test cases
Tech Stack Used – Technology Platform Appium, Java, JetBrains IntelliJ Idea, Android SDK, Xcode Instruments, Maven, Gradle, Jenkins, PCloudy
Functioning seamlessly on Android and iOS, this application facilitates unified test automation via a shared API. Appium, renowned for its versatile language compatibility, smoothly integrates with CI tools. An additional advantage lies in its cross-platform support, eradicating the necessity for supplementary mobile software installation. This intrinsic flexibility streamlines testing processes, enhances operational efficiency, and simplifies the overall testing experience. As a result, test scripts can be effortlessly written and executed across diverse platforms, contributing to a more efficient and streamlined testing workflow without the need for any extra software on mobile devices.