เครื่องมือตรวจสอบสถานะระบบ (SSC) จะกำหนดในการกำหนดค่าระดับชุดโปรแกรมและทำงานระหว่างแต่ละโมดูล โดยจะตรวจสอบเพื่อดูว่าโมดูลมีการเปลี่ยนแปลงหรือไม่ และไม่ได้คืนค่าสถานะที่กำหนดบางอย่าง เช่น การเปลี่ยนค่า พร็อพเพอร์ตี้ของระบบ
โดยหลักแล้ว SSC จะใช้เพื่อให้แน่ใจว่าผู้เขียนโมดูลจะไม่ลืมล้างข้อมูลหลังการทดสอบ แต่หากลืม ก็ให้ระบุร่องรอยของข้อมูลดังกล่าวเพื่อให้เราแก้ไขได้
การใช้งานรองคือการกู้คืนสถานะเดิมเมื่อเป็นไปได้ด้วย เช่น ปิด Keyguard หากเปิดทิ้งไว้
คำจำกัดความ 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" />
SSC จะกำหนดไว้ในแท็ก system_checker ในการกำหนดค่า Tradefed
XML
การใช้งาน
SSC ทุกรายต้องใช้ISystemStatusChecker
อินเทอร์เฟซ
ซึ่งมีเมธอดหลัก 2 อย่างคือ preExecutionCheck และ postExecutionCheck
ที่ทำงานก่อนและหลังการดำเนินการแต่ละโมดูล
ผู้ตรวจสอบสามารถใช้เพียง 1 ใน 2 อย่าง หรือใช้ทั้ง 2 อย่างก็ได้ หากจำเป็นต้องตรวจสอบสถานะก่อนโมดูลและเปรียบเทียบกับสถานะหลังโมดูล
ตัวอย่าง
การติดตั้งใช้งาน
หลายรายการมีอยู่ใน Tradefed ขอแนะนำให้การติดตั้งใช้งานแต่ละครั้งมุ่งเน้นที่การตรวจสอบรายการเดียว
เพื่อปรับปรุงการนำกลับมาใช้ใหม่ เช่น
SystemServerStatusCheck
จะตรวจสอบว่ากระบวนการ system_server รีสตาร์ทในอุปกรณ์ระหว่าง
การเรียกใช้ชุดโปรแกรมทดสอบหรือไม่ ใน postExecutionCheck จะเรียกใช้ deviceSoftRestarted
ซึ่งกำหนดไว้ใน
NativeDevice
เพื่อตรวจสอบว่ากระบวนการ system_server เริ่มต้นใหม่หรือไม่
การดำเนินการแต่ละอย่างจะแสดงผล
StatusCheckerResult
ซึ่งช่วยให้ Harness ตัดสินใจได้ว่าจะบันทึกข้อมูลเพิ่มเติม เช่น รายงานข้อบกพร่อง
หรือไม่
มีการกำหนดไว้ที่ใดใน 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 ซึ่งจะส่งผลให้
การทดสอบแสดงว่าไม่สำเร็จ โดยมีสาเหตุที่ทำให้ไม่สำเร็จคือการตรวจสอบสถานะ
การตรวจสอบเฉพาะ