متطلبات الاختبار

اختبارات GTS (GtsSafetyCenterTestCases)

تفرض اختبارات GTS قيودًا على ملف الإعداد. راجِع تعديلملف الإعدادات. يتم إعفاء الجهاز من هذه الاختبارات إذا لم يكن متوافقًا مع "مركز الأمان".

في ما يلي القيود:

  • يجب أن تكون هناك سبع مجموعات مصادر على الأقل في "مركز الأمان"، ويجب أن تظل في الحالة غير المعدَّلة أو التلقائية. في بعض الحقول المحدّدة، مثل عناوين المصادر وحالة العرض الأولية والملخّص، يتم أحيانًا دعمها بسلسلة قابلة للتراكب ويمكن تعديلها.
  • بالنسبة إلى GoogleAppSecuritySources:

    • لا تزيل مصدر الأمان GooglePlayProtect أو تعدّله.
    • يمكنك إزالة مصدر الأمان GoogleAppProtectionService أو تغييره. في حال توفّر الرمز:
      • يجب أن يكون متوافقًا مع التسجيل.
      • إذا لم يتغيّر اسم الحزمة، يجب أن يحتوي على initialDisplayState="hidden" في Android 13، وفي Android 14، يجب أن يكون issue-only-safety-source بدلاً من ذلك ويجب أن يظلdeduplicationGroup بدون تغيير.
      • في حال تغيير اسم الحزمة، يجب أن يكون لها الدور "android.app.role.SYSTEM_APP_PROTECTION_SERVICE". بالإضافة إلى ذلك، يجب ألا تحتوي على deduplicationGroup في الإصدار Android 14.
  • بالنسبة إلى 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 الذي تم تحليله مع الإعدادات التي حلّلها مركز الأمان ويعرضها، وأنّ هذا التحليل ناجح.
  • إذا كان إجراء النية android.settings.PRIVACY_ADVANCED_SETTINGS متوفّرًا في ملف XML، يجب حلّ هذا الإجراء.
  • إذا كان إجراء النية android.settings.PRIVACY_CONTROLS متوفّرًا فيملف XML، يجب حلّ هذا الإجراء.

اختبارات واجهة المستخدم (SafetyCenterActivityTest)

وتضمن هذه الاختبارات ما يلي:

  • يحلّ إجراء النية android.intent.action.SAFETY_CENTER ويفتح شاشة إعدادات الأمان والخصوصية عندما يكون "مركز الأمان" مفعّلاً، ويفتح شاشة "الإعدادات" عندما يكون "مركز الأمان" غير مفعّل.

اختبارات واجهة برمجة التطبيقات (SafetyCenterManagerTest)

والهدف من اختبارات واجهة برمجة التطبيقات SafetyCenterManagerTest API هو ضمان عمل واجهات برمجة تطبيقات "مركز الأمان" على النحو المطلوب.

تضمن هذه الاختبارات ما يلي:

  • يتم التحكّم في SafetyCenterManager.isSafetyCenterEnabled باستخدام العلامة المقترنة DeviceConfig.
  • عند إيقاف واجهات برمجة التطبيقات في Safety Center، لا يتم تنفيذ أي إجراء.
  • لا يمكن استخدام واجهات برمجة تطبيقات Safety Center إلا عند منح الأذونات المرتبطة بها.
  • لا يمكن تقديم البيانات إلى "مركز الأمان" إلا وفقًا للإعدادات الأساسية.
  • عندما يتم تقديم البيانات إلى "مركز الأمان"، يتم عرضها وفقًا لذلك.
  • تتطابق واجهات برمجة التطبيقات مع المواصفات الموضّحة في مقالة استخدام واجهات برمجة تطبيقات مصدر Safety Center، على سبيل المثال، سلوك إعادة تحميل البيانات أو إعادة فحصها، وإعداد البيانات أو محوها، والإبلاغ عن الأخطاء.
  • تعمل واجهات برمجة التطبيقات الداخلية المعروضة على واجهة المستخدم بشكل صحيح. على سبيل المثال، يتم دمج البيانات بشكل مناسب من خلال "مركز الأمان" ويمكن إعادة تحميل البيانات.

الاختبار غير المتوافق مع "مركز الأمان" (SafetyCenterUnsupportedTest)

يضمن هذا الاختبار إيقاف "مركز الأمان" عندما لا يكون الجهاز متوافقًا معه، أو عندما يكون خيار التوافق غير مفعّل في ملف الضبط XML الخاص بالإطار.

لن يتم إجراء هذا الاختبار إذا كان الجهاز متوافقًا مع "مركز الأمان". إذا كان الجهاز لا يتيح استخدام "مركز الأمان"، لن يتم سوى تنفيذ هذا الاختبار واختبارات فئات البيانات.

يضمن هذا الاختبار ما يلي:

  • ويفتح إجراء intent android.intent.action.SAFETY_CENTER شاشة "الإعدادات".
  • يعرض SafetyCenterManager.isSafetyCenterEnabled القيمة false.
  • لا تستجيب معظم واجهات برمجة تطبيقات "مركز الأمان" عند طلب البيانات منها.

اختبارات فئات البيانات (SafetySourceDataTest، SafetySourceIssueTest، إلخ)

تضمن اختبارات فئات البيانات، مثل SafetySourceDataTest وSafetySourceIssueTest، أنّ فئات البيانات التي يعرضها "مركز الأمان" تعمل على النحو المطلوب، مثل SafetySourceData وSafetySourceIssue والفئات الداخلية المعنيّة الأخرى.

اختبارات MTS (SafetyCenterFunctionalTestCases وغيرها)

يتم إجراء هذه الاختبارات على جميع تحديثات الإصدار الرئيسي وتسري على جميع المصنّعين الأصليّين للأجهزة الذين يتيحون استخدام PermissionController. قد تتغيّر المتطلبات التي تفرضها هذه الاختبارات في تحديثات الإصدار الرئيسي.

اختبارات واجهة برمجة التطبيقات (SafetyCenterManagerTest)

تتشابه هذه الاختبارات مع اختبار CTS SafetyCenterManagerTest، إلا أنّها تفحص متطلبات قد تتغيّر في تحديثات الإصدار الرئيسي، على سبيل المثال:

  • التحقّق من المحتوى الفعلي للبيانات التي تعرضها واجهات برمجة التطبيقات الداخلية في واجهة المستخدم

اختبارات واجهة المستخدم (SafetyCenterActivityTest وSafetyCenterStatusCardTest وSafetyCenterQsActivityTest وما إلى ذلك)

تضمن هذه الاختبارات ما يلي:

  • تعمل إعادة التوجيه إلى "مركز الأمان" باستخدام مَعلمات معيّنة على النحو المطلوب، مثلاً، إعادة التوجيه إلى مشكلة معيّنة. يُرجى الاطّلاع على مقالة إعادة التوجيه إلى "مركز الأمان".
  • تعرِض واجهة المستخدم حالة الأمان الأساسية الصحيحة.
  • تسمح واجهة المستخدم بالتنقّل إلى شاشات منفصلة.
  • تتيح واجهة المستخدم حلّ مشاكل السلامة مباشرةً من شاشة "مركز الأمان" عند تحديدها من خلال SafetySourceIssue.
  • تُدمِج واجهة المستخدم عدّة بطاقات تحذير في عنصر واحد وتسمح بتوسيع هذا العنصر إلى عدّة بطاقات تحذير.
  • تتم إعادة تحميل البيانات عند فتح صفحة "مركز الأمان" الخاصة بمصادر "مركز الأمان" ذات الصلة.
  • لا يظهر زر إعادة الفحص إلا في ظروف محدّدة.
  • يؤدي النقر على زر إعادة المسح إلى جلب بيانات جديدة.
  • يتم إجراء اختبارات مماثلة لمركز الأمان. اطّلِع على مقالة إنشاء مربّعات "إعدادات سريعة" مخصّصة لتطبيقك.

  • حالات الاستخدام غير الشائعة الإضافية، مثل حالات الخطأ والحالات المعلّقة

اختبارات متعددة المستخدمين (SafetyCenterMultiUsersTest)

الهدف من هذه الاختبارات هو التأكد من أن واجهة برمجة التطبيقات تعمل بشكل مناسب عند تقديم بيانات لعدة مستخدمين أو ملفات شخصية. اطّلِع على تقديم بيانات لعدة مستخدمين وملفات شخصية. ويتم تنفيذ هذا الإعداد باستخدام مكتبة داخلية تسهّل عملية إعداد حسابات مستخدمين وملفات شخصية منفصلة على الجهاز باستخدام Bedstead.

يضمن هذا الاختبار ما يلي:

  • يتم دمج البيانات التي تخصّ مستخدمًا مع ملفه الشخصي المُدار المرتبط به إذا كان متوفّرًا.
  • لا يمكن إلا للمصادر التي تم وضع علامة profile="all_profiles" عليها تقديم بيانات في الملف الشخصي المُدار للمستخدم.
  • يتم إنشاء إدخال جديد لكل ملف شخصي مُدار مرتبط بمستخدم.
  • ولا يتم تسريب بيانات أحد المستخدمين إلى مستخدم آخر غير ذي صلة.