Vendor Test Suite (VTS) และโครงสร้างพื้นฐาน

Android Vendor Test Suite (VTS) การทดสอบที่ครอบคลุมเกี่ยวกับเรื่องต่อไปนี้

  • เคอร์เนล
  • ชั้นการจัดการฮาร์ดแวร์ (HAL)

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

  • สหพันธ์การค้า VTS โปรแกรมควบคุมการทดสอบทำงานบนเครื่องโฮสต์และจัดการการทดสอบ มอบความสามารถในการ กำหนดค่าชาร์ดดิ้ง ในอุปกรณ์หลายเครื่องที่อยู่ภายใต้การทดสอบ (DUT) คุณยังสามารถใช้ ลองอีกครั้ง เพื่อลองเฉพาะความล้มเหลว แทนชุดทดสอบทั้งหมด ซึ่งช่วยลดเวลา ในการสร้างโฆษณาซ้ำได้อย่างมาก
  • เคสทดสอบแต่ละรายการจะดำเนินการใน 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 (external/ltp) การทดสอบจะตรวจสอบความน่าเชื่อถือ ความทนทาน และความเสถียรของเคอร์เนลของ Linux

การทดสอบแบบ JUnit

ชุดการทดสอบเล็กๆ ที่ขับเคลื่อนด้วยโฮสต์ใน VTS คือการทดสอบแบบ JUnit เช่น KernelApiSysfsTest การทดสอบ Java จะดำเนินการในรูปแบบ BaseHostJUnit4Test, ซึ่งเชื่อมโยงกับอุปกรณ์ทดสอบและเรียกใช้ Shell ได้ เพื่อทำการตรวจสอบ

การทดสอบ Python3 แบบสแตนด์อโลน

การทดสอบ VTS บางรายการ เช่น vts_treble_sys_prop_test เขียนด้วย Python3 การทดสอบที่ใช้ Python จะนำไปใช้เป็น unittest.TestCase และการทดสอบแต่ละรายการ สามารถโต้ตอบกับอุปกรณ์ผ่านคำสั่ง Shell ได้