يتمّ تحديد أدوات التحقّق من حالة النظام (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
. وينتج عن ذلك أنّ عملية إجراء الاختبار تُظهر أنّه تعذّر إتمامها، ويكون سبب الفشل هو التحقّق تحديدًا من الحالة.