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