Vendor Test Suite (VTS) และโครงสร้างพื้นฐาน

ชุดทดสอบผู้ขาย Android 11 (VTS) ให้การทดสอบที่ครอบคลุมดังต่อไปนี้:

  • เคอร์เนล
  • เลเยอร์นามธรรมของฮาร์ดแวร์ (HAL)

VTS ทำงานบนเครื่องเดสก์ท็อปและดำเนินการกรณีทดสอบโดยตรงบนอุปกรณ์ที่เชื่อมต่อหรือบนอีมูเลเตอร์ คล้ายกับ CTS VTS เป็นชุดทดสอบอัตโนมัติที่ใช้ส่วนประกอบซอฟต์แวร์หลักดังต่อไปนี้

  • สายรัดทดสอบ VTS Trade Federation ทำงานบนเครื่องโฮสต์ของคุณและจัดการการดำเนินการทดสอบ มีความสามารถในการ กำหนดค่า การแชร์ข้อมูลในอุปกรณ์หลายเครื่องภายใต้การทดสอบ (DUTs) คุณยังสามารถใช้คุณลักษณะ Suite Retry เพื่อลองใหม่เฉพาะความล้มเหลว แทนที่จะใช้ชุดทดสอบทั้งหมด ซึ่งช่วยลดเวลาในการรันซ้ำได้อย่างมาก
  • กรณีทดสอบส่วนบุคคลจะดำเนินการบน DUT กรณีทดสอบอาจเป็นการทดสอบแบบ gtest การทดสอบเคอร์เนล หรือการทดสอบสไตล์ JUnit ที่เขียนด้วยภาษาจาวา

ประเภทของการทดสอบ

แบบทดสอบ gtest

การทดสอบส่วนใหญ่ใน VTS เป็นการทดสอบแบบ gtest ที่ตรวจสอบการใช้งาน HAL การทดสอบเขียนด้วยภาษา C++ และทำงานบนอุปกรณ์ VTS gtest ทั่วไปจะวนซ้ำในแต่ละอินสแตนซ์ของอินเทอร์เฟซที่กำหนด และเรียกใช้กรณีทดสอบทั้งหมดเทียบกับอินเทอร์เฟซนั้น อ้างถึง VtsHalHealthStorageV1_0TargetTest สำหรับตัวอย่าง

การทดสอบเคอร์เนลลินุกซ์

  • Kselftest ( external/linux-kselftest ) คือชุดของการทดสอบที่รวมอยู่ในที่เก็บเคอร์เนล Linux ที่ tools/testing/selftests ซึ่ง 23 รายการรวมอยู่ใน VTS เพื่อทำงานบน ARM

  • การทดสอบโครงการทดสอบ Linux ( external/ltp ) จะตรวจสอบความน่าเชื่อถือ ความทนทาน และความเสถียรของเคอร์เนล Linux

การทดสอบสไตล์ JUnit

ชุดเล็กของการทดสอบที่ขับเคลื่อนด้วยโฮสต์ใน VTS คือการทดสอบสไตล์ JUnit เช่น KernelApiSysfsTest การทดสอบ Java ถูกนำมาใช้เป็น BaseHostJUnit4Test ซึ่งเชื่อมโยงกับอุปกรณ์ทดสอบ และสามารถรันคำสั่งเชลล์เพื่อทำการตรวจสอบได้

การทดสอบ Python3 แบบสแตนด์อโลน

การทดสอบ VTS บางอย่าง เช่น vts_treble_sys_prop_test เขียนด้วย Python3 การทดสอบที่ใช้ Python นั้นถูกนำไปใช้เป็น unittest.TestCase และแต่ละกรณีทดสอบสามารถโต้ตอบกับอุปกรณ์ผ่านคำสั่งเชลล์