Yêu cầu đối với kiểm thử

Bài kiểm tra GTS (GtsSafetyCenterTestCases)

Hoạt động kiểm thử GTS áp đặt các quy tắc ràng buộc đối với tệp cấu hình. Xem phần Cập nhật tệp cấu hình. Thiết bị sẽ được miễn các bài kiểm thử này nếu không hỗ trợ Trung tâm An toàn.

Các quy tắc ràng buộc như sau:

  • Phải có ít nhất 7 nhóm nguồn trong Trung tâm an toàn và các nhóm này phải ở trạng thái chưa sửa đổi hoặc trạng thái mặc định. Một số trường cụ thể như tiêu đề nguồn, trạng thái hiển thị ban đầu và bản tóm tắt đôi khi được hỗ trợ bằng các chuỗi có thể phủ và có thể được sửa đổi.
  • Đối với GoogleAppSecuritySources:

    • Không xoá hoặc sửa đổi nguồn an toàn GooglePlayProtect.
    • Bạn có thể xoá hoặc thay đổi nguồn an toàn GoogleAppProtectionService. Nếu có:
      • Ứng dụng phải hỗ trợ tính năng ghi nhật ký.
      • Nếu tên gói không thay đổi, thì tên gói đó phải có initialDisplayState="hidden" trong Android 13; trong Android 14, tên gói đó phải là issue-only-safety-sourcededuplicationGroup phải không thay đổi.
      • Nếu tên gói thay đổi, tên gói đó phải giữ vai trò "android.app.role.SYSTEM_APP_PROTECTION_SERVICE"; ngoài ra, trong Android 14, tên gói không được có deduplicationGroup.
  • Đối với AndroidLockScreenSources:

    • Bạn bắt buộc phải có thực thể summary của nhóm và có thể sửa đổi thực thể đó, bao gồm cả lớp phủ chuỗi.
    • Phải có ít nhất một nguồn an toàn.
    • Nguồn an toàn đầu tiên được dùng để kiểm soát chế độ cài đặt màn hình khoá và không được đẩy các vấn đề hoặc mục nhập nghiêm trọng hơn SEVERITY_LEVEL_RECOMMENDATION (maxSeverityLevel="300" hoặc lên đến mục nhập màu vàng hoặc thẻ cảnh báo). Trong Android 14, deduplicationGroup phải giữ nguyên.
    • Các nguồn an toàn khác là các nguồn liên quan đến cơ chế mở khoá bằng sinh trắc học và các nguồn này phải có maxSeverityLevel="0".
  • Trong Android 13, đừng sửa đổi GoogleAccountSources, GoogleDeviceFinderSources hoặc AndroidAdvancedSources. Trong Android 14, bạn có thể xoá một số nguồn mới được giới thiệu trong các nhóm này (ví dụ: sao lưu và khôi phục), bạn cũng có thể thêm các nguồn tĩnh mới vào nhóm AndroidAdvancedSources.

  • Đối với GoogleUpdateSources:

    • Bạn có thể thay đổi intentAction cho GoogleSecurityUpdates và sửa đổi bằng một lớp phủ chuỗi.
    • Đừng sửa đổi GooglePlaySystemUpdate.
  • Đối với AndroidPrivacySources:

    • Bạn có thể thêm, xoá hoặc sửa đổi một số nguồn, miễn là các nguồn đó là issue-only.
    • Họ phải giữ lại packageName="com.google.android.permissioncontroller".
    • Không sửa đổi phần còn lại của các nguồn AndroidPrivacySources.
  • Đối với các nhóm nguồn an toàn còn lại (nếu có):

    • Các nhóm không được có summary hoặc statelessIconType, dẫn đến một nhóm SAFETY_SOURCES_GROUP_TYPE_RIGID (SAFETY_SOURCES_GROUP_TYPE_STATELESS trong Android 14).
    • Mỗi nguồn trong mỗi nhóm phải ở dạng tĩnh hoặc có maxSeverityLevel="0", chẳng hạn như được phép gửi các mục nhập màu xám hoặc xanh lục nhưng không có vấn đề nào.

