اختبار الموبايل: ماذا لو انقطع الإنترنت أو وصلتك مكالمة؟
تعلّم اختبار تطبيقات الموبايل عند انقطاع الإنترنت ووصول المكالمات والانتقال للخلفية، مع سيناريوهات تكشف فقدان البيانات وتكرار العمليات.

التطبيق يعمل… لكن ماذا يحدث عند مقاطعته؟
تخيّل أنك تعبّئ نموذجًا طويلًا على هاتفك، ثم تصلك مكالمة. بعد إنهائها، تعود للتطبيق فتجد كل البيانات اختفت. أو تضغط على «تأكيد الحجز»، وينقطع الإنترنت، فتكرر المحاولة وتكتشف وجود حجزين!
هذه المشاكل قد لا تظهر أثناء اختبار المسار الطبيعي. لاكتشافها، نحتاج إلى اختبار المقاطعات (Interruption Testing): التحقق من سلوك التطبيق عندما تقاطعه أحداث مثل المكالمات، وقفل الشاشة، وتغيّر الاتصال.
الهدف هو التأكد من أن التطبيق يتعامل مع المقاطعة ويعود للعمل دون فقدان غير متوقع للبيانات أو تكرار العمليات.
1. انقطاع الإنترنت قبل العملية وأثناءها
لا تختبر انقطاع الاتصال في الصفحة الرئيسية فقط. جرّبه أثناء تسجيل الدخول، وتحميل البيانات، وحفظ نموذج، ورفع صورة.
لكل عملية، اختبر ثلاث لحظات:
- قبل الإرسال: افتح الشاشة دون اتصال، ثم حاول تنفيذ العملية.
- أثناء التنفيذ: اقطع الاتصال بعد الضغط على الزر مباشرة.
- عند انتظار النتيجة: اختبر حالة وصول الطلب للخادم، لكن عدم وصول الاستجابة إلى التطبيق.
تحقق من ظهور رسالة مفهومة، وانتهاء مؤشر التحميل، ووجود طريقة واضحة لإعادة المحاولة. وإذا كان التطبيق يعرض بيانات محفوظة سابقًا، فتأكد من توضيح حالتها عند الحاجة.
وجود اتصال Wi-Fi لا يعني بالضرورة وجود إنترنت؛ جرّب شبكة متصلة دون وصول فعلي للخدمة أيضًا.
2. عودة الاتصال وإعادة المحاولة
بعد إعادة الإنترنت، راقب ما يحدث:
- هل تتحدّث البيانات تلقائيًا أم يحتاج المستخدم إلى المحاولة مجددًا؟
- هل تبقى المدخلات التي كتبها؟
- هل تختفي رسالة انقطاع الاتصال؟
- هل تنفّذ العمليات المعلّقة وفق تصميم المنتج؟
- هل يؤدي الضغط المتكرر إلى إنشاء سجلات مكررة؟
لا تفترض أن كل تطبيق يجب أن يعمل دون إنترنت أو يستأنف العمليات تلقائيًا. النتيجة المتوقعة تعتمد على المتطلبات، لكن حالة العملية يجب أن تبقى واضحة للمستخدم.
مثال مهم على تكرار الحجز
أرسل المستخدم طلب حجز، فحفظه الخادم، ثم انقطع الاتصال قبل وصول التأكيد. هنا عدم وصول الرد لا يعني فشل الحجز.
عند إعادة المحاولة، تحقّق من آلية منع التكرار واسترجاع حالة العملية. افحص سجل الحجوزات أو بيانات الخادم، ولا تعتمد على رسالة الشاشة وحدها.
3. وصول مكالمة أثناء استخدام التطبيق
جرّب استقبال مكالمة أثناء:
- كتابة بيانات لم تُحفظ بعد.
- رفع ملف أو انتظار نتيجة عملية.
- تشغيل فيديو أو تسجيل صوت.
- استخدام الكاميرا أو مسح QR Code.
اختبر رفض المكالمة والرد عليها ثم العودة؛ فقد يختلف تأثيرهما. كما يختلف السلوك حسب الجهاز والنظام وطريقة عرض المكالمة، فلا تفترض أن كل مكالمة تنقل التطبيق إلى الخلفية.
بعد العودة، تأكد من استجابة الشاشة، وسلامة البيانات، وعمل الكاميرا والصوت وفق متطلبات الميزة. لا ينبغي أن يبقى التطبيق عالقًا أو يعرض نجاحًا لعملية لم يكتمل التحقق منها.
4. الانتقال للخلفية وقفل الشاشة
ابدأ عملية، ثم انتقل إلى تطبيق آخر أو اقفل الهاتف. عد بعد فترة قصيرة، ثم كرّر الاختبار بعد فترة أطول.
تحقق من:
- استعادة الشاشة والحالة المناسبة.
- الاحتفاظ بالمدخلات وفق سياسة الحفظ.
- تحديث البيانات التي تغيّرت أثناء الغياب.
- التعامل الصحيح مع انتهاء الجلسة.
- عدم إعادة تنفيذ العملية لمجرد العودة للشاشة.
قد ينهي النظام عملية التطبيق أثناء وجوده بالخلفية، لذلك اختبر استعادة الحالة بعد إنهاء النظام للعملية أيضًا. الانتقال للخلفية والإغلاق الإجباري حالتان مختلفتان، فلا تعتبر إحداهما بديلًا عن الأخرى.
5. تبديل الشبكة وضعف الاتصال
جرّب الانتقال بين Wi-Fi وبيانات الهاتف أثناء الاستخدام، ثم اختبر اتصالًا بطيئًا أو متقطعًا.
راقب زمن الانتظار، ورسائل الفشل، وسلوك إعادة المحاولة. وبالنسبة لرفع الملفات، تحقق مما إذا كان التطبيق يستأنف الرفع أو يبدأه مجددًا حسب التصميم، دون إنشاء ملفات مكررة أو ترك حالة نجاح مضللة.
كيف توثّق المشكلة؟
اكتب نوع الجهاز، وإصدار النظام والتطبيق، ونوع الشبكة، واللحظة الدقيقة للمقاطعة.
بدلًا من «التطبيق يعلق عند انقطاع الإنترنت»، اكتب:
الخطوات: بدء رفع صورة، ثم قطع الاتصال أثناء الرفع، وإعادته بعد 20 ثانية.
المتوقع: ظهور حالة واضحة تسمح باستئناف الرفع أو إعادة المحاولة وفق المتطلبات.
الفعلي: استمرار مؤشر التحميل دون استجابة بعد عودة الاتصال.
استخدم أجهزة حقيقية ضمن التغطية، خصوصًا للمكالمات والكاميرا والصوت، واستعن بأدوات محاكاة ظروف الشبكة للتحكم في توقيت الانقطاع.
اختبار الموبايل الجيد يتحقق من قدرة التطبيق على التعافي، وليس فقط من نجاحه عندما تكون الظروف مثالية.



النقاش 🔻