בניגוד לסוגים אחרים של אפליקציות ל-Android, לאפליקציה עם ממשקי API לבית יש שיקולים ואתגרים ייחודיים משלה, כולל תלות במכשירים פיזיים לבית חכם, אמינות הרשת, אבטחה ופרטיות, ויכולת פעולה הדדית בין מכשירים ופרוטוקולים. להבדלים האלה יש השפעה על הבדיקות.
הגדרת סביבת הבדיקה
סביבת בדיקה חזקה היא חיונית לבדיקת אפליקציה עם ממשקי API של Home.
מומלץ לבודד את מכשירי הבדיקה של Home API ברשת Wi-Fi ייעודית. כך אפשר למנוע הפרעות ממכשירים אחרים ולדמות תנאי רשת שונים, כמו רוחב פס מוגבל.
מומלץ לבדוק באמצעות מגוון סוגים של מכשירים לבית חכם, של יצרנים שונים. חשוב לבצע בדיקות עם מכשירים פיזיים אמיתיים. למכשירים וירטואליים ולאמולטורים יש מקום, אבל לא כדאי להסתמך עליהם באופן בלעדי.
באופן דומה, בדיקת האפליקציה במגוון מכשירי Android של יצרנים שונים, עם מידות מסך שונות ועם גרסאות שונות של Android, עוזרת לוודא תאימות רחבה יותר.
הרכבת הכלים
הכלים הבאים יכולים לעזור לכם לבדוק אפליקציה של Home APIs:
כלי | תיאור |
---|---|
Google Home Plugin for Android Studio | התפקיד הזה מספק גישה אל Google Assistant Simulator, אל הכלי לצפייה ב-Home Graph, אל Google Cloud Logging ואל הכלי לצפייה ביומן של Android Debug Bridge (adb). |
Google Home Playground | הכלי לא מחליף בדיקה במכשירים פיזיים בפועל, אבל הוא שימושי מאוד בתרחישי בדיקה רבים. |
Matter Virtual Device (MVD) | אפליקציית אמולציה נוספת שיכולה לעזור כשבודקים מכשירי Matter באפליקציית Home APIs. |
Espresso | מאפשרת לבצע אוטומציה של בדיקות ממשק משתמש. צריך ליצור מוקינג ל-API הבסיסי כדי לדמות אינטראקציות עם חומרה. |
אמולטור רשת | מאפשרת לדמות תנאי רשת ותגובות API שונים, וזה שימושי במיוחד אם Home API משתמש בקצה עורפי בענן. |
Android Studio Logcat | טיפול בנתוני יומנים וניתוח שלהם. |
יישום של גישות ואסטרטגיות שונות לבדיקה
כדאי להשתמש במגוון גישות לבדיקה של אפליקציית Home APIs. למידע כללי על שיטות שונות, אפשר לעיין במאמר בדיקת אפליקציות ב-Android. בנוסף לבדיקות חוויית המשתמש והאבטחה שכל אפליקציות Android צריכות לעבור, יש תחומים מסוימים בבדיקות שרלוונטיים במיוחד לאפליקציות Home APIs, והם מפורטים יותר בקטעים הבאים.
בדיקות פונקציונליות
בהתאם ליכולות של האפליקציה, כדאי לשים לב במיוחד לתחומים הבאים:
- גילוי מכשירים וצימוד שלהם, כולל הגדרה ראשונית וצימוד למכשירים חדשים, גילוי מחדש של מכשירים קיימים אחרי הפעלה מחדש של האפליקציה, הפעלה מחדש של המכשיר או שינויים ברשת. כדאי גם לבדוק תרחישים כמו מכשירים שלא מגיבים או משתמש שמזין פרטי כניסה שגויים.
- סנכרון המצב, כדי לוודא שהאפליקציה מתעדכנת בזמן באופן מדויק בהתאם למצב הנוכחי.
- איך מנהלים את ההרשאות ומוודאים שהן נאכפות, במיוחד אם האפליקציה תומכת בכמה משתמשים או בגישה משותפת לבית. זה כולל אימות לכך שהאפליקציה מטפלת בהרשאות שבוטלו בצורה תקינה.
- אם האפליקציה תומכת בסצנות, כמו סצנת 'לילה טוב' שמכבה את כל האורות, כדאי לבדוק את היצירה, השינוי וההפעלה של הסצנות. בדיקת פעולות אוטומטיות, כולל סימנים לתחילת פעולות אוטומטיות ופעולות.
בדיקות ביצועים
מוודאים שהאפליקציה מגיבה ושהיא לא יוצרת השהיה מיותרת. אם אפשר, כדאי לבצע בדיקות עם מספר גדול של מכשירים כדי להעריך את יכולת ההתאמה לגודל ואת הביצועים של האפליקציה בעומס. כדאי גם לבדוק את צריכת המעבד (CPU), הזיכרון והסוללה של האפליקציה, במיוחד במהלך תקשורת פעילה עם המכשיר, כדי לראות אם השימוש שלה במשאבים סביר.
בדיקות אמינות ויציבות
בגלל התלות שלהן בקישוריות לרשת, צריך לבדוק את אפליקציות Home APIs בתרחישים הבאים:
- תנודות ברשת
- הדמיה של ניתוקים מ-Wi-Fi, אותות חלשים ומעבר בין רשתות.
- מוודאים שהאפליקציה מטפלת בניתוקים ובחיבורים מחדש בצורה חלקה.
- מוודאים שהפקודות נכנסות לתור ומבוצעות כשהקישוריות משוחזרת, או מספקים הודעות שגיאה מתאימות.
- כדאי לבדוק את האפליקציה מרשתות מרוחקות, ולא רק מהרשת הביתית.
- ניתוק המכשיר
- לנתק פיזית את המכשירים.
- הפעלה מחדש של המכשירים.
- פעולות מקבילות
- שליחת רצף מהיר של פקודות.
- כמה משתמשים מנסים לשלוט באותו מכשיר בו-זמנית.
- בודקים סצנות ואוטומציות חופפות.
- טיפול בשגיאות
- לכפות שגיאות ב-API, למשל על ידי יצירת תגובות מדומה של שרת API בענן.
- בודקים קלט לא תקין מהמשתמש.
- בודקים את ההשפלה ההדרגתית ואת הודעות השגיאה האינפורמטיביות.
- אמינות – מריצים את האפליקציה ואת המכשירים המחוברים למשך תקופות ממושכות כדי לגלות דליפות זיכרון אפשריות או בעיות יציבות.