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

ชุดทดสอบของผู้ให้บริการ 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 เพื่อเรียกใช้ใน ARM

  • Linux Test Project (external/ltp) การทดสอบจะตรวจสอบความน่าเชื่อถือ ความแข็งแกร่ง และความเสถียรของเคอร์เนล Linux

การทดสอบสไตล์ JUnit

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

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

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