Android دليل اختبار التطبيقات باستخدام إطار عمل الأتمتة
⚡ ملخص ذكي
Android يقوم اختبار التطبيق بالتحقق من صحة الإصدار عبر بيئة أجهزة مجزأة، حيث يجمع بين عمليات التحقق من الوحدة والتكامل والتشغيل والنظام مع أطر التشغيل الآلي التي تعمل إما على الجهاز أو مباشرة على JVM.
لماذا Android اختبارات؟
Android هو أكبر نظام تشغيل في العالم. وفي الوقت نفسه، Android مجزأ: هناك الكثير من الأجهزة و Android الإصدارات التي يجب أن يتوافق تطبيقك معها.
لا يهم مقدار الوقت الذي تستثمره في التصميم والتنفيذ، فالأخطاء حتمية، وستظهر الأخطاء.
Android استراتيجية الاختبار
صحيح Android ينبغي أن تتضمن استراتيجية الاختبار ما يلي
- اختبار الوحدة
- إختبار الإدماج
- Operaاختبار وطني
- اختبار النظام
اختبارات الوحدة
اختبارات الوحدة هي مجموعات من البرامج المصممة للتحقق من وحدة أساسية من التعليمات البرمجية المصدرية، مثل طريقة أو فئة.
استخدم Android تأتي المنصة مدمجة مسبقًا مع JUnit إطار عمل 3.0. وهو إطار عمل مفتوح المصدر لأتمتة وحدة التجاربويتيح ذلك للمطورين كتابة برامج اختبار الوحدات الفعالة.
إضافةً إلى اختبارات الوحدات، تُجرى اختبارات واجهة المستخدم. وهي تغطي مكونات واجهة المستخدم للتطبيق المستهدف وتضمن إرجاعه للمخرجات الصحيحة لتسلسل إجراءات المستخدم على الجهاز.
الطريقة الشائعة لإجراء اختبارات واجهة المستخدم على جهاز ما هي Android الأجهزة الدقيقة. ولكن هذا لديه مشاكل في الأداء. واحدة من أفضل الأدوات لإجراء اختبار واجهة المستخدم Android is Robotium.
⚠️ ملاحظة حول الإصدار: JUnit 3 فئات مثل InstrumentationTestCase تم إيقاف استخدامها في الإصدار 24 من واجهة برمجة التطبيقات؛ تستخدم المشاريع الحالية Androidاختبار X، Espresso و UI Automator. Robotium لم يصدر أي عمل منذ عام 2016.
اختبارات التكامل
In اختبار التكامليتم دمج جميع الوحدات التي تم اختبارها والتحقق منها. Android وهذا يعني في كثير من الأحيان التحقق من التكامل مع مكونات مثل اختبار الخدمة والنشاط وموفر المحتوى.
تُستخدم العديد من أطر الاختبار لإجراء اختبارات التكامل لـ Androidمثل ترويد، وروبولكتريك، و Robotium.
Operaالاختبارات الوطنية
Operaالاختبارات الوطنية، والتي تسمى أيضًا الاختبارات الوظيفية أو اختبارات القبول، هي اختبارات عالية المستوى تتحقق من اكتمال وصحة التطبيق.
In Android, فيتنيس هو إطار عمل مفتوح المصدر يجعل إجراء الاختبارات التشغيلية على التطبيق المستهدف أمرًا سهلاً.
اختبارات النظام
In اختبار النظام يتم اختبار النظام ككل ويتم فحص التفاعل بين المكونات والبرامج والأجهزة.
In Android، يتضمن اختبار النظام عادةً
- اختبارات واجهة المستخدم الرسومية
- اختبارات سهولة الاستخدام
- اختبارات الأداء
- اختبارات الإجهاد
في القائمة أعلاه، اختبار أداء يتم إعطاء المزيد من التركيز. يمكنك استخدام أدوات مثل Tracمعاينة إجراء اختبارات الأداء على Androidيمكن لهذه الأداة مساعدتك في تصحيح أخطاء تطبيقك وتحليل أدائه. Tracتم إيقاف استخدام برنامج eview لصالح برنامج آخر ملف تعريف وحدة المعالجة المركزية.
الآلي Android الاختبار
As Android نظراً لتشتت النظام، فإن الاختبار على العديد من الأجهزة ضروري، وهذا يكلف مالاً. مؤتمت Android يساعد الاختبار على تقليل هذه التكاليف.
فوائد الأتمتة Android تجريب
- تقليل الوقت اللازم لتنفيذ حالات الاختبار
- زيادة إنتاجية عملية التطوير الخاصة بك
- الكشف المبكر عن الأخطاء، وتوفير تكلفة صيانة البرامج
- تم العثور بسرعة على الأخطاء وإصلاحها عند التنفيذ
- التأكد من جودة البرمجيات
سنقوم بدراسة الإطارين التاليين
- Android إطار الاختبار
- إطار اختبار Robolectric
Android إطار الاختبار
أحد أطر الاختبار القياسية لـ Android التطبيقات هي Android إطار الاختبار. وهو متكامل بشكل جيد مع Android أدوات SDK، وهيكلها يتكون من ثلاثة أجزاء.
- حزمة التطبيق هي التطبيق المستهدف الذي يحتاج إلى الاختبار.
- InstrumentationTestRunner هو حالة الاختبار برنامج تشغيل يقوم بتنفيذ حالات الاختبار على التطبيق المستهدف. ويتضمن ما يلي:
- أدوات الاختبار: أدوات SDK لبناء الاختبارات. يتم دمجها في بيئة التطوير المتكاملة أو تشغيلها من سطر الأوامر.
- مونكي رانر: أداة توفر واجهات برمجة التطبيقات لكتابة البرامج التي تتحكم في Android جهاز أو محاكي خارج Android رمز.
- تُنظَّم حزمة الاختبار في مشاريع اختبارية وتتبع اصطلاح تسمية محدد. فإذا كان اسم حزمة التطبيق قيد الاختبار هو "com.mydomain.myapp"، فيجب أن يكون اسم حزمة الاختبار "com.mydomain.myapp.test". تتضمن حزمة الاختبار عنصرين:
- فئات حالات الاختبار: تتضمن طرق الاختبار التي سيتم تنفيذها على التطبيق المستهدف.
- كائنات وهمية: قم بتضمين بيانات وهمية سيتم استخدامها كمدخلات نموذجية لحالات الاختبار.
Android فئات حالة الاختبار
- تتضمن حالة الاختبار JUnit طرق للتشغيل JUnit تجربه بالعربي
- تُستخدم مجموعة الاختبارات لتشغيل مجموعة من حالات الاختبار
- InstrumentationTestSuite عبارة عن مجموعة اختبار تقوم بحقن أدوات القياس في InstrumentationTestCase قبل تشغيلها.
- يقوم برنامج InstrumentationTestRunner بتشغيل حالات الاختبار على التطبيق المستهدف.
- AndroidTestCase يمتد JUnit حالة اختبار تتضمن طرقًا للوصول إلى موارد مثل سياق النشاط.
- تتحقق حالة اختبار التطبيق من فئات التطبيق في بيئة خاضعة للتحكم.
- يتحقق InstrumentationTestCase من ميزة أو سلوك معين، على سبيل المثال مخرجات واجهة المستخدم للتطبيق.
- ActivityTestCase هي فئة أساسية تدعم اختبار أنشطة التطبيق.
- ProviderTestCase هي فئة لاختبار موفر محتوى واحد.
- يقوم ServiceTestCase باختبار فئات الخدمة في بيئة اختبار ويدعم دورة حياة الخدمة.
- تُستخدم SingleLaunchActivityTestCase لاختبار نشاط واحد باستخدام InstrumentationTestcase.
- حالة اختبار الوحدة للنشاط يُستخدم لاختبار نشاط معزول واحد.
- ActivityInstrumentationTestCase2 يمتد JUnit فئة TestCase تربطك بالتطبيق المستهدف باستخدام أدوات القياس، بحيث يمكنك الوصول إلى مكونات واجهة المستخدم الرسومية وإرسال أحداث واجهة المستخدم مثل ضغطات المفاتيح أو اللمسات.
فيما يلي مثال على حالة اختبار أدوات النشاط. تتحقق هذه الحالة من عمل واجهة المستخدم لتطبيق الآلة الحاسبة وتتحقق من صحة مخرجات واجهة المستخدم.
إطار الاختبار الروبوتي
الاختبار باستخدام Android يُعدّ اختبار إطار العمل باستخدام جهاز أو محاكي أمرًا صعبًا. فعملية بناء الاختبارات وتشغيلها بطيئة وتتطلب جهدًا كبيرًا من المطورين. ولحل هذه المشكلة، يوجد خيار آخر: إطار عمل Robolectric للاختبار.
تتيح لك روبوليكتريك تشغيل Android يتم إجراء الاختبارات مباشرة على JVM دون الحاجة إلى جهاز أو محاكي.
فئات حالات اختبار robolectric
يمكن لروبولكتريك القيام بالإجراءات التالية:
- قم بالتسجيل وإنشاء فئة الظل
- اعتراض التحميل Android فئة
- استخدام Javaالمساعدة في تجاوز أجسام الأساليب الخاصة بـ Android فئة
- ربط كائن الظل به Android فئة
يسمح هذا بتنفيذ الكود قيد الاختبار دون الحاجة إلى Android بيئة.
أطر اختبار أخرى
إلى جانب أطر الاختبار المذكورة أعلاه، هناك العديد من الأطر الأخرى، مثل:
- Android تقرير جونيت، عداء اختبار الأجهزة المخصصة ل Android يقوم بإنشاء تقارير XML للتكامل مع الأدوات الأخرى.
- Espresso
- Appium
أساطير Android الاختبار
تتطور العديد من المؤسسات Android الاختبار استراتيجيات مبنية على مفاهيم خاطئة شائعة. يتناول هذا القسم بعض الأساطير والحقائق الشائعة حول Android الاختبار.
الخرافة رقم 1: الكل Android الأجهزة متطابقة، لذا فإن الاختبار على المحاكيات يكفي
قد يعمل التطبيق بشكل مثالي على المحاكيات، ولكنه قد يتعطل أثناء التشغيل على بعض الأجهزة الحقيقية.
لا تكفي المحاكيات لاختبار تطبيقك على الأجهزة المحمولة. يجب عليك اختبار تطبيقك على أجهزة حقيقية.
الخرافة رقم 2: يكفي إجراء الاختبار على بعض الأجهزة الشائعة
يختلف مظهر تطبيقك باختلاف الأجهزة نظرًا لاختلاف مكوناتها المادية، وأحجام شاشاتها، وسعة ذاكرتها. لذا، اختبره على مجموعة متنوعة من الأجهزة، وأنظمة التشغيل، وشبكات الاتصالات، والمواقع الجغرافية.
الخرافة رقم 3: يكفي إجراء اختبارات استكشافية قبل الإطلاق مباشرة
- في معظم الاختبارات نقوم بتصميم حالات الاختبار ثم ننفذها؛ أما في الاختبار الاستكشافي، فيتم التصميم والتنفيذ معًا.
- لا توجد خطة أو تحضير مسبق، لذا يقوم المختبِر بإجراء أي اختبارات يختارها. بعض الوظائف تُختبر بشكل متكرر، بينما لا تُختبر وظائف أخرى على الإطلاق.
الخرافة الرابعة: إذا كانت هناك بعض الأخطاء في التطبيق، فسيتفهم المستخدمون ذلك.
- إذا كان التطبيق لا يعمل وبه أخطاء، فسيقوم المستخدمون بإلغاء تثبيته.
- تُعد مشاكل الجودة السبب الرئيسي للتقييمات السيئة في Google اللعب، والإضرار بسمعتك، وفقدان ثقة العملاء.
لذلك من الضروري أن يكون لديك نظام مناسب Android تم وضع استراتيجية اختبار.
أفضل الممارسات في Android الاختبار
- يجب على مطوري التطبيقات إنشاء حالات الاختبار في نفس الوقت الذي يقومون فيه بكتابة التعليمات البرمجية
- ينبغي تخزين جميع حالات الاختبار في نظام التحكم في الإصدارات، إلى جانب شفرة المصدر.
- استخدم التكامل المستمر وقم بإجراء الاختبارات في كل مرة يتم فيها تغيير الكود
- تجنب الاعتماد على المحاكيات والأجهزة التي تم عمل روت لها فقط؛ تأكد من النتائج على أجهزة حقيقية باستخدام أداة فحص مثل uiautomatorviewer





