ชุดทดสอบของผู้ให้บริการ 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
ซึ่งเชื่อมโยงกับอุปกรณ์ทดสอบและสามารถเรียกใช้คำสั่ง Shell
เพื่อทำการตรวจสอบได้
การทดสอบ Python3 แบบสแตนด์อโลน
การทดสอบ VTS บางรายการ เช่น
vts_treble_sys_prop_test
เขียนด้วย Python3 การทดสอบที่ใช้ Python จะใช้งานเป็น unittest.TestCase
และเคสทดสอบแต่ละรายการ
สามารถโต้ตอบกับอุปกรณ์ผ่านคำสั่งเชลล์ได้