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-source
vàdeduplicationGroup
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
.
- Không xoá hoặc sửa đổi nguồn an toàn
Đố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"
.
- Bạn bắt buộc phải có thực thể
Trong Android 13, không sửa đổi
GoogleAccountSources
,GoogleDeviceFinderSources
hoặcAndroidAdvancedSources
. 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ómAndroidAdvancedSources
.Đối với
GoogleUpdateSources
:- Bạn có thể thay đổi
intentAction
thànhGoogleSecurityUpdates
và có thể sửa đổi bằng lớp phủ chuỗi. - Không sửa đổi
GooglePlaySystemUpdate
.
- Bạn có thể thay đổi
Đố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
.
- 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à
Đố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ặcstatelessIconType
, dẫn đến một nhómSAFETY_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ì.
- Các nhóm không được có
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ư SafetySourceDataTest
và SafetySourceIssueTest
đả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.