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