Android Vendor Test Suite (VTS) ให้การทดสอบที่ครอบคลุมเกี่ยวกับสิ่งต่อไปนี้:
- เคอร์เนล
- เลเยอร์นามธรรมของฮาร์ดแวร์ (HAL)
VTS ทำงานบนเครื่องเดสก์ท็อปและดำเนินการกรณีทดสอบโดยตรงบนอุปกรณ์ที่เชื่อมต่อหรือบนโปรแกรมจำลอง คล้ายกับ CTS VTS เป็นชุดทดสอบอัตโนมัติที่ใช้ส่วนประกอบซอฟต์แวร์หลักดังต่อไปนี้
- ชุดทดสอบ VTS Trade Federation ทำงานบนเครื่องโฮสต์ของคุณและจัดการการดำเนินการทดสอบ มีความสามารถในการ กำหนดค่า Sharding บนอุปกรณ์หลายเครื่องภายใต้การทดสอบ (DUTs) คุณยังสามารถใช้คุณสมบัติ Suite Retry เพื่อลองซ้ำเฉพาะส่วนที่ล้มเหลว แทนที่จะลองชุดทดสอบทั้งหมด ซึ่งช่วยลดเวลาการรันซ้ำได้อย่างมาก
- กรณีทดสอบแต่ละรายการจะดำเนินการใน DUT กรณีทดสอบอาจเป็นการทดสอบแบบ gtest การทดสอบเคอร์เนล หรือการทดสอบแบบ JUnit ที่เขียนด้วย Java
ประเภทของการทดสอบ
การทดสอบแบบ gtest
การทดสอบส่วนใหญ่ใน VTS เป็นการทดสอบแบบ gtest ที่ตรวจสอบการใช้งาน HAL การทดสอบเขียนด้วยภาษา C++ และรันบนอุปกรณ์ VTS gtest ทั่วไปจะทำซ้ำผ่านแต่ละอินสแตนซ์ของอินเทอร์เฟซที่กำหนด และเรียกใช้กรณีทดสอบทั้งหมดเทียบกับมัน อ้างถึง VtsHalHealthStorageV1_0TargetTest
สำหรับตัวอย่าง
การทดสอบเคอร์เนล Linux
Kselftest ( external/linux-kselftest ) เป็นชุดของการทดสอบที่รวมอยู่ในที่เก็บเคอร์เนลของ Linux ที่
tools/testing/selftests
ซึ่ง 23 รายการรวมอยู่ใน VTS เพื่อรันบน ARMการทดสอบ Linux Test Project ( external/ltp ) ตรวจสอบความน่าเชื่อถือ ความทนทาน และความเสถียรของเคอร์เนล Linux
การทดสอบแบบ JUnit
ชุดการทดสอบที่ขับเคลื่อนด้วยโฮสต์ชุดเล็กๆ ใน VTS คือการทดสอบแบบ JUnit เช่น KernelApiSysfsTest
การทดสอบ Java ถูกนำมาใช้เป็น BaseHostJUnit4Test
ซึ่งเชื่อมโยงกับอุปกรณ์ทดสอบและสามารถรันคำสั่งเชลล์เพื่อทำการตรวจสอบความถูกต้อง
การทดสอบ Python3 แบบสแตนด์อโลน
การทดสอบ VTS บางอย่าง เช่น vts_treble_sys_prop_test
เขียนด้วย Python3 การทดสอบที่ใช้ Python ถูกนำมาใช้เป็น unittest.TestCase
และแต่ละกรณีทดสอบสามารถโต้ตอบกับอุปกรณ์ผ่านคำสั่งเชลล์