בודקי סטטוס מערכת (SSC) מוגדרים בהגדרה ברמת החבילה, להריץ בין כל מודול. הם מבצעים בדיקות כדי לקבוע אם המודול השתנה ולא החזיר מצבים מסוימים, למשל שינוי ערך של מאפיין מערכת.
ה-SSCs משמשים בעיקר כדי לוודא שכותבי המודולים לא שוכחים לנקות אחרי הבדיקות שלהם, אבל אם הם שוכחים, הם מספקים נתיב כדי שאפשר יהיה לטפל בבעיה.
שימוש משני הוא גם לשחזור המצב המקורי כשהדבר אפשרי, למשל סגירת מסך הנעילה אם הוא נשאר פתוח.
הגדרת 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" />
קמפיינים חכמים לשופינג מוגדרים מתחת לתג system_checker
בהגדרה של נתונים מסחריים
XML.
הטמעה
כל קמפיין שופינג חכם (SSC) חייב להטמיע את 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
. התוצאה של
הרצת הבדיקה הוצגה כנכשלה והסיבה לכישלון היא בודק הסטטוס
היא בדיקה ספציפית.