TestFlight — iOS, iPadOS, watchOS এবং tvOS অ্যাপ্লিকেশনের বিটা টেস্টিংয়ের জন্য Apple এর অফিসিয়াল সার্ভিস। TestFlight এর মাধ্যমে ডেভেলপাররা 10,000 বাহ্যিক টেস্টার পর্যন্ত প্রি-রিলিজ বিল্ড বিতরণ করে, App Store এ প্রকাশ না করেই ফিডব্যাক এবং ক্র্যাশ রিপোর্ট সংগ্রহ করে। Apple Developer Documentation, 2025 অনুসারে, App Store এ 80% এর বেশি অ্যাপ রিলিজ প্রস্তুতির পর্যায়ে TestFlight ব্যবহার করে।
মূল পয়েন্ট
TestFlight App Store এ প্রকাশ না করেই পরীক্ষার জন্য iOS অ্যাপ্লিকেশন বিতরণের বৈধ এবং একমাত্র অফিসিয়াল উপায়। সার্ভিসটি Apple 2014 সালে একই নামের কোম্পানি অধিগ্রহণের পরে চালু করেছিল। TestFlight এর আগে, ডেভেলপাররা প্রতি সিজনে 100 ডিভাইসের সীমা সহ Ad Hoc বিতরণ ব্যবহার করত — TestFlight এই সীমা সরিয়ে দিয়েছে এবং প্রক্রিয়াটিকে কয়েকটি ক্লিকে সরল করেছে।
iOS এর কঠোর নিরাপত্তা নীতি রয়েছে: একটি অ্যাপ্লিকেশন শুধুমাত্র App Store এর মাধ্যমে বা বিশেষ সার্টিফিকেট ব্যবহার করে ডিভাইসে ইনস্টল করা যেতে পারে। TestFlight ডেভেলপার এবং টেস্টারের মধ্যে প্রক্সি হিসেবে কাজ করে বিটা টেস্টিংয়ের সমস্যা সমাধান করে: Apple বেসিক প্রয়োজনীয়তার জন্য বিল্ড পরীক্ষা করে, তারপরে টেস্টাররা App Store থেকে TestFlight অ্যাপের মাধ্যমে অ্যাপ্লিকেশন পায়, যার জন্য অস্বাক্ষরিত ফাইলগুলিতে বিশ্বাসের প্রয়োজন হয় না।
App Store এর বাইরে iOS অ্যাপ্লিকেশন বিতরণের তিনটি উপায় রয়েছে: Ad Hoc (100 ডিভাইসের সীমা, প্রতিটি ডিভাইসের UDID প্রয়োজন), Enterprise (সীমা ছাড়াই অভ্যন্তরীণ বিতরণ, $299/বছরে Apple Enterprise সার্টিফিকেট প্রয়োজন) এবং TestFlight (10,000 টেস্টার পর্যন্ত, বিনামূল্যে, UDID সংগ্রহের প্রয়োজন নেই)। TestFlight বিটা টেস্টিংয়ের জন্য সর্বোত্তম পছন্দ, Ad Hoc ডিভাইস-নির্দিষ্ট পরীক্ষার জন্য উপযুক্ত এবং Enterprise কর্পোরেট অ্যাপ্লিকেশনের জন্য।
TestFlight এর মাধ্যমে বিল্ড প্রকাশের প্রক্রিয়াটি পাঁচটি ধাপ নিয়ে গঠিত: Xcode এ বিল্ড করা, Archive Organizer এর মাধ্যমে App Store Connect এ আপলোড, Apple প্রক্রিয়াকরণ, টেস্টারদের আমন্ত্রণ এবং TestFlight অ্যাপের মাধ্যমে অ্যাপ ইনস্টল করা। প্রকল্পের জটিলতার উপর নির্ভর করে প্রতিটি ধাপে কয়েক মিনিট থেকে এক ঘন্টা সময় লাগে।
বিল্ডটি একটি বিতরণ সার্টিফিকেট এবং বৈধ প্রোভিশনিং প্রোফাইলের সাথে তৈরি করতে হবে। Apple পরীক্ষা করে: সার্টিফিকেটের বৈধতা, বান্ডল আইডেন্টিফায়ারের মিল, প্রাইভেট API এর অনুপস্থিতি, সঠিক আইকন (1024×1024) এবং App Store আইকনের উপস্থিতি। যদি বিল্ড পরীক্ষায় ব্যর্থ হয় — TestFlight সমস্যার বিবরণ সহ একটি ত্রুটি দেখায়।
আপলোডের পরে, বিল্ড Apple এর স্বয়ংক্রিয় যাচাইকরণের মধ্য দিয়ে যায়: বাইনারি কোডের স্থির বিশ্লেষণ, ডিজিটাল স্বাক্ষর যাচাইকরণ, প্রাইভেট API ব্যবহার এবং ম্যালওয়্যারের জন্য স্ক্যানিং। প্রক্রিয়াকরণে প্রথম বিল্ডের জন্য 15 মিনিট থেকে 2 ঘন্টা সময় লাগে এবং পরবর্তী বিল্ডের জন্য সাধারণত 150 30 মিনিট সময় লাগে। প্রক্রিয়াকরণের অবস্থা App Store Connect এ Activity তে প্রদর্শিত হয়।
// Swift AppDelegate এ TestFlight সেটআপ
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 নীতিগুলি মেনে চলে।
Apple Developer Program দলের 100 সদস্য পর্যন্ত। অভ্যন্তরীণ টেস্টারকে আমন্ত্রণ জানাতে, App Store Connect এ তাদের Apple ID যোগ করা যথেষ্ট — তারা অবিলম্বে সমস্ত বিল্ডে অ্যাক্সেস পায়। Apple পর্যালোচনার প্রয়োজন নেই। দৈনিক স্মোক টেস্টিং এবং প্রাথমিক পর্যায়ে ফিচার যাচাইয়ের জন্য আদর্শ।
10,000 অংশগ্রহণকারী পর্যন্ত যারা উন্নয়ন দলের অংশ নয়। বাহ্যিক টেস্টারদের জন্য প্রথম বিল্ড একটি মৌলিক Apple পর্যালোচনার (সাধারণত 12 দিন) মধ্য দিয়ে যায়। পরবর্তী বিল্ড যেখানে মূল কার্যকারিতা প্রভাবিত না করে এমন পরিবর্তন রয়েছে পুনরায় পর্যালোচনা ছাড়াই পাস করতে পারে। বাহ্যিক টেস্টারদের ইমেল বা পাবলিক লিঙ্কের মাধ্যমে আমন্ত্রণ জানানো হয়।
| প্যারামিটার | অভ্যন্তরীণ টেস্টার | বাহ্যিক টেস্টার |
|---|---|---|
| সর্বোচ্চ সংখ্যা | 100 | 10,000 |
| Apple পর্যালোচনা | প্রয়োজন নেই | প্রথম বিল্ড — বাধ্যতামূলক |
| আমন্ত্রণ | দল থেকে Apple ID | ইমেল / পাবলিক লিঙ্ক |
| বিল্ডের বৈধতা | 90 দিন | 90 দিন |
| বিল্ডে অ্যাক্সেস | সব একসাথে | শুধুমাত্র সক্রিয় গ্রুপ |
TestFlight এ বিল্ড আপলোড করা Xcode, Application Loader বা xcrun ব্যবহার করে কমান্ড লাইনের মাধ্যমে করা হয়। সবচেয়ে সাধারণ পদ্ধতি হল প্রজেক্ট আর্কাইভ তৈরি করার পর Xcode Archive Organizer এর মাধ্যমে। বিকল্প পদ্ধতি হল CI/CD পাইপলাইনের জন্য Fastlane এর মাধ্যমে অটোমেশন।
একটি আর্কাইভ তৈরি করুন (Product → Archive), Organizer খুলুন, আর্কাইভ নির্বাচন করুন এবং Distribute App এ ক্লিক করুন। বিতরণ পদ্ধতি হিসেবে TestFlight নির্বাচন করুন, সার্টিফিকেট এবং প্রোভিশনিং প্রোফাইল উল্লেখ করুন। Xcode বিল্ডটি App Store Connect এ আপলোড করবে, যেখানে এটি প্রক্রিয়াকরণের পরে প্রদর্শিত হবে। পুরো প্রক্রিয়ায় প্রথম আপলোডের জন্য 1020 মিনিট সময় লাগে।
Fastlane TestFlight এ বিল্ড আপলোড স্বয়ংক্রিয় করার জন্য সবচেয়ে জনপ্রিয় টুল। কমান্ড fastlane pilot Xcode না খুলেই বিল্ড আপলোড করে এবং টেস্টারদের পরিচালনা করে। CI/CD সার্ভারের সাথে Fastlane ইন্টিগ্রেট করলে সমস্ত পরীক্ষা পাস করার পর স্বয়ংক্রিয়ভাবে 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 CI পরিবেশের জন্য Apple দ্বারা সমর্থিত এবং গ্রাফিকাল ইন্টারফেসের প্রয়োজন নেই। পাসওয়ার্ড keychain বা অ্যাপ-নির্দিষ্ট পাসওয়ার্ডের মাধ্যমে পাঠানো হয় — প্লেইন-টেক্সট পাসওয়ার্ড ব্যবহার করবেন না।
TestFlight বেশ কয়েকটি ফিডব্যাক মেকানিজম প্রদান করে: একটি বিল্ট-ইন ফিডব্যাক ফর্ম, স্বয়ংক্রিয় ক্র্যাশ লগ সংগ্রহ, ব্যবহারের মেট্রিক এবং স্ক্রিনশট। টিম বিটা টেস্টিংয়ের জন্য তৃতীয়-পক্ষ SDK ইন্টিগ্রেট না করেই App Store Connect এ সমস্ত ডেটা পায়।
টেস্টার TestFlight অ্যাপ খোলে, আপনার বিল্ড নির্বাচন করে এবং Send Feedback এ ক্লিক করে। ফর্মটি টেক্সট ফিডব্যাক পাঠানো, স্ক্রিনশট সংযুক্ত করা এবং গুরুত্ব উল্লেখ করার অনুমতি দেয়। সমস্ত ফিডব্যাক App Store Connect এ TestFlight → Feedback এর অধীনে সংগ্রহ করা হয়। ডেভেলপার ফিডব্যাকের উত্তর দিতে পারে এবং টেস্টার TestFlight অ্যাপে একটি বিজ্ঞপ্তি পাবে।
যখন একটি অ্যাপ ক্র্যাশ হয়, TestFlight স্বয়ংক্রিয়ভাবে একটি ক্র্যাশ রিপোর্ট সংগ্রহ করে: কল স্ট্যাক, OS সংস্করণ, ডিভাইস মডেল এবং ক্র্যাশের সময়। ক্র্যাশ লগ Xcode Organizer (Crashes) এবং App Store Connect (TestFlight → Crashes) এ উপলব্ধ। সিম্বলিকেটেড ক্র্যাশ লগ পেতে, আপনাকে বিল্ডের সাথে বা Xcode এর মাধ্যমে আলাদাভাবে dSYM ফাইল আপলোড করতে হবে।
TestFlight মেট্রিক দেখায়: ইনস্টলের সংখ্যা, সক্রিয় টেস্টার, সেশন এবং ক্র্যাশ। বিশ্লেষণ প্রতিদিন আপডেট হয় এবং টেস্টারের অংশগ্রহণ মূল্যায়ন করতে সহায়তা করে। যদি এক সপ্তাহে কোনো টেস্টার অ্যাপ না খোলে — তাহলে গ্রুপের সাথে যোগাযোগ বা বিল্ডের গুণমান পুনর্বিবেচনা করা উচিত।
TestFlight App Store প্রকাশনা প্রক্রিয়ার একটি অবিচ্ছেদ্য অংশ। একই বিল্ড যা TestFlight এর মাধ্যমে বিটা টেস্টিং পাস করেছে পুনর্নির্মাণ ছাড়াই Apple পর্যালোচনায় পাঠানো যেতে পারে — শুধু App Store Connect এ একটি বাটন চাপুন। এটি সেই ঝুঁকি দূর করে যে প্রোডাকশন বিল্ড পরীক্ষিত বিল্ড থেকে ভিন্ন।
App Store Connect এ, যে বিল্ড টেস্টিং পাস করেছে তা নির্বাচন করুন এবং Submit for Review এ ক্লিক করুন। Apple TestFlight থেকে একই বিল্ড ব্যবহার করে — পুনরায় আপলোডের প্রয়োজন নেই। পর্যালোচনার সময় সাধারণত 13 দিন। যদি বিল্ড প্রত্যাখ্যাত হয় — সমস্যাগুলি ঠিক করুন, TestFlight এ একটি নতুন বিল্ড আপলোড করুন এবং প্রক্রিয়াটি পুনরাবৃত্তি করুন।
পর্যালোচনায় পাঠানোর আগে TestFlight এ চূড়ান্ত টেস্টিং রাউন্ডের পরে 2448 ঘন্টা অপেক্ষা করার পরামর্শ দেওয়া হয়। এই সময় টেস্টারদের গুরুত্বপূর্ণ বাগ খুঁজে পেতে দেয় যা স্বয়ংক্রিয় টেস্ট থেকে বাঁচতে পারে। TestFlight এ রিলিজ ক্যান্ডিডেট (RC) বিল্ড পরিপক্ক iOS টিমের মানক অনুশীলন।
App Store এ রিলিজ সংস্করণ প্রকাশের পরে TestFlight বিল্ড স্বয়ংক্রিয়ভাবে নতুন ইনস্টলেশনের জন্য অনুপলব্ধ হয়ে যায়। টেস্টাররা যারা ইতিমধ্যে বিটা সংস্করণ ইনস্টল করেছে তারা রিলিজ প্রকাশের পরে 30 দিন পর্যন্ত এটি ব্যবহার চালিয়ে যেতে পারে, তারপরে অ্যাপ খোলা বন্ধ হয়ে যায়। নিশ্চিত করুন যে টেস্টাররা App Store সংস্করণে আপডেট করে।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
TestFlight Apple Developer Program ($99/বছর) সদস্যদের জন্য সম্পূর্ণ বিনামূল্যে। সার্ভিস ব্যবহারের জন্য কোনো অতিরিক্ত ফি নেওয়া হয় না, বিল্ড এবং টেস্টারের সংখ্যা যাই হোক না কেন। আপনি শুধুমাত্র Apple ডেভেলপার সাবস্ক্রিপশনের জন্য অর্থ প্রদান করেন — TestFlight ডিফল্টভাবে অন্তর্ভুক্ত।
না, TestFlight Apple ইকোসিস্টেমের একচেটিয়া সার্ভিস। Android এর জন্য একটি অনুরূপ টুল বিদ্যমান — Google Play Console যাতে Internal Testing এবং Open Testing ট্র্যাক রয়েছে। Android এ বিটা সংস্করণ প্রকাশের জন্য Firebase App Distribution এবং DeployGate ও ব্যবহৃত হয়।
আপলোডের পরে প্রথম বিল্ডের জন্য প্রক্রিয়াকরণে 15 মিনিট থেকে 2 ঘন্টা সময় লাগে। পরবর্তী বিল্ড দ্রুত প্রক্রিয়াকরণ হয় — সাধারণত 150 মিনিট। প্রক্রিয়াকরণের সময় Apple সার্ভার লোডের উপর নির্ভর করে। আপনি App Store Connect এর Activity বিভাগে অবস্থা ট্র্যাক করতে পারেন।
প্রতিটি বিল্ড আপলোডের মুহূর্ত থেকে 90 দিন পরীক্ষার জন্য উপলব্ধ। বিল্ডের সংখ্যা সীমাবদ্ধ নয়, কিন্তু একসাথে 30টির বেশি বিল্ড সক্রিয় থাকতে পারে না। পুরানো বিল্ড মেয়াদ শেষে বা সীমায় পৌঁছালে স্বয়ংক্রিয়ভাবে সরানো হয়।
TestFlight এর মাধ্যমে পরীক্ষায় অংশগ্রহণের জন্য Apple ID প্রয়োজন। বাহ্যিক টেস্টারদের ইমেল লিঙ্কের মাধ্যমে আমন্ত্রণ জানানো হয় — প্রথমবার লিঙ্ক খোলার সময়, সিস্টেম Apple ID তৈরি করতে অনুরোধ করবে যদি তাদের না থাকে। সামাজিক নেটওয়ার্ক বা ব্লগে বিতরণের জন্য একটি পাবলিক লিঙ্কও উপলব্ধ।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন