אוטומציה של בדיקות ממשק משתמש (original) (raw)

בדיקת האינטראקציות של המשתמשים עוזרת לוודא שהמשתמשים לא נתקלים בתוצאות לא צפויות או בחוויה גרועה במהלך האינטראקציה עם האפליקציה. כדאי לכם לפתח את ההרגל ליצור בדיקות של ממשק המשתמש (UI) אם אתם צריכים לוודא שממשק המשתמש של האפליקציה פועל בצורה תקינה.

אחת מהגישות לבדיקת ממשק המשתמש היא לבקש מבוחן אנושי לבצע קבוצה של פעולות משתמש באפליקציית היעד ולאמת שהיא פועלת בצורה תקינה. עם זאת, הגישה הידנית הזו עשויה לגזול זמן רב ולהוביל לשגיאות. גישה יעילה יותר היא לכתוב את בדיקות ממשק המשתמש כך שפעולות המשתמשים יבוצעו באופן אוטומטי. הגישה האוטומטית מאפשרת להריץ את הבדיקות במהירות ובאופן מהימן, באופן שניתן לחזור עליו.

בבדיקות ממשק המשתמש מופעלת אפליקציה (או חלק ממנה), מתבצעת הדמיה של אינטראקציות של משתמשים ובסוף בודקים שהאפליקציה הגיבה כראוי. אלה בדיקות שילוב שיכולות לנוע בין אימות ההתנהגות של רכיב קטן לבין בדיקת ניווט גדולה שעוברת על כל תהליך השימוש. הן שימושיות לזיהוי רגרסיות ולאימות התאימות לרמות API שונות ולמכשירים פיזיים שונים.

הרצת בדיקות ממשק משתמש

ארכיטקטורה והגדרת בדיקה

הארכיטקטורה של האפליקציה צריכה לאפשר לבדיקות להחליף חלקים ממנה לצורך בדיקת עותקים כפולים, וצריך להשתמש בספריות שמספקות כלי עזר לבדיקה. לדוגמה, אפשר להחליף מודול של מאגר נתונים בגרסה שלו שמאוחסנת בזיכרון, שמספקת לבדיקה נתונים מזויפים ודטרמיניסטיים.

תרשימי ארכיטקטורה של סביבות ייצור ובדיקה. בתרשים של ייצור מוצגים מקורות נתונים מקומיים ומרוחקים שמספקים נתונים למאגר, שמספק אותם באופן אסינכרוני לממשק המשתמש. בתרשים הבדיקה מוצג מאגר מזויף שמספק את הנתונים שלו באופן סינכרוני לממשק המשתמש.

איור 3: בדיקת ממשק משתמש על ידי החלפת יחסי התלות שלו במודלים מזויפים.

הגישה המומלצת להחלפת יחסי התלות היא החדרת תלות (dependency injection). אפשר ליצור מערכת משלכם באופן ידני, אבל מומלץ להשתמש למטרה הזו במסגרת DI כמו Hilt.

למה כדאי לבדוק ממשקי משתמש באופן אוטומטי?

אפליקציה ל-Android יכולה לטרגט אלפי מכשירים שונים ברמות API ובפורמטים שונים. רמת ההתאמה האישית הגבוהה שמערכת ההפעלה מספקת למשתמש עלולה לגרום לכך שהאפליקציה תעבור עיבוד שגוי או אפילו תאבד את יציבותה במכשירים מסוימים.

בדיקת ממשק המשתמש מאפשרת לבצע בדיקת תאימות, כדי לוודא את ההתנהגות של האפליקציה בהקשרים שונים. מומלץ להריץ את בדיקות ממשק המשתמש במכשירים שונים במובנים הבאים:

בנוסף, אפליקציות צריכות לבדוק את ההתנהגות מעבר לטלפונים. מומלץ לבדוק את הנושא בטאבלטים, במכשירים מתקפלים ובמכשירים אחרים. מידע נוסף על בדיקה של מסכים בגדלים שונים

סוגי בדיקות ממשק המשתמש

בקטע הזה נסביר על שני סוגים של בדיקות ממשק משתמש: