ชุดทดสอบผู้จำหน่าย Android (VTS) มีการทดสอบที่ครอบคลุมในเรื่องต่อไปนี้:
- เคอร์เนล
- เลเยอร์นามธรรมของฮาร์ดแวร์ (HAL)
VTS ทำงานบนเครื่องเดสก์ท็อปและดำเนินการกรณีทดสอบโดยตรงบนอุปกรณ์ที่เชื่อมต่อหรือบนโปรแกรมจำลอง เช่นเดียวกับ CTS VTS เป็นชุดทดสอบอัตโนมัติที่ใช้ส่วนประกอบซอฟต์แวร์หลักต่อไปนี้
- ชุดทดสอบ VTS Trade Federation ทำงานบนเครื่องโฮสต์ของคุณและจัดการการดำเนินการทดสอบ มีความสามารถใน การกำหนดค่า Sharding บนอุปกรณ์หลายเครื่องภายใต้การทดสอบ (DUT) คุณยังสามารถใช้ฟีเจอร์ Suite Retry เพื่อลองเฉพาะความล้มเหลวอีกครั้ง แทนที่จะลองชุดการทดสอบทั้งหมด ซึ่งจะช่วยลดเวลาการรันซ้ำได้อย่างมาก
- กรณีทดสอบแต่ละรายการจะดำเนินการบน 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 Test Project ( external/ltp ) ตรวจสอบความน่าเชื่อถือ ความทนทาน และความเสถียรของเคอร์เนล Linux
การทดสอบสไตล์ JUnit
ชุดการทดสอบที่ขับเคลื่อนโดยโฮสต์ชุดเล็กๆ ใน VTS เป็นการทดสอบสไตล์ JUnit เช่น KernelApiSysfsTest
การทดสอบ Java ถูกนำมาใช้เป็น BaseHostJUnit4Test
ซึ่งเชื่อมโยงกับอุปกรณ์ทดสอบและสามารถรันคำสั่งเชลล์เพื่อทำการตรวจสอบความถูกต้องได้
การทดสอบ Python3 แบบสแตนด์อโลน
การทดสอบ VTS บางอย่าง เช่น vts_treble_sys_prop_test
เขียนด้วย Python3 การทดสอบที่ใช้ Python ถูกนำมาใช้เป็น unittest.TestCase
และแต่ละกรณีการทดสอบสามารถโต้ตอบกับอุปกรณ์ผ่านคำสั่งเชลล์