اختبارات GTS (GtsSafetyCenterTestCases
)
تفرض اختبارات GTS قيودًا على ملف الإعداد. راجِع تعديلملف الإعدادات. يتم إعفاء الجهاز من هذه الاختبارات إذا لم يكن متوافقًا مع "مركز أمان Google".
في ما يلي القيود:
- يجب أن تكون هناك سبع مجموعات مصادر على الأقل في "مركز الأمان"، ويجب أن تظل في الحالة غير المعدَّلة أو التلقائية. في بعض الحقول المحدّدة، مثل عناوين المصادر وحالة العرض الأولية والملخّص، يتم أحيانًا استخدام سلاسل يمكن تداخلها ويمكن تعديلها.
بالنسبة إلى
GoogleAppSecuritySources
:- لا تزيل مصدر الأمان
GooglePlayProtect
أو تعدّله. - يمكنك إزالة مصدر الأمان
GoogleAppProtectionService
أو تغييره. في حال توفّر الرمز:- يجب أن يكون متوافقًا مع التسجيل.
- إذا لم يتم تغيير اسم الحزمة، يجب أن يحتوي على
initialDisplayState="hidden"
في Android 13. وفي Android 14 و15، يجب أن يكونissue-only-safety-source
بدلاً من ذلك ويجب أن يظل الرمزdeduplicationGroup
بدون تغيير. وفي Android 16، يجب أن يكونdynamic-safety-source
بدلاً من ذلك ويجب أن يحتوي علىinitialDisplayState="hidden"
ويجب أن يظل الرمز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
. في الإصدار 14 من نظام التشغيل Android، يمكنك إزالة بعض المصادر الجديدة التي تم تقديمها في هذه المجموعات (مثل الاحتفاظ بنسخة احتياطية من البيانات واستعادتها)، ويمكنك أيضًا إلحاق مصادر ثابتة جديدة بمجموعة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 على جميع المصنّعين الأصليّين للأجهزة
التي تتيح PermissionController
.
اختبارات ملف الإعداد (XmlConfigTest
)
تضمن هذه الاختبارات ما يلي:
- يتطابق ملف إعداد XML الذي تم تحليله مع الإعداد الذي تم تحليله و عرضه من خلال Safety Center، وأنّ هذا التحليل ناجح.
- إذا كان إجراء النية
android.settings.PRIVACY_ADVANCED_SETTINGS
متوفّرًا في ملف XML، يجب حلّ هذا الإجراء. - إذا كان إجراء النية
android.settings.PRIVACY_CONTROLS
متوفّرًا فيملف XML، يجب حلّ هذا الإجراء.
اختبارات واجهة المستخدم (SafetyCenterActivityTest
)
تضمن هذه الاختبارات ما يلي:
- يحلّ إجراء النية
android.intent.action.SAFETY_CENTER
ويفتح شاشة إعدادات الأمان والخصوصية عندما يكون "مركز الأمان" مفعّلاً، ويفتح شاشة "الإعدادات" عندما يكون "مركز الأمان" غير مفعّل.
اختبارات واجهة برمجة التطبيقات (SafetyCenterManagerTest
)
يهدف اختبارات واجهة برمجة التطبيقات SafetyCenterManagerTest إلى التأكّد من أنّ واجهات برمجة التطبيقات Safety Center تعمل على النحو المطلوب.
تضمن هذه الاختبارات ما يلي:
- يتم التحكّم في
SafetyCenterManager.isSafetyCenterEnabled
باستخدام العلامةDeviceConfig
المرتبطة. - عند إيقاف واجهات برمجة التطبيقات في Safety Center، لا يتم تنفيذ أي إجراء.
- لا يمكن استخدام واجهات برمجة تطبيقات "مركز السلامة" إلا عند منح الأذونات المرتبطة بها.
- لا يمكن تقديم البيانات إلى Safety Center إلا وفقًا للإعدادات الأساسية.
- عند تقديم البيانات إلى "مركز الأمان"، يتم عرضها وفقًا لذلك.
- تتطابق واجهات برمجة التطبيقات مع المواصفات الموضّحة في مقالة استخدام واجهات برمجة تطبيقات مصدر Safety Center، على سبيل المثال، سلوك إعادة تحميل البيانات أو إعادة فحصها، وإعداد البيانات أو محوها، والإبلاغ عن الأخطاء.
- تعمل واجهات برمجة التطبيقات الداخلية المعروضة لواجهة المستخدم بشكل صحيح، على سبيل المثال، يتم دمج البيانات بشكل مناسب من خلال Safety Center ويمكن إعادة تحميل البيانات.
اختبار غير متوافق مع "مركز الأمان" (SafetyCenterUnsupportedTest
)
يضمن هذا الاختبار إيقاف "مركز الأمان" عندما لا يكون الجهاز متوافقًا معه، أو عندما يكون التوافق غير مفعَّل في ملف الضبط XML الخاص بالإطار.
إذا كان الجهاز متوافقًا مع "مركز السلامة"، لن يتم إجراء هذا الاختبار. إذا كان الجهاز لا يتيح استخدام "مركز الأمان"، لن يتم سوى تنفيذ هذا الاختبار واختبارات فئات البيانات.
يضمن هذا الاختبار ما يلي:
- يؤدي إجراء النية
android.intent.action.SAFETY_CENTER
إلى فتح شاشة الإعدادات. - يعرض
SafetyCenterManager.isSafetyCenterEnabled
القيمةfalse
. - لا تستجيب معظم واجهات برمجة تطبيقات "مركز السلامة" عند طلب البيانات منها.
اختبارات فئات البيانات (SafetySourceDataTest
وSafetySourceIssueTest
وما إلى ذلك)
تضمن اختبارات فئات البيانات، مثل SafetySourceDataTest
وSafetySourceIssueTest
،
أنّ فئات البيانات التي يعرضها "مركز الأمان" تعمل على النحو المطلوب،
مثل SafetySourceData
وSafetySourceIssue
والفئات الداخلية المعنيّة الأخرى.
اختبارات MTS (SafetyCenterFunctionalTestCases
وغيرها)
يتم إجراء هذه الاختبارات على جميع تحديثات الإصدار الرئيسي وتنطبق على جميع المصنّعين الأصليين للأجهزة الذين يتيحون استخدام
PermissionController
. قد تتغيّر المتطلبات التي تفرضها هذه الاختبارات
في تحديثات الإصدار الرئيسي.
اختبارات واجهة برمجة التطبيقات (SafetyCenterManagerTest
)
تتشابه هذه الاختبارات مع اختبار CTS SafetyCenterManagerTest
، إلا أنّها تفحص المتطلبات التي يمكن أن تتغيّر في تحديثات الإصدار الرئيسي، على سبيل المثال:
- التحقّق من المحتوى الفعلي للبيانات التي تعرضها واجهات برمجة التطبيقات الداخلية في واجهة المستخدم
اختبارات واجهة المستخدم (SafetyCenterActivityTest
وSafetyCenterStatusCardTest
وSafetyCenterQsActivityTest
وما إلى ذلك)
تضمن هذه الاختبارات ما يلي:
- تعمل إعادة التوجيه إلى "مركز الأمان" باستخدام مَعلمات معيّنة على النحو المطلوب، مثلاً، إعادة التوجيه إلى مشكلة معيّنة. اطّلِع على إعادة التوجيه إلى "مركز أمان Google".
- تعرض واجهة المستخدم حالة الأمان الأساسية الصحيحة.
- تسمح واجهة المستخدم بالانتقال إلى شاشات منفصلة.
- تتيح واجهة المستخدم حلّ مشاكل السلامة مباشرةً من شاشة "مركز الأمان"
عند تحديدها من خلال
SafetySourceIssue
. - تُدمِج واجهة المستخدم عدّة بطاقات تحذير في عنصر واحد وتسمح بتوسيع هذا العنصر إلى عدّة بطاقات تحذير.
- يتم تحديث البيانات عند فتح صفحة "مركز الأمان" لمصادر "مركز الأمان" ذات الصلة.
- لا يظهر زر إعادة المسح إلا في حالات معيّنة.
- يؤدي النقر على زر إعادة المسح إلى جلب بيانات جديدة.
يتم إجراء اختبارات مشابهة لتطبيق "مركز السلامة". اطّلِع على مقالة إنشاء مربّعات "إعدادات سريعة" مخصّصة لتطبيقك.
حالات الاستخدام غير الشائعة الإضافية، مثل حالات الخطأ والحالات المعلّقة
اختبارات متعددة المستخدمين (SafetyCenterMultiUsersTest
)
يهدف هذان الاختباران إلى التأكّد من أنّ واجهة برمجة التطبيقات تعمل بشكلٍ مناسب عند تقديم بيانات لمستخدمين أو ملفات تعريف متعددة. اطّلِع على تقديم بيانات لعدة مستخدمين وملفات شخصية. يتمّ إجراء هذا الإعداد باستخدام مكتبة داخلية تسهّل إعداد مستخدمين وملفات شخصية منفصلة على الجهاز باستخدام Bedstead.
يضمن هذا الاختبار ما يلي:
- يتم دمج البيانات التي تخصّ مستخدمًا مع ملفه الشخصي المُدار المرتبط به إذا كان متوفّرًا.
- لا يمكن إلا للمصادر التي تم وضع علامة
profile="all_profiles"
عليها تقديم بيانات في الملف الشخصي المُدار للمستخدم. - يتم إنشاء إدخال جديد لكل ملف شخصي مُدار مرتبط بمستخدم.
- لا يتم تسرُّب البيانات الخاصة بمستخدم إلى مستخدم آخر غير مرتبط به.