TestFlight: apa itu, pengujian beta dan bekerja dengan build

Penulis: IT Sectr Diterbitkan: 2026-04-11 Waktu membaca: 9 mnt

TestFlight — adalah layanan resmi Apple untuk pengujian beta aplikasi iOS, iPadOS, watchOS, dan tvOS. Melalui TestFlight, pengembang mendistribusikan build pra-rilis hingga 10.000 penguji eksternal, mengumpulkan umpan balik dan laporan crash tanpa perlu publikasi di App Store. Menurut Apple Developer Documentation, 2025, lebih dari 80% aplikasi di App Store menggunakan TestFlight pada tahap persiapan rilis.

Poin Utama

  • TestFlight — platform Apple untuk mendistribusikan versi beta aplikasi di antara penguji
  • Hingga 10.000 penguji eksternal dan hingga 100 anggota internal satu tim
  • Integrasi dengan Xcode dan App Store Connect memungkinkan upload build langsung dari IDE
  • Pengumpulan otomatis log crash, umpan balik, dan data diagnostik dari penguji
  • Tanpa TestFlight distribusi build iOS di luar App Store memerlukan sertifikat Enterprise atau jailbreak

Apa itu TestFlight

TestFlight — adalah satu-satunya cara resmi dan legal untuk mendistribusikan aplikasi iOS untuk pengujian tanpa publikasi di App Store. Layanan ini diluncurkan oleh Apple pada tahun 2014 setelah mengakuisisi perusahaan dengan nama yang sama. Sebelum munculnya TestFlight, pengembang menggunakan distribusi Ad Hoc dengan batasan 100 perangkat per musim — TestFlight menghilangkan batasan ini dan menyederhanakan proses menjadi beberapa klik.

Mengapa TestFlight diperlukan

iOS memiliki kebijakan keamanan yang ketat: aplikasi hanya dapat diinstal pada perangkat melalui App Store atau menggunakan sertifikat khusus. TestFlight memecahkan masalah pengujian beta dengan bertindak sebagai proxy antara pengembang dan penguji: Apple memeriksa build terhadap persyaratan dasar, setelah itu penguji menerima aplikasi melalui aplikasi TestFlight dari App Store, yang tidak memerlukan kepercayaan pada file yang tidak ditandatangani.

TestFlight vs Ad Hoc vs Enterprise

Ada tiga cara untuk mendistribusikan aplikasi iOS di luar App Store: Ad Hoc (batasan 100 perangkat, memerlukan UDID setiap perangkat), Enterprise (distribusi internal perusahaan tanpa batas, memerlukan sertifikat Enterprise Apple sebesar $299/tahun) dan TestFlight (hingga 10.000 penguji, gratis, tidak perlu mengumpulkan UDID). TestFlight adalah pilihan optimal untuk pengujian beta, Ad Hoc cocok untuk pengujian khusus perangkat, Enterprise — untuk aplikasi perusahaan.

Cara kerja TestFlight

Proses publikasi build melalui TestFlight terdiri dari lima langkah: membangun di Xcode, mengupload ke App Store Connect melalui Archive Organizer, pemrosesan oleh Apple, mengundang penguji, menginstal aplikasi melalui aplikasi TestFlight. Setiap langkah memakan waktu dari beberapa menit hingga satu jam tergantung pada kompleksitas proyek.

Persyaratan Apple untuk build

Build harus dibangun dengan sertifikat distribusi dan provisioning profile yang benar. Apple memeriksa: validitas sertifikat, kesesuaian bundle identifier, tidak adanya API privat, kebenaran ikon (1024×1024) dan keberadaan ikon App Store. Jika build tidak lulus pemeriksaan — TestFlight menampilkan kesalahan dengan deskripsi masalah.

Proses pemrosesan build

Setelah diupload, build melalui pemeriksaan otomatis Apple: analisis statis kode biner, pemeriksaan tanda tangan digital, pemindaian penggunaan API privat dan malware. Pemrosesan memakan waktu 15 menit hingga 2 jam untuk build pertama dan biasanya 15–30 menit untuk build berikutnya. Status pemrosesan ditampilkan di Activity di App Store Connect.

swift
// Konfigurasi TestFlight di Swift AppDelegate
import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        // Pemeriksaan: apakah aplikasi diinstal melalui TestFlight
        if Bundle.main.appStoreReceiptURL?.lastPathComponent
            == "sandboxReceipt" {
            print("Beta version via TestFlight")
        }
        return true
    }
}

Penguji internal dan eksternal

TestFlight membagi penguji menjadi dua kelompok: internal (Internal Testers) dan eksternal (External Testers). Perbedaannya terletak pada jumlah peserta, akses ke build, dan perlunya peninjauan Apple. Pemilihan kelompok yang tepat mempercepat proses pengujian dan mematuhi kebijakan App Store.

