Learn More About the Alternative App Future

Enhancing Mobile Quality Assurance with Local Automation Infrastructure for DT Exchange SDK

Let's take a closer look at the design and setup of a new automation infrastructure for DT Exchange SDK tests and discover how hosting automation environments locally can simplify system maintenance and enhance testing.

DT Exchange SDK Testing Challenges 

Managing and maintaining a robust testing environment for the DT Exchange SDK process challenges, especially when it comes to ensuring comprehensive coverage across different platforms and aspects like UI rendering, networking, and reporting that better impacts the efficiency and reliability of the SDK.

Advance Testing Through Automation

The DT Exchange SDK requires rigorous testing across various parameters, including UI rendering on mobile devices, networking functionalities, and generating comprehensive reports. Manual testing methods often fall short in providing the required coverage and efficiency. Thus, the need for a well-designed automation infrastructure arises.

Local Automation Environment for DT Exchange SDK Testing

The new solution involves setting up a locally hosted automation environment based on Appium Server, GitLab Pipelines, and reporting tools. This infrastructure enables seamless testing across Android and iOS platforms, covering UI rendering, networking, and reporting requirements. Continuous Integration (CI) practices are employed to ensure timely and thorough testing.

Implementation

The automation setup comprises key components including mobile devices running on both Android and iOS, Appium Server 2.0+, Java JDK & JRE, JUnit4, GitLab, sniffer tools, cloud storage, and Slack notification integration. A detailed GitLab pipeline workflow is illustrated on the diagram highlighting the sequence of processes from SDK development to test execution and report generation. 

Diagram showing the solution architecture

CI GitLab Process

Screenshot showing the four-step pipeline: setup, Automation, Devices, Notify.

The GitLab pipeline involves four steps:

  1. Setup. This stage involves downloading the application from Google Cloud Platform (GCP) and setting up the required Gradle functions.
  2. Automation. During this stage, a decision is made which SDK to use for testing on various operating systems.
  3. Devices. This stage focuses on the devices available for testing, both in the cloud and locally.

  1. Notify. After the execution of the tests, the results will be pushed to Slack notifications for immediate feedback and review:
Example of a Slack notification
Report Portal Example

Challenges and Trade-Offs

Maintaining active Appium Server and GitLab jobs processes 24/7 requires bash scripts for monitoring and reconnecting in case of disconnections. Additionally, ensuring optimal performance and resource utilization while avoiding interruptions during test runs requires careful management.

Results

The implementation of the local automation infrastructure has led to significant improvements in testing efficiency, coverage, and reliability for the DT Exchange SDK. Slack notifications provide instant updates on test results, while reporting tools offer detailed insights into test outcomes, aiding in identifying and resolving issues promptly.

Conclusion

By leveraging a locally hosted automation infrastructure, the DT Exchange SDK testing process has been streamlined, ensuring comprehensive coverage across Android and iOS platforms. This approach not only enhances the quality and reliability of the SDK but also contributes to improved UI, UX, and overall user satisfaction.

You Might Also Like
Data Pipeline Migration from AWS to GCP
A Novel Approach to Thresholding and Classifying Large-Scale Data
Apache Druid’s Lookups as Code

Newsletter Sign-Up

Get our mobile expertise straight to your inbox.

Explore More

Why Sustainability in Advertising Matters
Data Pipeline Migration from AWS to GCP
5 Alternative App Realities That Will Help Build an ALL-ternative App Future