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

การทดสอบ 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" ขึ้นไปหรือรายการสีเหลืองหรือการ์ดคำเตือน) ใน 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" เท่านั้นที่จะให้ข้อมูลในโปรไฟล์ที่จัดการของผู้ใช้ได้
  • ระบบจะสร้างรายการใหม่สำหรับโปรไฟล์ที่มีการจัดการแต่ละรายการที่เชื่อมโยงกับผู้ใช้
  • ข้อมูลของผู้ใช้รายหนึ่งจะไม่รั่วไหลไปยังผู้ใช้รายอื่นที่ไม่เกี่ยวข้อง