على عكس أنواع تطبيقات iOS الأخرى، يتضمّن تطبيق Home APIs اعتبارات وتحديات فريدة، بما في ذلك الاعتماد على أجهزة منزلية ذكية فعلية وموثوقية الشبكة والأمان والخصوصية وإمكانية التشغيل التفاعلي للأجهزة والبروتوكولات. تؤثر هذه الاختلافات في عملية الاختبار.
إعداد بيئة الاختبار
من الضروري توفير بيئة اختبار قوية لاختبار تطبيق Home APIs.
من الاستراتيجيات الجيدة عزل أجهزة الاختبار على شبكة Wi-Fi مخصّصة. يمنع ذلك حدوث تداخل من الأجهزة الأخرى ويسمح لك بمحاكاة ظروف الشبكة المختلفة، مثل النطاق الترددي المقيّد.
عليك إجراء الاختبار باستخدام مجموعة متنوعة من أنواع الأجهزة المنزلية الذكية من مجموعة متنوعة من الشركات المصنّعة. احرص على إجراء الاختبار باستخدام أجهزة فعلية. تُستخدم الأجهزة الافتراضية والمحاكيات في حالات معيّنة، ولكن لا يجب الاعتماد عليها حصريًا.
وبالمثل، يساعد اختبار تطبيقك باستخدام مجموعة متنوعة من أجهزة iOS من شركات مصنّعة متعددة، وبأبعاد شاشة مختلفة، وتشغيل إصدارات مختلفة من iOS في التحقّق من التوافق على نطاق أوسع.
تجميع الأدوات
في ما يلي الأدوات المفيدة في اختبار تطبيق Home APIs:
| الأداة | الوصف |
|---|---|
| Google Home Playground | لا يمكن الاستعاضة عن الاختبار باستخدام أجهزة فعلية، ولكنّها أداة قيّمة للعديد من سيناريوهات الاختبار. |
| Matter Virtual Device (MVD) | تطبيق محاكاة آخر يمكن أن يكون مفيدًا عند إجراء الاختبار باستخدام Matter الأجهزة في تطبيق Home APIs. |
| محاكي الشبكة | يتيح لك محاكاة ظروف الشبكة المختلفة وردود واجهة برمجة التطبيقات، ما يكون مفيدًا بشكل خاص إذا كنت تستخدم نظامًا خلفيًا مستندًا إلى السحابة الإلكترونية. |
| TestFlight | يتيح لك أتمتة اختبار واجهة المستخدم. عليك محاكاة واجهة برمجة التطبيقات الأساسية لمحاكاة تفاعلات الأجهزة. |
| XCode Console | تعالج بيانات السجلّات وتحلّلها. |
| XCUIAutomation | يتيح لك أتمتة اختبار واجهة المستخدم. عليك محاكاة واجهة برمجة التطبيقات الأساسية لمحاكاة تفاعلات الأجهزة. |
تطبيق أساليب واستراتيجيات اختبار مختلفة
عليك تطبيق مجموعة متنوعة من أساليب الاختبار على تطبيق Home APIs. للحصول على معلومات عامة عن الطرق المختلفة، يمكنك الاطّلاع على مقالة اختبار التطبيقات على TestFlight. بالإضافة إلى تجربة المستخدم واختبار الأمان اللذين يُتوقّع أن تخضع لهما جميع تطبيقات iOS، تكون بعض جوانب الاختبار ذات صلة خاصة بتطبيقات Home APIs، ويتم توضيحها بمزيد من التفصيل في الأقسام التالية.
الاختبار الوظيفي
بناءً على إمكانات تطبيقك، قد تحتاج إلى إيلاء اهتمام خاص لبعض المجالات التالية:
- اكتشاف الأجهزة وإقرانها، بما في ذلك الإعداد الأولي والإقران بأجهزة جديدة، وإعادة اكتشاف الأجهزة الحالية بعد إعادة تشغيل التطبيق أو إعادة تشغيل الجهاز أو إجراء تغييرات في الشبكة. عليك أيضًا اختبار سيناريوهات مثل الأجهزة غير المستجيبة أو إدخال المستخدم بيانات اعتماد غير صحيحة.
- مزامنة الحالة، ما يضمن تعديل التطبيق لعرض الحالة الحالية بدقة وفي الوقت المناسب.
- كيفية إدارة الأذونات وفرضها، خاصةً إذا كان تطبيقك يتيح استخدام عدة مستخدمين أو الوصول إلى المنزل المشترَك. ويشمل ذلك التأكّد من أنّ تطبيقك يعالج الأذونات التي تم إبطالها بشكل سليم.
- إذا كان تطبيقك يتيح استخدام المشاهد، مثل مشهد "تصبح على خير" الذي يطفئ جميع الأضواء، عليك اختبار إنشاء المشهد وتعديله وتنفيذه. عليك اختبار عمليات الأتمتة، بما في ذلك إجراءات التفعيل والإجراءات.
اختبار الأداء
تأكَّد من أنّ تطبيقك يستجيب ولا يؤدي إلى أي تأخير غير ضروري. إذا أمكن، عليك إجراء الاختبار باستخدام عدد كبير من الأجهزة لتقييم قابلية التوسّع وكيفية أداء تطبيقك تحت الضغط. عليك أيضًا الاطّلاع على وحدة المعالجة المركزية والذاكرة واستهلاك البطارية في تطبيقك، خاصةً أثناء التواصل النشط مع الجهاز، لمعرفة ما إذا كان استخدام الموارد معقولاً.
اختبار الموثوقية والثبات
بسبب اعتماد تطبيقات Home APIs على الاتصال بالشبكة، يجب اختبارها في السيناريوهات التالية:
- تذبذب الشبكة
- عليك محاكاة انقطاع شبكة Wi-Fi والإشارات الضعيفة والتبديل بين الشبكات.
- تأكَّد من أنّ تطبيقك يعالج حالات الانقطاع وإعادة الاتصال بشكل سليم.
- تأكَّد من أنّ الأوامر يتم وضعها في قائمة الانتظار وتنفيذها عند استعادة الاتصال، أو يتم عرض رسائل الخطأ المناسبة.
- اختبِر التطبيق من شبكات بعيدة، وليس فقط من الشبكة المنزلية.
- انقطاع اتصال الجهاز
- افصل الأجهزة عن مصدر الطاقة.
- أعِد تشغيل الأجهزة.
- العمليات المتزامنة
- أرسِل سلسلة سريعة من الأوامر.
- اطلب من عدة مستخدمين محاولة التحكّم في الجهاز نفسه في آنٍ واحد.
- اختبِر المشاهد وعمليات الأتمتة المتداخلة.
- معالجة الأخطاء
- فرض أخطاء في واجهة برمجة التطبيقات، مثلاً من خلال محاكاة ردود خادم واجهة برمجة التطبيقات المستندة إلى السحابة الإلكترونية.
- اختبِر الإدخالات غير الصالحة من المستخدم.
- تأكَّد من حدوث تدهور سليم في الأداء وعرض رسائل خطأ مفيدة.
- الموثوقية : شغِّل التطبيق والأجهزة المتصلة لفترات طويلة للكشف عن أي تسرّبات محتملة للذاكرة أو مشاكل في الثبات.
قبل إطلاق تطبيقك
يُنصح بإجراء اختبار دقيق لتطبيق يستخدم Home APIs للتأكّد من استيفائه جميع المتطلبات الوظيفية ومتطلبات الجودة قبل إطلاقه. استخدِم تقرير اختبار تطبيق Google Home APIs كدليل لاختبار وظائف تطبيقك.
إذا طُلب منك إرسال تقرير اختبار تطبيق Google Home APIs، أرسِل التقرير إلى Google Technical Account Manager (TAM) ليتمكّن من مراجعة التقرير واستخدامه كمرجع عند اختبار تطبيقك.