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.
Thank you for sharing such a great blog post with us this blog is really informative and useful, keep it up..
ReplyDeleteSoftware Testing Services
Software Testing Services in USA
Software Testing Companies in USA
Software Testing Company
Software Testing Services Company
QA Testing Companies in USA
Software Testing Services in India
Software Testing Companies in India
Hi, Thank you for sharing this Beautiful Blog...
ReplyDelete