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

การทดสอบ 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 ที่แยกวิเคราะห์ตรงกับการกำหนดค่าที่แยกวิเคราะห์และเปิดเผยโดยศูนย์ความปลอดภัย และการแยกวิเคราะห์นี้สำเร็จ
  • หากมีการดำเนินการตามเจตนา android.settings.PRIVACY_ADVANCED_SETTINGS ในไฟล์ XML การดำเนินการนี้จะต้องได้รับการแก้ไข
  • หากมีการดำเนินการตามเจตนา android.settings.PRIVACY_CONTROLS ในไฟล์ XML การดำเนินการนี้จะต้องได้รับการแก้ไข

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

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

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

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

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

การทดสอบเหล่านี้ช่วยรับประกันสิ่งต่อไปนี้:

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

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

การทดสอบนี้ช่วยให้แน่ใจว่าศูนย์ความปลอดภัยถูกปิดใช้งานเมื่ออุปกรณ์ไม่รองรับเมื่อปิดใช้งานการสนับสนุนในไฟล์การกำหนดค่า 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 ภายในที่เปิดเผยต่อ UI

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

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

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

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

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

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

การทดสอบนี้รับประกันสิ่งต่อไปนี้:

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