Azure DevOps و App Center بدلاً من المزارع التجريبية: تبسيط تطوير الأجهزة المحمولة وتسريعه باستخدام الخدمات السحابية

تضمن الاختبارات عالية الجودة السرعة والتشغيل المستقر للتطبيقات المحمولة ، ولكن مجموعة متنوعة من الأجهزة وأنظمة التشغيل وإصداراتها تضخم مزارع الاختبار ، وتزيد من تكلفة التطوير وتستغرق الكثير من الوقت والجهد. في هذه المقالة ، سنوضح لك كيفية تقليل تكاليف الاختبار باستخدام الخدمة السحابية Visual Studio App Center ، التي تدمج أكثر من أربعة آلاف جهاز مع أنظمة تشغيل مختلفة ، وتبسيط التوزيع باستخدام نظام Azure DevOps الأساسي.



كيفية اختبار تطبيقات الهاتف المحمول وكيف يشبه المطور المزارع


واحدة من المشاكل الرئيسية لتطوير المحمول هي السوق المزدحمة. وفقًا للدراسات التي أجراها Adweek و Sensor Tower و Think with Google ، فإن 80٪ من التطبيقات لا تصل إلى المستخدمين بسبب رداءة الجودة.



نجاح معظم تطبيقات الأبطال سريع الزوال. لمدة شهر ، يتم تحديث أهم 25 بنسبة 74٪. اتضح أن ثلاثة أرباع القادة يخسرون مناصبهم خلال 30 يومًا! أحد الأسباب الرئيسية لخيبة الأمل هو مشاكل السرعة: يغادر 68 ٪ من المستخدمين التطبيق ويختارون آخر إذا لم يتم تحميله في غضون ست ثوانٍ.

ولكن يجب ألا يتم تحميل التطبيق بسرعة فحسب ، بل يعمل أيضًا بشكل صحيح. لذا فإن نشر التحديثات بدون اختبارات معقدة على جميع أنواع الأجهزة وأنظمة التشغيل الممكنة يمثل خطرًا غير مبرر. لكن من الناحية العملية ، هذا ليس بهذه البساطة: الكمية المجنونة من الهواتف الذكية والأجهزة اللوحية وأنظمة التشغيل وإصداراتها تجبرنا على إنشاء مصفوفات اختبار ضخمة.



إذا أخذنا في الاعتبار أنظمة تشغيل الهواتف المحمولة ، فإن أشياء iOS تكون أكثر أو أقل ليست سيئة. على سبيل المثال ، في العام الماضي جلس معظم المستخدمين بهدوء على نظام التشغيل iOS 12. ومن الجيد من وجهة نظر الاختبارات أن جميع الأجهزة تم إصدارها من قِبل جهة تصنيع واحدة.



نظام Android أكثر تعقيدًا: هناك العديد من أنواع أنظمة التشغيل وإصداراتها ، والتي يصعب من بينها تحديد القادة الرئيسيين. ولكل مصنع (Samsung ، Xiaomi ، Sony ، إلخ) قاذفاته الخاصة ، الاختراقات ، التغييرات في نظام التشغيل والخدمات. وبسبب هذا ، يمكن أن تحتوي مزارع الاختبار المتنقلة على عشرات إلى مئات الأجهزة. على سبيل المثال ، في الصورة - مزرعة اختبار متنقلة من أحد مطوري الألعاب.



المزارع تحتاج إلى دعم مستمر. يجب أن تظل الأجهزة محدثة ، وأن تعود بشكل دوري إلى الإعدادات الافتراضية ، مع مراعاة الإهلاك ، وما إلى ذلك. يتم إيقاف استهلاك الأجهزة في المزارع وتصبح قديمة ؛ تحتاج إلى تحديثها باستمرار لمواكبة تلك الأجهزة التي يستخدمها جمهور التطبيق الخاص بك. والأهم من ذلك ، أنه من الصعب توفير الوصول إلى مثل هذه المزرعة لفريق موزع من المطورين والمختبرين الموجودين في مدن مختلفة. 



بعد إجراء اختبارات "المنزل" ، تحتاج إلى إرسال التطبيق للاختبار على الأجهزة الحقيقية. أفضل طريقة هي إتاحة الوصول المبكر إلى الإصدار التجريبي لموظفيك أو الأشخاص الخارجيين ، على سبيل المثال ، عشاق التطبيق ومعجبين المنتجات الجديدة. يحصل المستخدمون على الإصدارات الأقدم ، ويحصل المطورون على فرصة لاختبار كل ما يريدونه عليه. في هذه المرحلة ، نحتاج إلى تحليلات معقدة: الوظائف التي يستخدمها المستخدم ، والشاشات التي يحصل عليها في الغالب ، وكم من الوقت يمضي هناك.

مركز التطبيقات - بديل للمزارع




واجهت مايكروسوفت نفسها مشكلة اختبار تطبيقات الهاتف المحمول: في مرحلة ما ، تجاوز عدد التطبيقات قيد التطوير في MS مائة. لتبسيط هذه المهمة ، أنشأت شركة تعتمد على السحابة من Xamarin خدمة السحابة App Center: فهي تحتوي على آلاف الأجهزة الحقيقية التي يمكن للمطورين تشغيل الاختبارات عليها دون القلق بشأن شراء مزرعة خاصة بهم وصيانتها.

يمكن توصيل مركز التطبيقات بـ GitHub أو Bitbucket أو GitLab أو Azure DevOps. يغطي Visual Studio App Center جميع أطر التطوير الشائعة ، مما يسمح لك بإنشاء واختبار التطبيقات لجميع الأنظمة الأساسية المشتركة.

يبدو الأمر كما لو كان الجهاز في بنيتك الأساسية ، بحيث يمكنك تنظيم عملية التكامل المستمر (التكامل المستمر): يقوم المطور بتنفيذ التعليمات البرمجية في المشروع ، ويقوم التطبيق على الفور ببناء التطبيق تلقائيًا ، وينتشر إلى أجهزة الاختبار ، ويتم إطلاق الاختبارات. 

فوائد مركز التطبيقات




أكثر من أربعة آلاف جهاز في السحابة. هذه أجهزة حية حقيقية. يتم تقديم كل نموذج في عدة نسخ. خلال الاختبارات ، يمكنك التقاط لقطات شاشة ، وإلقاء نظرة على التطبيق من خلال عيون المستخدمين. هناك معلومات تفصيلية عن كل جهاز: من أنتجها ، وما هي مواردها ، وما هو حمل وحدة المعالجة المركزية ، وسرعة تنفيذ التطبيق.



وجود مجموعة تطوير البرامج - SDK ، المضمنة في التطبيق وجمع البيانات: مدى نجاح التثبيت والإطلاق ، وعدد الأعطال ، والأعطال. من الأجهزة التي سقط عليها شيء ما ، يمكنك جمع مقالب ، ومشاهدة ما حدث أثناء اختبار التطبيق. هذا يسهل إلى حد كبير استكشاف الأخطاء وإصلاحها للتطبيق. 



تقارير الاختبار التفصيلية.إذا لم يعمل الاختبار مع نوع من الخطأ ، فسيتم أخذ لقطة شاشة من شاشة الجهاز الذي يتم إجراء الاختبار عليه ، في اللحظة التي يتعثر فيها الاختبار حول شيء ما. ونرى ما إذا كان التطبيق يعمل أو لا يعمل وأين يتعثر في المشاكل نتيجة للتشغيل التجريبي.



مجموعة من سجلات تشغيل الجهاز ومقالب الذاكرة وآثار المكدس وتقارير الاختبار لتشخيص المشكلات وإصلاحها. يمكنك الدخول إلى الأجهزة ، وضخ السجلات ودراسة ما هو الحمل على المعالج ، وكم من الذاكرة مشغولة. ستساعدك هذه الأشياء على فهم المشكلة بسرعة ، ولماذا تعطل التطبيق أو فشل الاختبار.



تحليلات استخدام التطبيق: مدى سرعة استجابتها ، وكم من الوقت يستغرق التبديل بين الشاشات ، والمسارات التي يمر بها المستخدمون داخل التطبيق والوصول إلى الشاشات. يمكنك معرفة الأنظمة الأساسية وإصدارات نظام التشغيل التي يستخدمها جمهورك في التطبيق. هذا يساعد على رؤية الجمهور والأجهزة ، لفهم الميزات التي يمكن لهذه الأجهزة سحبها بسهولة. وبشكل عام ، يمكن أن يعمل التطبيق بشكل صحيح على أجهزة المستخدم. تسمح لك هذه التحليلات بتحديد أولويات الاختبار لمختلف المنصات وتقليل مصفوفة الاختبار.



