
Client Overview:
Indee is an innovative online platform that enables independent filmmakers to showcase their creative work to film festivals and online audiences. With a core focus on awards, publicity events, and online content distribution, our client serves as a trusted medium for filmmakers to present, market, and monetize their creations effectively.
Given that Indee deploys multiple apps across a variety of platforms including Fire TV, Roku TV, and iPad, ensuring a consistent user experience and high standards of performance, while consistently responding to changing requirements at an accelerated pace is a top business requirement.
Key Challenges
As our client expanded its apps across Fire TV, Roku TV, and iPad, critical QA hurdles emerged:
To address these challenges, our Qualitrix team established a Managed QA Center with a focus on automation, cross-platform testing, and CI/CD alignment:
The QA approach utilized a combination of tools, frameworks, and systems to ensure quality:
○ UIAutomator2: An Appium driver for automating tests on Android devices.
○ Appium 2: Used for automating tests on mobile apps across different platforms like iOS and Android.
○ XCUITest Driver: An Appium driver for automating tests specifically on iOS devices.
○ Roku WebDriver: A testing automation tool for Roku devices, developed by Roku’s own team.
○ Pytest with BDD (Behavior-Driven Development): A testing framework that allows writing tests in a simple, human-readable format, focusing on the behavior of the app.
○ Reports: Allure Reports integrated for graphical representation of Test Results
○ GitHub: Used for version control to manage code and track changes.
○ Jenkins: A tool for automating the continuous integration and delivery process, ensuring new code is tested and deployed smoothly.
○ Docker: A platform for developing, shipping, and running applications in containers, ensuring consistency across different environments.
On-Device Execution
End-to-end testing was conducted on real devices like Fire TV, Roku and iPad, ensuring that tests closely mirrored actual user experiences.
Results and Impact:
The implementation of the QA framework resulted in:
● Enhanced Quality: Achieved high reliability across platforms with over 500 automated test cases.
● Efficiency Gains: Integrated QA with CI/CD, significantly reducing manual testing efforts.
● Scalability: Reusable components made it easier to add new test cases as needed.
● Improved User Experience: Ensured seamless functionality and consistency across devices for multiple applications.
● Reduced Time-to-Market: Streamlined testing processes accelerated delivery timelines.
Challenges:
● Device-Specific Quirks: Addressing platform-specific quirks for Fire TV, Roku, and iPad.
● Test Data Complexity: Managing and maintaining accurate, reusable test data, including the client’s request to make all test data calls from examples.
● Initial Setup: High upfront effort required to establish reusable test libraries and action definitions, with each device requiring a different driver approach.
● Dynamic Locator Strategy: Implementing a dynamic locator strategy to handle varying UI elements across different platforms.
● Behavior Variations: Managing and addressing behavior variations across multiple platforms proved to be challenging.
● Installation Scripts for iOS: Developing installation scripts for iOS added complexity to the setup process.
● Screenshot Addition for Roku: Implementing screenshot functionality for Roku testing was particularly challenging due to platform-specific limitations.
Key Takeaways:
Early Collaboration: Close collaboration between the QA and client development teams greatly enhances efficiency and ensures smoother communication.
Reusable Libraries: Developing reusable libraries significantly reduces future maintenance costs and streamlines test creation.
Continuous Monitoring: Ongoing monitoring and feedback loops are critical for improving test coverage and ensuring that all scenarios are captured.
Local Execution Report: Ensuring that local execution reports accurately reflected the app’s behavior variations helped provide proof to the client that the scripts were working correctly during development.
Test Data and App-Specific Issues: Having clear documentation and proof for raising test data and app-specific issues ensured that any concerns were promptly communicated to the client.
Standup MOM (Minutes of Meeting): Maintaining written acknowledgment of individual or standup meetings helped keep all teams aligned and provided a clear record of actions and decisions.
Conclusion
The QA initiative for Indee successfully overcame platform-specific challenges, ensuring smooth functionality on devices like Fire TV, Roku TV, and iPad. By using a detailed QA strategy that included automation, Behavior-driven development (BDD), and CI/CD integration, the project achieved high-quality results while maintaining efficiency. This approach simplified the testing process, improved collaboration between the client’s development and QA teams, and enhanced the overall user experience across all platforms.
Software testing can be done manually or through automation, but businesses need
Don’t miss our newest business blog posts. Sign up for the newsletter!
Successfully led numerous startups and corporations through their digital transformation