Case Study 2: Mobile QA

Our Client

One of the leading providers of SCM Services across Caribbean Islands

The Need

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

Our Solution 

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

The Benefits

  • It supports both Android and iOS.

  • Automation tests for iOS and Android can be written using same API.

  • Appium tests can be written using any language.

  • Integration with CI tools

  • Cross-Platform Support

  • No need to install any extra software on mobile device to support Appium.

Technology Platform 

Technology Platform Appium, Java, JetBrains IntelliJ Idea, Android SDK, Xcode Instruments, Maven, Gradle, Jenkins, PCloudy