Device Farm: چیست، سرویس‌های ابری و دستگاه‌های واقعی

نویسنده: IT Sectr منتشر شده: 2026-04-11 زمان مطالعه: 9 دقیقه

Device Farm — این یک سرویس ابری است که دسترسی از راه دور به صدها دستگاه واقعی موبایل برای تست خودکار و دستی برنامه‌ها فراهم می‌کند. توسعه‌دهندگان APK یا IPA را بارگذاری می‌کنند، پیکربندی دستگاه‌ها را انتخاب می‌کنند و تست‌ها را به صورت موازی بدون خرید دستگاه‌های فیزیکی اجرا می‌کنند. طبق گزارش Perfecto, 2025، تیم‌هایی که از Device Farm استفاده می‌کنند زمان تست رگرسیون را تا 73% در مقایسه با مزرعه‌های محلی دستگاه کاهش می‌دهند.

نکات اصلی

  • Device Farm — مزرعه ابری دستگاه‌های واقعی موبایل که با اشتراک در دسترس است
  • اجرای موازی تست‌ها روی چندین دستگاه زمان بررسی را از روزها به ساعت‌ها کاهش می‌دهد
  • AWS Device Farm، BrowserStack و Firebase Test Lab — سه ارائه‌دهنده بزرگ
  • تست بین مرورگری روی شبیه‌سازها پشتیبانی می‌شود
  • یکپارچه‌سازی CI/CD امکان اجرای خودکار تست‌ها روی Device Farm را با هر commit فراهم می‌کند

Device Farm چیست

Device Farm — یک راه‌حل زیرساختی برای تست برنامه‌های موبایل است که دسترسی از راه دور به دستگاه‌های فیزیکی و مجازی را از طریق اینترنت فراهم می‌کند. برخلاف خرید و نگهداری آزمایشگاه دستگاه شخصی، توسعه‌دهندگان زمان روی دستگاه‌های دیگران اجاره می‌کنند و فقط برای استفاده واقعی پرداخت می‌کنند.

چرا Device Farm لازم است

بازار دستگاه‌های موبایل بیش از 24,000 مدل منحصر به فرد گوشی هوشمند اندرویدی را بر اساس OpenSignal, 2025 شامل می‌شود. خرید فیزیکی تمام مدل‌های محبوب برای تست غیرممکن است — این کار به میلیون‌ها دلار سرمایه‌گذاری و به‌روزرسانی مداوم ناوگان نیاز دارد. Device Farm این مشکل را حل می‌کند و دسترسی به دستگاه‌های به‌روز را با اشتراک فراهم می‌کند.

دستگاه‌های فیزیکی در مقابل شبیه‌سازها

شبیه‌سازها فقط 60–70% سناریوهای تست را پوشش می‌دهند. دستگاه‌های واقعی برای بررسی سنسورها، دوربین، GPS، سطح باتری، عملکرد روی سخت‌افزار ضعیف و رفتار در هنگام تماس‌های دریافتی ضروری هستند. Device Farm هر دو رویکرد را ترکیب می‌کند: شبیه‌سازها برای تست‌های سریع smoke و دستگاه‌های فیزیکی برای تأیید کامل.

Device Farm برای چه کسانی مناسب است

Device Farm برای استارت‌آپ‌هایی که اولین برنامه خود را منتشر می‌کنند، تیم‌های محصول بالغ با انتشار منظم و پروژه‌های enterprise با ده‌ها برنامه مناسب است. مقرون‌به‌صرفه بودن استفاده با افزایش تعداد دستگاه‌های هدف و دفعات انتشار افزایش می‌یابد — هرچه پیکربندی‌های بیشتری نیاز به بررسی داشته باشد، مدل ابری سودآورتر است.

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 را پشتیبانی می‌کند.

انتخاب پیکربندی‌ها

مدل‌های هدف و نسخه‌های سیستم عامل از کاتالوگ دستگاه انتخاب می‌شوند. Device Farm مدرن گروه‌بندی را پشتیبانی می‌کند: «همه پرچمداران 2024–2025» یا »اندرویدهای اقتصادی با اندروید 13–14«. اجرای موازی امکان اجرای یک تست را همزمان روی 10–50 دستگاه فراهم می‌کند و زمان کل را به دقایق کاهش می‌دهد.