Kiểm thử CTS (CtsSafetyCenterTestCases)

Kể từ Android 13, các chương trình kiểm thử CTS sẽ áp dụng cho tất cả OEM (Nhà sản xuất thiết bị gốc) hỗ trợ PermissionController.

Kiểm thử tệp cấu hình (XmlConfigTest)

Các kiểm thử này đảm bảo:

  • Tệp cấu hình XML đã phân tích cú pháp khớp với cấu hình do Trung tâm an toàn phân tích cú pháp và hiển thị, đồng thời quá trình phân tích cú pháp này đã thành công.
  • Nếu thao tác theo ý định android.settings.PRIVACY_ADVANCED_SETTINGS có trong tệp XML, thì thao tác này phải phân giải.
  • Nếu hành động theo ý định android.settings.PRIVACY_CONTROLS có trong tệp XML, thì hành động này phải được phân giải.

Kiểm thử giao diện người dùng (SafetyCenterActivityTest)

Các kiểm thử này đảm bảo:

  • Thao tác theo ý định android.intent.action.SAFETY_CENTER sẽ phân giải và mở màn hình cài đặt Bảo mật và quyền riêng tư khi Trung tâm an toàn đang bật và màn hình Cài đặt khi Trung tâm an toàn đang tắt.

Kiểm thử API (SafetyCenterManagerTest)

Mục tiêu của các hoạt động kiểm thử API SafetyCenterManagerTest là đảm bảo rằng các API của Trung tâm an toàn hoạt động như dự kiến.

Các kiểm thử này đảm bảo những điều sau:

  • SafetyCenterManager.isSafetyCenterEnabled do cờ DeviceConfig liên kết kiểm soát.
  • Khi bị tắt, các API của Trung tâm an toàn sẽ không hoạt động.
  • Bạn chỉ có thể sử dụng các API Trung tâm an toàn khi có các quyền liên quan.
  • Bạn chỉ có thể cung cấp dữ liệu cho Trung tâm an toàn theo cấu hình cơ bản.
  • Khi được cung cấp cho Trung tâm an toàn, dữ liệu sẽ xuất hiện theo đó.
  • API khớp với thông số kỹ thuật được mô tả trong phần Sử dụng API nguồn của Trung tâm an toàn, ví dụ: hành vi làm mới hoặc quét lại, cài đặt hoặc xoá dữ liệu và báo cáo lỗi.
  • Các API nội bộ hiển thị với giao diện người dùng đang hoạt động đúng cách, ví dụ: dữ liệu được Trung tâm an toàn hợp nhất một cách thích hợp và có thể làm mới dữ liệu.

Kiểm thử không được hỗ trợ của Trung tâm an toàn (SafetyCenterUnsupportedTest)

Quy trình kiểm thử này đảm bảo rằng Trung tâm an toàn bị tắt khi thiết bị không hỗ trợ trung tâm này khi tính năng hỗ trợ bị tắt trong tệp cấu hình XML của khung.

Nếu thiết bị hỗ trợ Trung tâm an toàn, thì quy trình kiểm thử này sẽ không chạy. Nếu thiết bị không hỗ trợ Trung tâm an toàn, thì chỉ kiểm thử này và kiểm thử lớp dữ liệu mới chạy.

Quy trình kiểm thử này đảm bảo những điều sau:

  • Thao tác theo ý định android.intent.action.SAFETY_CENTER sẽ mở màn hình Cài đặt.
  • SafetyCenterManager.isSafetyCenterEnabled trả về false.
  • Hầu hết các API của Trung tâm an toàn đều không phản hồi khi được gọi.

Kiểm thử lớp dữ liệu (SafetySourceDataTest, SafetySourceIssueTest, v.v.)

Các bài kiểm thử lớp dữ liệu như SafetySourceDataTestSafetySourceIssueTest đảm bảo rằng các lớp dữ liệu mà Trung tâm an toàn hiển thị đều hoạt động như dự kiến, chẳng hạn như SafetySourceData, SafetySourceIssue và các lớp nội bộ khác có liên quan.

Kiểm thử MTS (SafetyCenterFunctionalTestCases và các kiểm thử khác)

Các hoạt động kiểm thử này được chạy trên các bản cập nhật dòng chính và áp dụng cho tất cả các OEM (Nhà sản xuất thiết bị gốc) hỗ trợ PermissionController. Các yêu cầu được thực thi trong các chương trình kiểm thử này có thể thay đổi tuỳ theo các bản cập nhật chính.

Kiểm thử API (SafetyCenterManagerTest)

Các kiểm thử này tương tự như kiểm thử CTS SafetyCenterManagerTest, tuy nhiên, các yêu cầu kiểm thử này có thể thay đổi trong các bản cập nhật chính, ví dụ:

  • Kiểm tra nội dung thực tế của dữ liệu do các API nội bộ trả về cho giao diện người dùng

Kiểm thử giao diện người dùng (SafetyCenterActivityTest, SafetyCenterStatusCardTest, SafetyCenterQsActivityTest, v.v.)

Các hoạt động kiểm thử này đảm bảo:

  • Việc chuyển hướng đến Trung tâm an toàn bằng các tham số cụ thể sẽ hoạt động như dự kiến, ví dụ: chuyển hướng đến một vấn đề cụ thể. Hãy xem phần Chuyển hướng đến Trung tâm an toàn.
  • Giao diện người dùng cho thấy trạng thái an toàn cơ bản chính xác.
  • Giao diện người dùng cho phép điều hướng đến các màn hình riêng biệt.
  • Giao diện người dùng cho phép giải quyết các vấn đề về an toàn ngay trên màn hình Trung tâm an toàn khi được SafetySourceIssue chỉ định.
  • Giao diện người dùng thu gọn nhiều thẻ cảnh báo trong một mục và cho phép mở rộng mục này trở lại thành nhiều thẻ cảnh báo.
  • Dữ liệu sẽ được làm mới khi bạn mở trang Trung tâm an toàn cho các nguồn Trung tâm an toàn có liên quan.
  • Nút quét lại chỉ xuất hiện trong một số trường hợp cụ thể.
  • Việc nhấn vào nút quét lại sẽ tìm nạp dữ liệu mới.
  • Các thử nghiệm tương tự được thực hiện cho Trung tâm an toàn. Xem phần Tạo thẻ Cài đặt nhanh tuỳ chỉnh cho ứng dụng

  • Các trường hợp ngoại lệ khác như trạng thái lỗi và trạng thái đang chờ xử lý.

Kiểm thử nhiều người dùng (SafetyCenterMultiUsersTest)

Mục tiêu của các bài kiểm thử này là đảm bảo rằng API hoạt động đúng cách khi dữ liệu được cung cấp cho nhiều người dùng hoặc hồ sơ. Xem phần Cung cấp dữ liệu cho nhiều người dùng và hồ sơ. Bạn có thể thực hiện quá trình thiết lập này bằng cách sử dụng một thư viện nội bộ hỗ trợ việc thiết lập những người dùng và hồ sơ riêng biệt trên thiết bị bằng Bedhave.

Quy trình kiểm thử này đảm bảo những điều sau:

  • Dữ liệu thuộc về một người dùng sẽ được hợp nhất với hồ sơ được quản lý liên kết với người dùng đó (nếu có).
  • Chỉ những nguồn được đánh dấu bằng profile="all_profiles" mới có thể cung cấp dữ liệu trong hồ sơ được quản lý của người dùng.
  • Hệ thống sẽ tạo một mục mới cho mỗi hồ sơ được quản lý liên kết với người dùng.
  • Dữ liệu thuộc về một người dùng không bị rò rỉ sang một người dùng không liên quan khác.