TestFlight: How to Beta Test Your App Before Launch
Shipping an app straight to the App Store without testing it on real devices is how you end up with a one-star review that says "crashes on open." TestFlight is Apple's free beta-testing platform, and it exists so you can hand your app to real people, watch what breaks, and fix it before the public ever sees it. For no-code makers especially, this is the safety net that turns "I think it works" into "I know it works."
In short: TestFlight beta testing lets you distribute pre-release builds to up to 100 internal and 10,000 external testers, collect crash reports and feedback, and iterate before submitting to the App Store. This guide covers the whole flow — from your first upload to graduating a tested build into a real submission. If you want the bird's-eye view of the whole release, start with our pillar on how to publish an app without code and treat this as the deep dive on the testing step.
What is TestFlight and why use it?
TestFlight is a separate app testers download from the App Store. You upload a build to App Store Connect, assign it to testers, and they install it through TestFlight instead of the public store. It's the only official way Apple provides to distribute an iOS app to people outside your team before launch.
Beyond just "does it run," TestFlight gives you three things you can't get any other way:
- Real-device coverage. Your app behaves differently on an iPhone SE than on a 6.9" Pro Max. Simulators lie; real devices tell the truth.
- Crash reporting. TestFlight automatically collects crash logs and ties them to the build and device, so you can reproduce and fix them.
- In-context feedback. Testers can take a screenshot and send feedback directly from within the TestFlight app, with device and OS details attached automatically.
What you need before you start
| Requirement |
Detail |
| Apple Developer Program |
$99/year — required to upload any build |
| An uploaded build |
A signed .IPA in App Store Connect (Adalo generates this for you) |
| App Store Connect access |
Admin or App Manager role to manage testers |
| App icon |
1024×1024 PNG, no transparency |
| Beta app description |
Short text telling testers what to try |
| Testers' emails or a link |
For external testers |
If you're building in a no-code tool, you don't touch Xcode — the platform compiles the native build and pushes it to App Store Connect, where it becomes available to TestFlight. The rest of this guide is about what happens once that build lands.
Internal vs. external testers
TestFlight splits testers into two groups, and the difference matters for both speed and scale.
|
Internal testers |
External testers |
| Who they are |
People on your App Store Connect team |
Anyone, via email or public link |
| Max count |
100 |
10,000 |
| Beta review required? |
No — builds available in minutes |
Yes — a short Apple review on the first build |
| Best for |
You, cofounders, close collaborators |
Real users, waitlist, community testers |
| Setup speed |
Instant |
First build waits on review (often under a day) |
The practical workflow: use internal testers to smoke-test each new build the moment it uploads, then promote solid builds to external testers for wider real-world coverage.
How to use TestFlight, step by step
Step 1: Upload your build
Generate your iOS build so it lands in App Store Connect. Native compiles take time, so start this early. Once it finishes processing, the build appears under the TestFlight tab of your app in App Store Connect with a status of "Ready to Submit" or "Missing Compliance."
Step 2: Answer export compliance
Before a build can go to testers, App Store Connect asks whether your app uses encryption. Most straightforward apps that only use standard HTTPS can answer this quickly and mark themselves exempt. Answer it once per build (or configure it to answer automatically) and the build flips to testable.
Step 3: Add internal testers
Go to TestFlight → Internal Testing, create a group, and add people already on your App Store Connect team. Assign the build to the group. They get an email and an in-app notification within minutes — no review required. This is your fastest feedback loop.
Step 4: Add external testers
Go to TestFlight → External Testing and create a group. You have two ways to invite people:
- By email — add up to 10,000 addresses; each person gets a redeem invitation.
- Public link — TestFlight generates a shareable URL anyone can tap to join (until your 10,000 slots fill). This is the easy way to recruit from a waitlist, Discord, or Reddit.
The first external build you submit goes through Apple's beta app review — a lighter version of full App Store review that usually clears fast. Subsequent builds in the same version generally don't need re-review unless you change something significant.
Step 5: Write test instructions
In the Test Details field, tell testers exactly what to try: "Create an account, add three items to your list, then force-close and reopen." Vague instructions get you vague feedback. Specific asks surface the bugs you actually care about.
Step 6: Collect feedback and crashes
Testers send feedback two ways: screenshot-based feedback from inside TestFlight, and automatic crash reports. Both show up in App Store Connect under the build, tagged with device model and iOS version. Triage them, fix, upload a new build, and repeat.
How long does TestFlight take?
The first external build's beta review is the main wait — often under a day, occasionally longer. After that, iteration is fast: internal builds are near-instant, and external re-builds within the same version usually skip review. For context on the full store review that comes later, see how long App Store review takes.
Remember the 90-day expiry: every build stops working 90 days after upload. For an active beta, you'll naturally upload new builds well before that, but a paused project can go stale — just upload a fresh build to reset the clock.
From beta to launch
Once your build survives real testers without new crashes, you're ready to submit. The build you tested in TestFlight is the same binary you attach to your App Store submission — no rebuild required. Before you hit submit, run through the full app store submission checklist so metadata, screenshots, and privacy answers are all in place.
Two assets you'll need for the public listing that TestFlight doesn't require:
- Store screenshots at exact sizes (iPhone 6.9" is 1320×2868, 6.7" is 1290×2796). The App Store screenshot generator exports frames at those precise dimensions so the store never rejects them for being off-spec.
- A privacy policy URL, which Apple requires for every app. You can generate a hosted one with the app privacy policy generator.
Both of those, plus your store copy, can be prepared for free or a one-time unlock — the Adalo Studio pricing page lays out exactly what's free versus paid, so you can get your listing assets sorted while your beta is still running.
Common TestFlight mistakes to avoid
| Mistake |
Why it hurts |
Fix |
| Skipping export compliance |
Build never reaches testers |
Answer the encryption question per build |
| Only using the simulator |
Misses device-specific bugs |
Always run a real-device beta |
| No test instructions |
Testers poke around aimlessly |
Write specific "try this" steps |
| Letting builds expire |
Testers get locked out at 90 days |
Upload a fresh build before expiry |
| Icon with transparency |
Rejected or blank icon |
Use a flat 1024×1024 PNG |
| Ignoring crash logs |
Ship known crashes to production |
Triage crashes before submitting |
A tight beta cycle usually looks like this: internal smoke test on day one, external group opened after beta review clears, a week or two of real-world use, one or two fix-and-rebuild rounds, then submission. It adds a couple of weeks to your timeline and removes the single biggest launch-day risk — a broken first impression.
Frequently asked questions
Is TestFlight free to use?
Yes, TestFlight itself is free. You only need an active Apple Developer Program membership, which costs $99 per year, to upload builds and invite testers. Testers install the free TestFlight app and pay nothing.
How many people can test my app on TestFlight?
You can add up to 100 internal testers (people on your App Store Connect team) and up to 10,000 external testers via email or a public link. Internal testers get builds instantly, while external tester builds go through a brief Apple beta review first.
Do TestFlight builds expire?
Yes. Every TestFlight build stops working 90 days after you upload it, and testers see a countdown in the app. To keep testing past that window, upload a fresh build before the current one expires.
Tools mentioned in this guide:
App Store Screenshot Generator,
App Privacy Policy Generator.