Yêu cầu kiểm thử

Kiểm thử GTS (GtsSafetyCenterTestCases)

Các bài 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 thực hiện các thử nghiệm này nếu không hỗ trợ tính năng An toàn ở giữa.

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

  • Cần có ít nhất 7 nhóm nguồn Trung tâm an toàn, vẫn ở trạng thái chưa sửa đổi hoặc 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ởi chuỗi có thể phủ và có thể sửa đổi được.
  • Đố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, 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 phải là nguồn kiểm soát khoá cài đặt màn hình và chế độ này sẽ không thể đẩy vấn đề hoặc mục nhập thêm nghiêm trọng hơn SEVERITY_LEVEL_RECOMMENDATION (maxSeverityLevel="300" hoặc tối đa thẻ cảnh báo hoặc mục nhập màu vàng). Trong Android 14, deduplicationGroup phải duy trì không thay đổi.
    • Các nguồn an toàn khác được dự định 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, khô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 đưa vào 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 nguồn tĩnh mới vào nhóm AndroidAdvancedSources.

  • Đối với GoogleUpdateSources:

    • Bạn có thể thay đổi intentAction thành GoogleSecurityUpdates và có thể sửa đổi bằng lớp phủ chuỗi.
    • Khô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 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 là tĩnh hoặc có maxSeverityLevel="0", ví dụ: được phép gửi mục nhập màu xám hoặc màu xanh lục nhưng không có vấn đề gì.

Thử nghiệm CTS (CtsSafetyCenterTestCases)

Kể từ Android 13, thử nghiệm CTS sẽ áp dụng cho tất cả OEM (Nhà sản xuất thiết bị gốc) 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 có thao tác theo ý định android.settings.PRIVACY_ADVANCED_SETTINGS trong tệp XML thì hành động này phải phân giải.
  • Nếu thao tác theo ý định android.settings.PRIVACY_CONTROLS có trong XML, thì hành động này phải giải quyết.

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 bài kiểm thử SafeCenterManagerTest API là để đảm bảo rằng Center API đang hoạt động như dự kiến.

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

  • SafetyCenterManager.isSafetyCenterEnabled do ứng dụng liên kết kiểm soát Cờ DeviceConfig.
  • Khi bạn tắt tính năng này, 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.
  • Chỉ có thể cung cấp dữ liệu cho Trung tâm an toàn theo .
  • 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 nguồn của Trung tâm an toàn API, đối với ví dụ: làm mới hoặc quét lại hành vi, cài đặt hoặc xoá dữ liệu và báo cáo .
  • 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.)

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ị đang hoạt động như dự kiến, ví dụ: SafetySourceData, SafetySourceIssue và công cụ nội bộ khác có liên quan khác.

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

Các chương trình kiểm thử này được chạy trên các bản cập nhật chính và áp dụng cho tất cả nhà sản xuất thiết bị gốc (OEM) hỗ trợ PermissionController. Các yêu cầu được thực thi bằng các thử nghiệm này có thể thay đổi trên các bản cập nhật của đường dây 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ử có thể thay đổi khi cập nhật dòng chính, ví dụ:

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

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

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

  • Việc chuyển hướng đến Trung tâm an toàn kèm theo các tham số cụ thể hoạt động như dự kiến đối với chẳng hạn như chuyển hướng đến một vấn đề cụ thể. Xem phần Chuyển hướng đến nơi an toàn .
  • Giao diện người dùng hiển thị 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 chỉ định bởi SafetySourceIssue.
  • 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 đượ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ể.
  • Thao tá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ũng đượ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 hiếm gặp khác, chẳng hạn như trạng thái lỗi và trạng thái đang chờ xử lý.

Thử nghiệm nhiều người dùng (SafetyCenterMultiUsersTest)

Mục tiêu của các kiểm thử này là đảm bảo 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ể thiết lập chế độ 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 người dùng và hồ sơ riêng biệt trên thiết bị bằng Bedstead.

Kiểm thử này đảm bảo những điều sau:

  • Dữ liệu thuộc về người dùng được hợp nhất với dữ liệu được quản lý có liên quan hồ sơ 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 một 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.