Penguji internal (Internal)

Hingga 100 peserta dari anggota tim Apple Developer Program. Untuk mengundang penguji internal, cukup tambahkan Apple ID-nya di App Store Connect — ia langsung mendapatkan akses ke semua build. Tidak diperlukan peninjauan Apple. Ideal untuk pengujian smoke harian dan pemeriksaan fitur pada tahap awal.

Penguji eksternal (External)

Hingga 10.000 peserta di luar tim pengembangan. Build pertama untuk penguji eksternal melalui peninjauan dasar Apple (biasanya 1–2 hari). Build berikutnya dengan perubahan yang tidak mempengaruhi fungsionalitas inti dapat lolos tanpa peninjauan ulang. Penguji eksternal diundang melalui email atau tautan publik.

ParameterInternal TestersExternal Testers
Jumlah maks.10010.000
Peninjauan AppleTidak diperlukanBuild pertama — wajib
UndanganApple ID dari timEmail / tautan publik
Masa berlaku build90 hari90 hari
Akses ke buildKe semua sekaligusHanya grup aktif

Cara mengupload build ke TestFlight

Upload build ke TestFlight dilakukan melalui Xcode, Application Loader, atau baris perintah menggunakan xcrun. Cara paling umum — melalui Xcode Archive Organizer setelah membuat arsip proyek. Cara alternatif — otomatisasi melalui Fastlane untuk Pipeline CI/CD.

Upload manual melalui Xcode

Buat arsip (Product → Archive), buka Organizer, pilih arsip dan klik Distribute App. Pilih TestFlight sebagai metode distribusi, tentukan sertifikat dan provisioning profile. Xcode akan mengupload build ke App Store Connect, yang akan muncul setelah diproses. Seluruh proses memakan waktu 10–20 menit untuk upload pertama.

Otomatisasi melalui Fastlane

Fastlane — adalah alat paling populer untuk mengotomatiskan upload build ke TestFlight. Perintah fastlane pilot mengupload build dan mengelola penguji tanpa membuka Xcode. Integrasi Fastlane dengan server CI/CD memungkinkan publikasi otomatis build di TestFlight setelah semua lulus pengujian.

ruby
# Fastfile — upload build ke TestFlight
default_platform(:ios)

lane :beta do
    # Mendapatkan sertifikat melalui match
    match(type: "appstore")

    # Membangun dan menandatangani
    build_app(
        scheme: "MyApp",
        export_method: "app-store",
        workspace: "MyApp.xcworkspace"
    )

    # Upload ke TestFlight
    pilot(
        skip_waiting_for_build: true,
        distribute_external: false,
        notify_external_testers: false
    )
end

Fastlane pilot secara otomatis mengupload IPA ke App Store Connect, menunggu pemrosesan (jika skip_waiting_for_build = false) dan menetapkan build ke grup penguji yang dipilih. Perintah distribute_external: true segera mengirim build ke penguji eksternal setelah diproses.

Upload melalui baris perintah

Tanpa Fastlane dapat menggunakan xcrun: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD. altool didukung oleh Apple untuk lingkungan CI dan tidak memerlukan antarmuka grafis. Kata sandi dikirim melalui keychain atau app-specific password — jangan gunakan kata sandi teks biasa.

Pengumpulan umpan balik dan diagnostik di TestFlight

TestFlight menyediakan beberapa mekanisme umpan balik: formulir umpan balik bawaan, pengumpulan otomatis log crash, metrik penggunaan, dan tangkapan layar. Tim menerima semua data di App Store Connect tanpa perlu mengimplementasikan SDK pihak ketiga untuk pengujian beta.

Formulir umpan balik bawaan

Penguji membuka aplikasi TestFlight, memilih build Anda dan mengklik Send Feedback. Formulir memungkinkan mengirim umpan balik teks, melampirkan tangkapan layar, dan menunjukkan tingkat keparahan. Semua umpan balik dikumpulkan di App Store Connect di bagian TestFlight → Feedback. Pengembang dapat merespons umpan balik, dan penguji akan menerima notifikasi di aplikasi TestFlight.

Log crash dan diagnostik

Saat aplikasi crash, TestFlight secara otomatis mengumpulkan laporan crash: tumpukan panggilan, versi OS, model perangkat, dan waktu crash. Log crash tersedia di Xcode Organizer (Crashes) dan App Store Connect (TestFlight → Crashes). Untuk mendapatkan log crash yang disimbolkan, perlu mengupload file dSYM bersama dengan build atau secara terpisah melalui Xcode.

Pemantauan penggunaan

TestFlight menampilkan metrik: jumlah instalasi, penguji aktif, sesi, dan crash. Analitik diperbarui setiap hari dan membantu mengevaluasi keterlibatan penguji. Jika dalam seminggu tidak ada penguji yang membuka aplikasi — ada baiknya mempertimbangkan kembali komunikasi dengan grup atau kualitas build.

Dari TestFlight ke publikasi di App Store

TestFlight adalah bagian tak terpisahkan dari proses publikasi di App Store. Build yang sama yang telah melewati pengujian beta melalui TestFlight dapat dikirim ke peninjauan Apple tanpa membangun ulang — cukup tekan tombol di App Store Connect. Ini menghilangkan risiko bahwa build produksi berbeda dari yang diuji.

Submit to App Review

Di App Store Connect, pilih build yang telah lulus pengujian dan klik Submit for Review. Apple menggunakan build yang sama dari TestFlight — upload ulang tidak diperlukan. Waktu peninjauan biasanya 1–3 hari. Jika build ditolak — perbaiki catatan, upload build baru ke TestFlight dan ulangi prosesnya.

Build terakhir sebelum rilis

Disarankan setelah putaran pengujian akhir di TestFlight untuk menunggu 24–48 jam sebelum mengirim ke peninjauan. Waktu ini memungkinkan penguji menemukan bug kritis yang mungkin lolos dari pengujian otomatis. Build Release candidate (RC) di TestFlight — adalah standar praktik tim iOS yang matang.

Apa yang dilakukan setelah publikasi

Build TestFlight secara otomatis menjadi tidak tersedia untuk instalasi baru setelah versi rilis dirilis di App Store. Penguji yang sudah menginstal versi beta dapat terus menggunakannya selama 30 hari setelah publikasi rilis, setelah itu aplikasi berhenti terbuka. Pastikan penguji telah memperbarui ke versi App Store.

Pertanyaan yang Sering Diajukan

Berapa biaya TestFlight untuk pengembang?

TestFlight sepenuhnya gratis untuk peserta Apple Developer Program ($99/tahun). Tidak ada biaya tambahan yang dikenakan untuk menggunakan layanan, terlepas dari jumlah build dan penguji. Anda hanya membayar untuk langganan pengembang Apple — TestFlight sudah termasuk di dalamnya secara default.

Bisakah TestFlight digunakan untuk aplikasi Android?

Tidak, TestFlight adalah layanan eksklusif ekosistem Apple. Untuk Android ada alat serupa di Google Play Console — track Internal Testing dan Open Testing. Untuk mempublikasikan versi beta di Android juga digunakan Firebase App Distribution dan DeployGate.

Berapa lama pemrosesan build di TestFlight?

Pemrosesan memakan waktu 15 menit hingga 2 jam untuk build pertama setelah upload. Build berikutnya diproses lebih cepat — biasanya 15–30 menit. Waktu pemrosesan tergantung pada beban server Apple. Status dapat dilacak di App Store Connect di bagian Activity.

Apakah ada batasan jumlah build di TestFlight?

Setiap build tersedia untuk pengujian selama 90 hari sejak saat upload. Jumlah build tidak terbatas, tetapi tidak boleh lebih dari 30 build aktif secara bersamaan. Build lama secara otomatis dihapus setelah masa berlaku berakhir atau saat mencapai batas.

Bagaimana cara mengundang penguji tanpa Apple ID?

Untuk berpartisipasi dalam pengujian melalui TestFlight diperlukan Apple ID. Penguji eksternal diundang melalui tautan email — saat pertama kali membuka tautan, sistem akan menawarkan untuk membuat Apple ID jika belum ada. Tautan publik juga tersedia untuk dibagikan di media sosial atau blog.

Ringkasan

  • TestFlight — layanan resmi Apple untuk pengujian beta, gratis untuk peserta Apple Developer Program
  • Hingga 10.000 penguji eksternal dan 100 internal tanpa pengumpulan UDID dan konfigurasi perangkat manual
  • Pengumpulan otomatis log crash, umpan balik, dan data diagnostik melalui aplikasi TestFlight
  • Upload build dimungkinkan melalui Xcode, Application Loader, xcrun altool dan Fastlane
  • Build yang sama dari TestFlight dikirim ke peninjauan di App Store — perbedaan antara versi yang diuji dan versi rilis dihilangkan
  • 90 hari — periode ketersediaan build untuk pengujian, hingga 30 build aktif secara bersamaan
  • Rekomendasi: konfigurasikan upload otomatis build ke TestFlight melalui Fastlane dan CI/CD untuk pengujian rutin setiap kompilasi

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga