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

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

إعداد بيئة الاختبار

من الضروري توفير بيئة اختبار قوية لاختبار تطبيق يستخدم واجهات برمجة التطبيقات الخاصة بمنصة Home.

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

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

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

تجميع الأدوات

تساعد الأدوات التالية في اختبار تطبيق يستخدم واجهات برمجة تطبيقات Home:

الأداة الوصف
Google Home Playground وهي ليست بديلاً عن الاختبار باستخدام أجهزة فعلية، ولكنها مفيدة جدًا في العديد من سيناريوهات الاختبار.
Matter Virtual Device (MVD) تطبيق محاكاة آخر يمكن أن يكون مفيدًا عند الاختبار باستخدام أجهزة Matter في تطبيق يستخدم واجهات برمجة التطبيقات Home APIs.
محاكي الشبكة تتيح لك محاكاة ظروف الشبكة المختلفة واستجابات واجهة برمجة التطبيقات، وهو أمر مفيد بشكل خاص إذا كنت تستخدم خادمًا خلفيًا على السحابة الإلكترونية.
TestFlight تتيح لك برمجة اختبار واجهة المستخدم، ولكن عليك محاكاة واجهة برمجة التطبيقات الأساسية لمحاكاة التفاعلات مع الأجهزة.
XCode Console تعالج بيانات السجلّات وتحلّلها.
XCUIAutomation تتيح لك برمجة اختبار واجهة المستخدم، ولكن عليك محاكاة واجهة برمجة التطبيقات الأساسية لمحاكاة التفاعلات مع الأجهزة.

تطبيق أساليب واستراتيجيات اختبار مختلفة

يجب تطبيق مجموعة متنوعة من أساليب الاختبار على تطبيق Home APIs. للحصول على معلومات عامة حول الطرق المختلفة، راجِع اختبار التطبيقات على TestFlight. بالإضافة إلى اختبار تجربة المستخدم والأمان الذي من المتوقّع أن تخضع له جميع تطبيقات iOS، هناك بعض مجالات الاختبار التي تهمّ بشكل خاص تطبيقات Home APIs، ويتم توضيحها بمزيد من التفصيل في الأقسام التالية.

الاختبار الوظيفي

استنادًا إلى إمكانات تطبيقك، قد تحتاج إلى إيلاء اهتمام خاص لبعض الجوانب التالية:

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

اختبار الأداء

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

اختبار الموثوقية والثبات

بسبب اعتمادها على الاتصال بالشبكة، يجب اختبار تطبيقات Home APIs في الحالات التالية:

  1. تذبذب الشبكة
    • محاكاة انقطاع شبكة Wi-Fi وضعف الإشارات والتبديل بين الشبكات
    • تأكَّد من أنّ تطبيقك يتعامل مع حالات قطع الاتصال وإعادة الاتصال بسلاسة.
    • تأكَّد من أنّ الأوامر يتم وضعها في قائمة الانتظار وتنفيذها عند استعادة الاتصال، أو قدِّم رسائل خطأ مناسبة.
    • اختبِر التطبيق من شبكات بعيدة، وليس من شبكة المنزل فقط.
  2. قطع اتصال الجهاز
    • افصل الأجهزة عن مصدر الطاقة.
    • إدارة تشغيل الأجهزة
  3. العمليات المتزامنة
    • إرسال تسلسل سريع من الأوامر
    • محاولة التحكّم في الجهاز نفسه من قِبل عدة مستخدمين في الوقت نفسه
    • اختبار المشاهد وعمليات التشغيل الآلي المتداخلة
  4. معالجة الأخطاء
    • فرض أخطاء في واجهة برمجة التطبيقات، مثلاً من خلال محاكاة ردود خادم واجهة برمجة التطبيقات على السحابة الإلكترونية
    • اختبِر الإدخال غير الصالح من المستخدم.
    • تحقَّق من التكيّف مع الإصدارات الأقدم ومن توفُّر رسائل خطأ مفيدة.
  5. الموثوقية: تشغيل التطبيق والأجهزة المتصلة لفترات طويلة للكشف عن أي مشاكل محتملة في تسريب الذاكرة أو الثبات

قبل إطلاق تطبيقك

ننصحك باختبار التطبيق الذي يستخدم واجهات برمجة تطبيقات Home بشكل شامل للتأكّد من استيفائه لجميع متطلبات الوظائف والجودة قبل إطلاقه. استخدِم تقرير اختبار تطبيق Google Home APIs كدليل لاختبار وظائف تطبيقك.

إذا طُلب منك إرسال "تقرير اختبار تطبيق Google Home APIs"، أرسِل التقرير إلى Technical Account Manager (TAM) في Google ليتمكّن من مراجعته واستخدامه كمرجع عند اختبار تطبيقك.