اختبار التطوير
كيفية اختبار السياج الجغرافي وميزات iPhone المعتمدة على الموقع
خطّط لاختبارات سياج جغرافي قابلة للتكرار في iOS لدخول المنطقة والخروج منها والأذونات والسلوك في الخلفية وإعادة تشغيل الجهاز، باستخدام محاكاة Xcode والتحقق على الجهاز الفعلي.
يحدد اختبار السياج الجغرافي الموثوق لجهاز iPhone إحداثي المركز ونصف القطر وشروط الدخول والخروج وحالة التطبيق وإذن الموقع قبل التنفيذ. استخدم مواقع Xcode الثابتة أو مسارات GPX لاختبارات تطوير قابلة للتكرار، ثم تحقق من الأذونات والتسليم في الخلفية وإعادة التشغيل وسلوك الجهاز الحقيقي على iPhone فعلي.
اختبار سياج جغرافي على iPhone ليس مجرد نقل علامة خريطة إلى مدينة أخرى. يتحقق اختبار كامل من الدخول والبقاء والخروج والتنفيذ في الخلفية وتغيّر الأذونات والسلوك بعد إعادة تشغيل الجهاز. عرّف تلك الشروط بوصفها حالات اختبار قابلة للتكرار قبل اختيار محاكاة Xcode أو أسلوب الجهاز الفعلي.
ما السياج الجغرافي؟
السياج الجغرافي شرط جغرافي حول إحداثي. تصف Apple مراقبة الشروط، المعروفة أيضًا بالسياج الجغرافي، بأنها طريقة يتلقى بها التطبيق أحداثًا عندما يدخل المستخدم منطقة جغرافية أو يغادرها.
تصف وثائق مراقبة الشروط الجغرافية من Apple منطقة دائرية بإحداثي مركز ونصف قطر. شروط المراقبة موارد نظام مشتركة، ولا يستطيع تطبيق تسجيل عدد غير محدود دفعة واحدة، لذا ينتمي السعة وتحديد الأولويات إلى خطة الاختبار.
عرّف ستة معاملات قبل الاختبار
ينبغي أن تسجّل كل حالة اختبار:
- خط عرض المركز وخط طوله؛
- نصف قطر السياج الجغرافي؛
- ما إذا كانت النقطة الأولية داخل المنطقة أو خارجها؛
- الدخول المتوقع أو الخروج أو كليهما؛
- حالة التطبيق: المقدمة أو الخلفية أو غير قيد التشغيل؛
- تفويض الموقع وحالة الموقع الدقيق.
سجّل أيضًا طراز iPhone وبناء iOS وبناء التطبيق ووقت الاختبار. لا يمكن إعادة إنتاج حدث فاشل إذا كانت تلك المدخلات مفقودة.
المسار 1: ابنِ اختبارات قابلة للتكرار باستخدام Xcode
لتطبيق تطوّره فريقك، ابدأ بأدوات تطوير Apple. يشرح دليل محاكاة الموقع في Xcode من Apple كيف يمكن لخطة اختبار تعيين موقع محدد مسبقًا أو إعادة تشغيل رحلة GPX مع تغيّر الموقع والارتفاع والسرعة.
جهّز ثلاث مجموعات بيانات على الأقل:
- نقطة بداية خارجية؛
- نقطة مؤكدة داخل السياج؛
- مسار GPX يدخل السياج ويعود إلى خارجه.
ينبغي أن تتحقق الاختبارات الآلية من الدخول والخروج وكبح التكرار وسلوك رفض الإذن كلًّا على حدة. لا يستطيع المحاكي إعادة إنتاج كل ميزة للجهاز الفعلي، لذا ينبغي أن يتبع تغطية المحاكي تحقق على الجهاز الحقيقي.
المسار 2: تحقق على iPhone فعلي
تغطي اختبارات الجهاز الفعلي مطالبات الأذونات والتسليم في الخلفية وبيئة الشبكة الحقيقية ومنافذ الجهاز ومسار موقع النظام. توضح Apple أن خدمات الموقع قد تجمع بين GPS وBluetooth ونقاط Wi-Fi وأبراج الشبكة الخلوية بدل الاعتماد على مستشعر واحد.
عندما يحتاج اختبار الجهاز الحقيقي إلى إحداثيات متكررة على iPhone نفسه، يمكن النظر في عتاد اختبار الموقع الخارجي. يتصل HHJ Pro عبر Lightning أو USB-C ويستخدم تطبيقه المرفق لاختيار نقطة اختبار. أكد الطراز وحالة iOS قبل إدراجه في خطة اختبار.
يغطي العتاد الخارجي جزءًا فقط من البيئة. ما يزال مخرج الشبكة ومنطقة الحساب وإذن الإشعارات والقرارات من جانب الخادم بحاجة إلى حالات اختبار مستقلة.
تسلسل اختبار سياج جغرافي كامل
- أنشئ خط أساس: افتح خريطة النظام في الموقع الحقيقي وسجّل حالة الإذن.
- سجّل السياج: أنشئ منطقة اختبار بمعرّف فريد.
- تحقق من الحالة الأولية: تأكد مما إذا كان التطبيق يبلّغ عن الداخل أو الخارج.
- فعّل الدخول: انتقل من نقطة الاختبار الخارجية إلى نقطة داخلية وسجّل وقت الحدث.
- فعّل الخروج: عد إلى الخارج وأكد أن حدث خروج واحد يُعالَج.
- غيّر حالة التطبيق: كرر في المقدمة والخلفية وحالة عدم التشغيل.
- غيّر التفويض: اختبر الرفض وأثناء الاستخدام ودائمًا وإعدادات الموقع الدقيق حسب الاقتضاء.
- أعد تشغيل الجهاز: تحقق من الاستعادة بعد أن يلغي المستخدم قفل iPhone.
- استعد خط الأساس: أزل شروط الاختبار وأكد الموقع الحقيقي في خريطة النظام.
سجّل الأحداث الفعلية بدل الاعتماد على إشعار مرئي فقط. تجعل الطوابع الزمنية ومعرّفات المناطق وسجلات التطبيق وسجلات الخادم تشخيص التكرار والأحداث المفقودة أسهل.
شروط حدودية يجدر تضمينها
| الشرط | السلوك المتوقع للتحقق منه |
|---|---|
| أسوار صغيرة أو متجاورة | ضوضاء الحدود والدخول المكرر والتغيّرات السريعة في الحالة |
| الموقع الدقيق متوقف | معالجة ملائمة للموقع التقريبي |
| سُحب الإذن | إرشاد واضح وتوقف المراقبة |
| الشبكة غير متاحة | فصل الأحداث المحلية عن مزامنة الخادم |
| التطبيق في الخلفية | يطابق السلوك تصميم المنتج |
| أُعيد تشغيل الجهاز | تُعاد إنشاء حالة المراقبة المطلوبة بعد إلغاء القفل |
| حُدّث iOS | تُعاد التحقق من نتائج الاختبار السابقة |
السياج الجغرافي ليس مفتاحًا هندسيًا مثاليًا. تؤثر دقة الموقع وجدولة النظام في توقيت الأحداث، لذا ينبغي أن تسمح متطلبات المنتج بتفاوت معقول بدل معاملة حدث متأخر واحد بوصفه عطلاً دائمًا.
أخطاء شائعة
هل يجب أن يظهر تنبيه في اللحظة التي تعبر فيها نقطة الخريطة الدائرة؟
لا. يمكن لتحديثات الموقع وتقييم المنطقة والجدولة في الخلفية ومنطق التطبيق أن تؤثر كلها في التسليم. احكم على النتيجة بالسجلات ونافذة زمنية صريحة.
هل يكفي اختبار المقدمة؟
لا. يُستخدم السياج الجغرافي كثيرًا في مسارات العمل الخلفية. يحتاج التفويض وحالة الخلفية وإنهاء التطبيق وإعادة تشغيل الجهاز كلها إلى تغطية.
هل يغيّر تغيّر موقع النظام منطقة الحساب أيضًا؟
لا. موقع الجهاز ومخرج الشبكة وبيانات الحساب وقواعد الخادم إشارات منفصلة وينبغي اختبارها بشكل مستقل.
هل يستطيع HHJ Pro ضمان أن كل تطبيق سياج جغرافي سيعمل؟
لا. يمكن أن يكون أحد مدخلات اختبار الموقع على جهاز iPhone فعلي متوافق، لكن كل تطبيق وخادم يتحكمان بمنطقهما الخاص.
أي مسار اختبار ينبغي أن تختار؟
استخدم Xcode وGPX أولاً لتطبيق تتحكم فيه ولاختبارات الانحدار الآلية. أضف اختبارات الجهاز الفعلي لسلوك الإذن والخلفية ومسار العتاد. إذا لزم الأمر نقاط قابلة للتكرار على iPhone فعلي متوافق، راجع صفحة توافق HHJ Pro ودليل الإعداد.
استخدم حسابات اختبار مخصصة وبيانات اختبار غير حسّاسة. لا تطبّق سير عمل ضمان الجودة لتزوير الحضور أو خداع خدمة أو التحايل على ضوابط الأمان.