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

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

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

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

  • VTS พันธ์การค้า เทียมทดสอบวิ่งบนเครื่องโฮสต์ของคุณและจัดการการดำเนินการทดสอบ มันมีความสามารถในการ กำหนดค่า sharding ในอุปกรณ์หลายภายใต้การทดสอบ (Duts) นอกจากนี้คุณยังสามารถใช้ สวีทลองใหม่ คุณลักษณะเพื่อลองอีกครั้งเพียง แต่ความล้มเหลวมากกว่าห้องทดสอบทั้งหมดซึ่งช่วยลดเวลาในการทำงานอีกครั้ง
  • กรณีทดสอบส่วนบุคคลจะดำเนินการบน DUT กรณีทดสอบอาจเป็นการทดสอบแบบ gtest การทดสอบเคอร์เนล หรือการทดสอบแบบ JUnit ที่เขียนด้วยภาษาจาวา

ประเภทของการทดสอบ

แบบทดสอบ gtest

การทดสอบส่วนใหญ่ใน VTS เป็นการทดสอบแบบ gtest ที่ตรวจสอบการใช้งาน HAL การทดสอบเขียนด้วยภาษา C++ และทำงานบนอุปกรณ์ VTS gtest ทั่วไปจะทำซ้ำผ่านแต่ละอินสแตนซ์ของอินเทอร์เฟซที่กำหนด และเรียกใช้กรณีทดสอบทั้งหมดเทียบกับอินเทอร์เฟซนั้น อ้างถึง VtsHalHealthStorageV1_0TargetTest เช่น

การทดสอบเคอร์เนลลินุกซ์

  • Kselftest ( ภายนอก / ลินุกซ์ kselftest ) เป็นคอลเลกชันของการทดสอบรวมอยู่ในพื้นที่เก็บข้อมูลเคอร์เนลที่ tools/testing/selftests ซึ่ง 23 จะรวมอยู่ใน VTS เพื่อให้ทำงานบน ARM

  • ทดสอบโครงการลินุกซ์ ( ภายนอก / LTP ) การทดสอบการตรวจสอบความน่าเชื่อถือความทนทานและความมั่นคงของลินุกซ์

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

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

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

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