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

בדיקות GTS (GtsSafetyCenterTestCases)

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

המגבלות הן:

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

    • אין להסיר או לשנות את מקור הבטיחות GooglePlayProtect.
    • אתם יכולים להסיר או לשנות את מקור הבטיחות GoogleAppProtectionService. אם הוא מופיע:
      • היא צריכה לתמוך ברישום ביומן.
      • אם שם החבילה לא השתנה, הוא חייב לכלול initialDisplayState="hidden" ב-Android 13. ב-Android 14, הוא חייב להיות issue-only-safety-source במקום זאת, ו-deduplicationGroup חייב להישאר ללא שינוי.
      • אם שם החבילה ישתנה, הוא צריך להכיל את התפקיד "android.app.role.SYSTEM_APP_PROTECTION_SERVICE". בנוסף, ב-Android 14 אסור שיהיה לו deduplicationGroup.
  • עבור AndroidLockScreenSources:

    • מוכרחים להשתמש במכונה summary של הקבוצה, ואפשר לשנות אותה, כולל באמצעות שכבת-על של מחרוזת.
    • חייב להיות מקור בטיחות אחד לפחות.
    • מקור הבטיחות הראשון נועד להיות המקור ששולט בהגדרות מסך הנעילה, ואסור לו לדחוף בעיות או רשומות בדרגת חומרה גבוהה יותר מ-SEVERITY_LEVEL_RECOMMENDATION (maxSeverityLevel="300" או עד כניסה צהובה או כרטיסי אזהרה). ב-Android 14, השדה deduplicationGroup חייב להישאר ללא שינוי.
    • מקורות הבטיחות האחרים נועדו להיות מקורות שקשורים למנגנונים של ביטול נעילה ביומטרי, ועליהם להיות מוגדר maxSeverityLevel="0".
  • ב-Android 13, אין לשנות את GoogleAccountSources,‏ GoogleDeviceFinderSources או AndroidAdvancedSources. ב-Android 14 אפשר להסיר חלק מהמקורות החדשים שהוצגו בקבוצות האלה (למשל, גיבוי ושחזור), ואפשר גם לצרף מקורות סטטיים חדשים לקבוצה AndroidAdvancedSources.

  • עבור GoogleUpdateSources:

    • אפשר להחליף את intentAction ב-GoogleSecurityUpdates ולשנות אותו באמצעות שכבת-על של מחרוזת.
    • אסור לשנות את GooglePlaySystemUpdate.
  • עבור AndroidPrivacySources:

    • אפשר להוסיף, להסיר או לשנות מקורות מסוימים, כל עוד הם issue-only.
    • הן חייבות להישאר עם packageName="com.google.android.permissioncontroller".
    • לא משנים את שאר המקורות של AndroidPrivacySources.
  • בשאר קבוצות המקורות של נתוני הבטיחות (אם יש כאלה):

    • קבוצות לא יכולות להכיל את הערכים summary או statelessIconType, ולכן נוצרת קבוצת SAFETY_SOURCES_GROUP_TYPE_RIGID (SAFETY_SOURCES_GROUP_TYPE_STATELESS ב-Android 14).
    • כל מקור בתוך כל קבוצה צריך להיות סטטי או לאפשר, לדוגמה, ל-maxSeverityLevel="0" לשלוח רשומות אפורות או ירוקות אבל לא בעיות.

בדיקות CTS (CtsSafetyCenterTestCases)

החל מ-Android 13, בדיקות CTS חלות על כל יצרני הציוד המקורי (OEM) שתומכים ב-PermissionController.

בדיקות של קובץ התצורה (XmlConfigTest)

הבדיקות האלה מבטיחות:

  • קובץ התצורה של ה-XML שעבר ניתוח תואם לתצורה שעבר ניתוח וחשיפה על ידי מרכז הבטיחות, ושהניתוח הזה בוצע בהצלחה.
  • אם פעולת ה-Intent android.settings.PRIVACY_ADVANCED_SETTINGS קיימת בקובץ ה-XML, הפעולה הזו צריכה להיפתר.
  • אם פעולת הכוונה android.settings.PRIVACY_CONTROLS נמצאת בקובץ ה-XML, הפעולה הזו חייבת להתקבל.

בדיקות ממשק משתמש (SafetyCenterActivityTest)

הבדיקות האלה מבטיחות:

  • פעולת ה-Intent android.intent.action.SAFETY_CENTER פותרת את הבעיה ופותחים את מסך הגדרות האבטחה והפרטיות כשמרכז הבטיחות מופעל, ומסך ההגדרות כשמרכז הבטיחות מושבת.

בדיקות API (SafetyCenterManagerTest)

מטרת הבדיקות של SafetyCenterManagerTest API היא לוודא שממשקי ה-API של Safety Center פועלים כמצופה.

הבדיקות האלה מבטיחות את הדברים הבאים:

  • SafetyCenterManager.isSafetyCenterEnabled נקבע על ידי הדגל המשויך DeviceConfig.
  • כשההשבתה מושבתת, ממשקי ה-API של מרכז הבטיחות לא פועלים.
  • אפשר להשתמש בממשקי ה-API של מרכז הבטיחות רק כשההרשאות המשויכות אליהם מושהות.
  • אפשר לספק נתונים למרכז הבטיחות רק בהתאם להגדרות הבסיסיות.
  • כשהנתונים מוצגים במרכז הבטיחות, הם מוצגים בהתאם.
  • ממשקי ה-API תואמים למפרטים שמפורטים במאמר שימוש בממשקי ה-API של מקור הנתונים של מרכז הבטיחות, למשל, התנהגות של רענון או סריקה מחדש, הגדרה או מחיקה של נתונים ודיווח על שגיאות.
  • ממשקי ה-API הפנימיים שגלויים לממשק המשתמש פועלים כראוי. לדוגמה, הנתונים ממוזגים כראוי על ידי מרכז הבטיחות ואפשר לרענן את הנתונים.

בדיקה שאינה נתמכת ב-Safety Center (SafetyCenterUnsupportedTest)

הבדיקה הזו מוודאת ש-Safety Center מושבת כשאין תמיכה במכשיר, או כשהתמיכה מושבתת בקובץ התצורה של ה-XML של המסגרת.

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

הבדיקה הזו מבטיחה את הדברים הבאים:

  • פעולת הכוונה android.intent.action.SAFETY_CENTER פותחת את מסך ההגדרות.
  • הפונקציה SafetyCenterManager.isSafetyCenterEnabled מחזירה את הערך false.
  • רוב ממשקי ה-API של מרכז הבטיחות לא מגיבים כשקוראים להם.

בדיקות של כיתות נתונים (SafetySourceDataTest,‏ SafetySourceIssueTest וכו')

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

בדיקות MTS (SafetyCenterFunctionalTestCases ועוד)

הבדיקות האלה פועלות בעדכונים הראשיים שחלים על כל יצרני הציוד המקורי (OEM) שתומכים ב-PermissionController. הדרישות שנאכפות בבדיקות האלה עשויות להשתנות במסגרת העדכונים הראשיים.

בדיקות API (SafetyCenterManagerTest)

הבדיקות האלה דומות לבדיקת CTS SafetyCenterManagerTest, אבל הן בודקות דרישות שעשויות להשתנות בין עדכוני הליבה, לדוגמה:

  • בדיקת התוכן בפועל של הנתונים שמוחזרים על ידי ממשקי ה-API הפנימיים שנחשפים לממשק המשתמש

בדיקות ממשק משתמש (SafetyCenterActivityTest,‏ SafetyCenterStatusCardTest,‏ SafetyCenterQsActivityTest וכו')

הבדיקות האלה מבטיחות:

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

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

בדיקות עם כמה משתמשים (SafetyCenterMultiUsersTest)

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

הבדיקה הזו מבטיחה את הדברים הבאים:

  • הנתונים ששייכים למשתמש ממוזגים עם הפרופיל המנוהל שמשויך למשתמש, אם הם קיימים.
  • רק מקורות שמסומנים ב-profile="all_profiles" יכולים לספק נתונים בפרופיל המנוהל של המשתמש.
  • לכל פרופיל מנוהל שמשויך למשתמש נוצרת רשומה חדשה.
  • נתונים ששייכים למשתמש אחד לא דולפים למשתמש אחר לא קשור.