البرنامج التعليمي لاختبار تطبيق iOS: الدليل والأتمتة

ما هو اختبار تطبيقات iOS؟

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

لماذا اختبار تطبيقات iOS؟

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

اختبار تطبيق IOS

هذا هو السؤال الشائع عندما يقوم المطور بإنشاء تطبيق iOS.

اختبار تطبيق IOS

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

اختبار تطبيق IOS

تعطل التطبيق

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

عدم توافق التطبيقات

قد يعمل تطبيق iOS الخاص بك بشكل مثالي على إصدار iOS الحالي، ولكن إذا كان iOS كذلك upgradeد، قد لا يعمل بسبب مشاكل عدم التوافق.

ثغرة أمنية

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

تسريبات الذاكرة

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

iOS يختبر MindMap

اختبار IOS MindMap

كما هو موضح في الشكل أعلاه، iOS الاختبار يعرض MindMap جميع العناصر التي يجب على المختبر مراعاتها عند إجراء الاختبار على نظام التشغيل iOS.

قائمة التحقق من اختبار تطبيقات iOS

تم تصميم قائمة التحقق هذه خصيصًا لاختبار خصائص تطبيقات الهاتف المحمول التي تعمل بنظام iOS. من الواضح أنه يختبر فقط خصائص التطبيق العامة وليس وظائفه.

  • تحقق من وقت التثبيت الذي يستغرقه التطبيق على الجهاز. تأكد من تثبيت التطبيق خلال فترة زمنية مقبولة.
  • بمجرد تثبيت التطبيق، تحقق مما إذا كان التطبيق يحتوي على رمز التطبيق واسمه. تأكد أيضًا من أن كلاً من الرمز والاسم واضحان بذاتهما ويعكسان الهدف الأساسي للتطبيق.
  • قم بتشغيل التطبيق وتحقق مما إذا كانت شاشة البداية معروضة أم لاyed.
  • تحقق من مهلة شاشة البداية والوقت المستغرق لتحميل الشاشة الرئيسية. يجب تحميل الشاشة الرئيسية للتطبيق خلال فترة زمنية مقبولة. إذا كانت الشاشة الرئيسية تستغرق وقتًا أطول للتحميل، فستكون هناك فرصة أكبر للمستخدم لإنهاء التطبيق أو حتى إلغاء تثبيته نفسه. تحقق أيضًا من كيفية تحميل المحتويات على الشاشة الرئيسية.
  • يجب أن تكون الوظيفة الرئيسية للتطبيق واضحة على الفور. وينبغي أن تتحدث عن نفسها.
  • تحقق مما إذا كان التطبيق يدعم الاتجاهين الأفقي والعمودي. إذا كان الأمر كذلك، تحقق من التطبيق في كلا الاتجاهين. يجب أن يتم ضبط واجهة مستخدم التطبيق وفقًا لذلك.
  • بدون اتصال بالإنترنت، قم بتشغيل التطبيق. تأكد من أن التطبيق يتصرف كما هو مصمم/مرغوب فيه. هناك احتمال أن يتعطل التطبيق عند تشغيله أو قد يعرض شاشة فارغة فقط.
  • إذا كان التطبيق يستخدم خدمات الموقع، فتحقق مما إذا كان تنبيه إذن الموقع معروضًا أم لاyed أم لا. يجب أن يتم مطالبة هذا التنبيه للمستخدم مرة واحدة فقط.
  • إذا أرسل التطبيق إشعارات الدفع، فتحقق مما إذا كان تنبيه إذن دفع الإشعارات معروضًا أم لاyed أم لا. ويجب أيضًا إرسال هذا التنبيه إلى المستخدم مرة واحدة فقط.
  • قم بتشغيل التطبيق ثم قم بإنهائه ثم أعد تشغيله. تحقق مما إذا كان التطبيق يتصرف كما هو مصمم/مرغوب فيه
  • أغلق التطبيق من خلال النقر على زر الصفحة الرئيسية بالجهاز وافتح التطبيق مرة أخرى. تحقق مما إذا كان التطبيق يعمل كما هو مصمم/مرغوب فيه.
  • بمجرد التثبيت، تحقق مما إذا كان التطبيق مدرجًا في تطبيق إعدادات iPhone.
  • بعد نشر التطبيق مباشرة، تحقق مما إذا كان يمكن العثور على التطبيق في "App Store". سيكون هناك إصدار نظام تشغيل مدعوم للتطبيق. لذا، تأكد من إمكانية العثور على التطبيق في "App Store" الخاص بالجهاز الذي يعمل بإصدار نظام التشغيل المدعوم. كما يجب ألا يتم إدراج التطبيق في "App Store" الخاص بجهاز يعمل بإصدار نظام تشغيل غير مدعوم.
  • تحقق مما إذا كان التطبيق ينتقل إلى وضع السكون عند التشغيل في الخلفية لمنع استنزاف البطارية.
  • إذا كان أداء التطبيق بطيئًا أو عند تحميل المحتويات، فتحقق مما إذا كان هناك رمز حالة التقدم ("جارٍ التحميل...")، ويفضل أن يكون مع رسالة محددة.
  • ابحث عن التطبيق باسمه في شريط بحث الجهاز. تحقق مما إذا كان التطبيق مدرجًا
  • تحقق مما إذا كان مظهر الأزرار التي تنفذ الإجراءات القياسية لم يتم تغييره في التطبيق (على سبيل المثال: التحديث، والتنظيم، والمهملات، والرد، والرجوع، وما إلى ذلك)
  • تحقق مما إذا كانت الأزرار القياسية لا تُستخدم لوظائف أخرى غير تلك التي تُستخدم عادةً من أجلها

استراتيجية اختبار iOS

يقدم الشكل أدناه بعض الأنواع الشائعة من إستراتيجيات اختبار iOS.

استراتيجية اختبار IOS

الاختبار الآلي

يعد الاختبار الآلي من أكثر مزايا اختبار iOS. يمكّنك من اكتشاف الأخطاء ومشكلات الأداء بسرعة. فوائد الاختبار الآلي كما هو موضح أدناه:

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

اختبار الوحدة باستخدام OCUnit

عندما تم إصدار iOS SDK الأصلي، لم يكن موجودًا وحدة التجارب قدرات. لذلك أعادت شركة أبل OCUnit حل اختبار الوحدة في iOS SDK الإصدار 2.2.

OCUnit هو إطار عمل اختباري لـ C-Objective في نظام التشغيل Mac OS. أكبر مزايا إطار عمل OCUnit هي التكامل الوثيق فيه XCode بيئة التطوير كما هو موضح أدناه.

اختبار الوحدة باستخدام OCUnit

بعض فوائد OCUnit مبينة في الشكل أدناه.

اختبار الوحدة باستخدام OCUnit

اختبار واجهة المستخدم مع UIAutomation

اختبار واجهة المستخدم مع UIAutomation

أتمتة واجهة المستخدم هو جافا سكريبت المكتبة المقدمة من شركة Apple Inc، والتي يمكن استخدامها لإجراء اختبار تلقائي على الأجهزة الحقيقية وعلى نظام iOS Simulator. تمت إضافة هذا الإطار إلى iOS SDK4.0. باستخدام UI Automation، يمكنك أتمتة اختبار التطبيق ليس فقط على جهاز المحاكاة ولكن أيضًا على الجهاز الحقيقي.

توفر لك UIAutomation هذه الفوائد:

  • تقليل الجهد على الاختبار اليدوي
  • استخدم ذاكرتك بشكل أقل لتنفيذ جميع اختباراتك
  • تبسيط إجراءات اختبار واجهة المستخدم (ما عليك سوى الضغط على زر أو ثلاثة أزرار وتشغيل مجموعات الاختبار بالكامل)

تعمل أداة UIAutomation من خلال البرامج النصية المكتوبة بلغة JavaScript. إنه يحاكي أحداث المستخدم على تطبيق iOS المستهدف.

UIAutomation سلبيات مقابل إيجابيات

الايجابيات سلبيات
1. دعم جيد للإيماءة والدوران إنها ليست مفتوحة المصدر، ودعم أقل من المطور
2. يمكن تشغيل اختبارات UIAutomation على الجهاز، وليس جهاز المحاكاة الوحيد. لا يمكن التكامل مع الأدوات الأخرى بشكل جيد للغاية
3. تم تطويرها بواسطة جافا سكريبت، وهي لغة برمجة شائعة.

اختبار واجهة المستخدم مع UIAutomation

يمثل الشكل أعلاه بعض الفئات الشائعة في إطار عمل UIAutomation.

  • UIAElement الفئة هي الفئة الفائقة لجميع عناصر واجهة المستخدم في سياق الأتمتة
  • UIATarget تمثل الفئة عناصر واجهة المستخدم عالية المستوى للنظام قيد الاختبار
  • UIALogger يوفر الفصل معلومات الاختبار والخطأ حول وظيفة الاسترجاع
  • UIAActivityViewيسمح class بالوصول إلى عروض النشاط والتحكم فيها داخل تطبيقك.
  • UIAActionSheet يسمح الفصل بالوصول إلى أوراق العمل والتحكم فيها داخل تطبيقك.
  • مستخدم إجراء الحدث
  • فئة UISlider
  • فئة زر UIA
  • فئة UIAKey
  • فئة لوحة المفاتيح UIA

أطر الاختبار الآلي الأخرى

  • صريح: الآلي اختبار القبول الإطار لأجهزة iPhone و iPad
  • كيف : هو دائرة الرقابة الداخلية إختبار الإدماج نطاق. فهو يسمح بأتمتة تطبيقات iOS بسهولة من خلال الاستفادة من سمات إمكانية الوصول التي يوفرها نظام التشغيل للأشخاص ذوي الإعاقات البصرية.

الاختبار اليدوي

اختبار استكشافي

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

سلبيات الاختبار الاستكشافي مقابل إيجابياته

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

اختبار المستخدم

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

اختبار المستخدم

اختبار المفاهيم

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

اختبار المفاهيم

اختبار قابلية الاستخدام

اختبار قابلية الاستخدام هو اختبار لمدى سهولة استخدام تطبيق iOS الخاص بك. في اختبار iOS، يمكن أن يكون اختبار سهولة الاستخدام مسجل للتذكر أو لمشاركتها مع الآخرين.

هناك بعض الأدوات التي تدعم اختبار قابلية الاستخدام على نظام التشغيل iOS.

TryMyUI تطبيقات اختبار مستخدم الهاتف المحمول لـ Android و iOS.

Delight.io، يمكن لهذه الأداة التقاط تفاعل المستخدم الحقيقي على تطبيقات iOS الخاصة بك.

اختبار بيتا

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

اختبار بيتا

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

-البحث عن اختبار عبر الخدمة: تقوم بجمع معرفات الأجهزة من المختبرين وإضافتها إلى مركز الأعضاء

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

  • إنشاء شهادات التوزيع
  • إنشاء ملفات تعريف التوفير المخصصة

-التماس ردود الفعل من اختبار: يقوم المُختبر بإجراء الاختبار وإرسال تقارير الأخطاء إليك. بعد إصدار تطبيقك، يمكنك الحصول على التقارير منه iTunes الاتصال.

إختبار أ / ب

إختبار أ / ب هي واحدة من أقوى الطرق ل تقييم فعالية تطبيق iOS الخاص بك. يستخدم تجارب عشوائية مع جهازين A وB.

A اختبار / B

يتضمن اختبار A/B ثلاث خطوات رئيسية

  • تكوين اختبار: تم إعداد نسختين من تطبيق iOS الخاص بك (A & B) ومقياس الاختبار
  • اختبار: اختبر إصدارين من تطبيقات iOS أعلاه على الأجهزة في نفس الوقتneoعادة.
  • حلل: قم بقياس واختيار الإصدار الأفضل للإصدار

فولوwing تدعم الأدوات اختبار A/B على نظام iOS.

  • تنشأ: اختبار A/B لكل من iOS و Android. يمكن دمجه في تطبيق iOS الخاص بك وجعل عملية الاختبار أسرع.

أفضل الممارسات لاختبار A/B

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

اختبار iOS أفضل الممارسات

فيما يلي بعض النصائح التي يجب أن تعرفها عند تنظيم اختبار تطبيق iOS الخاص بك

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

خرافات حول اختبار iOS

يتناول هذا القسم بعض الخرافات والحقائق الشائعة حول اختبار iOS

اختبار التطبيق على iOS و Android هي نفس الشيء.

آيفون و Android هما منصتان تم تطويرهما بواسطة شركة Apple Inc وGoogle. إنهم مختلفون تمامًا. الخ بيئات الاختبار وأطر الاختبار ولغات البرمجة.

يكفي اختبار التطبيق على iOS Simulator.

محاكي iOS ليس كذلكtrong بما يكفي لاختبار التطبيق. لأن iOS Simulator لديه بعض القيود:

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

سيقوم الجميع بتنزيل تطبيقاتي على متجر التطبيقات لأنه يحتوي على العديد من الميزات

كلما زادت الميزات التي يحتوي عليها تطبيقك، زادت الأخطاء التي يمكن أن تحصل عليها. لن يقوم أي مستخدم بتنزيل تطبيقك إذا كان لا يزال به العديد من العيوب.