عملية توزيع مؤتمتة واحدة. إذا كان التطبيق مكتوبًا للعديد من الأسواق ، على سبيل المثال ، لنظامي التشغيل iOS و Android ، فيجب عليك القيام بالكثير من العمل اليدوي في عملية نشر التطبيق. يمتلك مركز التطبيقات القدرة على أتمتة التوزيع ، وبمجرد اجتياز التطبيق لجميع الاختبارات ، يتم إرسال البنية الناتجة إلى المتاجر إما تلقائيًا أو بعد موافقة المطور.



يتم إرسال التحديثات التلقائية إلى مختبري الإصدار التجريبي ومجموعات المستخدمين الداخلية بعد كل التزام. لا يلزم إرسال أي شيء يدويًا ، بالإضافة إلى ذلك ، تتيح لك العملية تلقي تعليقات سريعة من المختبرين.

كيف تبدأ مع App Center


سجل في الخدمة واحصل على فترة تجريبية مجانية. دعونا نرى كيف تبدو في العالم الحقيقي.



واجهة الويب لمركز التطبيقات بسيطة.



لا تقل عملية إنشاء تطبيق جديد عن البساطة: فنحن نحدد الاسم والنظام الأساسي ونظام التشغيل.



نشير في أي مستودع يقع الكود ، وبعد ذلك يبدأ التزامن التلقائي.



عند التطوير لنظام iOS ، عادة ما يكون جهاز MacBook مطلوبًا لإنشاء التطبيق. لكن Appcenter يسمح لك بعدم الحصول عليه ؛ ينشر جهازًا افتراضيًا خاصًا على OSX مع جميع الأدوات اللازمة. يمكنك إضافة مكتبات إذا كنت بحاجة إلى شيء غير قياسي ، بخلاف نظام نظيف.



تم فتح نافذة بها محطة طرفية. يمكن رؤية ما يحدث داخل الجهاز الظاهري. تتم إضافة الحزم ، وتثبيتها باستخدام NuGet. بمجرد أن تصبح الآلة الافتراضية جاهزة ، تبدأ عملية التجميع والتجميع. بالمناسبة ، إذا كانت هناك مشكلة في الإصدار ، فيمكن تنزيل السجلات بسهولة من هذه الواجهة.

كيف يتم التجميع؟ تفاوضت Microsoft مع Apple وحصلت على ترخيص لمثيلات MacOS الظاهرية التي يتم تشغيلها داخل الجهاز الظاهري لإنشاء إصدارات. لذا من وجهة نظر التراخيص ، كل شيء نظيف ، فقد اعتنت Microsoft بكل شيء!



البناء جاهز ، حان الوقت لاختبار التطبيق. افتح مجموعة الجهاز وحدد الجهاز.



لكل جهاز ، يمكنك عرض ميزات الطراز والمواصفات وإصدار نظام التشغيل وعدد الأجهزة المتاحة في نفس الوقت في السحابة ومعلمات أخرى.



بمجرد إنشاء مجموعة أجهزة الاختبار الخاصة بك ، سيتم تشغيل الاختبارات بدورها على كل منها. افتراضيًا ، في الإصدار الأساسي ، يتم الاختبار في سلسلة محادثات واحدة. يمكنك تغيير مصفوفة الاختبار عن طريق تشغيل بعض الاختبارات على مجموعة كبيرة من الأجهزة ، بعضها على جهاز صغير.

الوقت المقدر لإكمال الاختبار هو دقيقة لكل شاشة تطبيق. إذا كان لديك 30-40 شاشة ، فسيستغرق الاختبار حوالي 30-40 دقيقة لكل جهاز. للإسراع ، يمكنك وضع الاختبار في سلاسل محادثات متعددة بالتوازي على أجهزة متعددة. سيتعين عليك دفع مبلغ إضافي مقابل هذا الخيار.



هنا يمكنك تكوين التوزيع التلقائي بعد اجتياز الاختبارات: سيتم وضع الإصدار تلقائيًا في متاجر التطبيقات.



إذا كنت بحاجة إلى اختبار التطبيق على مجموعة من المستخدمين ، فإننا ننشئ مجموعات تناسب الموظفين أو المستخدمين الموالين للتطبيق قبل طرحها في السوق. بمجرد إجراء التوزيع ، سيتلقون جميعًا بريدًا إلكترونيًا يحتوي على رابط فريد لتنزيل الإصدار الجديد. بعد هذا الاختبار ، يمكنك جمع القياس عن بعد من "مستخدمي الاختبار" ومعرفة كيفية عمل التطبيق على أجهزتهم.



هذا هو المكان الذي تتصل فيه بالأسواق.



لتشخيص التطبيق ، تحتاج إلى توصيل SDK. وجميع أماكن الكود حيث قد يسقط شيء ما ، حاول الالتقاط والصيد. عندما يتعطل التطبيق على جهاز المستخدم ، يمكنك تلقي تفريغ الأعطال وإجراء التشخيص.



يُظهر Analytics كيف يتعامل المستخدمون مع التطبيقات: ضع نفس حزمة SDK وشاهد الأحداث التي تظهر داخل التطبيق ، وفي أي ترتيب ينتقل الزوار بين الشاشات.



خيار لجمع البيانات والمقاييس وجميع أنواع المعلومات العامة. مدى سرعة فتح التطبيق ، وكيف يعمل. كل هذا يتم على أساس Azure Cosmos DB ، حيث يمكنك مشاهدة تحليلات متقدمة جدًا.



يسمح SDK للمستخدمين بإرسال إشعارات الدفع لجذب الانتباه أو الإبلاغ عن الإصدارات الجديدة من التطبيق. ليس فقط مناسبًا ، ولكنه مفيد أيضًا: مثل هذه الرسائل أرخص عدة مرات من الرسائل القصيرة.



داخل التطبيق ، يمكن تقسيم المستخدمين وفقًا لمعايير مختلفة: أنواع الأجهزة ، والجغرافيا ، وما إلى ذلك ، وإجراء أنشطة تسويقية بناءً على المجموعات الناتجة.

مكونات Core Azure DevOps


تعد ميزات App Center - الأجهزة الموجودة في السحب ، والإنشاءات ، والاختبارات ، وتوزيع البرامج - جزءًا من عملية التطوير التي يكملها Azure DevOps. هذا النظام الأساسي حيث يمكنك إنشاء لوحات المعلومات ولوحات المهام ، وتخزين المعرفة حول المشروع في الويكي ، واستخدام المستودع للملفات والتحف. وإذا كان عليك العمل مع ناقل معقد لتصنيع البرامج ، فيمكنك هنا تكوين خطوط الأنابيب ، وتحديد مكان البناء.



  • المجالس - مجموعة من الأدوات لتخطيط العمل ، والمناقشة ، والمراقبة ، إلخ. لوحات Kanban ، لوحات العدادات ، لوحات Scrum - كل هذا قابل للتخصيص بسهولة لخصائص المشروع وميزات الفريق.
  • Pipelines — . . Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android iOS, Kubernetes.
  • Repos — Git. Marketplace - REST API. .
  • Artifacts — - Maven, npm, NuGet Python . CI/CD.

App Center Azure DevOps


من خلال التسجيل في Appcenter.ms ، يمكنك استخدام جميع ميزات App Center لمدة شهرين مجانًا. بعد الفترة التجريبية ، سيكلف بناء واحد 40 دولارًا في الشهر ، ولكن يمكنك تشغيله لعدد غير محدود من المرات. من الواضح أن هذا أكثر ربحية من امتلاك مزرعة اختبار متنقلة خاصة بك.

Azure DevOps هي خدمة مجانية تمامًا إذا كان لديك فريق من خمسة مطورين كحد أقصى أو إذا كنت تقوم بأي مشروع مفتوح المصدر. المستودعات ، مستودعات الرمز ، خطوط الأنابيب ، المجالس - كل هذا يتم توفيره مجانًا. 

إذا كنت تريد معرفة المزيد عن هذا أو لبدء استخدام النظام الأساسي الآن ، فستكون مهتمًا بـ Dev Bootcamp - ماراثوننا عبر الإنترنت للمطورين. خلال الحدث الذي سيعقد25-29 , , , Open Source-, OpenSource . Microsoft, . , !

All Articles