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

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

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