ชุดทดสอบผู้ขาย (VTS) และโครงสร้างพื้นฐาน

ชุดทดสอบผู้จำหน่าย Android (VTS) มีการทดสอบที่ครอบคลุมในเรื่องต่อไปนี้:

  • เคอร์เนล
  • เลเยอร์นามธรรมของฮาร์ดแวร์ (HAL)

VTS ทำงานบนเครื่องเดสก์ท็อปและดำเนินการกรณีทดสอบโดยตรงบนอุปกรณ์ที่เชื่อมต่อหรือบนโปรแกรมจำลอง เช่นเดียวกับ CTS VTS เป็นชุดทดสอบอัตโนมัติที่ใช้ส่วนประกอบซอฟต์แวร์หลักต่อไปนี้

  • ชุดทดสอบ VTS Trade Federation ทำงานบนเครื่องโฮสต์ของคุณและจัดการการดำเนินการทดสอบ มีความสามารถในการ กำหนดค่า Sharding บนอุปกรณ์หลายเครื่องภายใต้การทดสอบ (DUT) คุณยังสามารถใช้ฟีเจอร์ 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 และแต่ละกรณีการทดสอบสามารถโต้ตอบกับอุปกรณ์ผ่านคำสั่งเชลล์