اجرا و نظارت

تست‌ها روی دستگاه‌های واقعی در مراکز داده ارائه‌دهنده اجرا می‌شوند. توسعه‌دهنده پیشرفت را از طریق کنسول وب در زمان واقعی مشاهده می‌کند: لاگ‌ها، اسکرین‌شات‌ها، ویدئوی اجرای تست. در صورت شکست تست، Device Farm اسکرین‌شات می‌گیرد و لاگ crash را برای تشخیص جمع‌آوری می‌کند.

groovy
// مثال پیکربندی 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

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. این داده‌ها به مکان‌یابی مشکل بدون بازتولید روی دستگاه محلی کمک می‌کنند.

یکپارچه‌سازی CI/CD

همه ارائه‌دهندگان بزرگ Device Farm پلاگین‌هایی برای Jenkins، GitLab CI، GitHub Actions و CircleCI ارائه می‌دهند. اعلان‌های Webhook تیم را از نتایج تست در Slack، Telegram یا ایمیل مطلع می‌کنند. پیکربندی یکپارچه‌سازی CI/CD یک رویه استاندارد برای تیم‌هایی است که تحویل مداوم را انجام می‌دهند.

قابلیتAWS Device FarmBrowserStackFirebase Test Lab
دستگاه‌های فیزیکیبلهبلهبله
شبیه‌سازهابلهبلهبله
تست دستیبلهبلهخیر
مکان‌یابی باگویدئو + لاگ‌هاویدئو + لاگ‌هافقط لاگ‌ها
محدودیت رایگان1000 دقیقه/ماه60 دقیقه آزمایشیتست در Firebase — رایگان

بازار Device Farm با سه دسته اصلی نمایش داده می‌شود: ارائه‌دهندگان ابری عمومی (AWS)، سرویس‌های تخصصی تست (BrowserStack) و ابزارهای داخل اکوسیستم پلتفرم (Firebase). انتخاب به پشته فناوری و بودجه تیم بستگی دارد.

AWS Device Farm

با اکوسیستم Amazon Web Services یکپارچه شده است. توسعه‌دهندگانی که از قبل از AWS برای میزبانی و CI/CD استفاده می‌کنند یک قرارداد واحد و یکپارچه‌سازی بی‌دردسر با CodePipeline و CodeBuild دریافت می‌کنند. AWS Device Farm از تست برنامه‌های Android، iOS و وب روی دستگاه‌های فیزیکی و شبیه‌سازها پشتیبانی می‌کند.

BrowserStack App Automate

بزرگترین ارائه‌دهنده مستقل با ناوگانی بیش از 3,000 دستگاه واقعی. BrowserStack به دلیل رابط وب راحت، سرعت ارائه دستگاه (10–15 ثانیه) و پشتیبانی از Appium بدون پیکربندی پیچیده شناخته شده است. این سرویس به طور خودکار ناوگان دستگاه را ظرف یک هفته پس از عرضه مدل جدید به‌روزرسانی می‌کند.

Firebase Test Lab

سرویس رایگان از Google برای برنامه‌های Android با قابلیت تست iOS (محدود). Firebase Test Lab به ویژه برای استارت‌آپ‌ها جذاب است: سناریوهای پایه تست بدون اشتراک در دسترس هستند. یکپارچه‌سازی با Firebase Console و Crashlytics امکان ارتباط شکست تست‌ها با crashهای واقعی در تولید را فراهم می‌کند.

سایر ارائه‌دهندگان

در بازار Samsung Remote Test Lab (دسترسی رایگان به دستگاه‌های سامسونگ)، Kobiton (متمرکز بر enterprise با استقرار on-premise)، Perfecto (توسط Perforce خریداری شده، تمرکز بر بخش مالی) و Sauce Labs (یکی از قدیمی‌ترین سرویس‌ها، اکنون بخشی از Tricentis) حضور دارند.

نمونه اجرای تست روی Device Farm

یکپارچه‌سازی Firebase Test Lab با خط فرمان برای برنامه Android را بررسی می‌کنیم. Firebase Test Lab تست‌ها را از طریق gcloud CLI اجرا می‌کند که امکان جاسازی اجرا در هر خط لوله CI را بدون پلاگین‌های اضافی فراهم می‌کند. مثال یک پیکربندی حداقلی تست smoke روی سه دستگاه را نشان می‌دهد.

bash
# نصب 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 برای مشاهده در مرورگر ذخیره می‌شوند.

یکپارچه‌سازی با GitHub Actions

برای اجرای خودکار با هر push از GitHub Actions استفاده می‌شود. Workflow برنامه را می‌سازد، Firebase Test Lab را اجرا می‌کند و وضعیت بررسی را برمی‌گرداند.

yaml
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

هزینه 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 چه تفاوتی با شبیه‌ساز معمولی دارد؟

شبیه‌ساز دستگاه را به صورت نرم‌افزاری روی کامپیوتر شما شبیه‌سازی می‌کند، در حالی که Device Farm دسترسی به یک دستگاه فیزیکی واقعی با فریمور اصلی، پردازنده و سنسورها فراهم می‌کند. فقط روی دستگاه واقعی می‌توان دوربین، GPS، دمای بدنه و تعامل با شبکه اپراتور را بررسی کرد.

آیا می‌توان از Device Farm برای برنامه‌های iOS استفاده کرد؟

بله، همه ارائه‌دهندگان بزرگ iOS را پشتیبانی می‌کنند. برای تست فایل IPA ساخته شده با گواهی development مورد نیاز است. BrowserStack و AWS Device Farm آیفون و آیپد فیزیکی ارائه می‌دهند، Firebase Test Lab iOS را از طریق شبیه‌سازهای macOS در مرکز داده پشتیبانی می‌کند.

Device Farm چگونه با Jenkins یکپارچه می‌شود؟

Jenkins از طریق پلاگین‌ها (مثلاً AWS Device Farm Plugin) یا دستورات CLI که در مرحله ساخت اجرا می‌شوند یکپارچه می‌شود. پلاگین به طور خودکار مصنوعات ساخت را بارگذاری می‌کند، تست‌ها را روی دستگاه‌های انتخاب شده اجرا می‌کند و نتیجه را به خط لوله Jenkins برمی‌گرداند.

کدام Device Farm را برای استارت‌آپ انتخاب کنیم؟

برای استارت‌آپ Firebase Test Lab بهینه است — قابلیت‌های پایه رایگان هستند، یکپارچه‌سازی با Android Studio خارج از جعبه کار می‌کند. برای پروژه‌های iOS، BrowserStack 60 دقیقه تست رایگان ارائه می‌دهد. با رشد تیم، به اشتراک‌های پولی با ناوگان کامل دستگاه منتقل می‌شوند.

آیا بارگذاری برنامه در Device Farm امن است؟

ارائه‌دهندگان بزرگ از گواهینامه SOC 2 پیروی می‌کنند و داده‌ها را در هنگام انتقال و ذخیره رمزگذاری می‌کنند. AWS Device Farm در حساب‌های ایزوله AWS کار می‌کند، BrowserStack از دستگاه‌های یک‌بار مصرف برای هر جلسه استفاده می‌کند. داده‌های محرمانه (کلیدهای API) توصیه می‌شود در پیکربندی ساخت قرار گیرند.

نتایج

  • Device Farm — زیرساخت ابری برای تست روی دستگاه‌های واقعی که جایگزین آزمایشگاه فیزیکی می‌شود
  • اجرای موازی تست‌ها روی ده‌ها دستگاه زمان تست رگرسیون را از روزها به 1–2 ساعت کاهش می‌دهد
  • AWS Device Farm، BrowserStack و Firebase Test Lab — سه ارائه‌دهنده اصلی با مدل‌های مختلف قیمت‌گذاری
  • دستگاه‌های فیزیکی برای بررسی سنسورها، عملکرد و تعامل با سیستم عامل ضروری هستند
  • یکپارچه‌سازی CI/CD Device Farm با Jenkins، GitHub Actions و GitLab CI تست خودکار را در هر commit تضمین می‌کند
  • انتخاب ارائه‌دهنده به پشته فناوری بستگی دارد: Firebase برای Android راحت است، BrowserStack برای پروژه‌های چندسکویی، AWS برای تیم‌های در اکوسیستم Amazon
  • توصیه: با Firebase Test Lab برای Android و BrowserStack برای iOS شروع کنید، سپس با رشد تیم به AWS Device Farm مقیاس دهید

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید