ข้อกำหนดการทดสอบ

การทดสอบ GTS (GtsSafetyCenterTestCases)

การทดสอบ GTS จะกำหนดข้อจำกัดในไฟล์การกําหนดค่า ดูอัปเดตไฟล์การกำหนดค่า อุปกรณ์จะได้รับการยกเว้นจากการทดสอบเหล่านี้หากไม่รองรับ Safety Center

ข้อจำกัดมีดังนี้

  • ควรมีกลุ่มแหล่งที่มาของศูนย์ความปลอดภัยอย่างน้อย 7 กลุ่ม ซึ่งควรอยู่ในสถานะเดิมหรือไม่มีการแก้ไข บางครั้งช่องที่เฉพาะเจาะจงบางช่อง เช่น ชื่อแหล่งที่มา สถานะการแสดงผลเริ่มต้น และสรุปจะได้รับการรองรับโดยสตริงที่วางซ้อนได้และแก้ไขได้
  • สำหรับ GoogleAppSecuritySources

    • อย่านำแหล่งที่มาของความปลอดภัย GooglePlayProtect ออกหรือแก้ไข
    • คุณนำหรือเปลี่ยนGoogleAppProtectionServiceแหล่งที่มาของความปลอดภัยได้ หากมี ให้ทำดังนี้
      • โดยต้องรองรับการบันทึก
      • หากชื่อแพ็กเกจไม่มีการเปลี่ยนแปลง จะต้องมี initialDisplayState="hidden" ใน Android 13 ส่วนใน Android 14 และ 15 จะต้องมี issue-only-safety-source แทน และ deduplicationGroup ต้องไม่เปลี่ยนแปลง ใน Android 16 จะต้องมี dynamic-safety-source แทน และมี initialDisplayState="hidden" และ deduplicationGroup ต้องไม่เปลี่ยนแปลง
      • หากเปลี่ยนชื่อแพ็กเกจ แพ็กเกจนั้นต้องมีบทบาทเป็น "android.app.role.SYSTEM_APP_PROTECTION_SERVICE" นอกจากนี้ ใน Android 14 แพ็กเกจต้องไม่มี deduplicationGroup
  • สำหรับ AndroidLockScreenSources

    • คุณต้องใช้อินสแตนซ์ summary ของกลุ่มและแก้ไขได้ รวมถึงวางซ้อนสตริง
    • ต้องมีแหล่งที่มาของความปลอดภัยอย่างน้อย 1 แหล่ง
    • แหล่งที่มาของความปลอดภัยแหล่งแรกมีไว้เพื่อควบคุมการตั้งค่าหน้าจอล็อก และไม่ควรส่งปัญหาหรือรายการที่รุนแรงกว่า 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 การดำเนินการนี้จะต้องได้รับการแก้ไข
  • หากการดําเนินการของ Intent android.settings.PRIVACY_CONTROLS อยู่ในไฟล์ XML การดำเนินการนี้จะต้องได้รับการแก้ไข

การทดสอบ UI (SafetyCenterActivityTest)

การทดสอบเหล่านี้ช่วยให้มั่นใจได้ว่า

  • การดำเนินการตาม Intent android.intent.action.SAFETY_CENTER จะแก้ไขและเปิดขึ้น หน้าจอการตั้งค่าความปลอดภัยและความเป็นส่วนตัวเมื่อเปิดใช้ศูนย์ความปลอดภัย และเปิดขึ้นหน้าจอการตั้งค่าเมื่อปิดใช้ศูนย์ความปลอดภัย

การทดสอบ API (SafetyCenterManagerTest)

เป้าหมายของการทดสอบ SafetyCenterManagerTest API คือเพื่อให้มั่นใจว่า SafetyCenter API ทํางานได้ตามที่ตั้งใจไว้

การทดสอบเหล่านี้ช่วยให้มั่นใจได้ว่า

  • SafetyCenterManager.isSafetyCenterEnabled ควบคุมโดย Flag DeviceConfig ที่เชื่อมโยง
  • เมื่อปิดใช้ API ของศูนย์ความปลอดภัยจะใช้งานไม่ได้
  • API ของศูนย์ความปลอดภัยจะใช้งานได้ก็ต่อเมื่อมีสิทธิ์ที่เกี่ยวข้อง
  • คุณสามารถส่งข้อมูลไปยังศูนย์ความปลอดภัยได้ก็ต่อเมื่อเป็นไปตามการกำหนดค่าพื้นฐานเท่านั้น
  • เมื่อมีการระบุข้อมูลไปยังศูนย์ความปลอดภัย ข้อมูลดังกล่าวจะแสดงตามลำดับ
  • API เหล่านี้ตรงกับข้อกำหนดที่อธิบายไว้ในใช้ API แหล่งที่มาของศูนย์ความปลอดภัย เช่น ลักษณะการรีเฟรชหรือสแกนอีกครั้ง การตั้งค่าหรือล้างข้อมูล และการรายงานข้อผิดพลาด
  • API ภายในที่แสดงใน UI ทํางานอย่างถูกต้อง เช่น ศูนย์ความปลอดภัยผสานข้อมูลอย่างเหมาะสมและรีเฟรชข้อมูลได้

การทดสอบที่ศูนย์ความปลอดภัยไม่รองรับ (SafetyCenterUnsupportedTest)

การทดสอบนี้ช่วยให้มั่นใจได้ว่าศูนย์ความปลอดภัยจะปิดอยู่เมื่ออุปกรณ์ไม่รองรับเมื่อปิดใช้การรองรับในไฟล์การกำหนดค่า XML ของเฟรมเวิร์ก

