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

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

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

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

  • ควรมีกลุ่มแหล่งที่มาของศูนย์ความปลอดภัยอย่างน้อย 7 กลุ่ม ซึ่งควร จะอยู่ในสถานะไม่แก้ไขหรือเริ่มต้น ฟิลด์ที่เฉพาะเจาะจง เช่น ชื่อแหล่งที่มา สถานะการแสดงผลเริ่มต้น และข้อมูลสรุปมีการสนับสนุนโดย สตริงที่ซ้อนทับได้และสามารถแก้ไขได้
  • สำหรับ 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 ของกลุ่มและคุณแก้ไขได้ ซึ่งรวมถึงการวางซ้อนสตริง
    • ต้องมีแหล่งความปลอดภัยอย่างน้อย 1 แหล่ง
    • แหล่งข้อมูลความปลอดภัยแรกมีจุดประสงค์เพื่อใช้เป็นแหล่งที่มาที่ควบคุมการล็อก การตั้งค่าหน้าจอ และไม่ควรผลักดันให้เกิดปัญหาหรือรายการมากขึ้น ร้ายแรงกว่า SEVERITY_LEVEL_RECOMMENDATION (maxSeverityLevel="300" หรือ ไม่เกิน 1 ใบหรือการ์ดคำเตือนสีเหลือง) ใน 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 ของเฟรมเวิร์ก

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

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

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

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

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

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

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

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

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

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

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

การทดสอบเหล่านี้ช่วยยืนยันว่า

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

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

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

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

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

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