TestFlight — คือบริการอย่างเป็นทางการของ Apple สำหรับการทดสอบเบต้าของแอปพลิเคชัน iOS, iPadOS, watchOS และ tvOS ผ่าน TestFlight นักพัฒนาสามารถแจกจ่ายบิลด์ก่อนวางจำหน่ายให้กับผู้ทดสอบภายนอกสูงสุด 10,000 คน เก็บรวบรวมคำติชมและรายงานข้อขัดข้องโดยไม่ต้องเผยแพร่ใน App Store ตามข้อมูลจาก Apple Developer Documentation, 2025 แอปมากกว่า 80% ใน App Store ใช้ TestFlight ในขั้นตอนการเตรียมวางจำหน่าย
ประเด็นสำคัญ
TestFlight คือวิธีที่ถูกต้องและเป็นทางการเพียงวิธีเดียวในการแจกจ่ายแอปพลิเคชัน iOS สำหรับการทดสอบโดยไม่ต้องเผยแพร่ใน App Store บริการนี้เปิดตัวโดย Apple ในปี 2014 หลังจากการซื้อบริษัทที่มีชื่อเดียวกัน ก่อน TestFlight นักพัฒนาใช้การแจกจ่ายแบบ Ad Hoc โดยมีข้อจำกัด 100 เครื่องต่อซีซัน — TestFlight ได้ลบข้อจำกัดนี้และทำให้กระบวนการง่ายขึ้นเพียงไม่กี่คลิก
iOS มีนโยบายความปลอดภัยที่เข้มงวด: แอปพลิเคชันสามารถติดตั้งบนอุปกรณ์ได้ผ่าน App Store หรือใช้ใบรับรองพิเศษเท่านั้น TestFlight แก้ปัญหาการทดสอบเบต้าโดยทำหน้าที่เป็นตัวกลางระหว่างนักพัฒนาและผู้ทดสอบ: Apple ตรวจสอบบิลด์ตามข้อกำหนดพื้นฐาน หลังจากนั้นผู้ทดสอบจะได้รับแอปพลิเคชันผ่านแอป TestFlight จาก App Store ซึ่งไม่จำเป็นต้องไว้วางใจไฟล์ที่ไม่ได้ลงนาม
มีสามวิธีในการแจกจ่ายแอปพลิเคชัน iOS นอก App Store: Ad Hoc (จำกัด 100 เครื่อง ต้องใช้ UDID ของแต่ละเครื่อง), Enterprise (แจกจ่ายภายในไม่จำกัด ต้องใช้ใบรับรอง Enterprise ของ Apple ในราคา $299/ปี) และ TestFlight (ผู้ทดสอบสูงสุด 10,000 คน ฟรี ไม่ต้องเก็บ UDID) TestFlight เป็นตัวเลือกที่ดีที่สุดสำหรับการทดสอบเบต้า Ad Hoc เหมาะสำหรับการทดสอบเฉพาะอุปกรณ์ และ Enterprise สำหรับแอปพลิเคชันองค์กร
กระบวนการเผยแพร่บิลด์ผ่าน TestFlight ประกอบด้วยห้าขั้นตอน: การสร้างใน Xcode การอัปโหลดไปยัง App Store Connect ผ่าน Archive Organizer การประมวลผลของ Apple การเชิญผู้ทดสอบ และการติดตั้งแอปผ่านแอป TestFlight แต่ละขั้นตอนใช้เวลาตั้งแต่ไม่กี่นาทีถึงหนึ่งชั่วโมงขึ้นอยู่กับความซับซ้อนของโครงการ
บิลด์ต้องสร้างด้วย ใบรับรองการแจกจ่าย และโปรไฟล์การจัดเตรียมที่ถูกต้อง Apple ตรวจสอบ: ความถูกต้องของใบรับรอง ความสอดคล้องของ bundle identifier การไม่มี API ส่วนตัว ไอคอนที่ถูกต้อง (1024×1024) และการมีไอคอน App Store หากบิลด์ไม่ผ่านการตรวจสอบ TestFlight จะแสดงข้อผิดพลาดพร้อมคำอธิบายปัญหา
หลังจากการอัปโหลด บิลด์จะผ่านการตรวจสอบอัตโนมัติของ Apple: การวิเคราะห์โค้ดไบนารีแบบคงที่ การตรวจสอบลายเซ็นดิจิทัล การสแกนการใช้ API ส่วนตัวและมัลแวร์ การประมวลผล ใช้เวลา 15 นาทีถึง 2 ชั่วโมงสำหรับบิลด์แรก และโดยปกติ 150 นาทีสำหรับบิลด์ถัดไป สถานะการประมวลผลจะแสดงใน Activity ใน App Store Connect
// การตั้งค่า TestFlight ใน Swift AppDelegate
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// ตรวจสอบ: แอปติดตั้งผ่าน TestFlight หรือไม่
if Bundle.main.appStoreReceiptURL?.lastPathComponent
== "sandboxReceipt" {
print("เวอร์ชันเบต้าผ่าน TestFlight")
}
return true
}
}
TestFlight แบ่งผู้ทดสอบออกเป็นสองกลุ่ม: ผู้ทดสอบภายใน (Internal Testers) และผู้ทดสอบภายนอก (External Testers) ความแตกต่างอยู่ที่จำนวนผู้เข้าร่วม การเข้าถึงบิลด์ และความจำเป็นในการตรวจสอบของ Apple การเลือกกลุ่มที่ถูกต้องจะช่วยเร่งกระบวนการทดสอบและปฏิบัติตามนโยบายของ App Store
สูงสุด 100 ผู้เข้าร่วม จากทีม Apple Developer Program ในการเชิญผู้ทดสอบภายใน เพียงเพิ่ม Apple ID ของพวกเขาใน App Store Connect — พวกเขาจะได้รับสิทธิ์เข้าถึงบิลด์ทั้งหมดทันที ไม่จำเป็นต้องตรวจสอบของ Apple เหมาะสำหรับการทดสอบควันรายวันและการตรวจสอบฟีเจอร์ในระยะเริ่มต้น
สูงสุด 10,000 ผู้เข้าร่วม ที่ไม่ได้เป็นส่วนหนึ่งของทีมพัฒนา บิลด์แรกสำหรับผู้ทดสอบภายนอกจะผ่านการตรวจสอบพื้นฐานของ Apple (ปกติ 1–2 วัน) บิลด์ถัดไปที่มีการเปลี่ยนแปลงที่ไม่ส่งผลกระทบต่อฟังก์ชันหลักสามารถผ่านได้โดยไม่ต้องตรวจสอบซ้ำ ผู้ทดสอบภายนอกจะถูกเชิญผ่านอีเมลหรือลิงก์สาธารณะ
| พารามิเตอร์ | ผู้ทดสอบภายใน | ผู้ทดสอบภายนอก |
|---|---|---|
| จำนวนสูงสุด | 100 | 10,000 |
| การตรวจสอบของ Apple | ไม่จำเป็น | บิลด์แรก — บังคับ |
| การเชิญ | Apple ID จากทีม | อีเมล / ลิงก์สาธารณะ |
| อายุบิลด์ | 90 วัน | 90 วัน |
| การเข้าถึงบิลด์ | ทั้งหมดพร้อมกัน | เฉพาะกลุ่มที่ใช้งาน |
การอัปโหลดบิลด์ไปยัง TestFlight ทำได้ผ่าน Xcode, Application Loader หรือบรรทัดคำสั่งโดยใช้ xcrun วิธีที่พบมากที่สุดคือผ่าน Xcode Archive Organizer หลังจากสร้างไฟล์เก็บถาวรของโครงการ วิธีสำรองคือการทำงานอัตโนมัติผ่าน Fastlane สำหรับไปป์ไลน์ CI/CD
สร้างไฟล์เก็บถาวร (Product → Archive) เปิด Organizer เลือกไฟล์เก็บถาวรแล้วคลิก Distribute App เลือก TestFlight เป็นวิธีการแจกจ่าย ระบุใบรับรองและโปรไฟล์การจัดเตรียม Xcode จะอัปโหลดบิลด์ไปยัง App Store Connect ซึ่งจะปรากฏหลังจากการประมวลผล กระบวนการทั้งหมดใช้เวลา 10–20 นาทีสำหรับการอัปโหลดครั้งแรก
Fastlane เป็นเครื่องมือยอดนิยมที่สุดสำหรับการทำงานอัตโนมัติในการอัปโหลดบิลด์ไปยัง TestFlight คำสั่ง fastlane pilot อัปโหลดบิลด์และจัดการผู้ทดสอบโดยไม่ต้องเปิด Xcode การรวม Fastlane กับเซิร์ฟเวอร์ CI/CD ช่วยให้เผยแพร่บิลด์ไปยัง TestFlight โดยอัตโนมัติหลังจากผ่านการทดสอบทั้งหมด
# Fastfile — อัปโหลดบิลด์ไปยัง TestFlight
default_platform(:ios)
lane :beta do
# รับใบรับรองผ่าน match
match(type: "appstore")
# สร้างและลงนาม
build_app(
scheme: "MyApp",
export_method: "app-store",
workspace: "MyApp.xcworkspace"
)
# อัปโหลดไปยัง TestFlight
pilot(
skip_waiting_for_build: true,
distribute_external: false,
notify_external_testers: false
)
end
Fastlane pilot อัปโหลด IPA ไปยัง App Store Connect โดยอัตโนมัติ รอการประมวลผล (หาก skip_waiting_for_build = false) และกำหนดบิลด์ให้กับกลุ่มผู้ทดสอบที่เลือก คำสั่ง distribute_external: true จะส่งบิลด์ไปยังผู้ทดสอบภายนอกทันทีหลังจากการประมวลผล
หากไม่มี Fastlane คุณสามารถใช้ xcrun: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD altool รองรับโดย Apple สำหรับสภาพแวดล้อม CI และไม่ต้องใช้อินเทอร์เฟซกราฟิก รหัสผ่านจะถูกส่งผ่าน keychain หรือรหัสผ่านเฉพาะแอป — อย่าใช้รหัสผ่านแบบข้อความธรรมดา
TestFlight มีกลไกคำติชมหลายอย่าง: แบบฟอร์มคำติชมในตัว การรวบรวมบันทึกข้อขัดข้องอัตโนมัติ ตัวชี้วัดการใช้งาน และภาพหน้าจอ ทีมงานได้รับข้อมูลทั้งหมดใน App Store Connect โดยไม่ต้องรวม SDK ของบุคคลที่สามสำหรับการทดสอบเบต้า
ผู้ทดสอบเปิดแอป TestFlight เลือกบิลด์ของคุณแล้วคลิก Send Feedback แบบฟอร์มอนุญาตให้ส่งคำติชมเป็นข้อความ แนบภาพหน้าจอ และระบุความรุนแรง คำติชมทั้งหมดจะถูกรวบรวมใน App Store Connect ภายใต้ TestFlight → Feedback นักพัฒนาสามารถตอบกลับคำติชม และผู้ทดสอบจะได้รับการแจ้งเตือนในแอป TestFlight
เมื่อแอปขัดข้อง TestFlight จะรวบรวมรายงานข้อขัดข้องโดยอัตโนมัติ: สแต็กการเรียก เวอร์ชันระบบปฏิบัติการ รุ่นอุปกรณ์ และเวลาที่ขัดข้อง บันทึกข้อขัดข้อง สามารถดูได้ใน Xcode Organizer (Crashes) และ App Store Connect (TestFlight → Crashes) เพื่อรับบันทึกข้อขัดข้องที่แปลงสัญลักษณ์แล้ว คุณต้องอัปโหลดไฟล์ dSYM พร้อมกับบิลด์หรือแยกต่างหากผ่าน Xcode
TestFlight แสดงตัวชี้วัด: จำนวนการติดตั้ง ผู้ทดสอบที่ใช้งาน เซสชัน และข้อขัดข้อง การวิเคราะห์ ได้รับการอัปเดตทุกวันและช่วยประเมินการมีส่วนร่วมของผู้ทดสอบ หากไม่มีผู้ทดสอบเปิดแอปภายในหนึ่งสัปดาห์ — ควรพิจารณาการสื่อสารกับกลุ่มหรือคุณภาพของบิลด์ใหม่
TestFlight เป็นส่วนสำคัญของกระบวนการเผยแพร่ใน App Store บิลด์เดียวกันที่ผ่านการทดสอบเบต้าผ่าน TestFlight สามารถส่งไปตรวจสอบของ Apple ได้โดยไม่ต้องสร้างใหม่ — เพียงคลิกปุ่มใน App Store Connect ซึ่งช่วยขจัดความเสี่ยงที่บิลด์สำหรับการผลิตจะแตกต่างจากที่ทดสอบแล้ว
ใน App Store Connect เลือกบิลด์ที่ผ่านการทดสอบแล้วคลิก Submit for Review Apple ใช้บิลด์เดียวกันจาก TestFlight — ไม่จำเป็นต้องอัปโหลดซ้ำ เวลาตรวจสอบปกติคือ 1–3 วัน หากบิลด์ถูกปฏิเสธ — แก้ไขปัญหา อัปโหลดบิลด์ใหม่ไปยัง TestFlight และทำซ้ำกระบวนการ
ขอแนะนำให้รอ 24–48 ชั่วโมงหลังจากรอบการทดสอบสุดท้ายใน TestFlight ก่อนส่งไปตรวจสอบ เวลานี้ช่วยให้ผู้ทดสอบค้นหาข้อบกพร่องสำคัญที่อาจผ่านการทดสอบอัตโนมัติ บิลด์ ตัวเลือกวางจำหน่าย (RC) ใน TestFlight เป็นแนวทางปฏิบัติมาตรฐานสำหรับทีม iOS ที่มีประสบการณ์
บิลด์ TestFlight จะไม่สามารถใช้งานได้โดยอัตโนมัติสำหรับการติดตั้งใหม่หลังจากเวอร์ชันวางจำหน่ายออกสู่ App Store ผู้ทดสอบที่ติดตั้งเวอร์ชันเบต้าแล้วสามารถใช้งานต่อไปได้ 30 วัน หลังจากการเผยแพร่เวอร์ชันวางจำหน่าย หลังจากนั้นแอปจะหยุดเปิด ตรวจสอบให้แน่ใจว่าผู้ทดสอบอัปเดตเป็นเวอร์ชัน App Store
คำถามที่พบบ่อย
TestFlight ฟรีอย่างสมบูรณ์สำหรับสมาชิก Apple Developer Program ($99/ปี) ไม่มีค่าธรรมเนียมเพิ่มเติมสำหรับการใช้บริการ โดยไม่คำนึงถึงจำนวนบิลด์และผู้ทดสอบ คุณจ่ายเฉพาะค่าสมัครสมาชิกนักพัฒนา Apple — TestFlight รวมอยู่ในนั้นโดยค่าเริ่มต้น
ไม่ TestFlight เป็นบริการพิเศษของระบบนิเวศ Apple สำหรับ Android มีเครื่องมือที่คล้ายกัน — Google Play Console พร้อมแทร็กการทดสอบภายในและการทดสอบแบบเปิด สำหรับการเผยแพร่เวอร์ชันเบต้าบน Android ยังใช้ Firebase App Distribution และ DeployGate อีกด้วย
การประมวลผลใช้เวลาตั้งแต่ 15 นาทีถึง 2 ชั่วโมง สำหรับบิลด์แรกหลังจากอัปโหลด บิลด์ถัดไปจะถูกประมวลผลเร็วกว่า — โดยปกติ 15–30 นาที เวลาประมวลผลขึ้นอยู่กับโหลดของเซิร์ฟเวอร์ Apple คุณสามารถติดตามสถานะได้ใน App Store Connect ในส่วน Activity
แต่ละบิลด์พร้อมให้ทดสอบเป็นเวลา 90 วัน นับจากเวลาที่อัปโหลด จำนวนบิลด์ไม่จำกัด แต่ไม่สามารถมีบิลด์ที่ใช้งานพร้อมกันเกิน 30 บิลด์ได้ บิลด์เก่าจะถูกลบโดยอัตโนมัติเมื่อหมดอายุหรือเมื่อถึงขีดจำกัด
การเข้าร่วมการทดสอบผ่าน TestFlight ต้องมี Apple ID ผู้ทดสอบภายนอกจะถูกเชิญผ่านลิงก์อีเมล — เมื่อเปิดลิงก์ครั้งแรก ระบบจะแจ้งให้สร้าง Apple ID หากยังไม่มีนอกจากนี้ยังมีลิงก์สาธารณะสำหรับแจกจ่ายบนโซเชียลมีเดียหรือบล็อก
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ
อ่านเพิ่มเติม