والآن حان الوقت عندما أصبحت احتياجات الاختبار لدينا مزدحمة على سطح مكتب الاختبار. طلبت الروح إلى السحب. ليس حقا ليس حقا
أهدافنا وأهدافنا
(على عجل القارئ ، يمكنك الرياح حتى القسم التالي)
نحن نعمل على تطوير تطبيق مالي للسوق الخارجية ، والذي يتوفر بتنسيقات مختلفة: لمتصفحات سطح المكتب (موقع ويب وملحق لجوجل كروم) ، لمتصفحات المحمول ، وكذلك تطبيق مختلط للهواتف. نظرًا لخصائص التطبيق ، نولي اهتمامًا خاصًا لاختبار التطبيق على مختلف التكوينات والأجهزة. بالنسبة لنا ، فإن التشغيل المستقر والآمن للتطبيق مهم على متصفحات سطح المكتب لعملائنا وعلى أجهزتهم.
كان سبب العثور على مجموعة من الأجهزة المستندة إلى مجموعة النظراء للاختبار بالنسبة لنا هو تغيير في تنسيق العمل من المكتب إلى بعيد وموزع تمامًا (بين المدن والبلدان). أي أنه في وقت سابق للاختبار ، يمكننا جمع أجهزة مختلفة في مجموعة (حرفيًا) واختبار التجميع التالي يدويًا في جدول واحد في نفس الوقت ، والآن أصبح من المستحيل القيام بذلك. علاوة على ذلك ، مع نمو الأداء الوظيفي ، من أجل تقليل العمل اليدوي ، نقوم بأتمتة مجموعات الانحدار من الاختبارات المهمة ، مما يعني أنه بعد التجميع نحتاج إلى أن نكون قادرين على استدعاء الاختبارات على التكوين والجهاز المرغوب فيه ، ومن الأفضل القيام بذلك بمجرد تحرك التجميع إلى التدريج.
في هذه الحالة ، فإن الحل الأبسط والأكثر وضوحًا هو استخدام برامج المحاكاة لأجهزة Android ومحاكيات أجهزة iOS في خط أنابيب DevOps الخاص بنا. ومع ذلك ، وهو سهل التنفيذ نسبيًا على جهاز كمبيوتر يعمل به المطور ، فقد أصبح من الصعب استخدامه في السحابة مهمة صعبة ومكلفة. لكي يعمل محاكي Android نفسه بسرعة ، يلزم توفر خادم x86 مع دعم HAXVM ، ولمحاكاة iOS ، لا يلزم سوى جهاز MacOS مع xcode. لكن لسوء الحظ ، حتى بعد حل هذه المشكلة ، يبقى السؤال هو الفجوة بين سلوك البرنامج على المحاكيات والأجهزة الحقيقية. على سبيل المثال ، كل إصدار ثانٍ نلاحظ فيه خللًا غريبًا على أجهزة Samsung التي لا يمكن تشغيلها على المحاكيات. حسنًا ، وبالطبع ، "فرحة" نادرة غريبة "صينية" فريدة من نوعها وأخطاء أود أيضًا أن ألقيها في مرحلة التطوير.
ونتيجة لذلك ، كان لدينا فهم للحاجة إلى استخدام مجموعة سحابة من الأجهزة المحمولة ، والتي يمكننا من خلالها تشغيل اختباراتنا بسرعة ، وإذا لزم الأمر ، التصحيح يدويًا. والتي يمكن لفريقنا بأكمله الوصول إليها من أي مكان في العالم (نحن نحب العمل حتى أثناء السفر).
مكتوبة اختباراتنا في Python 3.7 (سيكون هذا مهمًا لاحقًا) ، حيث أننا نستخدم كومة + + pytest + Selenium + Appium ، وبالطبع مجموعة صغيرة من مكتبات python المفيدة. سنختبر بالتأكيد الأجهزة على Windows و MacOS مع متصفحات Edge و Firefox و Chrome و Safari ، بالإضافة إلى أجهزة Android و iOS باستخدام متصفحات وتطبيق. ليس لدينا الكثير من الاختبارات لكل جهاز (أقل من ألف) ، ولكن عند الاختبار في سلسلة واحدة على الأجهزة ، تستغرق المجموعة الكاملة بضع ساعات. لذلك ، فإن معيار اختيار الخدمة بالنسبة لنا هو:
- اختبار API (السيلينيوم / Appium)
- IOS ، أجهزة Android
- دعم اختبار متصفح المحمول
- دعم لتنزيل واختبار التطبيقات
- الجهاز المرجعي (GooglePixel (Android 9) و iPhone X (iOS 12+))
- التصحيح اليدوي
- تسجيل (زائد لقطات الشاشة ، تسجيل تشغيل الفيديو)
- جهاز بارك وتوافر
- اختبار متوسط المهلة
- السعر
مرغوب فيه ، ولكن ليس من الضروري:
- دعم بيثون مستوى الخدمة (مهما كان ذلك يعني)
- دعم لأجهزة سطح المكتب \ المتصفحات
نتائج أبحاث السوق
لمدة أسبوع ، كنت أتصفح الإنترنت وجربت عشرات الخدمات المختلفة. يوفر معظمهم وقت فراغ لاختبار الفرص. نتائج بحثي ، والمزيد من الاستنتاجات ذاتية. رأيك والنتائج قد تختلف عن رأيي.
في Habré ، وجدت مقالًا لعام 2017 مخصصًا لنفس الموضوع ، لكن منذ ذلك الحين ظهرت خدمات جديدة ، ومهمتنا أكثر صرامة بعض الشيء. لذلك ، على سبيل المثال ، لا تناسبنا الخدمات "اللذيذة" مثل Samsung Remote Test Lab ، و Firebase Test Lab ، و Xamarin Test Cloud ، للأسف.
خارج اللعبة
مختبر سامسونج للاختبار عن بُعد
الارتباط .
توفر الخدمة فرصة مجانًا لمحاولة العمل مع مختلف أجهزة Samsung ، بما في ذلك أحدثها ، بما في ذلك أجهزة التلفاز أو الساعات الذكية على Tizen (الحد الأقصى هو 10 ساعات في اليوم ، وتقدم الخدمة يوميًا 10 أرصدة مجانًا ، أي ما يعادل 2.5 ساعة في اليوم ، الحد الأدنى للدورة هو نصف ساعة (2 ساعة معتمدة)). يعد هذا مفيدًا للغاية لتصحيح الأخطاء والعثور على الأسباب الجذرية للأخطاء على أجهزة معينة ، بل توفر الخدمة إمكانية الوصول إلى تصحيح الأخطاء عن بُعد (جسر تصحيح الأخطاء عن بُعد ، والوصول إلى وحدة التحكم وسجلات النظام) ، ولكن لسوء الحظ ، لا توفر الخدمة إمكانية وصول API إلى الأجهزة. الطريقة الوحيدة "للتشغيل الآلي" هي تسجيل إجراءات المستخدم ثم تشغيلها مرة أخرى في أداة التشغيل الآلي المحلية.
مختبر اختبار Firebase
الارتباط .
تتيح لك خدمة من Google اختبار تطبيقك على الأجهزة التي تعمل بنظامي Android و iOS مجانًا (وليس تمامًا). ولكن هناك تحذير واحد - تتطلب الخدمة استخدام أدوات التشغيل الآلي الأصلية (UIAtomator2 و Espresso لنظام Android و XCTest لنظام التشغيل iOS) ، أو استخدام العناكب التلقائية (الزاحف) لنظام Android - Robo Test و Game Loop. وهذا هو ، باستخدام UIAutomator و Selenium للأسف ، لن تعمل. بالنسبة مجانًا - تقتصر الحزمة المجانية على 10 اختبارات على المحاكيات وخمسة اختبارات على الأجهزة الحقيقية يوميًا. إذا كنت بحاجة إلى المزيد ، فكل ساعة إضافية سيتعين عليك دفع 1 دولار و 5 دولارات أخرى على التوالي. بشكل عام ، بالنسبة لمهامنا ، سيكون هذا اختيارًا جيدًا إذا كتبنا اختبارات من نقطة الصفر ، لكنني لا أشعر بأنني أعمل عدة مئات من الاختبارات على الإطلاق - إنها مكلفة ببساطة. واتضح أنه سيتعين علينا أن نتباعد بشكل كبير في الاختبارات بين إصدارات سطح المكتب والجوال ، مما سيعقد الدعم إلى حد كبير.
مركز تطبيق الاستوديو البصري
الارتباط .
سحابة اختبار Xamarin السابقة. هذه الخدمة في النهاية تدعم Appium وتتيح الاختبار على الآلاف من الأجهزة المختلفة. ولكن ، كما هو الحال مع منتجات Microsoft الأخرى ، يتم تثبيتها بإحكام على المكدس الأصلي ، مما يعني أنه لاستخدام هذه الخدمة ، ستحتاج إلى وجود VisualStudio ومتطلبات كتابة المشروع والاختبارات حصريًا في Java. ولكن إذا كان لديك فجوة مكدس Java (مع MS VS) ، فإن السعر هو 99 دولارًا لكل فتحة جهاز شهريًا ، وهي ليبرالية نسبيًا.
خدمات للاختيار من بينها
AWS مزرعة الجهاز
الارتباط .
ربما أقوى مزرعة للاختبار على الأجهزة الافتراضية والحقيقية اليوم (أكثر من 2500 جهاز). بالنسبة لنا ، كانت هذه خدمة ذات أولوية ، نظرًا لأن خدماتنا يتم نشرها للتو في سحابة AWS ، بالإضافة إلى أن أسعار الدقيقة للجهاز تبدأ من 17 سنتًا. يتيح لك AWS العمل مع الأطر الأصلية وكذلك مع Appium و Calabash وغيرها من أطر الاختبار الآلية. بالإضافة إلى الاختبار الآلي ، توفر الخدمة القدرة على تصحيح الأخطاء يدويًا. حسنا ، 1000 دقيقة "لمحاولة" مغرية للغاية. ومع ذلك ، فإن الشيطان ، كالعادة ، هو في التفاصيل. من حيث الاختبار ، AWS لديه العديد من الميزات.
كما ذكرنا بالفعل ، نستخدم Python 3.7 ، ومع ذلك لا يزال AWS Device Farm يعمل مع Python 2.7.6 (انظر الدليل هنا ). ومن خارج منطقة الجزاء لا يعرف شيئا عن السم. بالنسبة لنا ، هذا يعني عدم وجود عدد من القدرات والحاجة إلى معالجة جزء من الاختبارات لضمان التوافق مع الإصدارات السابقة ، فضلاً عن تهيئة بيئة تتغلب على التسمم. بالإضافة إلى ذلك ، تتضمن آلية غريبة إلى حد ما لتنزيل حزمة اختبار (أرشيف) أيضًا تنزيل التطبيق للاختبار. في حالتنا ، إذا قمنا باختبار خدمتنا من خلال متصفح للجوال ، فإن تنزيل التطبيق يعد خطوة إضافية. ومع ذلك ، يمكنك استبدال التطبيق بـ "كعب روتين" ، وإنشاء venv مع Python 3.7 في بيئة Python 2.7 ، ثم إنشاء بيئة بها تسمم فيها ، والتي ...

لن تكون أمازون أمازون إذا استقر كل شيء على الإصدارات القديمة. كبديل (ولن تتوفر لهذه الخدمة فرصة أدناه) تقترح AWS استخدام AWS Device Farm من خلال AWS CLI (واجهة سطر الأوامر) (انظر الدليل هنا ). بمعنى أنه يمكننا توصيل الجهاز من السحابة كجهاز حقيقي بجهاز الكمبيوتر الخاص بنا في وضع تصحيح الأخطاء عن بُعد ، ومع ذلك ، فقد استبدلنا سابقًا adb بالجهاز المصحح (لا يوجد ثنائي لنظام linux في قائمة الثنائيات ، لكنني متأكد من أنه موجود في الطبيعة). أي ، إعداد AWS CLI ، للاختبار ، سوف نحتاج إلى تنفيذ أوامر قليلة فقط (لأننا لن نستخدم واجهة المستخدم الرسومية كتطبيق مزرعة لأجهزة AWS).
إذا كنا نريد اختبار التطبيق ، فيمكنك أيضًا تنزيله عبر AWS SDK.
لكنني لم أخبر فارق بسيط هنا. نحن نتعثر على الشيطان مرة أخرى بالتفصيل. الحقيقة هي أن خيار تصحيح الأخطاء عن بُعد متاح فقط إذا استخدمنا خطة الأجهزة الخاصة لـ AWS. أولاً ، تتوفر هذه الميزة فقط عند الطلب (تحتاج إلى كتابة خطاب إلى Amazon) ، وثانياً ، الخيار متاح لمنطقة غرب الولايات المتحدة ، وثالثا ، في الواقع ، يعيدنا هذا الخيار إلى السيناريو عندما يكون لدينا خادم لـ الاختبار باستخدام مجموعة (أو واحد على الأقل) من الأجهزة المتصلة بها. المزايا واضحة - يمكننا استخدام هذا الجهاز حصريًا ، والذي من الواضح أنه أكثر أمانًا وأسرع ، من ناحية أخرى ، نفقد الميزة الرئيسية - اختيار وتنوع الأجهزة.
لقد أحببت الخدمة ككل ، لكن لفريقنا ، للأسف ، هناك الكثير من "الأخطاء".
Bitbar
الارتباط .
هذه المزرعة المتنقلة القائمة على السحابة هي الأولى التي تقع على محركات البحث. وليس عبثا. بالنظر إلى المستقبل ، أقول إن هذه الخدمة لديها أفضل خيار للأجهزة (الأجهزة الحقيقية فقط) وأفضل أداء من حيث اختبار واحد بالمقارنة مع الأجهزة الأخرى. يوفر Bitbar خدمات الاختبار اليدوي والأوتوماتيكي عن بعد (باستخدام Appium والأطر الأخرى) ، وكذلك ، إذا رغبت في ذلك ، يتيح لك استخدام شيء مشابه لبرنامج الزاحف من Firebase Test Lab (اختبار الروبوت) - AI TestBot. تتمثل الميزة الرئيسية لبرنامج BitBar في عدد غير محدود من خيوط الاختبار (أي ، يمكنك على الفور اختبار التطبيق الخاص بك على مئات الأجهزة) من خلال تحديد تجمع الأجهزة المطلوب مقدمًا. إذا كان الجهاز مشغولاً ، فسيتم اختيار جهاز آخر كما هو ، أو سيتم وضع قائمة الانتظار في قائمة الانتظار. في نهاية التشغيل التجريبي ، يتم إنشاء سجل ، سجل اختبار ، يتم حفظ النتائج ، ويتم إرسال الإشعار إلى البريد. على الرغم من وجود فرص لتكوين التفاعل مع أدوات CI / CD مختلفة. توفر الخدمة أيضًا القدرة على اختبار متصفحات سطح المكتب في دقة مختلفة ، وإذا رغبت في ذلك ، قم بإنشاء ، كما هو الحال في AWS ، أجهزتك الخاصة. صحيح ، أنت بحاجة إلى دفع ثمن كل هذه الرقائق - كل دقيقة اختبار ستكلف 0.29 دولار.

عملية الإعداد بسيطة ، مثل تفاعل إصبعين مع الأسفلت:
مثال رمز from appium import webdriver """ ... """ com_executor = 'https://appium.bitbar.com/wd/hub' desired_capabilities = { 'deviceName': 'Motorola Google Nexus 6', 'deviceId': 'FA7AN1A00253', 'newCommandTimeout': 12000, 'browserName': 'Chrome',
Kobiton
الارتباط .
خدمة أخرى توفر خدمات الاختبار على أجهزة حقيقية. يعد اختيار الأجهزة أكثر تواضعًا من Bitbar (350+) ، كما أن توفر الأجهزة أقل أيضًا. بشكل عام ، إنه مشابه جدًا في وظائفه الأساسية لـ BitBar ، فهو يتيح الاختبار اليدوي والتلقائي (باستخدام Appium - هنا دون اختيار الإطارات). لا توجد طريقة للاختبار على متصفحات سطح المكتب. تتيح لك الخدمة أيضًا تنظيم الاختبارات باستخدام عدد غير محدود من الجلسات والأجهزة ، لكن لا يمكنك إنشاء تجمع أجهزة هنا. سعر الخدمة ليبرالي للغاية - من 0.10 دولار لكل دقيقة إضافية من الاختبار ، لكن خلال الفترة التجريبية لفتت الانتباه إلى بعض عدم استقرار الخدمة - غالبًا ما سقطت الإنترنت على الأجهزة ، بمجرد تعليق الجهاز. أيضًا ، إذا كان الجهاز مشغولًا أو محجوزًا ، فستفشل جميع اختباراتك الجارية. هذا ، على عكس Bitbar ، لا توجد صفوف من الجلسات. صحيح ، يمكن تنظيمه بتكلفة منخفضة. Kobiton لديها API الصغيرة الخاصة بها.
الإعداد بسيط للغاية ، على عكس Bitbar ، تقريباً Appium الأصلي.
مثال رمز import base64 from time import sleep from appium import webdriver import requests """ ... """
BrowserStack
الارتباط .
BrowserStack القديم جيد. الكثير من الأشياء كتبت عنه وعن كثيرين يستخدمونها. نعم ، إنه يتيح الاختبار ليس فقط على متصفحات مختلفة ، ولكن أيضًا على أجهزة مختلفة. سواء في الوضع اليدوي واستخدام السيلينيوم / Appium. حسب احتياجاتك - على متصفحات المحمول أو استخدام التطبيق الخاص بك. من حيث القدرات ، كل شيء هو نفسه مثل الخدمتين في المقدمة ، ولكن على عكسهما ، هناك بالفعل قيود على عدد الجلسات المتزامنة. صحيح ، على العكس من ذلك ، ادفع 199 دولارًا شهريًا واختبر وقتًا غير محدود. هناك مكونات إضافية لـ Jenkins و Travis CI و TeamCity وواجهة برمجة التطبيقات الغنية وسجلاتها الممتازة ومجموعة كبيرة من الأجهزة ومتصفحات سطح المكتب بتكوينات مختلفة. صحيح ، اعتمادًا على ما تختبره ، ستختلف الإعدادات - بالنسبة لاختبار المتصفحات (حتى المتصفحات المحمولة) ، يتم استخدام مركز سيلينيوم ، وللتطبيقات - مركز Appium. علاوة على ذلك ، لاختبار التطبيق سوف تضطر إلى الدفع بشكل منفصل. وهذا يعني ، من أجل اختبار كل من متصفحات وتطبيقات الجوال ، عليك دفع 199 دولارًا و 159 دولارًا آخر (سعر جهاز واحد للاختبار في نفس الوقت).

نموذج التعليمات البرمجية للتطبيق from appium import webdriver """ ... """ com_executor = 'https://USERNAME:API_KEY@hub-cloud.browserstack.com/wd/hub' desired_capabilities = {'device': 'Google Pixel', 'deviceName': 'Google Pixel', 'app': app_name, 'realMobile': 'true', 'os_version': '8.0', 'name': 'Bstack-[Python] Sample Test' } driver = webdriver.Remote(com_executor, desired_capabilities) """ ... """
رمز عينة لمستعرض المحمول from selenium import webdriver """ ... """ com_executor = 'http://USERNAME:API_KEY@hub.browserstack.com:80/wd/hub' desired_capabilities = {'device': 'Google Pixel', 'deviceName': 'Google Pixel', 'browserName': 'Chrome', 'realMobile': 'true', 'os_version': '8.0', 'name': 'Bstack-[Python] Sample Test' } driver = webdriver.Remote(com_executor, desired_capabilities) """ ... """
Experitest

الارتباط .
خدمة أخرى توفر القدرة على اختبار كل من الأجهزة المحمولة ومتصفحات سطح المكتب يدويًا وتلقائيًا باستخدام Appium و Selenium وغيرها من الأطر. كما هو الحال في BrowserStack ، فإن عدد الجلسات المتزامنة محدود ، لكن الأسعار مختلفة قليلاً - لاختبار التطبيقات المحمولة ، تطلب الخدمة 199 دولارًا شهريًا ، وللاختبار عبر المستعرض 39 دولارًا فقط (لجلسة متزامنة واحدة). بالإضافة إلى ذلك ، مثل Bitbar مع AWS ، يمكنك إنشاء مختبر خاص بك بأجهزة يمكن ، مع ذلك ، خلطها مع سحابة عامة تضم الآلاف من الأجهزة ومحاكيات ومتصفحات الإصدارات والمنصات المختلفة (MacOS و Windows) ، إذا كنت ترغب في ذلك. من بين الميزات المثيرة للاهتمام - توفر ملحقات IntelliJ و Eclipse ، أداة Appium Studio الخاصة بها ، والتي تتيح لك استخدام الوظائف المتقدمة للأجهزة مثل التفاعل مع FaceID والتحكم الصوتي ومسح الرموز الشريطية وتحديد جودة الاتصال والموقع الجغرافي والمزيد. من بين السلبيات ، يمكنني تسمية مجموعة غريبة من الأجهزة للفترة التجريبية ، وتعريفة صارمة للفترة التجريبية ، وكذلك متطلبات استخدام بريد الشركة (لن يعمل gmail).

مثال رمز from appium import webdriver """ ... """ com_executor = 'https://Uhttps://cloud.seetest.io/wd/hub' desired_capabilities = {"deviceName": "iPhone X", "accessKey": API_KEY, "platformName": "ios", "deviceQuery": "'@os='ios' and @version='12.1.3' and @category='PHONE'", } driver = webdriver.Remote(com_executor, desired_capabilities) """ ... """
SauceLabs
الارتباط .
واحدة من أقدم خدمات اختبار السحابة. يوجد ما يقرب من 400 جهاز حقيقي مختلف ، ومجموعة واسعة من أجهزة المحاكاة ومحاكيات ، بما في ذلك برامج محاكاة غير نمطية لأجهزة Samsung ، وهناك متصفحات سطح مكتب لأنظمة تشغيل مختلفة ، بما في ذلك Linux. أتمتة على Appium / السيلينيوم والأطر الأصلية. الميزة الرئيسية للخدمة هي وجود مجموعة واسعة من التكوينات ، بما في ذلك نظام التشغيل القديم والمتصفحات والأجهزة. تحتوي SauceLabs أيضًا على حد أقصى لعدد الجلسات المتزامنة ، لكن الخيار الأقل تكلفة هنا لا يتضمن جلسة واحدة ، ولكن يوجد جلستان متزامنتان. ما هو غير عادي: خطط التعريفات على الأجهزة الحقيقية وعلى المحاكاة مختلفة. لذلك ، فإن أرخص الخيارات ، والتي تشمل دورتين مع 2000 دقيقة من الاختبار شهريا على المحاكيات ، سيكلف 149 دولار ، وعلى الأجهزة الحقيقية بالفعل 349 دولار. هناك تكامل مع CI / CD ، سلاك ، لسوء الحظ ، لم أتمكن من تجربة SauceLabs مباشرة ، لأن التسجيل فشل للأسف ، ربما بسبب المنطقة ، لكن لا يمكنني القول على وجه اليقين.
بيرفكتو
الارتباط .
يشبه أحدث موفر للاختبارات السحابية مرئيًا Experitest ، ولكن بدون وظائف متقدمة. هناك لغة برمجة بسيطة. إنه أمر غريب للغاية ، ولكن في خدمة التعريفات غير المؤسسية (المؤسسة) لا يوجد اقتراح للاختبار على متصفحات سطح المكتب ، كما أنه من المستحيل مراقبة تنفيذ الاختبارات في الوقت الحقيقي (فقط إذا كان هذا ليس اختبارًا يدويًا). تتوفر حوالي مائة جهاز مختلف للاختبار. هناك تكامل مع Jenkins ، ومما يثير الاهتمام أيضًا ، أدوات إدارة الاختبار مثل HP ALM و IBM Rational و TFS. تتوفر أيضًا خطط تعريفة غريبة جدًا ، مثل 5 ساعات من الاختبار شهريًا (من حيث الدقائق التي تصل إلى 0.33 دولار (هذه هي أغلى خدمة)) ، على الرغم من القدرة على شراء حزمة مع ساعات إضافية ، ولكن مرة أخرى ، من الغريب أنه لا يوجد في الدقيقة أو على الأقل الفواتير كل ساعة بعد الحقيقة. بالنسبة لسهولة الاستخدام ، خلال الفترة التجريبية ، يتوفر فقط اختبار يدوي ، بالإضافة إلى مختبر مشترك ، بحيث تقع جميع عمليات الإطلاق من مستخدمين مختلفين في كومة واحدة. لذلك من المستحيل الحكم على راحة وسرعة الخدمة بالضبط. يمكن ملاحظة أن الخدمة تركز أساسًا على العملاء من الشركات الكبيرة ، بينما ، على الأقل ، وفقًا للمعلومات المتاحة ، فإن إمكانيات هذا المزود هي الأكثر تواضعًا على الإطلاق التي اختبرتها.

ملخص النتائج
حسب جميع معايير الاختيار ، تكون الخدمات متشابهة جدًا ، والفرق بين الخدمات في أدائها وسعرها (في حالة عدم وجود ميزات ، على سبيل المثال ، كما في حالة AWS). لذلك ، سنقوم بتلخيص بيانات البحث في جدول ، وننظر في سرعة الخدمات (مع الأخذ في الاعتبار الاتصال عبر US VPN) ، وكذلك السعر ، للراحة ، ومقارنة متوسط وقت الاختبار الشهري على الأجهزة (5 إصدارات في الشهر ، وساعتان من الاختبار على أجهزة Android و iOS = 20 ساعة). كقيم مرجعية ، أستخدم بيانات من جهاز الكمبيوتر المحلي الخاص بي مع محاكي ، وأتصل به مرة أخرى من أجل نقاء التجربة من خلال VPN في الولايات المتحدة الأمريكية).
النتائج
كان من المثير للاهتمام بالنسبة لي أن أقوم بالبحث واختيار الخدمة المناسبة لفريقنا. بشكل عام ، هناك حلول لكل الأذواق ولأي مهام ، وقد تبين أن الخدمات متشابهة جدًا من حيث الخصائص والتنفيذ. نتيجة لذلك ، بناءً على مهامك ، أوصي بالاختيار التالي:
الخيار أ : إذا كانت سرعة التحقق مهمة بالنسبة لك ، وتحتاج إلى التحقق من عشرات الأجهزة المختلفة في وقت واحد ، فاختيارك هو Bitbar .
الخيار ب : إذا كان لديك أولوية على نتائج الأجهزة المرجعية ، وكان اختبار التهيئة ثانويًا (ولكن ضروريًا) - فاختيارك هو BrowserStack . هذه هي حالتنا فقط ، نظرًا إحصائيًا - 90٪ من جميع الأخطاء هي أخطاء من الأنظمة الأساسية والأجهزة المرجعية (غالبًا ما تكون الأخطاء شائعة لجميع الأنظمة المرجعية في آن واحد). 8٪ المتبقية هي أخطاء MS IE ، مع رفض دعم IE - أخطاء MS Edge 2٪ ، وأخطاء 0.5٪ على تكوينات محددة.
الخيار ب : إذا كنت مهتمًا بالتحقق من الشروط الخاصة ، مثل الاتصالات ذات النوعية الرديئة أو تحديد الموقع الجغرافي أو Touch / FaceID ، فإن اختيارك هو Experitest .
ولكن على المدى الطويل ، إذا كانت شركتك تحتل مكتبًا كبيرًا ، فإن عملك بدوام كامل ، ومن ثم ، كقاعدة عامة ، فإن تنظيم المختبرات الخاصة بك حتى مع وجود خوادم مصغرة لمحاكيات مزودة بأجهزة 2-3 متصلة ، سيكلف أقل وأكثر راحة من استخدام متخصص الخدمات.