يتمّ تحديد أدوات التحقّق من حالة النظام (SSC) على مستوى الإعدادات في الحزمة ويتمّ تشغيلها بين كلّ وحدة. وتعمل هذه الأدوات على إجراء عمليات تحقّق لتحديد ما إذا كانت الوحدة قد تغيّرت وإذا لم تتم استعادة بعض الحالات المحدّدة، مثل تغيير قيمة أحد سمات النظام.
تُستخدَم رسائل SSC بشكل أساسي لضمان عدم نسيان مؤلفي الوحدات تنظيف المحتوى بعد الاختبارات، ولكن إذا نسوا ذلك، يجب تقديم تتبع للخطأ حتى يمكن معالجته.
ويتمثل الاستخدام الثانوي في استعادة الحالة الأصلية أيضًا عندما يكون ذلك ممكنًا، على سبيل المثال، إغلاق شاشة القفل إذا تم تركها مفتوحة.
تعريف ملف XML الخاص بمدقّق حالة النظام
<system_checker class="com.android.tradefed.suite.checker.KeyguardStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.LeakedThreadStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.SystemServerStatusChecker" />
يتم تحديد عناوين URL لصفحات المنتجات في خدمة مقارنة الأسعار ضمن علامة system_checker
في ملف XML لإعدادات Tradefed.
التنفيذ
يجب أن تطبّق كلّ حملة Shopping ذكية ISystemStatusChecker
واجهة،
التي توفّر الطريقتَين الرئيسيتَين preExecutionCheck
وpostExecutionCheck
التي يتمّ تشغيلهما قبل تنفيذ كلّ وحدة وبعده.
من الممكن أن ينفذ المدقّق أحدهما فقط أو ينفّذ كلاهما إذا كان هناك حاجة إلى التحقّق من الحالة قبل الوحدة ومقارنتها بالحالة بعد الوحدة.
تتوفّر عدة أمثلة
على عمليات التنفيذ
في Tradefed. ننصح بالتركيز على عملية تحقّق واحدة في كل عملية تنفيذ
لتحسين إمكانية إعادة الاستخدام. على سبيل المثال، يتحقق العنصر
SystemServerStatusCheck
ممّا إذا تمت إعادة تشغيل عملية system_server
على الجهاز أثناء
تنفيذ مجموعة الاختبار. في postExecutionCheck
، يتم استدعاء deviceSoftRestarted
،
الذي تم تحديده في
NativeDevice
للتحقّق مما إذا تم إعادة تشغيل عملية system_server
.
تُعرِض كل عملية StatusCheckerResult
، مما يتيح للمجموعة تحديد ما إذا كان يجب تسجيل معلومات إضافية، مثل تقرير خطأ.
أين يتم تحديدها في CTS؟
يتم تحديد أدوات التحقّق من حالة نظام CTS فيملف /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml.
كيفية العثور على أخطاء المدقّق
لا تظهر حالات تعذُّر التحقّق من النظام تلقائيًا إلا في السجلات وتقارير الأخطاء
التي تم تسجيلها للطلب الذي يحمل الاسم التالي التنسيق
bugreport-checker-post-module-<module name>.zip
.
يتيح لك ذلك معرفة الوحدة التي تم إنشاء تقرير الخطأ بعدها.
من الممكن أن يُبلغ مدقّق النظام عن تعذُّر الاختبار نفسه من خلال
ضبط الخيار --report-system-checkers
على true
. ويؤدي ذلك إلى أن يظهر الاختبار على أنّه تعذّر إكماله، ويرجع سبب التعذّر إلى عملية التحقّق من الحالة
أو عملية التحقّق المحدّدة.