Android Vendor Test Suite (VTS) มีการทดสอบที่ครอบคลุมในด้านต่างๆ ต่อไปนี้
- เคอร์เนล
- เลเยอร์การจัดการฮาร์ดแวร์โดยตรง (HAL)
VTS ทำงานบนเครื่องเดสก์ท็อปและเรียกใช้ชุดทดสอบในอุปกรณ์ที่เชื่อมต่อหรือในโปรแกรมจำลองโดยตรง VTS เป็นชุดทดสอบอัตโนมัติที่ใช้คอมโพเนนต์ซอฟต์แวร์หลักต่อไปนี้ ซึ่งคล้ายกับ CTS
- เครื่องมือทดสอบ Trade Federation ของ VTS จะทำงานบนเครื่องโฮสต์และจัดการการทดสอบ ซึ่งช่วยให้สามารถกําหนดค่าการแยกข้อมูลในอุปกรณ์ทดสอบ (DUT) หลายเครื่อง นอกจากนี้ คุณยังใช้ฟีเจอร์ลองชุดทดสอบอีกครั้งเพื่อลองทดสอบเฉพาะรายการที่ดำเนินการไม่สำเร็จแทนที่จะลองทั้งชุดทดสอบได้ด้วย ซึ่งจะช่วยลดเวลาในการเรียกใช้ซ้ำได้อย่างมาก
- เคสทดสอบแต่ละรายการจะดำเนินการใน DUT เฟรมเวิร์กการทดสอบอาจเป็นการทดสอบสไตล์ GTest, การทดสอบเคอร์เนล หรือการทดสอบสไตล์ JUnit ที่เขียนด้วย Java
ประเภทการทดสอบ
การทดสอบ VTS ประเภทต่างๆ มีคำอธิบายอยู่ในส่วนต่อไปนี้
การทดสอบสไตล์ GTest
การทดสอบส่วนใหญ่ใน VTS เป็นการทดสอบสไตล์ GTest ที่ตรวจสอบการติดตั้งใช้งาน HAL การทดสอบจะเขียนด้วย
C++ และเรียกใช้บนอุปกรณ์ VTS GTest ทั่วไปจะวนผ่านอินสแตนซ์แต่ละรายการของอินเทอร์เฟซหนึ่งๆ และเรียกใช้ชุดทดสอบทั้งหมดกับอินเทอร์เฟซนั้น ดูตัวอย่างได้ที่ VtsHalHealthStorageV1_0TargetTest
การทดสอบเคอร์เนลของ Linux
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
และแต่ละกรณีทดสอบจะโต้ตอบกับอุปกรณ์ผ่านคำสั่งเชลล์ได้