اتجاهات الاختبار في عام 2020


كاتب المقال: ديمتري شادرين



المقدمة


أود مشاركة أفضل أدوات الاختبار التي تساعدني أسبوعيًا على العمل بفعالية وتحسين أدائي.

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

تطبيقات الهاتف الجوال


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

نبدأ دائمًا في الاختبار بالامتثال لمتطلبات وتصميم التطبيق. يجب أن يعرف سؤال وجواب الجودة الجيد متطلبات المنتج قيد الاختبار ، ويجب أن يكون أحد المنتجات الممتازة صديقًا للتصميم. وهذا يعني ليس فقط القدرة على النظر في Figma أو Invision أو Zeplin ، ولكن أيضًا لفهم كيفية عمل واجهة المستخدم / UX لتطبيقه.
لدمج جميع حركات المستخدم بشكل أكثر دقة عبر شاشات التطبيق ، يتم عادةً تجميع خريطة العقل. من الأكثر ملاءمة بالنسبة لي ، يمكنني تحديد xMind و Mindomo و MindMeister.

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

قائمة المراجعة الجيدة تعتمد على متطلبات المشروع ، والتوثيق للميزات والمهام المعينة للفريق في التنفيذ الحالي. تسمح لك الخريطة الذهنية بعدم نسيان جميع الفروق الدقيقة وأخذها بعين الاعتبار ، مما يوفر أرضية ممتازة للاختبار الشامل. خدمة ستساعدك في العثور على قوائم المراجعة الجاهزة وتحديث قوائمك الخاصة: https://checkvist.com/checklists/476089


الأدوات التي ستكون مطلوبة للتحقق من الحالات المذكورة أعلاه:

Charles أو Fiddler sniffers ، كأكثر أدوات تحليل حركة مرور الشبكة شيوعًا حتى الآن. تسمح لك بالتحقق من حالات انقطاع الشبكة وضعف الإنترنت ، وإلقاء نظرة على الطلبات الصادرة والحصول على إجابات. كما أنها تسمح لك بمحاكاة بعض المواقف التي يصعب إعادة إنتاجها في حالات حقيقية.

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

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

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

مزايا Appium التي لا شك فيها هي سهولة الاستخدام ، فضلاً عن دعم العديد من لغات البرمجة: Java و Ruby و Python و C # و PHP.

قبل البدء في العمل مع Appium ، يجب عليك تكوين البيئة من المكونات التالية:



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

في عملية اختبار الأتمتة ، ينشأ السؤال عاجلاً أم آجلاً: الاختبار على الأجهزة الحقيقية أو استخدام المحاكيات. كما تظهر الممارسة وإحصاءات لا ترحم ، المحاكيات ليست حلا سحريا. المواقف شائعة جدًا عندما يعمل كل شيء بشكل مثالي على المحاكيات ويتم اجتياز جميع الاختبارات. ولكن على جهاز حقيقي ، يتم حظر التطبيق بواسطة نظام أمان ، أو تشغيل تطبيق آخر أو برنامج ثابت مخصص (hello Android!).
توصيتي هي دمج واستخدام مزارع الأجهزة. خدمات مثل BrowserStack و AWS Device Farm و Xamarin Test Cloud. تتصل بأجهزة حقيقية ، يمكنك دمج الاختبارات الذاتية الخاصة بك في هذه الخدمات وإلقاء نظرة على النتائج. ولكن من المفيد دائمًا وجود الأجهزة المستهدفة في موقف الأجهزة ، بالإضافة إلى الأجهزة من الشريطين العلوي والسفلي (الحد الأدنى المسموح به والرائد).

يعتبر Codecept.io بديلاً جيدًا عن Appium
إذا كنت تفضل استخدام لغة JS كلغة لتطوير الاختبارات الذاتية ، فمرحباً بك في CodeceptJS. التوثيق التفصيلي والاختبارات لا تشغل مساحة كبيرة على الشاشة (ستفهم ما أعنيه) وسيجعلك الدعم النشط لجميع أنظمة التشغيل المحمولة الحديثة تفكيرك لصالح هذه الأداة.

بعد أن زاد مشروعك عددًا كبيرًا من الاختبارات الذاتية ، سيكون من الرائع تشغيلها تلقائيًا في كل مرة تنشئ فيها بناءًا جديدًا. سيساعدك تخصيص وتهيئة هذا على أنظمة CI \ CD الحديثة. أنا شخصياً أفضل Jenkins أو Teamcity ، ولكن هنا مسألة ذوق.

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

تلميحات


فيما يلي مجموعتي من التلميحات المفيدة للعثور على الحد الأقصى لعدد الأخطاء ، بالنظر إلى تفاصيل تطبيقات الجوال.

  • تحقق دائمًا من حالات الطي / الرجوع للخلف ، والاستيقاظ من وضع السكون ، وتشغيله / إيقافه. بالنسبة إلى Android ، هناك إعداد - لا تحتفظ بالأنشطة ( DNKA ). عند الاختبار باستخدام هذا الإعداد ، تأكد من الإشارة إلى هذا الاختصار في الأخطاء بحيث يسهل على المطور إعادة إنتاج ذلك.
  • الإخطارات / الإخطارات - هناك إخطارات محلية وخوادم (أي مرتبطة باتصال الشبكة). من الجدير دائمًا تذكرهم والتحقق من تشغيلهم الصحيح. يجب أن تؤدي دائمًا إلى الشاشة المستهدفة. أو يجب عليك التخلي عنها حتى يجد المطورون الطريقة الصحيحة للتنقل.
  • Charles . .
  • , , . . , .
  • . iOS: ipa- . Android , , . .
  • , QA . .
  • . , . , . . . “ ” .
  • . , . 20% . , . , , “ QA”.
  • . .


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

All Articles