หากอุปกรณ์รองรับศูนย์ความปลอดภัย ระบบจะไม่ทำการทดสอบนี้ หากอุปกรณ์ไม่รองรับศูนย์ความปลอดภัย ระบบจะเรียกใช้เฉพาะการทดสอบนี้และการทดสอบคลาสข้อมูลเท่านั้น

การทดสอบนี้ช่วยให้มั่นใจได้ว่า

  • การดำเนินการตาม Intent android.intent.action.SAFETY_CENTER จะเปิดหน้าจอการตั้งค่า
  • SafetyCenterManager.isSafetyCenterEnabled แสดงผลลัพธ์เป็น false
  • API ของศูนย์ความปลอดภัยส่วนใหญ่ไม่ตอบสนองเมื่อเรียกใช้

การทดสอบคลาสข้อมูล (SafetySourceDataTest, SafetySourceIssueTest ฯลฯ)

การทดสอบคลาสข้อมูล เช่น SafetySourceDataTest และ SafetySourceIssueTest ช่วยตรวจสอบว่าคลาสข้อมูลที่ศูนย์ความปลอดภัยแสดงทำงานได้ตามที่ต้องการ เช่น SafetySourceData, SafetySourceIssue และคลาสภายในอื่นๆ ที่เกี่ยวข้อง

การทดสอบ MTS (SafetyCenterFunctionalTestCases และอื่นๆ)

การทดสอบเหล่านี้จะดำเนินการกับอัปเดตหลักและมีผลกับ OEM ทั้งหมดที่รองรับ PermissionController ข้อกำหนดที่การทดสอบเหล่านี้บังคับใช้อาจเปลี่ยนแปลงไปในการอัปเดตหลัก

การทดสอบ API (SafetyCenterManagerTest)

การทดสอบเหล่านี้คล้ายกับการทดสอบ CTS SafetyCenterManagerTest แต่เป็นการทดสอบข้อกำหนดที่อาจเปลี่ยนแปลงไปกับการอัปเดตหลัก เช่น

  • ตรวจสอบเนื้อหาจริงของข้อมูลที่แสดงผลโดย API ภายในซึ่งแสดงใน UI

การทดสอบ UI (SafetyCenterActivityTest, SafetyCenterStatusCardTest, SafetyCenterQsActivityTest ฯลฯ)

การทดสอบเหล่านี้ช่วยให้มั่นใจได้ว่า

  • การเปลี่ยนเส้นทางไปยังศูนย์ความปลอดภัยด้วยพารามิเตอร์ที่เฉพาะเจาะจงจะทำงานได้ตามที่ต้องการ เช่น การเปลี่ยนเส้นทางไปยังปัญหาที่เฉพาะเจาะจง โปรดดูหัวข้อเปลี่ยนเส้นทางไปยังศูนย์ความปลอดภัย
  • UI แสดงสถานะความปลอดภัยที่เกี่ยวข้องที่ถูกต้อง
  • UI ช่วยให้ไปยังหน้าจอแยกกันได้
  • UI นี้ช่วยให้คุณแก้ไขปัญหาด้านความปลอดภัยได้โดยตรงจากหน้าจอศูนย์ความปลอดภัยเมื่อ SafetySourceIssue ระบุไว้
  • UI จะยุบการ์ดคำเตือนหลายใบไว้ในรายการเดียวและอนุญาตให้ขยายกลับเป็นการ์ดคำเตือนหลายใบได้
  • ระบบจะรีเฟรชข้อมูลเมื่อเปิดหน้าศูนย์ความปลอดภัยสําหรับแหล่งที่มาของศูนย์ความปลอดภัยที่เกี่ยวข้อง
  • ปุ่มสแกนอีกครั้งจะปรากฏขึ้นภายใต้สถานการณ์ที่เฉพาะเจาะจงเท่านั้น
  • การแตะปุ่มสแกนอีกครั้งจะดึงข้อมูลใหม่
  • มีการทดสอบที่คล้ายกันสำหรับศูนย์ความปลอดภัย ดูหัวข้อสร้างการ์ดการตั้งค่าด่วนที่กำหนดเองสำหรับแอป

  • กรณีขอบเขตเพิ่มเติม เช่น สถานะข้อผิดพลาดและสถานะรอดำเนินการ

การทดสอบผู้ใช้หลายคน (SafetyCenterMultiUsersTest)

เป้าหมายของการทดสอบเหล่านี้คือเพื่อให้มั่นใจว่า API ทำงานได้อย่างเหมาะสมเมื่อมีการระบุข้อมูลสำหรับผู้ใช้หรือโปรไฟล์หลายรายการ โปรดดูให้ข้อมูลสำหรับผู้ใช้และโปรไฟล์หลายรายการ การตั้งค่านี้ทำได้โดยใช้คลังภายในที่อำนวยความสะดวกในการตั้งค่าผู้ใช้และโปรไฟล์แยกกันในอุปกรณ์โดยใช้ Bedstead

การทดสอบนี้ช่วยให้มั่นใจได้ว่า

  • ระบบจะผสานข้อมูลของผู้ใช้เข้ากับโปรไฟล์ที่จัดการที่เกี่ยวข้อง หากมี
  • เฉพาะแหล่งที่มาที่มีเครื่องหมาย profile="all_profiles" เท่านั้นที่จะให้ข้อมูลในโปรไฟล์ที่จัดการของผู้ใช้ได้
  • ระบบจะสร้างรายการใหม่สำหรับโปรไฟล์ที่จัดการแต่ละรายการที่เชื่อมโยงกับผู้ใช้
  • ข้อมูลของผู้ใช้รายหนึ่งจะไม่รั่วไหลไปยังผู้ใช้รายอื่นที่ไม่เกี่ยวข้อง