Device Farm হল একটি ক্লাউড সেবা যা স্বচালিত এবং ম্যানুয়াল অ্যাপ্লিকেশন পরীক্ষার জন্য শতাধিক বাস্তব মোবাইল ডিভাইসে রিমোট অ্যাক্সেস প্রদান করে। বিকাশকরা APK বা IPA আপলোড করেন, ডিভাইস কনফিগরেশন নির্বাচন করেন এবং ভৌতিক ডিভাইস না কিনেই সমান্তরালে পরীক্ষা চালান। Perfecto, 2025 রিপোর্ট অনুসারে, Device Farm ব্যবহারকারী দলগুলি স্থানীয় ডিভাইস ফার্মের তুলনায় রিগ্রেশন টেস্টিং সময় 73% হ্রাস করে।
মূখ্য বিষয়সমূহ
Device Farm হল মোবাইল অ্যাপ্লিকেশন পরীক্ষার জন্য একটি অবকাঠামো সমাধান যা ইন্টারনেটের মাধ্যমে ভৌতিক এবং ভার্চুয়াল ডিভাইসে রিমোট অ্যাক্সেস প্রদান করে। নিজস্ব ডিভাইস পরীক্ষাগার কিনতে এবং রক্ষায় রাখতে বর্তমানে, বিকাশকরা তৃতীয় পক্ষের ডিভাইসে সময় ভাড়া নেয়, শুধুমাত্র বাস্তবিক ব্যবহারের জন্য মূল্য পরিশোধ করে।
মোবাইল ডিভাইস বাজারে OpenSignal, 2025 অনুসারে 24,000এর উপর অনোখা Android স্মার্টফোন মডেল রয়েছে। পরীক্ষার জন্য সকল জনপ্রিয় মডেল ভৌতিকভাবে অর্জন করা অসম্ভব — এর জন্য লাক্ষ ডলারের বিনিয়োগ এবং নিরন্তর ফলিট আপডেট প্রয়োজন। Device Farm সদস্যতার আধারে সামপ্রতিক ডিভাইসে অ্যাক্সেস প্রদান করে এই সমস্যা সমাধান করে।
এমুলেটর এবং সিমুলেটর শুধুমাত্র 60–70% পরীক্ষা পরিদর্শন কাভার করে। সেন্সর, ক্যামেরা, GPS, ব্যাটারি লেভেল, দুর্বল হার্ডয়েরে কার্যক্ষমতা এবং ইনকামিং কলের সময় আচরণ পরীক্ষার জন্য বাস্তব ডিভাইস প্রয়োজন। Device Farm উভয় পদ্ধতি সম্মিলিত করে: দ্রুত স্মোক টেস্টের জন্য এমুলেটর এবং পূর্ণ যাচাইয়ের জন্য ভৌতিক ডিভাইস।
Device Farm স্টার্টআপের জন্য উপযুক্ত যারা তাদের প্রথম অ্যাপ্লিকেশন লৌন্চ করছে, নিয়মিত রিলিজ় সহ পরিপক্ব প্রডাক্ট দল এবং ডজন অ্যাপ্লিকেশন সহ এন্টারপ্রাইজ প্রকল্পয়ার জন্য। টার্গেট ডিভাইসের সংখ্যা এবং রিলিজ় ফ্রিক্যুন্সি বাড়ার সাথে মান বাড়ে — যত বেশি কনফিগরেশন পরীক্ষা করতে হবে, ক্লাউড মডেল তত বেশি ব্যয়-সাপেক্ষ হয়।
Device Farm এর সাথে একটি সাধারণ কাজের ধারা পাঁচটি পর্ব নিয়ে গঠিত: বিল্ড আপলোড, ডিভাইস নির্বাচন, টেস্ট কনফিগরেশন, চালানো এবং ফলাফল বিশ্লেষণ। প্রতিটি পর্ব API মাধ্যমে স্বচালিত হয়, যা Device Farm কে ম্যানুয়াল হস্তক্ষেপ ছাড়াই CI/CD পাইপলাইনে এম্বেড করতে দেয়।
বিকাশকর সঙ্কলিত APK (Android), AAB বা IPA (iOS) প্রদাতার ক্লাউড স্টোরেজে আপলোড করে। কিছু সেবা, যেমন Firebase Test Lab, সরাসরি Xcode বা Android Studio প্রকল্প গ্রহণ করে। ফাইলের আকার সীমিত: AWS Device Farm 200 MB পর্যন্ত সমর্থন করে, BrowserStack 500 MB পর্যন্ত।
টার্গেট মডেল এবং OS সংস্করণ ডিভাইস ক্যাটালগ থেকে নির্বাচন করা হয়। আধুনিক Device Farms গ্রুপিং সমর্থন করে: «সকল ফ্লেগশিপ 2024–2025» বা «ব্যাকড্রোট Android সহ Android 13–14।» সমান্তরাল চালন একটি পরীক্ষা 10–50টি ডিভাইসে যুগপদ্বে চালানোর অনুমতি দেয়, মোট সময় মিনিটে নামিয়ে আনে।
পরীক্ষাগুলি প্রদাতার ডেটা সেন্টারে বাস্তব ডিভাইসে চালিত হয়। বিকাশকর একটি রিয়াল-টাইম ওয়েব কনসোলের মাধ্যমে অগ্রগতি নিরীক্ষণ করে: লগ, স্ক্রিনশাট এবং পরীক্ষা রান ভিডিও। যখন একটি পরীক্ষা ব্যর্থ হয়, Device Farm একটি স্ক্রিনশাট নেয় এবং রোগ নির্ণয়ের জন্য একটি ক্র্যাশ লগ সঙ্গ্রহ করে।
// Jenkinsfile-এ Device Farm কনফিগারেশনের উদাহরণ
pipeline {
agent any
stages {
stage('Build') {
steps {
sh './gradlew assembleDebug'
}
}
stage('Device Farm Tests') {
steps {
sh '''aws device-farm schedule-run
--project-arn arn:aws:devicefarm:us-west-2:123:project:1
--app-arn arn:aws:devicefarm:us-west-2:123:app:1
--device-pool-arn arn:aws:devicefarm:us-west-2:123:pool:1
--test-arn arn:aws:devicefarm:us-west-2:123:test:1'''
}
}
}
}
আধুনিক Device Farms শুধুমাত্র পরীক্ষা চালানোই নয়, বরং রোগ নির্ণয়, কার্যক্ষমতা নিরীক্ষণ এবং অন্যান্য বিকাশ সেবার সাথে ইন্টিগ্রেশনের জন্য সহায়ক টুল এবং প্রদান করে। প্রদাতাদের মধ্যে ফিচার সেট ভিন্ন হয়, কিন্তু মূল একই থাকে।
সকল প্রধান ফ্রেমওয়ার্ক সমর্থিত: Android-এর জন্য Espresso এবং UI Automator, iOS-এর জন্য XCTest এবং XCUITest, ক্রস-প্লেটফর্ম প্রকল্পের জন্য Appium এবং Calabash। Device Farm কোড সংশোধন ছাড়াই পরীক্ষা চালায় — কনফিগরেশনের সময় কেবল পরীক্ষা ফ্রেমওয়ার্ক নির্দিষ্ট করুন।
বিকাশকর একটি ব্রাউজারের মাধ্যমে একটি বাস্তব ডিভাইসে রিমোট অ্যাক্সেস পায়: স্পার্শ, স্যাইপ, স্ক্রিন ঘূর্ণন, বাটন চাপ — সকল কার্যকলাপ রিয়াল-টাইমে প্রেরণ করা হয়। ইন্টার্যাক্টিভ মোড স্বচালিত পরীক্ষা দ্বারা আবৃত না করা দুর্লভ বাগ পুনরুৎপাদনের জন্য অপরিহার্য। AWS Device Farm অতিরিক্ত খরচ ছাড়াই 60 মিনিট পর্যন্ত ম্যানুয়াল সেশন প্রদান করে।
প্রতিটি রানের পর, Device Farm একটি রিপোর্ট তৈরি করে: পরীক্ষার ভিডিও রিকর্ডিং, ধাপে ধাপে স্ক্রিনশাট, ডিভাইস লগ (Android-এর জন্য logcat, iOS-এর জন্য syslog), কার্যক্ষমতা তথ্য (CPU, মেমরি, নেটওয়ার্ক) এবং ক্র্যাশ স্ট্যাক। এই তথ্য একটি স্থানীয় ডিভাইসে পুনরুৎপাদন ছাড়াই সমস্যাগুলি স্থানীয় করতে সাহায্য করে।
সকল প্রধান Device Farms Jenkins, GitLab CI, GitHub Actions এবং CircleCI-এর জন্য প্লাগইন প্রদান করে। ওয়েবহুক বিজ্ঞপ্তি স্ল্যাক, টেলিগ্রাম বা ইমেইলের মাধ্যমে দলকে পরীক্ষার ফলাফল সম্পর্কে সাবধান করে। নিরন্তর ডেলিভারি অভ্যাসকারী দলের জন্য CI/CD ইন্টিগ্রেশন সেটআপ একটি মানক অভ্যাস।
| বৈশিষ্ট্য | AWS Device Farm | BrowserStack | Firebase Test Lab |
|---|---|---|---|
| ভৌতিক ডিভাইস | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| এমুলেটর | হ্যাঁ | হ্যাঁ | হ্যাঁ |
| ম্যানুয়াল টেস্টিং | হ্যাঁ | হ্যাঁ | না |
| বাগ স্থানীয়করণ | ভিডিও + লগ | ভিডিও + লগ | শুধু লগ |
| বিনামূল্যে সীমা | 1000 মিনিট/মাস | 60 মিনিট ট্রায়াল | Firebase-এ পরীক্ষা বিনামূল্যে |
Device Farm বাজার তিনটি প্রধান বিভাগে প্রকাশ করা হয়েছে: সাধারণ উদ্দেশ্যের ক্লাউড প্রদাতা (AWS), বিশেষায়িত পরীক্ষা সেবা (BrowserStack) এবং প্লেটফর্ম ইকোসিস্টেম টুল (Firebase)। পছন্দ প্রযুক্তি স্ট্যাক এবং দলের বায়বেটের উপর নির্ভর করে।
Amazon Web Services ইকোসিস্টেমের সাথে সংযুক্ত। যারা ইতিমধ্যেই হোস্টিং এবং CI/CD-এর জন্য AWS ব্যবহার করছেন, তারা একটি একক চুক্তি এবং CodePipeline এবং CodeBuild-এর সাথে সহজ ইন্টিগ্রেশন পান। AWS Device Farm ভৌতিক ডিভাইস এবং এমুলেটরে Android, iOS এবং ওয়েব অ্যাপ্লিকেশন পরীক্ষা সমর্থন করে।
3,000এর উপর বাস্তব ডিভাইসের একটি মুলের সাথে সবচেয়ে বড় স্বাধীন প্রদাতা। BrowserStack তার ব্যবহারকারী-বান্ধব ওয়েব ইন্টারফেসের জন্য পরিচিত, দ্রুত ডিভাইস প্রস্তুতি (10–15 সেকেন্ড) এবং জটিল কনফিগরেশন ছাড়াই Appium সমর্থন। সেবাটি একটি নতুন মডেল লৌন্চের এক সপ্তাহের মধ্যে স্বচালিতভাবে তার ডিভাইস মুল আপডেট করে।
সীমিত iOS পরীক্ষা সমর্থন সহ Android অ্যাপ্লিকেশনের জন্য Google এর একটি বিনামূল্যে সেবা। Firebase Test Lab বিশেষ করে স্টার্টআপের জন্য আকর্ষণীয়: বেসিক পরীক্ষা পরিদর্শন সদস্যতা ছাড়াই উপলব্ধ। Firebase Console এবং Crashlytics-এর সাথে ইন্টিগ্রেশন পরীক্ষা ব্যর্থতাগুলিকে প্রডাক্শনের বাস্তব ক্র্যাশের সাথে সংযুক্ত করতে দেয়।
বাজারে অন্তর্ভুক্ত রয়েছে: Samsung Remote Test Lab (Samsung ডিভাইসে বিনামূল্যে অ্যাক্সেস), Kobiton (on-premise ডিপ্লোয়মেন্ট সহ এন্টারপ্রাইজ-প্রবেশী), Perfecto (Perforce দ্বারা অক্কিয়ুজিত, আর্থিক খাতে কেন্দ্রিত) এবং Sauce Labs (সবচেয়ে পুরানো সেবাগুলির একটি, এখন Tricentis-এর অংশ)।
আসুন একটি Android অ্যাপ্লিকেশনের জন্য কমান্ড লাইনের সাথে Firebase Test Lab-এর ইন্টিগ্রেশন দেখি। Firebase Test Lab gcloud CLI-এর মাধ্যমে পরীক্ষা চালায়, যা অতিরিক্ত প্লাগইন ছাড়াই যে কোনো CI পাইপলাইনে ইন্টিগ্রেশনের অনুমতি দেয়। উদাহরণটি তিনটি ডিভাইসে একটি সর্বনিম্ন স্মোক পরীক্ষা কনফিগরেশন প্রদর্শন করে।
# gcloud CLI ইনস্টল এবং অথরাইজেশন
gcloud auth login
gcloud config set project my-android-app
# Firebase Test Lab-এ APK আপলোড
gcloud firebase test android run \
--app app-debug.apk \
--test app-debug-test.apk \
--type instrumentation \
--device model=Pixel7,version=34 \
--device model=SamsungS23,version=33 \
--device model=OnePlus12,version=34 \
--timeout 30m \
--results-bucket gs://my-app-test-results
কমান্ডটি দুটি ফাইল আপলোড করে: বিল্ড নিজে এবং Espresso ইন্স্ট্রুমেন্টেশন পরীক্ষা সহ পরীক্ষা APK। Firebase Test Lab স্বচালিতভাবে প্রতিটি মডেলের জন্য সর্বশেষ উপলব্ধ OS সংস্করণ নির্বাচন করে যদি সংস্করণ স্পষ্টভাবে উল্লেখ না করা হয়। ফলাফল ব্রাউজারে দেখার জন্য XML এবং HTML ফর্ম্যাটে Google Cloud Storage-এ সংরক্ষিত হয়।
প্রতিটি পুশে স্বচালিত চালানোর জন্য, GitHub Actions ব্যবহার করুন। ওয়ার্কফ্লো অ্যাপ্লিকেশন তৈরি করে, Firebase Test Lab চালায় এবং যাচাই স্থিতি ফেরত দেয়।
name: Android CI with Device Farm
on: [push]
jobs:
test-on-devices:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- run: ./gradlew assembleDebug assembleDebugAndroidTest
- uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_SA_KEY }}
- run: gcloud firebase test android run
--app app/build/outputs/apk/debug/app-debug.apk
--test app/build/outputs/apk/androidTest/debug/app-debug-test.apk
--device model=Pixel8,version=35
Device Farmএর খরচ বেশ কিছু পারামিটারের উপর নির্ভর করে: সমান্তরাল সেশনের সংখ্যা, ডিভাইসের ধরন (ভৌতিক বা এমুলেটর), পরীক্ষার মেয়াদ এবং অতিরিক্ত বৈশিষ্ট্য। স্কেলিংয়ের সময় অপ্রত্যাশিত ব্যয় এড়াতে প্রদাতা নির্বাচনের পূর্বে খরচ গঠন বোঝা গুরুত্বপূর্ণ।
অধিকাংশ প্রদাতা ডিভাইসের বাস্তবিক ব্যবহার সময়ের জন্য চার্জ করে। ভৌতিক ডিভাইস এমুলেটরের চেয়ে 2–5 গুণ বেশি খরচ হয়। AWS Device Farm নতুন অকাউন্টের জন্য প্রতি মাসে 1000 বিনামূল্যে মিনিট অফার করে, BrowserStack — 60 মিনিট ট্রায়াল সময়। একটি ভৌতিক Android ডিভাইসে প্রতি মিনিট গড় খরচ $0.05–0.17।
নিয়মিত পরীক্ষার জন্য, একটি নির্দিষ্ট সদস্যতা আরও ব্যয়-সাপেক্ষ। BrowserStack ভৌতিক ডিভাইসে অসীমিত মিনিট সহ 3 ব্যবহারকারীর জন্য $299/মাসে Team প্লান অফার করে। AWS Device Farm-এর কোনো ফ্ল্যাট সদস্যতা নেই — প্রতি মিনিট পেয়মেন্ট, যা অনিয়মিত কাজের চাপের জন্য সুবিধাজনক কিন্তু নির্বিশেষ ব্যবহারে আরও ব্যয়বহুল।
বায়বেট করার সময়, এগুলি বিবেচনা করুন: পরীক্ষা আর্টিফ্যাক্ট (ভিডিও, স্ক্রিনশাট, লগ) এর সংরক্ষণ — AWS Device Farm অতিরিক্ত খরচ ছাড়াই 90 দিন পর্যন্ত ফলাফল সংরক্ষণ করে, BrowserStack 30 দিন পর্যন্ত; বড় APK/IPA ফাইল আপলোড করার সময় নেটওয়ার্ক ট্রাফিক; সমান্তরাল সেশনের সংখ্যা — সমান্তরালতা বাড়ানোর জন্য আরও ব্যয়বহুল প্লানের প্রয়োজন হতে পারে।
বার্বার জিজ্ঞাসিত প্রশ্ন
এমুলেটর আপনার কম্পিউটারে প্রোগ্রামেটিকালি একটি ডিভাইস অনুকরণ করে, যখন Device Farm একটি বাস্তব ভৌতিক ডিভাইসে আসল ফার্মওয়ার, প্রোসেসর এবং সেন্সর সহ অ্যাক্সেস প্রদান করে। শুধুমাত্র একটি বাস্তব ডিভাইসে আপি ক্যামেরা, GPS, কেসের তাপমাত্রা এবং ক্যারিয়ার নেটওয়ার্কের সাথে মিথস্থাপনা পরীক্ষা করতে পারেন।
হ্যাঁ, সকল প্রধান প্রদাতা iOS সমর্থন করে। পরীক্ষার জন্য একটি ডিভেলপমেন্ট সার্টিফিকেট সহ তৈরি IPA ফাইল প্রয়োজন। BrowserStack এবং AWS Device Farm ভৌতিক iPhone এবং iPad প্রদান করে, যখন Firebase Test Lab ডেটা সেন্টারে macOS সিমুলেটরের মাধ্যমে iOS সমর্থন করে।
Jenkins প্লাগইনের (যেমন AWS Device Farm Plugin) বা বিল্ড পর্বে চালিত CLI কমান্ডের মাধ্যমে সংযুক্ত হয়। প্লাগইন স্বচালিতভাবে বিল্ড আর্টিফ্যাক্ট আপলোড করে, নির্বাচিত ডিভাইসে পরীক্ষা চালায় এবং Jenkins পাইপলাইনে ফলাফল ফেরত দেয়।
স্টার্টআপের জন্য, Firebase Test Lab সবচেয়ে উপযুক্ত — বেসিক বৈশিষ্ট্য বিনামূল্যে, এবং Android Studio ইন্টিগ্রেশন আগে থেকেই কাজ করে। iOS প্রকল্পের জন্য, BrowserStack 60 মিনিট বিনামূল্যে পরীক্ষা প্রদান করে। দল বাড়ার সাথে সাথে, তারা একটি পূর্ণ ডিভাইস মুল সহ পাইড সদস্যতায় পরিবর্তন করে।
প্রধান প্রদাতারা SOC 2 সার্টিফিকেশন মেনে চলে এবং ডেটা প্রেরণ এবং সংরক্ষণে এনক্রিপ্ট করে। AWS Device Farm পৃথক AWS অকাউন্টের মধ্যে কাজ করে, BrowserStack প্রতিটি সেশনের জন্য এক-বার-ব্যবহার্য় ডিভাইস ব্যবহার করে। সংবেদনশীল তথ্য (API কুঞ্চিগুলি) বিল্ড কনফিগে বাহর রাখার পরামর্শ করা হয়।
সারাংশ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন