What's it like to maintain an award-winning open source tool?
Nov 2, 2023
auto_awesome
Srinivasan Sekar and Sai Krishna discuss maintaining AppiumTestDistribution, an open source tool for test automation. They explore the challenges of mobile automation testing and the evolution of Appium. They also talk about expanding the architecture, identifying test failures, and the importance of community support.
AppiumTestDistribution is an open source project that focuses on parallel testing and aims to provide faster feedback in the mobile application testing process.
ATD was re-architected as a plugin-based ecosystem, leveraging Appium's own plugin architecture, allowing for easier integration with different client language modules and supported devices.
Deep dives
Overview of Appium Test Distribution
Appium Test Distribution (ATD) is an open source project that focuses on parallel testing and aims to provide faster feedback in the mobile application testing process. The project was born from the need to solve the pain points of testing mobile applications, such as running tests in parallel, testing on different devices with varying screen resolutions and OS versions. ATD was developed by contributors who had extensive knowledge of the Appium ecosystem and wanted to solve these community problems. Over the years, ATD has evolved and expanded to support automation testing beyond mobile, including IoT devices, Unity-based devices, and even Raspberry Pis.
Architecture and Evolution of ATD
Initially, ATD's architecture revolved around Android and iOS testing using test frameworks like TestNG. As the project grew, the architecture underwent changes and improvements, supporting local and remote device testing, and incorporating open-source tools like Cucumber. To ensure wider usage of the framework beyond Java, ATD was re-architected as a plugin-based ecosystem, leveraging Appium's own plugin architecture. This allowed for easier integration with different client language modules and supported devices. The plugin model simplified the addition of new features and problem-solving, enabling the community to contribute and enhance ATD's functionality.
Future Direction and Contribution Model
ATD is constantly evolving, driven by community demand and the desire to enhance mobile automation and exploratory testing. Future plans include exploring methods to replicate manual device interactions, automating event capturing, and supporting other issues like controlling API requests and session management. The community response has been positive, with numerous contributors actively raising pull requests and providing ideas. ThoughtWorks actively encourages open-source contributions by collaborating with individuals inside and outside the organization, supporting them in starting their open-source journey and sharing their expertise.
Open source contributors and maintainers play a vital role in the technology ecosystem. But what's it like to develop and maintain an open source tool — especially one that thousands of other developers use and depend on?
In this episode of the Technology Podcast, Srinivasan Sekar and Sai Krishna join hosts Rebecca Parsons and Scott Shaw to discuss their work on AppiumTestDistribution, an open source tool that supports test automation framework Appium. AppiumTestDistribution won a LambdaTest Delta Award at the August 2023 Testμ Conference.
Listen to Sekar and Krishna explain how the project emerged, how they approach maintaining and evolving the tool and what it takes to be a part of an award-winning open source project.
Get the Snipd podcast app
Unlock the knowledge in podcasts with the podcast player of the future.
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode
Save any moment
Hear something you like? Tap your headphones to save it with AI-generated key takeaways
Share & Export
Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode