When it comes to deployment for testing purposes you have several options. Share your app directly with your beta testers is one option, another one is using the beta deployment option of the Apple App Store or Google Play Store. There are also third-party portals explicit for beta testing deployment.
Share your app directly
Android and IOS both allows to install apps for testing purposes but with more or less work to do.
Android allows to generate and share a .apk file with no effort. It can be installed by simply downloading and executing the file. The only drawback in that case is, the user has to allow the installation of apps from other sources than Google Play Store. This is a security options which has to be disabled.
- Pro: Easy deployment (via share, email or …)
- Con: User action required, which weakens security
On IOS the whole thing is more complicated (if you don’t have an enterprise developer account). First you have to sign your application with a provisioning profile which contains the unique device identifier (UDID) of the devices you want to install the apps to. So you have to know the devices you want to install the app to before can create the deployment package and the user has to tell you the UDID of the device. A further drawback is that you can’t look-up your UDID on the your device but you have to connect it to iTunes to get that information. Also you are currently limited to 100 devices which can be registered as test devices in your developer account.
- Pro: You control who can install your app
- Con: Complicated procedure to register test devices
- Con: Complex install procedure, tools (iTunes) required
Beta deployment via app store or google play store
Both Google and Apple provides some mechanism in their app store to allow beta testing for a wider audience.
You can upload you .apk file into the Google Play Store in the Alpha or beta section. Both sections work the same, first you have to choose if you create a closed or an open beta. In a closed beta you have to enter every user which is allowed to download you application through the app store. After that, you must share an application specific link with your tester which they need to activate the beta test for their user. The users can now find and download the app from the app store. In an open beta you don’t have to know your beta tester, you can simply share the link where the user can decide himself if he wants to join the beta test or not.
- Pro: Open beta mode
- Con: Manual sharing of application specific link for activation of beta test
Apple calls its testing stage „Testflight“. There is no alpha or beta testing, Apple separates between internal and external testing. For internal testing only users can participate which registered in you developer account. These users can be registered with as internal testers. For external testers you have to register every user with their iTunes account, which is limited to 2000 users. Both, internal and external testers, will get an email where you can join the beta program or not. The app can be installed via the „Testflight“ app, not via the normal app store. After you uploaded your binary to iTunes Connect it will be automatically available for internal testing and all registered users will be notified. For external testers the app has to be submitted for testing which triggers a review from app store team before the app is available for testing.
- Pro: Easy procedure to register beta testers
- Con: Limited to 2000 users
- Con: No open beta possible
- Con: Waiting time because of manual approval
Beta deployment via third-party app stores
One of the biggest third-party portals is Hockeyapp. You can upload binary, both IOS and Android, which are delivered to your registered beta testers via their Hockeyapp on their phone. Like the portals from Google and Apple, Hockeyapp itself provides more functionality than just deployment, also like crash reports, user feedback and more. If you are in an enterprise environment there is normally already an MDM portal present which also provides these features like deployment, issue tracking and so on. So its worth checking before using and external provider like Hockeapp.
For IOS apps, the third-party app store, have the same drawback than sharing your app directly with your testers. You have to know UDIDs of the device they want to testing on because this information must be present on the provisioning profile of the application. Also are you limited to 100 users.
- Pro: No waiting time
- Con: Same drawbacks than sharing your app directly