Test automation skills are becoming increasingly valuable in this era of agile development and continuous testing/delivery. In fact, the test automation market is expected to grow by 14.2% CAGR over the next four years. Whether you want to learn automated mobile testing from scratch or make yourself a more valuable mobile developer, you're in for a world of opportunities.
However, finding good resources to learn test automation can be challenging. With the plethora of resources available online, it’s easy to get overwhelmed and not know where to start. To help separate the wheat from the chaff, here’s a list of 20 comprehensive resources to suit every skill level, including articles and video tutorials to help you learn the fundamentals of mobile test automation, best practices and techniques to set you up for success, and hands-on tutorials.
Resources to get you started
If you’re a total newbie to testing, you should start here. These resources will help you gain a basic understanding of test automation and specifically what automated mobile testing entails.
1. What is mobile testing
What is Mobile Testing is a blog article for mobile testing newbies. It provides a quick overview of what it means to test mobile applications, why mobile testing is important, the different types of mobile testing, and considerations and best practices to keep in mind.
2. Mobile testing masterclass from the beginning
The Mobile Testing Masterclass From the Beginning course is a paid video course hosted on Udemy and taught by Ozan Ilhan, who’s been a professional software tester for over 10 years. This course will teach you all of the fundamental software testing theory you'll need to fully understand what you're testing and why. You'll also learn how to test mobile applications on real devices as well as emulators and simulators.
3. Setting a foundation for successful test automation
Setting a Foundation for Successful Test Automation is a free video course taught by Angie Jones. This course is highly recommended not only for aspiring mobile test automation engineers but also for anyone (managers, developers, testers, and product owners) who will be involved in a test automation initiative. It explores the initial considerations to make for new test automation initiatives and focuses on making sure you’re successful. Because the majority of test automation projects fail due to a lack of proper planning, this course is a much-needed resource to help change that.
4. Which tests should we automate
Another critical decision to make in automated mobile testing is what to automate. Automating every single test is not always the best approach, especially if you’re just starting out. Which Tests Should We Automate is a talk by Angie Jones. In this talk, she discusses several factors to consider when deciding which tests to automate. She also shares a framework that can be applied to any test to determine whether or not it should be automated, using the Twitter mobile app as an example. This talk is a great listen for both newbie and experienced automation engineers alike.
5. The whole team approach to continuous testing
Test automation is a team effort. It takes collaboration among all members of a team for test automation to work. The Whole Team Approach to Continuous Testing, a free video course taught by Elizabeth Hockle, teaches different approaches to foster collaboration between developers, testers, DevOps, and every other member of a team to achieve efficient automated and continuous testing. The course starts by looking at the common problems teams face when it comes to automated testing and how they can better handle them.
Resources on tooling
There are several types of test automation tools available. These resources introduce you to the possible tools you used for automated mobile testing and how to pick the right tools for your project
6. 10 of the most popular mobile automation testing tools
Choosing a tool to use for your automated mobile testing project might just be one of the most difficult things to do. The 10 of the most popular mobile automation testing tools article features 10 of the most popular tools based on their unique features, community usage, and reviews. It goes into detail about what these tools are and their price, benefits, and limitations to help you pick the right tool for your automated mobile testing.
This article will be a very useful read for anyone just getting started with test automation for mobile apps or who needs to make a decision on what automation tool to use.
7. How to choose the best automation testing tool (a complete guide)
The How To Choose The Best Automation Testing Tool (A Complete Guide) discusses the criteria to consider when choosing a tool for automated mobile testing. This is critical because the tool you choose will have a significant impact on your entire automation effort. If the tool is good and provides the necessary features, automation becomes simpler and more effective. This blog comparing test automation frameworks should also give you some steer.Â
Resources specific to automated testing for Android apps
These resources will teach you how to write automated tests for Android apps using a hands-on practical approach.
8. A guide to writing your tests for your Android apps
A guide to writing your test for your Android apps is the first article in a 4-article series that teaches what it means to write tests for Android apps, starting from the very basics. You’ll learn the foundational knowledge you need to have before testing Android apps, how to write your test cases, and how to run them in CI. This resource is useful for anyone trying to get hands-on practice on what it means to write tests for an Android app.
9. Android test automation with Espresso
Espresso is a native testing framework built by Google for writing reliable UI tests for Android apps. It's a framework that everyone who wants to write automated UI tests for Android apps should be familiar with. Android test automation with Espresso is a free video course hosted on Test Automation University. You’ll start by learning about the features and benefits of Espresso, then you'll write your first test script using Espresso and Java, and finally, you'll run Espresso test scripts as part of a continuous integration pipeline.
10. Android UI testing with AWS Device Farm and Bitrise
Device fragmentation is one factor that makes mobile app testing difficult. There are a plethora of different device and OS version combinations. Your app must be compatible with the majority of these, so you must test to ensure compatibility. However, assembling all the various device combinations you need can be difficult. That’s where AWS Device farm comes in. AWS Device Farm is an app testing service you can use to test and interact with your apps on physical devices hosted by Amazon Web Services (AWS), so you don’t have to deploy and manage a test infrastructure. Android UI testing with AWS Device Farm and Bitrise is a hands-on article about how to run your Android UI tests written with Espresso on physical devices in the cloud using AWS Device Farm.
11. Getting started with Jetpack Compose
Android Jetpack Compose is a modern toolkit Android developers use to build native user interfaces. Testing a UI created with Jetpack Compose is different from testing a UI built with any other method and therefore necessitates a different approach to matching UI elements. Getting started with Jetpack Compose is a step-by-step article with hands-on tips to help you learn how to test UI layouts built with Jetpack Compose. This is a useful resource for anyone who wants to write automated tests for an android app built with Jetpack Compose.
Resources specific to automated testing for iOS apps
These resources will teach you how to write automated tests for native iOS apps using a hands-on practical approach.
12. Introduction to iOS test automation with XCUITest
XCUITest is a User Interface (UI) testing framework launched by Apple to make testing iOS apps easier. Introduction to iOS Test Automation with XCUITest is a short video course that covers everything you need to know to start writing automated UI tests for iOS apps using XCUITest. You’ll learn how to write your first ever XCUITest, applying BDD principles, and then you’ll write a scalable XCUITest framework. You'll also learn how to add visual validation tests using Applitools Eyes XCUI SDK and how to set up XCUITest on a continuous integration server.
13. Building a unit testing suite with XCTest, Swift, and Bitrise
Unit testing is fantastic at verifying that an app’s various pieces of logic keep working as expected even as they’re being iterated on. The Building a unit testing suite with XCTest, Swift and Bitrise article is a great place to start if you're looking to extend or get started with building a comprehensive unit testing suite for a Swift app. You'll learn how to use XCTest to improve the test coverage of your Swift-built iOS app, as well as how to set up CI with Bitrise, so those tests run automatically with each change you make to your project.
14. Mobile automation with Appium in Java
Appium is an open-source tool for automating tests across different platforms, iOS inclusive. Mobile Automation with Appium in Java is a free video course that will teach you everything you need to know to implement automated tests for your iOS app (and Android apps) using Java as the programming language of choice. Appium eliminates the need to learn a specific programming language because it supports the creation of tests in a variety of programming languages. You’ll also learn about different Appium test patterns (such as Page Objects, Data-Driven, and BDD) and how to run tests on parallel devices and local machines and on cloud devices. Also see our blog on Getting started with Appium & Bitrise for Android apps.
Resources specific to automated testing for React Native
These resources help you gain hands-on practice with writing automated tests for cross-platform mobile apps built with React-Native.
15. React Native E2E UI testing with Bitrise
React Native E2E UI testing with Bitrise is a step-by-step guide on how to run end-to-end testing for React Native apps with Detox and hook them up to Bitrise CI. Detox is a gray box E2E testing automation framework for mobile apps (Android and iOS) developed by Wix. It tests your mobile app while it's running on real devices or simulators/emulators, interacting with it just like a real user.
16. Testing in React Native with Jest and Detox
Jest is a unit testing framework with a focus on simplicity for testing JavaScript-based applications. Monte Thakkar, a software engineer at Pillow, wrote this article titled Testing in React Native with Jest and Detox. It describes how the Pillow team tests their React Native app using Jest for unit tests and Detox for end-to-end tests. You'll get to learn how a real-life team approaches automated mobile testing.
Resources on techniques and best practices
These resources are more advanced and go into greater depth on test optimization techniques to help you write more efficient tests.
17. 5 tips and tricks for mobile testing
As the name suggests, 5 tips & tricks for mobile testing covers five tips that will help you optimize your automated mobile testing pipelines. It goes through how to use parallelization to reduce test run time for Android, iOS, and Flutter. It also covers choosing a UI testing framework for Android and iOS.
18. Making Xcode UI tests faster and more stable
The Making Xcode UI tests faster and more stable article discusses how to make iOS UI tests easier to work with when using Apple's built-in XCTest framework. It also shows you how to easily visualize the results of such tests using the Bitrise’s Test Reporting add-on.
19. Solving the 4 major challenges of testing native apps
The webinar Solving the 4 Major Challenges of Testing Native Apps discusses how teams can solve the four major challenges that make automated mobile testing hard. These challenges are:
- Getting all functionality to work correctly across all supported device configurations
- Keeping the user interface and user experience consistent across all supported device configurations
- Testing end-user app performance across different locations
- Effectively monitoring KPIs across builds as part of the CI-CD pipeline.
This webinar is a great resource for anyone struggling with delivering continuous quality across the CI/CD pipeline in a timely manner.
Take your automated mobile testing efforts to the next level with Bitrise
Writing automated test scripts is not enough. To achieve true automation, you need to integrate your automated tests with a suitable CI/CD tool so they can run on every change.
Bitrise is designed specifically for mobile development. Whether you're using a cross-platform framework or a native language, Bitrise will automatically configure your initial workflows for you and have you up and running in minutes. Bitrise provides seamless integration with the vast majority of mobile test automation tools and frameworks you're likely to use. Bitrise also features over +330 steps critical to mobile development workflows to help you move faster and be more productive.
Request an ROI demo today to learn how Bitrise can help you take mobile test automation to the next level.
‍