Beta Test Tutorial for iOS: How To Host a Beta Test for your iOS App

A beta test tutorial that discusses a practical strategy to host a beta test for your iOS app, from an indie developer’s perspective. By Ray Wenderlich.

Leave a rating/review
Save for later
Share

This dude says: Thank you Battle Map Beta Testers!

This dude says: Thank you Battle Map Beta Testers!

As indie software developers, sometimes the only type of testing we do is developer testing. And we all know that can be less than optimal ;]

But with larger apps, sometimes it can be useful to get some outside help. I recently did that with my latest app (Battle Map for iPad) by hosting a beta test, so thought I’d share some of the knowledge I learned along the way.

This beta test tutorial will address the questions that might arise as you’re setting up your beta test – or deciding whether you should have one in the first place. We will cover how to find beta testers, get them a copy of your app, respond to the feedback, and much more.

So let’s dig into the world of iOS beta testing!

Do I Need a Beta Test?

If you have a simple app or you’re in a rush to get your app out quickly, the answer is probably no. After all, hosting a beta test takes a lot of time and energy, and delays the time till you’re making money!

But you might want to consider hosting a beta test if:

  • Your app has a lot of features. If you have a complicated app with a lot of features, this means there’s a higher chance of bugs! Beta testers can help with this by finding bugs before they’re released.
  • You are making a high quality app. If you are making a high quality app, beta testers can help a lot by requesting features that you may not have thought of. By implementing some of these features before launch, your app can be much higher quality.
  • You are making a game. If you’re making a game, beta testing can be particularly valuable because it’s hard to balance a game’s difficulty and fun properly without having players other than yourself give it a try!

How Can I Find Beta Testers?

If you just need a few beta testers, one good way is to simply write a post requesting beta testers on forums that app fans frequent. I’ve posted on the MacRumors Forums and subreddits of reddit.com in the past and found some great & helpful testers (thanks RPG reddit!).

If you’re on Twitter, that’s another good source to try! There are a lot of great iPhone developers on there willing to help out a fellow developer with their app, often providing an invaluable developer perspective (thanks @GeekAndDad & @wadevondoom!).

And of course, don’t forget family & friends. For games, this can be especially valuable because you can watch the testers use your app in person, which is often worth 1000 words.

Do I Need a Beta Signup Form?

If you just need a couple beta testers for your app, a beta signup form is probably overkill. But there are several advantages of having a beta signup form:

  • It makes it easier to have multiple rounds of testing. Sometimes you might want to go through multiple rounds of testing for your app, which is useful to avoid burnout of beta testers as you make upgrades & improvements. By having a beta signup form, testers can sign up anytime and you can send invites as you’re ready.
  • It allows you to ask questions to the beta testers. When people sign up to beta test, you have a chance to ask them some questions that might help you decide who to invite. For example, in my case I wanted to make sure both Game Masters and Players tried out Battle Map before launch to get both perspectives.
  • It helps you keep your information organized. Since your beta testers will be in a database, you can keep track of their UDIDs, whether they’ve responded with feedback, and other useful bookkeeping information in a central place.
  • It allows people to ask to be notified when your app launches. A lot of times, the people who sign up for your beta test are interested in knowing when your app launches, so give them the chance to sign up to find out! It is a simple way to help spread the word on launch day.

How Do I Make a Beta Signup Form?

Aha, I thought you might ask that! A n00b’s guide to making a beta signup form is coming to this blog soon, so stay tuned! :]

Update: My guide is good if you want to learn how to make a signup form yourself or have your own database on your web site, but if you don’t care about all that and want to just get something working ASAP, Jindrich from the comments section recommends using Google Docs forms, which looks like a quick & easy way to go!

What Do I Do Once I Find Some Beta Testers?

Once you have some volunteers, before you can do anything you need to get them to send you their device’s unique id (UDID) so you can build them a copy for their device.

Here are the instructions I usually send the beta testers on how to send me their UDID:

  1. Search for the free app called “UDID Tool” on the App store
  2. Download it onto your [insert device type here]
  3. Run app, click Send email, email to [insert email address here] (and please put your name in the email so I know who it’s from)

Update: If you don’t want to make your users download an app to get the UDID, there’s a perhaps easier way pointed out by Charles Tidswell in the comments section below. Just check out this tutorial on an alternate method for testers to send you their UDID from iTunes!

How Do I Send the Beta Testers an Ad-Hoc Build?

If you haven’t done an Ad-Hoc build before, you might think that it’s some hugely complicated process (like I once did), but never fear: it’s super easy!

Just take the following steps:

  1. Log on to the iPhone Provisioning Portal inside the iPhone Dev Center.
  2. Set up an App ID for your App if you haven’t already and make sure you set up your app to use it as well.
  3. Go to the Devices tab, and add an entry for each UDID that you receive from your beta testers. Note you’re limited to only 100 per year, so you have to use some discretion in how many people you invite to your beta tests to make sure you don’t run out!
  4. Go to the Provisioning tab, and create a new profile. Choose your App ID and select all of the devices that you want the app to be able to run on.
  5. Follow the instructions in the “Building your Application with Xcode for Distribution” section of the Distribution tab to set your project up to use the new provisioning profile + make an Ad-Hoc build (don’t worry, it’s easy).
  6. Build the project with your new Ad-Hoc configuration, and locate the .app that was built. Next, we need to package it so it’s easily installable by your beta testers:
    1. Make a folder named “Payload”
    2. Copy your app into the “Payload” folder
    3. Zip up the “Payload” folder
    4. Rename the resulting .zip with an .ipa extension. So if it was “MyApp.zip”, name it “MyApp.ipa”.
  7. Take your .ipa and the .mobileprovision, and zip up both of those so there’s just a single file needed by the beta testers.
  1. Make a folder named “Payload”
  2. Copy your app into the “Payload” folder
  3. Zip up the “Payload” folder
  4. Rename the resulting .zip with an .ipa extension. So if it was “MyApp.zip”, name it “MyApp.ipa”.

Update: There’s an even easier way to create the .ipa from the .app than the manual instructions shown above. Jim Murff from the comments section below pointed out that @gaminghorror has written an excellent tutorial series on creating a Cocos2D project template that covers now to tweak the build settings to automatically build an IPA file for you!

And that’s it! Now you just need to send the .zip to the beta testers and they can install your app.

Contributors

Over 300 content creators. Join our team.