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

⚡ ملخص ذكي

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

  • 🔘 مجال العمل تنتمي هذه التقنية إلى اختبار تطبيقات الهاتف المحمول، ولكنها تنطبق أيضًا على برامج الويب والبرامج المستقلة.
  • ☑️ مصادر الانقطاع: تغطي المكالمات الواردة والرسائل النصية القصيرة والتنبيهات وانخفاض مستوى البطارية وأحداث الشحن وتحديثات التطبيقات وتغييرات الشبكة معظم السيناريوهات الواقعية.
  • ✅ أربع نتائج متوقعة: التشغيل في الخلفية، أو عرض التنبيه، أو دعوة لاتخاذ إجراء، أو عدم وجود تأثير - يحدد كل تطبيق الخيار الذي ينطبق عليه.
  • 🧪 تصميم الاختبار: اختبار المقاطعة هو مجموعة فرعية من الاختبار الوظيفي، لذا تنطبق نفس الأطر وحالات الاختبار وعملية التنفيذ.
  • 🛠️ محاكاة: تتيح عناصر التحكم الموسعة للمحاكي وإعدادات الجهاز وسحابات الأجهزة الحقيقية إعادة إنتاج المكالمات والتنبيهات وفقدان الاتصال عند الطلب.
  • 📊 ليس اختبار استعادة البيانات: يُثبت اختبار الاستعادة صحة عملية الاستعادة بعد حدوث عطل، بينما يُعد الانقطاع مجرد انقطاع مؤقت.tracليس خطأً.

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

ما هو اختبار المقاطعة؟

اختبار المقاطعة يُعدّ هذا فرعًا من فروع اختبار تطبيقات الجوال، ويتناول كيفية استجابة التطبيق للمقاطعة واستئنافه لحالته السابقة. تأتي المقاطعة من خارج التطبيق - نظام التشغيل، أو الجهاز، أو تطبيق آخر - ويتحقق الاختبار من عدم فقدان أي بيانات أو حالة شاشة أو عملية جارية عند عودة التحكم.

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

لماذا تحتاج إلى اختبار المقاطعة؟

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

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

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

نوع الانقطاعات في تطبيقات الهاتف المحمول

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

أنواع الانقطاعات في تطبيق الهاتف المحمول، بما في ذلك المكالمات والرسائل النصية القصيرة والتنبيهات وأحداث البطارية والشبكة

جميعنا على دراية بالمقاطعات الشائعة التي تحدث عادةً. إليكم بعضًا منها:

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

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

الحل في حالة المقاطعة

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

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

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

اختبار المقاطعة: حالات الاختبار مع النتائج المتوقعة

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

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

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

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

كيفية القيام باختبار المقاطعة

انظر إلى هذا البيان: يجب تشغيل iBooks في الخلفية عندما يتلقى المستخدم مكالمة هاتفية واردة.

ألا تعتبر هذا متطلباً وظيفياً لتطبيق iBooks؟ أنا أعتبره كذلك بالتأكيد.

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

عملياً، يكون التسلسل قصيراً وقابلاً للتكرار:

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

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

أدوات وتقنيات لمحاكاة المقاطعات

يجب إنتاج السيناريوهات المذكورة أعلاه عند الطلب بدلاً من انتظارها، وتوفر كل منصة طريقة للقيام بذلك.

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

بغض النظر عن الآلية، سجّل لحظة الانقطاع بدقة في حالة الاختبار. يُعدّ كل من "الانقطاع أثناء التحميل" و"الانقطاع بعد التحميل" اختبارين مختلفين لهما أنماط فشل مختلفة.

أفضل الممارسات لاختبار المقاطعة

هناك بعض العادات التي تميز مجموعة المقاطعات المفيدة عن مجرد إجراء شكلي.

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

أليس اختبار المقاطعة هو نفس اختبار الاسترداد؟

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

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

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

الأسئلة الشائعة

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

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

يُجيد Copilot صياغة التعليمات البرمجية الأساسية - تشغيل التطبيق في الخلفية، وتفعيل/إلغاء الاتصال، والانتظار، ثم إعادة عرض الشاشة المستعادة. يبقى قرار تحديد وقت المقاطعة والحالة التي يجب أن تبقى معطلة من مسؤولية المُختبِر، لذا تعامل مع النصوص البرمجية المُولَّدة كمسودة أولية للمراجعة.

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

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

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

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

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

تلخيص هذه التدوينة بـ: