Device Farm هو خدمة سحابية توفر وصولاً عن بعد إلى مئات من الأجهزة المحمولة الحقيقية لاختبار التطبيقات بشكل تلقائي ويدوي. يقوم المطورون برفع APK أو IPA، ويختارون تكوينات الأجهزة ويشغلون الاختبارات بالتوازي دون شراء أجهزة مادية. وفقًا لتقرير Perfecto, 2025، تقوم الفرق التي تستخدم Device Farm بتقليص وقت اختبارات الارتجاع بنسبة 73% مقارنة بمزارع الأجهزة المحلية.
النقاط الرئيسية
Device Farm هو حل بنية تحتية لاختبار التطبيقات المحمولة يوفر وصولاً عن بعد إلى الأجهزة المادية والافتراضية عبر الإنترنت. وبخلاف شراء وصيانة مختبر أجهزة خاص بك، يستأجر المطورون وقتاً على أجهزة طرف ثالث، ويدفعون فقط عن الاستخدام الفعلي.
يضم سوق الأجهزة المحمولة أكثر من 24,000 طراز فريد من هواتف Android الذكية وفقًا لـ OpenSignal، 2025. شراء جميع الطرازات الشائعة مادياً للاختبار أمر مستحيل — فهو يتطلب ملايين الدولارات من الاستثمار وتحديثات مستمرة للأسطول. يحل 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 ميجابايت، BrowserStack حتى 500 ميجابايت.
يتم اختيار الطرازات المستهدفة وإصدارات نظام التشغيل من كتالوج الأجهزة. تدعم Device Farm الحديثة التجميع: «جميع الرائد 2024–2025» أو «Android اقتصادي مع Android 13–14.» يسمح التنفيذ المتوازي بتشغيل اختبار واحد على 10–50 جهازاً في نفس الوقت، مما يقلل الوقت الإجمالي إلى دقائق.
تتم تنفيذ الاختبارات على أجهزة حقيقية في مراكز بيانات المزود. يراقب المطور التقدم من خلال واجهة ويب في الوقت الحقيقي: سجلات، لقطات شاشة وفيديوهات تنفيذ الاختبار. عند فشل اختبار، يقوم Device Farm بالتقاط لقطة شاشة وجمع سجل تعطل للتشخيص.
// مثال على إعداد 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، الذاكرة، الشبكة) ومكدسات التعطل. تساعد هذه البيانات في تحديد المشكلات دون إعادة إنتاجها على جهاز محلي.
توفر جميع 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 بربط فشل الاختبارات بالأعطال الحقيقية في الإنتاج.
يضم السوق Samsung Remote Test Lab (وصول مجاني إلى أجهزة Samsung)، و Kobiton (موجه للمؤسسات مع نشر محلي)، و 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 تلقائياً أحدث إصدار متاح من نظام التشغيل لكل طراز إذا لم يتم تحديد الإصدار صراحة. تتم حفظ النتائج في Google Cloud Storage بتنسيق XML و HTML للعرض في المتصفح.
للتنفيذ التلقائي عند كل دفع، استخدم 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 خطة Team بسعر $299/شهر لـ 3 مستخدمين مع دقائق غير محدودة على الأجهزة المادية. 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 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 تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.
اقرأ أيضًا