5 tips & tricks for mobile testing

Moataz Nabil, Developer Advocate at Bitrise is an experienced test automation engineer, who'd like to give you some useful advice in our brand new Tips & Tricks series!

Hi! I'm Moataz Nabil, Developer Advocate at Bitrise. I'm also an experienced test automation engineer, and now I'd like to give you some useful advice for mobile application testing in our brand new Tips & tricks series. Let's get started!

💡 Mobile Testing Tip #1: 

Android and iOS UI Tests Parallelization using Flank and Firebase Test Lab

When the app is scaling, UI Tests become a monster increasing our build times. Parallelization is the key! If you are using Firebase Test Lab for mobile testing, Flank is a massive parallel Android & iOS test runner for Firebase Test Lab. Its YAML is compatible with GCloud's CLI. Flank also provides extra features to accelerate velocity and increase quality. Find more info in this video!

Code example: moatazeldebsy / parallelize-android-UI-Tests-with-Bitrise

Screenshot 2021-05-04 at 12.20.55.png
Screenshot 2021-05-04 at 12.21.32.png
Screenshot 2021-05-04 at 12.22.10.png
Screenshot 2021-05-04 at 12.22.36.png

 

💡 Mobile Testing Tip #2: 

iOS UI Tests Parallelization using Fastlane

Complex mobile apps require a bunch of tools from coding to deploying. fastlane is a tool for iOS and Android developers to automate tasks like building apps, running UI tests, generating screenshots, dealing with provisioning profiles, and releasing applications. To reduce test run time, inspect partial results periodically during a test run, and provide better results reporting around your UI tests, you can use the multi_scan feature from the test_center fastlane plugin.

Screenshot 2021-05-04 at 12.37.26.png
Screenshot 2021-05-04 at 12.46.08.png
undefined

  

💡 Mobile Testing Tip #3: 

Flutter UI Tests Parallelization using Sylph

Flutter keeps growing in the market: thousands of companies are developing apps using the framework. But mobile UI testing is important to deliver world-class applications, even with Flutter. To achieve this, you can use Sylph: it's a command-line utility for running Flutter integration and end-to-end tests on pools of real iOS and Android devices in the cloud. Sylph works with AWS Device Farm for up to hundreds of Android and iOS devices in a single run.

undefined

 

💡 Mobile Testing Tip #4: 

Building Android UI testing Framework

Test Automation is a vital part of the mobile CI/CD pipeline. Building a scalable, reusable and maintainable Android UI testing framework is a challenging task, but here are some of the frameworks that can help you to make your UI test faster, easier, and more predictable. Built on top of Espresso:

 

💡 Mobile Testing Tip #5: 

Difference between XCUITest and EarlGrey for iOS UI Testing

Choosing a suitable test automation framework for your team is always a big challenge. EarlGrey and XCUITest both are native UI testing frameworks for iOS. Let's see EarlGrey 2.0's advantages over XCUITest:

  • Automatic synchronization with animations, dispatch queues, and network requests
  • Built-in white-box testing support with RMI
  • Better support for flakiness issues
  • Better control of tests: EarlGrey has a much larger set of matchers
  • EarlGrey performs a pixel-by-pixel check for the visibility of an element

Find more info in this article: The ultimate guide to unit and UI testing for beginners in Swift

I hope you found these tips helpful. Feel free to reach out on our Twitter account and suggest your own ideas that could help your fellow mobile devs to tackle daily challenges!

📚 You can read more about mobile testing in the following articles:

Making Xcode UI tests faster and more stable by John Sundell

Building a unit testing suite with XCTest, Swift, and Bitrise by John Sundell

Solving flaky tests by making use of Xcode on virtual machines by Antoine van der Lee

Speeding up iOS builds by 'fanning out' tests on Bitrise by Damien Murphy

Explore more topics

App development

Best practices from engineers on how to use Bitrise to build better apps, faster.

Community

Meet other Bitrise engineers, technology experts, power users, partners and join our BUGs.

Company

All the updates about Bitrise events, sponsorships, employees, and more.

Insights

Mobile development, latest tech, industry insights, and interviews with experts.

Mobile DevOps

Learn why mobile development is unique and requires a set of unique practices.

Releases

Stay tuned for the last updates, new features, and product improvements.

Get the latest from Bitrise

Join other Mobile DevOps engineers who receive regular emails from Bitrise, filled with tips, news, and best practices.