Octopus takes on the Uber challenge
In March 2015, a challenge unique to Uber came up in an investigation of UI testing tools for its mobile applications. Many of the sanity tests require a rider application and driver application to communicate and coordinate their actions in order to complete the end-to-end testing scenario. The focus of this talk will be on the company’s platform agnostic solution, called Octopus, and discuss how Uber implemented signaling to coordinate the communication across different apps running on different devices. The company will look back on how Octopus has evolved over the past year as it scaled up the number of tests in its CI to guard its builds. The talk will go over how Uber implemented network record/replay and scenario-based testing for iOS/Android so its tests would run reliably on CI. The talk will cover the challenges faced and the lessons learned on the path to designing Uber’s frameworks to ensure that its devs could write predictable and deterministic tests.