GTAC 2015: The Uber Challenge of Cross-Application/Cross-Device Testing

Learn how Octopus and test frameworks enable efficient and reliable testing across applications and devices, overcoming real-time communication challenges and providing precise failure tracking, scalability, and maintainability.

Key takeaways
  • Signaling protocol is flexible, scalable, and allows for cross-application/cross-device communication.
  • Flakiness is mostly due to real-time communication challenges, not the signaling protocol itself.
  • Octopus relays the simulation of the app-under-test’s communication channel via a test host, which runs the same commands as the simulator or emulator.
  • Test scenarios require careful coordination and synchronization to ensure consistent outcomes.
  • Each test is independent and doesn’t compromise other tests’ execution, facilitating debugging.
  • Uber-specific challenges require a customized test framework that’s easy to understand, flexible, and efficient.
  • Test reports can identify root causes of failures, highlighting the importance of precise failure tracking.
  • Octopus was designed to bridge the gap between cross-device and cross-platform communication, ensuring reliability and maintainability.
  • The test framework was integrated with different technologies, allowing for ease of maintenance and extension.
  • Multi-device collaboration is critical, especially for end-to-end tests where devices work together seamlessly.
  • Uber tests require end-to-end communication simulation, mirroring the production flow, to ensure robust and scalable testing.
  • Parallelized runs of tests using Octopus were achieved using a test runner, boosting test execution efficiency.
  • For complex test scenarios like Uber Pool, Octopus demonstrates the capability to adapt to varied situations, like multiple riders, pickup points, and simultaneous requests.