איכות האפליקציה העיקרית

תאריך העדכון האחרון: 17 במאי 2021

דרך יעילה להעריך את מצוינות האפליקציה היא הליכה בתהליכי העבודה באפליקציה ולהעריך את התקינות והבטיחות של חוויית השימוש באפליקציה.

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

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

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

חוויה חזותית

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

אזור מזהה בדיקות תיאור
ניווט VX-N1 CR-3 האפליקציה תומכת בניווט רגיל באמצעות לחצן 'הקודם' ולא משתמשת ב'לחצן 'הקודם' מותאם אישית שמופיע במסך. הנחיות.
VX-N2 CR-3 האפליקציה תומכת בניווט באמצעות תנועות כדי לחזור או לחזור למסך הבית.
VX-N3 CR-1
CR-3
CR-5

האפליקציה שומרת ומשחזרת באופן תקין את מצב המשתמש או האפליקציה.

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

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

  1. כשממשיכים את הפעלת האפליקציה דרך מחליף האפליקציות האחרונות, האפליקציה מחזירה את המשתמש למצב המדויק שבו נעשה שימוש בפעם האחרונה.
  2. כשהאפליקציה מופעלת מחדש אחרי שהמכשיר מתעורר ממצב שינה (נעול), היא מחזירה את המשתמש למצב המדויק שבו נעשה שימוש בפעם האחרונה.
  3. כשהאפליקציה מופעלת מחדש מדף הבית או מכל האפליקציות, היא צריכה לבצע אחת מהפעולות הבאות, בהתאם לזמן שחלף מאז השימוש האחרון בה:
    • אם השימוש האחרון באפליקציה היה לפני זמן קצר (בדקות), כדאי לשחזר את האפליקציה כמה שיותר קרובה למצב שלה.
    • אם חלף עוד זמן מאז השימוש האחרון באפליקציה, נסו לשחזר את האפליקציה כמה שיותר מהר למצבה הקודם. או להפעיל אותו ממסך הבית שלו או ממצב ברירת מחדל אחר.
התראות VX-S1 CR-9

ההתראות צריכות לעמוד בהנחיות העיצוב. ובפרט:

  1. לא נעשה שימוש בהתראות לקידום צולב או לפרסום של מוצר אחר, כי חנות Play אוסרת על כך בתכלית האיסור.
  2. ערוצי התראות מוגדרים בהתאם לשיטות המומלצות, ולא להציג את כל ההתראות מערוץ אחד.
  3. בחירת העדיפות הנכונה של התראות.
  4. כשזה אפשרי, כמה התראות מקובצות בקבוצת התראות אחת.
  5. מגדירים זמן קצוב לתפוגה לקבלת התראות במקרים הרלוונטיים.
  6. ההתראות נשמרות באופן קבוע רק אם הן קשורות לאירועים מתמשכים, כמו הפעלת מוזיקה או שיחת טלפון. מידע נוסף זמין במאמר הקטע 'פונקציונליות'.
VX-S2 CR-9

באפליקציות של הודעות, באפליקציות של רשתות חברתיות ובשיחות:

  1. להשתמש בהתראות MessagingStyle לשיחות.
  2. לתמוך בפעולת תשובה ישירה.
  3. כדאי לתמוך בקיצורי דרך לשיחה ולהטמיע שיטות מומלצות להשגת דירוג השיתוף הישיר הטוב ביותר.
  4. תמיכה בבועות.
ממשק משתמש וגרפיקה VX-U1 CR-5

האפליקציה תומכת בכיוונים שונים ובפריסה לאורך, במכשיר מקופל ולא מקופל .

כיוונים ומצבי קיפול חושפים בעיקר תכונות ופעולות זהות, ושומרים זוגיות פונקציונלית.

VX-U2 CR-5

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

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

VX-U3 CR-5 האפליקציה מטפלת בצורה תקינה במעברים מהירים בין כיוון המסך לבין קיפול המכשיר ויתפרס ללא בעיות בעיבוד המסך ומבלי לאבד את המצב.
איכות חזותית VX-V1 CR-all

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

  1. האפליקציה צריכה להשתמש בפריטים גרפיים וקטוריים כשזה אפשרי.
  2. האפליקציה מספקת גרפיקה באיכות גבוהה לכל גודלי המסכים וגורמי הצורה המטורגטים.
  3. לא ניתן לראות יצירת אימייל חלופי בקצוות של תפריטים, לחצנים ורכיבים אחרים של ממשק המשתמש.
VX-V2 CR-all

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

  1. הרכב קביל בכל גורמי הצורה הנתמכים.
  2. מילים או אותיות חתוכות לא יהיו גלויות.
  3. רכיבי גלישת מילים לא תקינים בין הלחצנים או הסמלים לא גלויים.
  4. יש מספיק ריווח בין הטקסט לאלמנטים שסביבו.
VX-V3 CR-all תוכן האפליקציה וכל התוכן מהאינטרנט שאליו האפליקציה מפנה, תומכים בעיצוב כהה.
נגישות VX-A1 CR-all

משטחי מגע צריכים להיות בגודל 48dp לפחות. מידע נוסף

VX-A2 CR-all

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

  • 3.0:1 לטקסט או לגרפיקה גדולים
  • 4.5:1 לטקסט קטן (טקסט שקטן מ-18 נקודות, או אם הטקסט מודגש וקטן מ-14 נקודות)

למידע נוסף על צבע וניגודיות.

VX-A3 CR-all תיאור כל רכיב בממשק המשתמש, מלבד TextView, באמצעות contentDescription.

הפונקציונליות

האפליקציה צריכה להטמיע את ההתנהגות הפונקציונלית הצפויה.

אזור מזהה בדיקות תיאור
אודיו FN-A1 CR-1
CR-8
האודיו ממשיך כשהאפליקציה חוזרת לחזית או מציין למשתמש שההפעלה במצב מושהה.
FN-A2 CR-1
CR-2
CR-8
אם הפעלת אודיו היא תכונה עיקרית, האפליקציה צריכה לתמוך בהפעלה ברקע.
FN-A3 CR-0

כשהמשתמש מפעיל אודיו, האפליקציה צריכה לבצע אחת מהפעולות הבאות בתוך שנייה:

  1. מתחילים להשמיע את האודיו.
  2. צריך לספק אינדיקטור חזותי להכנה של נתוני האודיו.
FN-A4 CR-0 האפליקציה צריכה לבקש מיקוד אודיו כשהאודיו מתחיל לפעול, ולנטוש את מיקוד האודיו כשההפעלה נפסקת.
FN-A5 CR-0 האפליקציה צריכה לטפל בבקשות של אפליקציות אחרות למיקוד אודיו. לדוגמה, אפליקציה עשויה להפחית את עוצמת הקול של ההפעלה כשאפליקציה אחרת משמיעה דיבור.
מדיה FN-M1 CR-0
CR-6
CR-8
אם האפליקציה מפעילה אודיו ברקע, היא חייבת ליצור התראה בסגנון MediaStyle.
FN-M2 CR-0 אם האפליקציה מפעילה סרטון, היא צריכה לתמוך בהפעלת תמונה בתוך תמונה.
FN-M3 CR-0 אם האפליקציה מקודדת וידאו, היא צריכה לעשות זאת באמצעות תקן HEVC לדחיסת וידאו.
שיתוף FN-S1 CR-0 כשמשתפים תוכן, צריך להשתמש ב-Android Sharesheet. הוא יכול להציע יעדים שלא זמינים לפתרונות מותאמים אישית.
שירות ברקע FN-B1 CR-6 האפליקציה מונעת הפעלה ברקע של שירותים ארוכים מדי. כדי להבטיח שהמכשיר של המשתמש יפעל בצורה חלקה, המערכת מחילה הגבלות שונות על שירותי רקע. אלו לא נחשבים שימושים טובים בשירותים ברקע:
  • שמירה על חיבור לרשת לקבלת התראות
  • שמירה על חיבור Bluetooth
  • המשך הפעלת ה-GPS

כך בוחרים את הפתרון המתאים לעבודה.

ביצועים ויציבות

האפליקציה צריכה לספק את נתוני הביצועים, היציבות, התאימות הרספונסיביות הצפויה של המשתמשים.

אזור מזהה בדיקות תיאור
יציבות PS-S1 CR-all
SD-1
האפליקציה לא קורסת או חסימת ה-UI thread שגורם ל-ANR (Android Not מגיבים'). שימוש Google דוח טרום-השקה של Play כדי לזהות בעיות יציבות אפשריות. אחרי הפריסה, משלמים תשומת לב לדף תפקוד האפליקציה Play Developer Console.
ביצועים PS-P1 CR-all
SD-1
האפליקציה נטענת במהירות או מספקת משוב במסך למשתמש (אינדיקטור התקדמות או סימן דומה) אם הטעינה של האפליקציה נמשכת יותר משתי שניות.
PS-P2 CR-all
SD-1
אפליקציות צריכות לעבד פריימים כל 16 אלפיות שנייה כדי להגיע ל-60 פריימים לשנייה. המפתחים יכולים להשתמש באפשרות רינדור פרופיל ב-HWUI בפרופיל כדי לבצע בדיקות. אם יש בעיות, אפשר להיעזר בכלים שיכולים לעזור באבחון הרינדור האיטי.
PS-P3 PM-1 כאשר StrictMode מופעל (מידע נוסף זמין בקטע StrictMode Testing בהמשך), לא מופיעים פלאשים אדומים (אזהרות ביצועים מ-StrictMode) במהלך בדיקת האפליקציה. הבהוב אדום מעיד על התנהגות לא תקינה של אחסון, גישה לרשת או דליפות זיכרון.
SDK PS-T1 CR-0 האפליקציה פועלת בגרסה הציבורית האחרונה של פלטפורמת Android, בלי לקרוס או להשפיע באופן משמעותי על הפונקציונליות העיקרית.
PS-T2 SP-1 האפליקציה מטרגטת את ה-SDK העדכני של Android שנדרש כדי לעמוד בדרישות של Google Play על ידי הגדרת הערך targetSdk.
PS-T3 SP-1 האפליקציה כוללת את גרסת ה-SDK העדכנית ביותר של Android על ידי הגדרת הערך compileSdk.
PS-T4 SP-2
SP-3
כל ערכות ה-SDK של Google או של צד שלישי עדכניות. כל שיפור בערכות ה-SDK האלה, כמו יציבות, תאימות או אבטחה, צריך להיות זמין למשתמשים בהקדם האפשרי.

בערכות ה-SDK של Google, מומלץ להשתמש בערכות SDK שמבוססות על Google Play Services, אם הן זמינות. ערכות ה-SDK האלה תואמות לאחור, מקבלות עדכונים אוטומטיים, מקטינות את הגודל של חבילת האפליקציות ומנצלות ביעילות את המשאבים ששמורים במכשיר.

המפתח אחראי לכל בסיס הקוד של האפליקציה, כולל ערכות ה-SDK של צד שלישי שבהן נעשה שימוש.

PS-T5 SP-3 האפליקציה לא משתמשת בממשקים שאינם SDK.
PS-T6 SP-2 אפליקציית הייצור לא כוללת ספריות לניפוי באגים. הדבר עשוי להוביל לבעיות בביצועים וגם לבעיות אבטחה.
סוללה PS-B1 BA-1 האפליקציה תומכת כראוי בתכונות ניהול צריכת החשמל שהוצגו ב-Android 6.0 (Doze ו-App Standby). במקרה שניהול צריכת החשמל מפריע לפונקציונליות העיקרית, רק אפליקציות שעומדות בדרישות יכולות לבקש פטור. ראו תמיכה בתרחישים אחרים לדוגמה ב'נמנום' וב-App Standby.

במהלך הפיתוח, המפתחים יכולים לבדוק את ההתנהגות של האפליקציה במצב המתנה ולהירדם באמצעות פקודות ה-ADB האלה.

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

פרטיות ואבטחה

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

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

אזור מזהה בדיקות תיאור
הרשאות SC-P1 SC-4 האפליקציה מבקשת רק את מספר ההרשאות המינימלי המוחלט שדרוש לה כדי לתמוך בתרחיש לדוגמה הקיים. בהרשאות מסוימות, כמו מיקום, מומלץ להשתמש במיקום משוער במקום במיקום המדויק, אם אפשר.
SC-P2

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

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

SC-P3 CR-0 האפליקציה מבקשת הרשאות בזמן הריצה בהקשר, כשמתבצעת בקשה לפונקציונליות, ולא מראש במהלך ההפעלה של האפליקציה.
SC-P4 CR-0

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

SC-P5 CR-0 האפליקציה אמורה לפגוע בצורה חיננית כאשר משתמשים מסרבים או מבטלים הרשאה. האפליקציה לא אמורה למנוע מהמשתמש גישה מלאה אליה.
נתונים הקבצים SC-DF1 SC-1 כל המידע האישי הרגיש מאוחסן באחסון הפנימי של האפליקציה.
SC-DF2 SC-10 לא מתבצע רישום של נתוני משתמשים אישיים או רגישים ביומן המערכת או ביומן ספציפי לאפליקציה.
SC-DF3 האפליקציה לא משתמשת במזהי חומרה שלא ניתנים לאיפוס, כמו IMEI, למטרות זיהוי.
זהות SC-ID1 CR-0 האפליקציה מספקת רמזים למילוי אוטומטי של פרטי הכניסה של החשבון ומידע רגיש אחר, כמו פרטי כרטיס אשראי, כתובת פיזית ומספר טלפון.
SC-ID2 CR-0 משלבים את מנהל פרטי הכניסה ל-Android חוויית כניסה חלקה, מאחדת תמיכה במפתחות גישה, בזהות מאוחדת וב בסיסמאות מסורתיות.
SC-ID3 CR-0 באפליקציה יש תמיכה באימות ביומטרי כדי להגן על עסקאות פיננסיות או מידע רגיש, כמו מסמכים חשובים של המשתמש.
רכיבי האפליקציה SC-AC1 SC-5

האפליקציה מגדירה את המאפיין android:exported באופן מפורש לכל הפעילויות, השירותים, מקלטי שידורים ובמיוחד לספקי תוכן.

הייצוא מתבצע רק של רכיבי אפליקציות שמשתפים נתונים עם אפליקציות אחרות, או רכיבים שאפליקציות אחרות צריכות להפעיל.

SC-AC2 CR-0
SC-4

כל הכוונות והשידורים פועלים בהתאם לשיטות המומלצות:

  1. להשתמש באובייקטים מפורשים של Intent אם אפליקציית היעד מוגדרת היטב.
  2. משתמשים באובייקטים של Intent כדי לדחות הרשאות לאפליקציה אחרת שכבר יש לה את ההרשאה.
  3. שיתוף נתונים מאובטח בין אפליקציות.
  4. אובייקטים מסוג Intent שמכילים מטען ייעודי (payload) מאומתים לפני השימוש.
  5. אם אתם צריכים להעביר Intent לאפליקציה אחרת, כדי שהאפליקציה המקבלת תוכל להפעיל קריאה חוזרת (callback) באפליקציית הקריאה החוזרת, אל תכללו Intent בתצוגת התוספות. משתמשים ב-PendingIntent.
  6. כשמגדירים את ה-PendingIntents, צריך להגדיר באופן מפורש את הדגל שלא ניתן לשינוי, במקרים הרלוונטיים.
SC-AC3 SC-3 בכל הרכיבים שמשתפים תוכן בין האפליקציות משתמשים ב-android:protectionLevel="signature" להרשאות מותאמות אישית. זה כולל פעילויות, שירותים, מקלטי שידורים ובמיוחד ספקי תוכן.

אפליקציות לא יכולות להסתמך על גישה לרשימה של חבילות מותקנות. הגישה הוגבלה החל מ-Android 11.

רשתות SC-N1 SC-9 כל תנועת הרשת נשלחת באמצעות SSL.
SC-N2 SC-6 האפליקציה מצהירה על הגדרות של אבטחת רשת.
SC-N3 אם האפליקציה משתמשת ב-Google Play Services, ספק האבטחה מופעל במהלך ההפעלה של האפליקציה.
רכיבי WebView SC-W1 SC-6 אין להשתמש ב-setAllowUniversalAccessFromFileURLs() כדי לגשת לתוכן מקומי. במקום זאת, משתמשים ב-WebViewAssetLoader.
SC-W2 SC-7 לרכיבי WebView אסור להשתמש ב-addJavaScriptInterface() עם תוכן לא מהימן.

ב-Android 6.0 ואילך, יש להשתמש במקום זאת בערוצים של הודעות HTML.

ביצוע SC-E1 האפליקציה לא טוענת באופן דינמי קוד מחוץ ל-APK של האפליקציה. מפתחים צריכים להשתמש בקובצי Android App Bundle, שכוללים את Play Feature Delivery ו-Play Asset Delivery.

החל מאוגוסט 2021, חובה להשתמש בקובצי Android App Bundle בכל האפליקציות החדשות ב-Google חנות Play.

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

Google Play

חשוב לוודא שאפשר לפרסם את האפליקציות ב-Google Play.

אזור מזהה בדיקות תיאור
מדיניות GP-P1 GP-all האפליקציה פועלת בהתאם לתנאים של מדיניות התוכן למפתחים של Google Play, לא מציעה תוכן בלתי הולם, לא משתמשת בקניין רוחני או במותג של אחרים וכן הלאה.
GP-P2 GP-1 רמת המוכנות של האפליקציה מוגדרת בצורה נכונה, בהתאם להנחיות לסיווג התוכן.
דף פרטי האפליקציה GP-D1 GP-1
GP-2

הגרפיקה של האפליקציה תואמת להנחיות שמפורטות כאן מאמר תמיכה. ודא ש:

  1. דף האפליקציה כולל גרפיקה של פריט באיכות גבוהה.
  2. הגרפיקה של הפריט לא מכילה תמונות, צילומי מסך או טקסט קטן של המכשיר שלא יהיו קריאים אם תקטין אותו ויוצג בגודל המסך הקטן ביותר שהאפליקציה שלך מטרגטת.
  3. הגרפיקה של התכונה לא דומה לפרסומת.
GP-D2 GP-1 בצילומי המסך ובסרטונים של האפליקציה לא מוצגים מכשירים שאין בהם מערכת Android, או מפנים אליהם.
GP-D3 GP-1 צילומי המסך או הסרטונים של האפליקציה לא מייצגים את התוכן ואת חוויית השימוש באפליקציה באופן מטעה.
תמיכה למשתמשים GP-X1 GP-1 אנחנו מטפלים בבאגים נפוצים שדווחו על ידי משתמשים בכרטיסייה 'ביקורות' בדף של Google Play אם הם ניתנים לשחזור ומופיעים במכשירים שונים. גם אם מדובר בבאג במספר קטן של מכשירים, עדיין צריך לטפל בו אם המכשירים האלה פופולריים או חדשים במיוחד.

הגדרת סביבת בדיקה

כדי להגדיר סביבת בדיקה לרשימת המשימות הזו, מומלץ:

  • התמקדות בבדיקת אמולטור – האפליקציה 'אמולטור Android' היא דרך מצוינת לבדוק את האפליקציה שלכם בגרסאות Android שונות וברזולוציות מסך שונות. מומלץ להגדיר מכשירים באמולציה (AVD) כדי שייצגו את גורמי הצורה הנפוצים ביותר ושילובי החומרה/תוכנה עבור בסיס משתמשי היעד. בנוסף לבדיקה לטלפונים, מומלץ גם לבדוק גורמי צורה אחרים באמצעות האמולטורים הבאים לכל הפחות:
    • מכשירים מתקפלים – מתקפלים בגודל 7.6 אינץ' עם מסך חיצוני (מופיע מתחת לטלפונים ב-AVD Manager).
    • טאבלט - Pixel C 9.94” (2,560 פיקסלים x 1,800 פיקסלים).
    • כדי לבדוק התראות באפליקציה לנייד, צריך להתאים מכשיר נייד או אמולטור לאמולטור Wear OS – Wear OS Round 1.84 אינץ'.
  • מכשירי חומרה – סביבת הבדיקה צריכה לכלול מספר קטן של מכשירי חומרה שמייצגים את גורמי הצורה העיקריים ושילובי חומרה/תוכנה שזמינים כרגע לצרכנים. לא צריך לבצע בדיקות בכל מכשירים בשוק – במקום זאת, צריך להתמקד במספר קטן של מכשירים מייצגים, גם אם משתמשים במכשיר אחד או שניים בכל גורם צורה.
  • תכונות Labs לבדיקת מכשירים – אפשר גם להשתמש בשירותים של צד שלישי, כמו Firebase Test Lab, כדי לבדוק את האפליקציה במגוון רחב יותר של מכשירים.
  • בודקים עם הגרסה העדכנית של Android – בנוסף לבדיקת גרסאות Android המייצגות לבסיס משתמשי היעד, מומלץ תמיד לבדוק את הגרסה העדכנית של Android (כרגע Android 14). כך אפשר להבטיח שהשינויים האחרונים בהתנהגות לא ישפיעו לרעה על חוויית המשתמש.

להנחיה מקיפה יותר לגבי בדיקות, כולל בדיקת יחידה, בדיקת שילוב ובדיקת ממשק משתמש, קראו את העקרונות הבסיסיים של בדיקות ב-Android.

הליכי בדיקה

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

סוג בדיקה תיאור
חבילת ליבה CR-0

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

  1. אם האפליקציה מאפשרת עריכה או יצירת תוכן, מהלכי משחק או הפעלת מדיה, חשוב לבדוק את התהליכים האלה.
  2. בזמן בדיקת האפליקציה, אפשר ליצור הפרעות מאפליקציות אחרות, כמו קבלת התראה או שיחת טלפון. ולהחיל שינויים זמניים במאפייני המכשיר, כגון קישוריות רשת, פונקציית סוללה, זמינות GPS ועומס על המערכת.
  3. הזנה ובדיקה של כל תהליכי הרכישה מתוך האפליקציה
CR-1 בכל מסך של אפליקציה, מקישים על מקש דף הבית של המכשיר או מחליקים למעלה בניווט באמצעות תנועות, ולאחר מכן מפעילים מחדש את האפליקציה מהמסך 'כל האפליקציות'.
CR-2 בכל מסך של אפליקציה, עוברים לאפליקציה פועלת אחרת ואז חוזרים לאפליקציה שנבדקה באמצעות מחליף האפליקציות האחרונות.
CR-3 בכל מסך של אפליקציה (ותיבות דו-שיח), לוחצים על לחצן 'הקודם' או משתמשים בתנועת ההחלקה אחורה.
CR-5 בכל מסך של האפליקציה, צריך לסובב את המכשיר לרוחב ולאורך, במצב מקופל ופתוח לפחות שלוש פעמים.
CR-6 כדי לשלוח את אפליקציית הבדיקה לרקע, יש לעבור לאפליקציה אחרת. צריך להיכנס להגדרות ולבדוק אם באפליקציית הבדיקה יש שירותים שפועלים ברקע. ב-Android 4.0 ואילך, עוברים אל המסך 'אפליקציות' ומוצאים את האפליקציה במצב 'פועל' .
CR-7 לוחצים על לחצן ההפעלה כדי להעביר את המכשיר למצב שינה, ואז לוחצים שוב על לחצן ההפעלה כדי להוציא את המסך ממצב שינה.
CR-8 להגדיר נעילת מסך במכשיר. יש ללחוץ על לחצן ההפעלה כדי להעביר את המכשיר למצב שינה (פעולה שננעלת). לאחר מכן, לוחצים שוב על לחצן ההפעלה כדי להוציא את המסך ממצב שינה ולבטל את נעילת המכשיר.
CR-9 הפעילו וצפו בחלונית ההזזה של ההתראות כדי לראות את כל סוגי ההתראות שהאפליקציה יכולה להציג. מרחיבים את ההתראות היכן שרלוונטי (Android 4.1 ואילך) ומקישים על כל הפעולות הזמינות.
CR-10 מעיינים בתמיכה לגבי תרחישים אחרים לדוגמה ב-Doze וב-App Standby.
התקנה בכרטיס SD SD-1 חוזרים על חבילת הליבה עם האפליקציה שמותקנת בכרטיס SD של המכשיר (אם האפליקציה תומכת בשיטת ההתקנה הזו).

כדי להעביר את האפליקציה לכרטיס SD, ניתן להשתמש ב'הגדרות' > פרטי האפליקציה > העברה לכרטיס SD.

ביצועים ויציבות SP-1 צריך לבדוק את קובץ המניפסט של Android ואת הגדרות ה-build כדי לוודא שהאפליקציה מבוססת על גרסת ה-SDK הכי עדכנית שזמינה (targetSdk ו-compileSdk).
SP-2 בודקים אם יש יחסי תלות לא מעודכנים בקובץ build.gradle.
SP-3 משתמשים בכלי לאיתור שגיאות בקוד של Android Studio כדי לזהות שימוש בממשק שאינו SDK. קיימות גם שיטות בדיקה חלופיות אחרות.
מעקב אחר ביצועים PM-1 חוזרים על חבילת הליבה עם הפעלת פרופיילינג מחמיר.

חשוב לשים לב לאיסוף האשפה וההשפעה שלו על חוויית המשתמש.

סוללה BA-1 חזרה על חבילת הליבה בכל המחזורים של 'שינה' ו'מצב המתנה'.

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

אבטחה SC-1 בדיקת כל הנתונים שמאוחסנים באחסון חיצוני.
SC-2 בדיקת אופן הטיפול והעיבוד של הנתונים שנטענים מאחסון חיצוני.
SC-3 חשוב לבדוק את כל ספקי התוכן שמוגדרים בקובץ המניפסט ל-Android. חשוב לוודא שלכל ספק יש protectionLevel מתאים.
SC-4 יש לבדוק את כל ההרשאות הנדרשות לאפליקציה, בקובץ המניפסט, בזמן הריצה ובמסך ההגדרות של האפליקציה ('הגדרות' > 'פרטי האפליקציה') במכשיר.
SC-5 בודקים את כל רכיבי האפליקציה שמוגדרים בקובץ המניפסט של Android למצב הייצוא המתאים. יש להגדיר את המאפיין המיוצא באופן מפורש לכל הרכיבים.
SC-6 בדקו את הגדרות אבטחת הרשת של האפליקציה וודאו שאין בדיקות לאיתור שגיאות בקוד בתצורה.
SC-7 עבור כל WebView, עוברים לדף שדורש JavaScript.
SC-8 בכל רכיב WebView, מנסים לנווט לאתרים ולתוכן שלא נטענים ישירות על ידי האפליקציה.
SC-9 יש להצהיר על תצורת אבטחת רשת שמשביתה את תנועת הטקסט ללא הצפנה, ולאחר מכן לבדוק את האפליקציה.
SC-10 מריצים את האפליקציה ומפעילים את כל הפונקציונליות העיקרית, בזמן שבודקים את יומן המכשיר. אין לתעד מידע פרטי על משתמשים.
Google Play GP-1 נכנסים אל Google Play Console כדי לבדוק את פרופיל המפתח, תיאור האפליקציה, צילומי המסך, הגרפיקה של הפריט, סיווג התוכן ומשוב המשתמשים.
GP-2 מורידים את הגרפיקה של הפריט ואת צילומי המסך, ומגדילים אותם כך שיתאימו לגדלי התצוגה במכשירים ובגורמי הצורה שאותם אתם מטרגטים.
GP-3 בדיקת כל הנכסים הגרפיים, המדיה, הטקסט, ספריות הקוד ותוכן אחר שנארז באפליקציה או בקובץ ההרחבה.

בדיקה באמצעות StrictMode

כדי לבדוק את הביצועים, מומלץ להפעיל את StrictMode שימוש באפליקציה כדי לזהות פעולות שעלולות להשפיע על הביצועים, הגישה לרשת קריאה/כתיבה וכו'. חיפוש פעולות שעלולות להיות בעייתיות גם ב-thread הראשי וגם ב- שרשורים אחרים.

אפשר להגדיר מדיניות מעקב לפי שרשור באמצעות StrictMode.ThreadPolicy.Builder ולהפעיל את כל אפשרויות המעקב הנתמכות ThreadPolicy בשימוש detectAll().

חשוב להפעיל הודעה ויזואלית על הפרות מדיניות בחשבון ThreadPolicy באמצעות penaltyFlashScreen()