Webinar: automating mobile app testing
Welcome to the Ocado Technology Webinars, where you can hear from the people building the ground-breaking, game-changing technology that powers Ocado, the world’s largest online-only grocery retailer.
In this webinar Andrew Lord, mobile development team leader at Ocado Technology, discusses the build pipeline and testing approaches we use when developing the Android and iOS shopping apps for Ocado and Morrisons, with a particular focus on how we are minimising manual processes and introducing widespread automation.
Since the webinar was first recorded at the beginning of this year, we have adopted more UI testing. iOS now has UI snapshot tests (to spot UI changes) and Firebase Performance reporting was announced at Google I/O, which we now have set up in the Android app monitoring network performance.
- We are continually evolving our Ocado mobile apps – growing our feature sets and incorporating new tools and quality assurance techniques into our development environment to provide greater stability, reliability, quality and performance.
- Increasing automation within mobile testing has many rewards: our developers have more time to concentrate on deploying new features, the time taken to release changes decreases and we can increase reliability – top quality features can reach customers faster.
- Justifying prioritising mobile automation can be hard – the time cost doesn’t necessarily provide immediate business value, but long term can be incredibly worthwhile.
1:30: Manually testing a growing feature set isn’t a scalable solution – we need to automate as much as possible.
2:34: Continuous Integration (CI) ensures the various changes made by different developers interact correctly.
3:08: Incorporating analytics tools allows us to collect user behaviour data automatically, reducing test time, while also providing a service better suited to our customers.
3:37: Unit tests are the first line of defence for code functionality, in particular any business logic within the application.
3:54: The Unit Test suite should cover as much of the code as possible and be able to run quickly and regularly. The highest value will be gained by focusing on covering the business logic and edge cases.
4:50: A dedicated Quality Assurance (QA) tester can be a great asset to your mobile team. Since the time of the talk there have been some changes in how testing is carried out in the Mobile team. We now have dedicated test engineers, who are evaluating our testing approaches, working with teams to help us improve our automation and ensuring we are doing the right type of testing for different tasks.
6:09: Writing an effective User Interface (UI) testing suite can be hard. We recommend the native tools for Android and iOS, coupled with one of the various cloud testing services in order to test on a variety of devices.
6:34: A/B testing allows you to experiment with different variants of a new feature.
6:45: A/B testing allows you to asses the best option by assigning one variant to the first 50% of your customer base, and the second to the remaining 50%.
8:38: Automation frees up developers’ time (giving them more time to focus on new ideas), cuts down the time needed to release changes and increases your reliability (manual testing can have inconsistencies) – all this leads to a better process and customers seeing quicker results.
9:09: Increasing automation will empower developers and allow them to work on new ideas.
10:10: We are creating a design language to help our UX designers produce familiar and consistent apps for the different operating systems, while working with the differences between platforms.
11:40: Consistency failure can come from team members coming and going and the inherent difficulty faced when coming up with designs that work across various platforms.
More about our webinars
You can keep up to date with the webinars by subscribing to our YouTube channel. This article provides clickable links that take you directly to the highlighted part of the video clip.