Device Farm — این یک سرویس ابری است که دسترسی از راه دور به صدها دستگاه واقعی موبایل برای تست خودکار و دستی برنامهها فراهم میکند. توسعهدهندگان APK یا IPA را بارگذاری میکنند، پیکربندی دستگاهها را انتخاب میکنند و تستها را به صورت موازی بدون خرید دستگاههای فیزیکی اجرا میکنند. طبق گزارش Perfecto, 2025، تیمهایی که از Device Farm استفاده میکنند زمان تست رگرسیون را تا 73% در مقایسه با مزرعههای محلی دستگاه کاهش میدهند.
نکات اصلی
Device Farm — یک راهحل زیرساختی برای تست برنامههای موبایل است که دسترسی از راه دور به دستگاههای فیزیکی و مجازی را از طریق اینترنت فراهم میکند. برخلاف خرید و نگهداری آزمایشگاه دستگاه شخصی، توسعهدهندگان زمان روی دستگاههای دیگران اجاره میکنند و فقط برای استفاده واقعی پرداخت میکنند.
بازار دستگاههای موبایل بیش از 24,000 مدل منحصر به فرد گوشی هوشمند اندرویدی را بر اساس OpenSignal, 2025 شامل میشود. خرید فیزیکی تمام مدلهای محبوب برای تست غیرممکن است — این کار به میلیونها دلار سرمایهگذاری و بهروزرسانی مداوم ناوگان نیاز دارد. Device Farm این مشکل را حل میکند و دسترسی به دستگاههای بهروز را با اشتراک فراهم میکند.
شبیهسازها فقط 60–70% سناریوهای تست را پوشش میدهند. دستگاههای واقعی برای بررسی سنسورها، دوربین، GPS، سطح باتری، عملکرد روی سختافزار ضعیف و رفتار در هنگام تماسهای دریافتی ضروری هستند. Device Farm هر دو رویکرد را ترکیب میکند: شبیهسازها برای تستهای سریع smoke و دستگاههای فیزیکی برای تأیید کامل.
Device Farm برای استارتآپهایی که اولین برنامه خود را منتشر میکنند، تیمهای محصول بالغ با انتشار منظم و پروژههای enterprise با دهها برنامه مناسب است. مقرونبهصرفه بودن استفاده با افزایش تعداد دستگاههای هدف و دفعات انتشار افزایش مییابد — هرچه پیکربندیهای بیشتری نیاز به بررسی داشته باشد، مدل ابری سودآورتر است.
سناریوی معمول کار با 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 را پشتیبانی میکند.
مدلهای هدف و نسخههای سیستم عامل از کاتالوگ دستگاه انتخاب میشوند. Device Farm مدرن گروهبندی را پشتیبانی میکند: «همه پرچمداران 2024–2025» یا »اندرویدهای اقتصادی با اندروید 13–14«. اجرای موازی امکان اجرای یک تست را همزمان روی 10–50 دستگاه فراهم میکند و زمان کل را به دقایق کاهش میدهد.
تستها روی دستگاههای واقعی در مراکز داده ارائهدهنده اجرا میشوند. توسعهدهنده پیشرفت را از طریق کنسول وب در زمان واقعی مشاهده میکند: لاگها، اسکرینشاتها، ویدئوی اجرای تست. در صورت شکست تست، Device Farm اسکرینشات میگیرد و لاگ crash را برای تشخیص جمعآوری میکند.
// مثال پیکربندی Device Farm در Jenkinsfile
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 Farm مدرن نه تنها اجرای تستها، بلکه ابزارهای جانبی برای تشخیص، نظارت بر عملکرد و یکپارچهسازی با سایر سرویسهای توسعه را فراهم میکند. مجموعه قابلیتها بین ارائهدهندگان متفاوت است، اما هسته مشترک باقی میماند.
همه فریمورکهای اصلی پشتیبانی میشوند: Espresso و UI Automator برای Android، XCTest و XCUITest برای iOS، Appium و Calabash برای پروژههای چندسکویی. Device Farm تستها را بدون تغییر کد اجرا میکند — فقط کافی است فریمورک تست را هنگام پیکربندی مشخص کنید.
توسعهدهنده از طریق مرورگر به دستگاه واقعی دسترسی از راه دور پیدا میکند: لمسها، کشیدنها، چرخش صفحه، فشار دادن دکمهها — همه اقدامات در زمان واقعی منتقل میشوند. حالت تعاملی برای بازتولید باگهای نادری که توسط تستهای خودکار پوشش داده نمیشوند ضروری است. AWS Device Farm تا 60 دقیقه جلسه دستی بدون هزینه اضافی ارائه میدهد.
پس از هر اجرا Device Farm گزارشی تولید میکند: فیلم ضبط شده تست، اسکرینشاتهای گام به گام، لاگهای دستگاه (logcat برای Android، syslog برای iOS)، دادههای عملکرد (CPU، حافظه، شبکه) و stack crash. این دادهها به مکانیابی مشکل بدون بازتولید روی دستگاه محلی کمک میکنند.
همه ارائهدهندگان بزرگ Device Farm پلاگینهایی برای Jenkins، GitLab CI، GitHub Actions و CircleCI ارائه میدهند. اعلانهای Webhook تیم را از نتایج تست در Slack، Telegram یا ایمیل مطلع میکنند. پیکربندی یکپارچهسازی CI/CD یک رویه استاندارد برای تیمهایی است که تحویل مداوم را انجام میدهند.
| قابلیت | AWS Device Farm | BrowserStack | Firebase Test Lab |
|---|---|---|---|
| دستگاههای فیزیکی | بله | بله | بله |
| شبیهسازها | بله | بله | بله |
| تست دستی | بله | بله | خیر |
| مکانیابی باگ | ویدئو + لاگها | ویدئو + لاگها | فقط لاگها |
| محدودیت رایگان | 1000 دقیقه/ماه | 60 دقیقه آزمایشی | تست در Firebase — رایگان |
بازار Device Farm با سه دسته اصلی نمایش داده میشود: ارائهدهندگان ابری عمومی (AWS)، سرویسهای تخصصی تست (BrowserStack) و ابزارهای داخل اکوسیستم پلتفرم (Firebase). انتخاب به پشته فناوری و بودجه تیم بستگی دارد.
با اکوسیستم Amazon Web Services یکپارچه شده است. توسعهدهندگانی که از قبل از AWS برای میزبانی و CI/CD استفاده میکنند یک قرارداد واحد و یکپارچهسازی بیدردسر با CodePipeline و CodeBuild دریافت میکنند. AWS Device Farm از تست برنامههای Android، iOS و وب روی دستگاههای فیزیکی و شبیهسازها پشتیبانی میکند.
بزرگترین ارائهدهنده مستقل با ناوگانی بیش از 3,000 دستگاه واقعی. BrowserStack به دلیل رابط وب راحت، سرعت ارائه دستگاه (10–15 ثانیه) و پشتیبانی از Appium بدون پیکربندی پیچیده شناخته شده است. این سرویس به طور خودکار ناوگان دستگاه را ظرف یک هفته پس از عرضه مدل جدید بهروزرسانی میکند.
سرویس رایگان از Google برای برنامههای Android با قابلیت تست iOS (محدود). Firebase Test Lab به ویژه برای استارتآپها جذاب است: سناریوهای پایه تست بدون اشتراک در دسترس هستند. یکپارچهسازی با Firebase Console و Crashlytics امکان ارتباط شکست تستها با crashهای واقعی در تولید را فراهم میکند.
در بازار Samsung Remote Test Lab (دسترسی رایگان به دستگاههای سامسونگ)، Kobiton (متمرکز بر enterprise با استقرار on-premise)، Perfecto (توسط Perforce خریداری شده، تمرکز بر بخش مالی) و Sauce Labs (یکی از قدیمیترین سرویسها، اکنون بخشی از Tricentis) حضور دارند.
یکپارچهسازی Firebase Test Lab با خط فرمان برای برنامه Android را بررسی میکنیم. Firebase Test Lab تستها را از طریق gcloud CLI اجرا میکند که امکان جاسازی اجرا در هر خط لوله CI را بدون پلاگینهای اضافی فراهم میکند. مثال یک پیکربندی حداقلی تست smoke روی سه دستگاه را نشان میدهد.
# نصب gcloud CLI و احراز هویت
gcloud auth login
gcloud config set project my-android-app
# بارگذاری APK در Firebase Test Lab
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
دستور دو فایل را بارگذاری میکند: خود بیلد و APK تست با تستهای ابزاری Espresso. Firebase Test Lab به طور خودکار آخرین نسخه موجود سیستم عامل را برای هر مدل انتخاب میکند، اگر version به صراحت مشخص نشده باشد. نتایج در Google Cloud Storage با فرمت XML و HTML برای مشاهده در مرورگر ذخیره میشوند.
برای اجرای خودکار با هر push از GitHub Actions استفاده میشود. Workflow برنامه را میسازد، 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 طرح Team را با 299 دلار در ماه برای 3 کاربر با دقایق نامحدود روی دستگاههای فیزیکی ارائه میدهد. AWS Device Farm اشتراک ثابت ندارد — پرداخت به ازای هر دقیقه است که برای بار کاری نامنظم راحت است اما برای استفاده فشرده گرانتر است.
هنگام محاسبه بودجه موارد زیر را در نظر بگیرید: ذخیرهسازی مصنوعات تست (ویدئو، اسکرینشاتها، لاگها) — AWS Device Farm نتایج را تا 90 روز بدون هزینه اضافی ذخیره میکند، BrowserStack — تا 30 روز؛ ترافیک شبکه هنگام بارگذاری APK/IPA بزرگ؛ تعداد جلسات موازی — افزایش موازیسازی ممکن است به طرح گرانتری نیاز داشته باشد.
سؤالات متداول
شبیهساز دستگاه را به صورت نرمافزاری روی کامپیوتر شما شبیهسازی میکند، در حالی که Device Farm دسترسی به یک دستگاه فیزیکی واقعی با فریمور اصلی، پردازنده و سنسورها فراهم میکند. فقط روی دستگاه واقعی میتوان دوربین، GPS، دمای بدنه و تعامل با شبکه اپراتور را بررسی کرد.
بله، همه ارائهدهندگان بزرگ iOS را پشتیبانی میکنند. برای تست فایل IPA ساخته شده با گواهی development مورد نیاز است. BrowserStack و AWS Device Farm آیفون و آیپد فیزیکی ارائه میدهند، Firebase Test Lab iOS را از طریق شبیهسازهای macOS در مرکز داده پشتیبانی میکند.
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 را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید