TestFlight: nó là gì, kiểm thử beta và làm việc với bản dựng

Tác giả: IT Sectr Đã đăng: 2026-04-11 Thời gian đọc: 9 phút

TestFlight — là dịch vụ chính thức của Apple dành cho kiểm thử beta các ứng dụng iOS, iPadOS, watchOS và tvOS. Thông qua TestFlight, nhà phát triển phân phối bản dựng tiền phát hành cho tới 10.000 người kiểm thử bên ngoài, thu thập phản hồi và báo cáo sự cố mà không cần xuất bản lên App Store. Theo Apple Developer Documentation, 2025, hơn 80% ứng dụng trên App Store sử dụng TestFlight trong giai đoạn chuẩn bị phát hành.

Những điểm chính

  • TestFlight — nền tảng của Apple để phân phối phiên bản beta của ứng dụng cho người kiểm thử
  • Tới 10.000 người kiểm thử bên ngoài và tới 100 thành viên nội bộ của một nhóm
  • Tích hợp với Xcode và App Store Connect cho phép tải bản dựng lên trực tiếp từ IDE
  • Tự động thu thập nhật ký sự cố, phản hồi và dữ liệu chẩn đoán từ người kiểm thử
  • Không có TestFlight việc phân phối bản dựng iOS bên ngoài App Store yêu cầu chứng chỉ Enterprise hoặc jailbreak

TestFlight là gì

TestFlight là cách hợp pháp và duy nhất chính thức để phân phối ứng dụng iOS cho mục đích kiểm thử mà không cần xuất bản lên App Store. Dịch vụ được Apple ra mắt vào năm 2014 sau khi mua lại công ty cùng tên. Trước TestFlight, các nhà phát triển sử dụng phân phối Ad Hoc với giới hạn 100 thiết bị mỗi mùa — TestFlight đã loại bỏ giới hạn này và đơn giản hóa quy trình chỉ với vài cú nhấp chuột.

Tại sao cần TestFlight

iOS có chính sách bảo mật nghiêm ngặt: một ứng dụng chỉ có thể được cài đặt trên thiết bị thông qua App Store hoặc sử dụng chứng chỉ đặc biệt. TestFlight giải quyết vấn đề kiểm thử beta bằng cách hoạt động như một proxy giữa nhà phát triển và người kiểm thử: Apple kiểm tra bản dựng theo các yêu cầu cơ bản, sau đó người kiểm thử nhận ứng dụng thông qua ứng dụng TestFlight từ App Store, điều này không yêu cầu tin tưởng vào các tệp chưa ký.

TestFlight vs Ad Hoc vs Enterprise

Có ba cách phân phối ứng dụng iOS bên ngoài App Store: Ad Hoc (giới hạn 100 thiết bị, yêu cầu UDID của từng thiết bị), Enterprise (phân phối nội bộ không giới hạn, yêu cầu chứng chỉ Enterprise của Apple với giá $299/năm) và TestFlight (tới 10.000 người kiểm thử, miễn phí, không yêu cầu thu thập UDID). TestFlight là lựa chọn tối ưu cho kiểm thử beta, Ad Hoc phù hợp cho kiểm thử thiết bị cụ thể và Enterprise dành cho ứng dụng doanh nghiệp.

Cách TestFlight hoạt động

Quy trình xuất bản bản dựng thông qua TestFlight bao gồm năm bước: xây dựng trong Xcode, tải lên App Store Connect qua Archive Organizer, xử lý của Apple, mời người kiểm thử và cài đặt ứng dụng qua ứng dụng TestFlight. Mỗi bước mất từ vài phút đến một giờ tùy thuộc vào độ phức tạp của dự án.

Yêu cầu của Apple đối với bản dựng

Bản dựng phải được tạo bằng chứng chỉ phân phối và hồ sơ cấp phép hợp lệ. Apple kiểm tra: tính hợp lệ của chứng chỉ, sự khớp của bundle identifier, không có API riêng tư, biểu tượng chính xác (1024×1024) và sự hiện diện của biểu tượng App Store. Nếu bản dựng không vượt qua kiểm tra, TestFlight hiển thị lỗi kèm mô tả vấn đề.

Xử lý bản dựng

Sau khi tải lên, bản dựng trải qua quá trình xác minh tự động của Apple: phân tích tĩnh mã nhị phân, xác minh chữ ký số, quét việc sử dụng API riêng tư và phần mềm độc hại. Việc xử lý mất từ 15 phút đến 2 giờ cho bản dựng đầu tiên và thường 150 phút cho các bản dựng tiếp theo. Trạng thái xử lý được hiển thị trong Activity trong App Store Connect.

swift
// Thiết lập TestFlight trong Swift AppDelegate
import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        // Kiểm tra: ứng dụng có được cài đặt qua TestFlight không
        if Bundle.main.appStoreReceiptURL?.lastPathComponent
            == "sandboxReceipt" {
            print("Phiên bản beta qua TestFlight")
        }
        return true
    }
}

Người kiểm thử nội bộ và bên ngoài

TestFlight chia người kiểm thử thành hai nhóm: Người kiểm thử nội bộ (Internal Testers) và Người kiểm thử bên ngoài (External Testers). Sự khác biệt nằm ở số lượng người tham gia, quyền truy cập vào bản dựng và sự cần thiết của việc xem xét của Apple. Chọn đúng nhóm sẽ tăng tốc quá trình kiểm thử và tuân thủ chính sách App Store.

Người kiểm thử nội bộ (Internal)

Tới 100 người tham gia từ nhóm Apple Developer Program. Để mời người kiểm thử nội bộ, chỉ cần thêm Apple ID của họ trong App Store Connect — họ sẽ ngay lập tức có quyền truy cập vào tất cả bản dựng. Không yêu cầu xem xét của Apple. Lý tưởng cho kiểm thử khói hàng ngày và xác minh tính năng ở giai đoạn đầu.

Người kiểm thử bên ngoài (External)

Tới 10.000 người tham gia không thuộc nhóm phát triển. Bản dựng đầu tiên dành cho người kiểm thử bên ngoài trải qua quá trình xem xét cơ bản của Apple (thường 12 ngày). Các bản dựng tiếp theo có thay đổi không ảnh hưởng đến chức năng chính có thể vượt qua mà không cần xem xét lại. Người kiểm thử bên ngoài được mời qua email hoặc liên kết công khai.

Tham sốNgười kiểm thử nội bộNgười kiểm thử bên ngoài
Số lượng tối đa10010.000
Xem xét của AppleKhông yêu cầuBản dựng đầu tiên — bắt buộc
Lời mờiApple ID từ nhómEmail / liên kết công khai
Thời hạn bản dựng90 ngày90 ngày
Quyền truy cập bản dựngTất cả cùng lúcChỉ nhóm hoạt động

Cách tải bản dựng lên TestFlight

Việc tải bản dựng lên TestFlight được thực hiện qua Xcode, Application Loader hoặc dòng lệnh sử dụng xcrun. Phương pháp phổ biến nhất là qua Xcode Archive Organizer sau khi tạo kho lưu trữ dự án. Phương pháp thay thế là tự động hóa qua Fastlane cho đường ống CI/CD.

Tải lên thủ công qua Xcode

Tạo một kho lưu trữ (Product → Archive), mở Organizer, chọn kho lưu trữ và nhấp Distribute App. Chọn TestFlight làm phương pháp phân phối, chỉ định chứng chỉ và hồ sơ cấp phép. Xcode sẽ tải bản dựng lên App Store Connect, nơi nó sẽ xuất hiện sau khi xử lý. Toàn bộ quy trình mất 1020 phút cho lần tải đầu tiên.

Tự động hóa qua Fastlane

Fastlane là công cụ phổ biến nhất để tự động hóa việc tải bản dựng lên TestFlight. Lệnh fastlane pilot tải bản dựng lên và quản lý người kiểm thử mà không cần mở Xcode. Tích hợp Fastlane với máy chủ CI/CD cho phép xuất bản bản dựng lên TestFlight tự động sau khi vượt qua tất cả bài kiểm tra.

ruby
# Fastfile — tải bản dựng lên TestFlight
default_platform(:ios)

lane :beta do
    # Lấy chứng chỉ qua match
    match(type: "appstore")

    # Xây dựng và ký
    build_app(
        scheme: "MyApp",
        export_method: "app-store",
        workspace: "MyApp.xcworkspace"
    )

    # Tải lên TestFlight
    pilot(
        skip_waiting_for_build: true,
        distribute_external: false,
        notify_external_testers: false
    )
end

Fastlane pilot tự động tải IPA lên App Store Connect, chờ xử lý (nếu skip_waiting_for_build = false) và chỉ định bản dựng cho các nhóm kiểm thử đã chọn. Lệnh distribute_external: true ngay lập tức gửi bản dựng đến người kiểm thử bên ngoài sau khi xử lý.

Tải lên qua dòng lệnh

Không có Fastlane, bạn có thể sử dụng xcrun: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD. altool được Apple hỗ trợ cho môi trường CI và không yêu cầu giao diện đồ họa. Mật khẩu được truyền qua keychain hoặc mật khẩu dành riêng cho ứng dụng — không sử dụng mật khẩu văn bản thuần túy.

Thu thập phản hồi và chẩn đoán trong TestFlight

TestFlight cung cấp một số cơ chế phản hồi: biểu mẫu phản hồi tích hợp, tự động thu thập nhật ký sự cố, số liệu sử dụng và ảnh chụp màn hình. Nhóm nhận được tất cả dữ liệu trong App Store Connect mà không cần tích hợp SDK bên thứ ba cho kiểm thử beta.

Biểu mẫu phản hồi tích hợp

Người kiểm thử mở ứng dụng TestFlight, chọn bản dựng của bạn và nhấp Send Feedback. Biểu mẫu cho phép gửi phản hồi văn bản, đính kèm ảnh chụp màn hình và chỉ định mức độ nghiêm trọng. Tất cả phản hồi được thu thập trong App Store Connect dưới TestFlight → Feedback. Nhà phát triển có thể trả lời phản hồi và người kiểm thử sẽ nhận được thông báo trong ứng dụng TestFlight.

Nhật ký sự cố và chẩn đoán

Khi ứng dụng gặp sự cố, TestFlight tự động thu thập báo cáo sự cố: ngăn xếp cuộc gọi, phiên bản hệ điều hành, mẫu thiết bị và thời gian sự cố. Nhật ký sự cố có sẵn trong Xcode Organizer (Crashes) và App Store Connect (TestFlight → Crashes). Để có nhật ký sự cố đã được biểu tượng hóa, bạn cần tải tệp dSYM lên cùng với bản dựng hoặc riêng biệt qua Xcode.

Giám sát sử dụng

TestFlight hiển thị số liệu: số lượng cài đặt, người kiểm thử hoạt động, phiên và sự cố. Phân tích được cập nhật hàng ngày và giúp đánh giá mức độ tương tác của người kiểm thử. Nếu không có người kiểm thử nào mở ứng dụng trong một tuần, cần xem xét lại giao tiếp với nhóm hoặc chất lượng bản dựng.

Từ TestFlight đến xuất bản trên App Store

TestFlight là một phần không thể thiếu của quy trình xuất bản trên App Store. Cùng một bản dựng đã vượt qua kiểm thử beta qua TestFlight có thể được gửi đi xem xét của Apple mà không cần xây dựng lại — chỉ cần nhấp một nút trong App Store Connect. Điều này loại bỏ rủi ro bản dựng sản xuất khác với bản dựng đã kiểm thử.

Gửi đi xem xét App

Trong App Store Connect, chọn bản dựng đã vượt qua kiểm thử và nhấp Submit for Review. Apple sử dụng cùng bản dựng từ TestFlight — không cần tải lại. Thời gian xem xét thường là 13 ngày. Nếu bản dựng bị từ chối, hãy sửa lỗi, tải bản dựng mới lên TestFlight và lặp lại quy trình.

Bản dựng cuối cùng trước khi phát hành

Nên đợi 2448 giờ sau vòng kiểm thử cuối cùng trong TestFlight trước khi gửi đi xem xét. Thời gian này cho phép người kiểm thử tìm ra lỗi nghiêm trọng có thể vượt qua các kiểm tra tự động. Bản dựng ứng viên phát hành (RC) trong TestFlight là thông lệ tiêu chuẩn của các nhóm iOS chuyên nghiệp.

Làm gì sau khi xuất bản

Các bản dựng TestFlight tự động không khả dụng cho cài đặt mới sau khi phiên bản phát hành được đưa lên App Store. Người kiểm thử đã cài đặt phiên bản beta có thể tiếp tục sử dụng trong 30 ngày sau khi phát hành, sau đó ứng dụng ngừng mở. Đảm bảo người kiểm thử cập nhật lên phiên bản App Store.

Câu hỏi thường gặp

TestFlight có giá bao nhiêu cho nhà phát triển?

TestFlight hoàn toàn miễn phí cho thành viên Apple Developer Program ($99/năm). Không tính phí bổ sung cho việc sử dụng dịch vụ, bất kể số lượng bản dựng và người kiểm thử. Bạn chỉ trả phí đăng ký nhà phát triển Apple — TestFlight được bao gồm theo mặc định.

Có thể sử dụng TestFlight cho ứng dụng Android không?

Không, TestFlight là dịch vụ độc quyền của hệ sinh thái Apple. Đối với Android, có một công cụ tương tự — Google Play Console với các đường dẫn Internal Testing và Open Testing. Để xuất bản phiên bản beta trên Android, Firebase App Distribution và DeployGate cũng được sử dụng.

Mất bao lâu để xử lý bản dựng trong TestFlight?

Việc xử lý mất từ 15 phút đến 2 giờ cho bản dựng đầu tiên sau khi tải lên. Các bản dựng tiếp theo được xử lý nhanh hơn — thường 150 phút. Thời gian xử lý phụ thuộc vào tải máy chủ Apple. Bạn có thể theo dõi trạng thái trong App Store Connect tại phần Activity.

Có giới hạn số lượng bản dựng trong TestFlight không?

Mỗi bản dựng có sẵn để kiểm thử trong 90 ngày kể từ thời điểm tải lên. Số lượng bản dựng không bị giới hạn, nhưng không thể có hơn 30 bản dựng hoạt động cùng lúc. Các bản dựng cũ tự động bị xóa khi hết hạn hoặc đạt giới hạn.

Làm thế nào để mời người kiểm thử không có Apple ID?

Để tham gia kiểm thử qua TestFlight, cần có Apple ID. Người kiểm thử bên ngoài được mời qua liên kết email — khi mở liên kết lần đầu, hệ thống sẽ đề nghị tạo Apple ID nếu họ chưa có. Một liên kết công khai cũng có sẵn để phân phối trên mạng xã hội hoặc blog.

Tổng kết

  • TestFlight — dịch vụ kiểm thử beta chính thức của Apple, miễn phí cho thành viên Apple Developer Program
  • Tới 10.000 người kiểm thử bên ngoài và 100 người nội bộ mà không cần thu thập UDID hay cấu hình thiết bị thủ công
  • Tự động thu thập nhật ký sự cố, phản hồi và dữ liệu chẩn đoán qua ứng dụng TestFlight
  • Tải bản dựng lên có thể qua Xcode, Application Loader, xcrun altool và Fastlane
  • Cùng một bản dựng từ TestFlight được gửi đi xem xét App Store — không có khác biệt giữa phiên bản kiểm thử và phát hành
  • 90 ngày khả dụng của bản dựng cho kiểm thử, tới 30 bản dựng hoạt động cùng lúc
  • Khuyến nghị: thiết lập tải bản dựng tự động lên TestFlight qua Fastlane và CI/CD để kiểm thử thường xuyên mỗi bản dựng

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm