الاختبار في "استوديو Android"

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

الشكل 1. يعرض "استوديو Android" نظرة عامة على نتائج الاختبار.

تتناول هذه الصفحة كيفية إدارة الاختبارات في "استوديو Android". لمعرفة كيفية كتابة اختبارات Android المبرمَجة، يمكنك الاطّلاع على مقالة اختبار التطبيقات على Android.

أنواع الاختبارات ومواقعها الجغرافية

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

تقع اختبارات الوحدات المحلية في module-name/src/test/java/. هذه هي الاختبارات التي يتم تشغيلها على جهاز Java الافتراضي (JVM) المحلي بجهازك. استخدِم هذه الاختبارات للحدّ من وقت التنفيذ عندما لا تحتوي اختباراتك على تبعيات لإطار عمل Android أو عندما يكون بإمكانك إنشاء نُسخ مزدوجة من الاختبار لتبعيات إطار عمل Android. لمزيد من المعلومات عن كيفية كتابة اختبارات الوحدات المحلية، يمكنك الاطّلاع على إنشاء اختبارات الوحدات المحلية.

تتوفّر الاختبارات المساعِدة على $module-name/src/androidTest/java/. ويتم إجراء هذه الاختبارات على جهاز أو محاكي. يمكنهم الوصول إلى واجهات برمجة تطبيقات Instrumentation التي تتيح لك الوصول إلى معلومات، مثل الفئة Context، على التطبيق الذي تختبره، وتتيح لك التحكّم في التطبيق الذي يخضع للاختبار من خلال رمز الاختبار. يتم دمج الاختبارات المصغَّرة في ملف APK منفصل، لذا يكون لكل منها ملف AndroidManifest.xml خاص بها. يتم إنشاء هذا الملف تلقائيًا، ولكن يمكنك إنشاء نسختك الخاصة على $module-name/src/androidTest/AndroidManifest.xml، والتي سيتم دمجها مع البيان الذي تم إنشاؤه. استخدِم الاختبارات المعدّة عند كتابة بيانات التكامل واختبارات واجهة المستخدم الوظيفية من أجل برمجة تفاعل المستخدم أو عندما تشتمل اختباراتك على تبعيات لنظام التشغيل Android لا يمكنك إنشاء نُسخ اختبار مزدوجة من أجلها. لمزيد من المعلومات حول طريقة كتابة الاختبارات الآلية، يمكنك الاطّلاع على إنشاء اختبارات مخصصة للأجهزة وبرمجة اختبارات واجهة المستخدم.

يمكنك إجراء الاختبارات في أدلة خاصة بالإصدارات من أجل اختبار صيغ محدّدة فقط. على سبيل المثال، يمكنك إجراء بعض اختبارات الوحدات المحلية في $module-name/src/testMyFlavor/java/ بحيث تستهدف الاختبارات تطبيقك الذي تم إنشاؤه باستخدام رمز المصدر لهذه النكهة. للحصول على مزيد من المعلومات حول كيفية إنشاء هذه الاختبارات المخصّصة، يمكنك الاطّلاع على إنشاء اختبار قياسي لنسخة الإصدار.

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

الشكل 2. تظهر الاختبارات (1) الآلية لمشروعك و(2) اختبارات JVM المحلية في إما طريقة عرض المشروع (يمين) أو شاشة Android (لليمين).

إنشاء اختبارات جديدة

يمكنك إضافة اختبار جديد لفئة أو طريقة محدّدة مباشرةً من رمز المصدر باتّباع الخطوات التالية:

  1. افتح ملف المصدر الذي يحتوي على الرمز الذي تريد اختباره.
  2. ضع المؤشر في اسم الفئة أو الطريقة التي تريد اختبارها، واضغط على Control+Shift+T (Command+Shift+T على نظام التشغيل macOS).
  3. في النافذة المنبثقة التي تظهر، انقر على إنشاء اختبار جديد...
  4. في مربّع الحوار إنشاء اختبار، اختَر JUnit4، وعدِّل الحقول والطرق التي تريد إنشاءها، ثم انقر على حسنًا.
  5. في مربع الحوار اختيار دليل الوجهة، انقر على مجموعة المصادر المناسبة لنوع الاختبار الذي تريد إنشاءه: androidTest لإجراء اختبار قياسي أو test لاختبار وحدة محلية. بعد ذلك، انقر على حسنًا.

وبدلاً من ذلك، يمكنك إنشاء ملف اختبار عام في مجموعة مصدر الاختبار المناسبة على النحو التالي:

  1. في نافذة المشروع على اليمين، انقر على القائمة المنسدلة واختر عرض Android.
  2. انقر بزر الماوس الأيمن على دليل java واختر جديد > فئة Java أو جديد > فئة/ملف Kotlin. يمكنك بدلاً من ذلك اختيار دليل JavaScript واستخدام الاختصار Control+N (Command+N على نظام التشغيل macOS).
  3. في مربع الحوار اختيار دليل الوجهة، انقر على مجموعة المصادر المناسبة لنوع الاختبار الذي تريد إنشاءه: androidTest لإجراء اختبار قياسي أو test لاختبار وحدة محلية. بعد ذلك، انقر على حسنًا.
  4. اختَر اسمًا للملف ثم انقر على حسنًا.

إذا لم يتم تجميع تطبيقك بعد إضافة اختبار، فتأكد من إعداد تبعيات مكتبة الاختبار الصحيحة. راجِع إنشاء اختبارات محلية وإنشاء اختبارات موجَّهة للتعرّف على التبعيات الصحيحة.

إجراء اختبارات

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

  • لإجراء جميع الاختبارات في دليل أو ملف، افتح نافذة المشروع ونفِّذ أيًا مما يلي:

    • انقر بزر الماوس الأيمن على دليل أو ملف وانقر على رمز التشغيل .
    • اختَر الدليل أو الملف واستخدِم الاختصار Control+Shift+R.
  • لإجراء جميع الاختبارات في صف أو بطريقة معيّنة، افتح ملف الاختبار في "أداة تعديل الرموز" ونفِّذ أحد الإجراءَين التاليَين:

    • اضغط على رمز تشغيل الاختبار في هامش التوثيق.
    • انقر بزر الماوس الأيمن على فئة الاختبار أو طريقة الاختبار وانقر على تشغيل .
    • اختَر فئة الاختبار أو طريقة الاختبار واستخدِم الاختصار Control+Shift+R.

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

ضبط إجراء الاختبار

يتم إجراء اختباراتك تلقائيًا باستخدام إعدادات التشغيل التلقائية في "استوديو Android". إذا كنت بحاجة إلى تغيير بعض إعدادات التشغيل مثل برنامج تشغيل الأدوات وخيارات النشر، يمكنك تعديل تهيئة التشغيل في مربع الحوار تهيئات التشغيل/تصحيح الأخطاء (انقر على تشغيل > تعديل الإعدادات).

أداة تنفيذ اختبار Gradle الموحّد

ويستخدِم المكوّن الإضافي لنظام Gradle المتوافق مع Android 7.1.0 وAndroid Studio Bumblebee والإصدارات الأحدث منه، التطبيق الذي ينفّذه تطبيق Gradle الخاص بنظام التشغيل التجريبي للأجهزة الجوّالة من أجل إجراء الاختبارات على الأجهزة. باستخدام برنامج تشغيل الاختبار نفسه، يُحتمل أن تكون النتائج متسقة سواء كنت تستخدم AGP من سطر الأوامر، كخادم دمج مستمر مثلاً، أو من Android Studio.

الشكل 3. تمثّل هذه السمة منصة اختبار Gradle الموحّدة.

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

الشكل 4. مشغّلو الاختبارات المستقلون في الإصدارات القديمة من "استوديو Android"

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

الشكل 5. إجراء اختبارات من نظام هامش التوثيق.

عند إجراء الاختبارات الآلية، يمكنك التأكّد من أنّ "استوديو Android" يستخدم أداة تنفيذ اختبارات Gradle من خلال فحص نتائج الاختبار في "مصفوفة الاختبار" ضِمن نتائج مهام Gradle.

التشغيل على أجهزة متعددة بالتوازي

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

  1. قبل إجراء الاختبارات، افتح القائمة القائمة المنسدلة للجهاز المستهدف، وحدد اختيار أجهزة متعددة....

    الشكل 6. حدد القائمة المنسدلة "أجهزة متعددة".

  2. اختَر الأجهزة المطلوبة وانقر على حسنًا.

  3. تأكَّد من تغيير النص في القائمة المنسدلة الهدف إلى أجهزة متعددة وانقر على تشغيل .

  4. تعرض نافذة أداة مصفوفة الاختبار نتائج الاختبار لكل تهيئة تم تحديدها للجهاز.

    الشكل 7. نتائج الاختبار في نافذة أداة مصفوفة الاختبار.

  5. يمكنك النقر فوق اختبار معين لفحص النتيجة في جزء الإخراج. يمكنك أيضًا فرز الاختبارات عن طريق النقر فوق الأعمدة المختلفة.

التنفيذ باستخدام مركز الاختبار الافتراضي لمنصة Firebase

باستخدام مركز الاختبار الافتراضي لمنصة Firebase، يمكنك اختبار تطبيقك في آنٍ واحد على العديد من أجهزة Android وإعدادات الأجهزة الشائعة (مجموعات مختلفة من اللغة والاتجاه وحجم الشاشة وإصدار النظام الأساسي). يتم إجراء هذه الاختبارات على أجهزة مادية وافتراضية في مراكز بيانات Google البعيدة. توفر نتائج الاختبار سجلات الاختبار وتتضمن تفاصيل حالات الإخفاق في التطبيق.

لبدء استخدام مركز الاختبار الافتراضي لمنصة Firebase، عليك إجراء ما يلي:

  1. أنشئ حسابًا على Google إذا لم يكن لديك حساب.
  2. في وحدة تحكُّم Firebase، انقر على إنشاء مشروع جديد.

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

  1. انقر على تشغيل > تعديل عمليات الضبط من القائمة الرئيسية.
  2. انقر على إضافة إعدادات جديدة واختَر اختبارات أداة Android.
  3. أدخِل تفاصيل الاختبار أو اختَرها، مثل اسم الاختبار ونوع الوحدة ونوع الاختبار وفئة الاختبار.
  4. من القائمة المنسدلة الهدف ضمن خيارات استهداف النشر، اختَر مصفوفة أجهزة مركز الاختبار الافتراضي لمنصة Firebase.
  5. إذا لم تكن مسجّلاً الدخول، انقر على تسجيل الدخول باستخدام حساب Google واسمح لاستوديو Android بالوصول إلى حسابك.
  6. بجانب مشروع Cloud، اختَر مشروعك على Firebase من القائمة.
  7. بجانب ضبط المصفوفة، اختَر أحد الإعدادات التلقائية من القائمة المنسدلة أو أنشئ إعداداتك الخاصة بالضغط على فتح مربّع الحوار . يمكنك تحديد واحد أو أكثر من الأجهزة وإصدارات Android ولغات واتجاهات الشاشة التي تريد اختبار تطبيقك عليها. سيختبر مركز الاختبار الافتراضي لمنصة Firebase تطبيقك وفقًا لكل مجموعة من الخيارات التي اخترتها عند تحقيق نتائج الاختبار.
  8. انقر على حسنًا في مربّع الحوار عمليات ضبط التشغيل/تصحيح الأخطاء للخروج.
  9. إجراء الاختبارات بالنقر على تشغيل .

الشكل 8. إنشاء إعدادات اختبار لمركز الاختبار الافتراضي لمنصة Firebase

تحليل نتائج الاختبار

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

الشكل 9. نتائج الاختبارات الآلية باستخدام مركز الاختبار الافتراضي لمنصة Firebase.

يمكنك أيضًا تحليل اختباراتك على الويب عن طريق اتّباع الرابط المعروض في بداية سجلّ تنفيذ الاختبار في نافذة التشغيل.

عرض تغطية الاختبار

أداة تغطية الاختبار متاحة لاختبارات الوحدات المحلية من أجل تتبُّع النسبة المئوية ومناطق الرمز البرمجي لتطبيقك التي تغطيها اختبارات الوحدة. استخدِم أداة تغطية الاختبار لتحديد ما إذا كنت قد اختبرت بشكل كافٍ العناصر والفئات والأساليب وأسطر التعليمات البرمجية التي يتألّف منها تطبيقك.

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

الشكل 10. النسب المئوية لتغطية الرمز لأحد التطبيقات

عرض نتائج الاختبار

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

الشكل 11. تظهر نتائج الاختبار في نافذة التشغيل.

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

  1. استخدِم شريط أدوات التشغيل لإعادة إجراء الاختبار الحالي وإيقاف الاختبار الحالي وإعادة إجراء الاختبارات غير الناجحة (لا يظهر هذا الخيار لأنّه متاح لاختبارات الوحدات فقط) وإيقاف المخرجات مؤقتًا وتفريغ سلاسل المحادثات.
  2. استخدِم شريط أدوات الاختبار لفلترة نتائج الاختبار وترتيبها. يمكنك أيضًا توسيع العُقد أو تصغيرها وإظهار تغطية الاختبار واستيراد نتائج الاختبار أو تصديرها.
  3. انقر على قائمة السياق لتتبُّع الاختبار قيد التنفيذ، وعرض الإحصاءات المضمّنة، والانتقال إلى تتبُّع تسلسل استدعاء الدوال البرمجية، وفتح رمز المصدر في حالة استثناء، ثم الانتقال التلقائي إلى المصدر، واختيار أول اختبار غير ناجح عند اكتمال التشغيل التجريبي.
  4. تشير رموز حالة الاختبار إلى ما إذا كان الاختبار يحتوي على خطأ أو تم تجاهله أو إخفاقه أو كان قيد التقدم أو نجح أو تم إيقافه مؤقتًا أو تم إنهاؤه أو لم يتم تشغيله.
  5. انقر بزر الماوس الأيمن على سطر في العرض التدرّجي للحساب لعرض قائمة سياق تتيح لك إجراء الاختبارات في وضع تصحيح الأخطاء أو فتح ملف رمز مصدر الاختبار أو الانتقال إلى السطر في رمز المصدر الذي يتم اختباره.

تحليل حالات تعذُّر الاختبار

عندما يتعذّر اجتياز اختبار واحد أو أكثر من اختباراتك، تعرض نافذة النتائج علامة تحذير وعدد حالات الإخفاق (على سبيل المثال، "عدد الاختبارات التي تعذّر إجراؤها: 1"):

الشكل 12. تعذّر في تفاصيل الاختبار في جزء الإخراج.

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

مزيد من المعلومات

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