Skip to main content

How to install a test app onto your mobile device

In this post I'll describe how to actually get test versions of the app onto a device. But first let's discuss whether you should test on an actual device or on an emulator. An emulator is a desktop application that mimics the hardware and OS of a mobile device. The developers will generally do their app development on an emulator and you can use them for early stage testing but when it comes to meaningful end to end testing, a device is a must have. There is no other way to get a feel for the performance of the app and how users will use it real life.

Of course you will probably need to test on multiple devices as they vary not only by OS (iOS and Android) but also OS version, device make (e.g. Samsung or Motorola), and screen size. We also now have a new OS for iPads called iPadOS. In a future blog post I'll look at device fragmentation and how to handle it.

For now let's assume you are only testing on one iOS device and one Android device. Your developers have developed the first version of the app and you want to try it out. How do you get it onto your test device? Native mobile apps are delivered as .apk files for Android and .ipa files for iOS. There are ways to install these file directly onto your device but generally you would use a third party app that links in with your CI pipeline and allows you to download new versions of the app directly onto your device.

I use TestFlight for iOS and App Center for Android apps. You can install the TestFlight app directly from the App Store onto your test device. You will probably find it easier to create a separate Apple ID for testing rather than use your personal Apple ID. Before you can actually use TestFlight to install an app, you need to be subscribed to a specific app channel. You will receive an email invite that contains a Redeem Code. In the TestFlight app, you enter the Redeem Code and you will be subscribed to the channel for that app. You will receive a notification once a new build is available. You can then install or update your current build via the TestFlight app. It forces developers to create proper version numbers for their apps and I find TestFlight very useful for installing and keeping track of app versions.

For Android I use App Center which is a web based tool for installing apps. It is a Microsoft product and is now part of Visual Studio. Again you will need to be setup on App Center and subsribed to the app channel that you intend to test. Once this is synced with your CI system, you will get an email from App Center every time a new build is available. The simplest way to install the Android app, is to forward the email to your device. I usually setup a Gmail account on the Android device specifically for testing. On the device I open the email and select the Install button. This will prompt a download of the .apk file which you can then install.

Here is an example of an App Center email for one of the apps that I test (with references to any confidential information blacked out):

You now have the test versions of the app on your device and you can start testing. When new builds come through you can either update the existing app or uninstall the app and then install the new build.


Popular posts from this blog

Testing Mobile Apps versus Websites

You all no doubt own a mobile phone, most likely an iOS or Android device, so you probably think it wouldn't be too difficult to test mobile apps. While the principles of testing remain the same, there are significant differences between how you test websites and mobile apps. For example: You can't just open a browser on your laptop to test the latest version of the application. Somehow you need to get the latest version of the app onto your test device.iOS and Android have completely different design patterns.It's more difficult to get under the hood of an app to see what's going on. You can't just open Chrome DevTools.
This is the first in a series of posts where I'll give you some background on how to test mobile apps and include a number of tips and tricks that I've learnt the hard way in my 10 years of mobile testing experience. I'll focus on iOS and Android since those are the most common apps but I also test Windows apps.…

How to access files and databases on your mobile device

In this post I'll describe how to access files and databases associated with a mobile app. On the apps that I test we have log files and SQLite databases that are useful to look at when investigating potential bugs. How do you access files and databases on a mobile device? As usual that depends on whether you are testing iOS or Android. App specific files are available on both devices but they way you access them is different for each OS.
iOSFor Apple devices, you can use iTunes to access app specific files. Open iTunes on your PC or Mac and connect your device. You will see the device:

Select the device icon. This will open the apps page. Under File Sharing you can then select your app to view its associated files.

You can then add files, save files to your PC or delete files on the device.
Android On Android devices there is usually a folder called "MyFiles". App specific files are stored under that folder. To access them, simply connect your device to your PC or Mac and…