Bộ kiểm tra nhà cung cấp (VTS) và cơ sở hạ tầng

Bộ thử nghiệm nhà cung cấp Android (VTS) cung cấp thử nghiệm rộng rãi về các nội dung sau:

  • hạt nhân
  • Lớp trừu tượng phần cứng (HAL)

VTS chạy trên máy tính để bàn và thực hiện các trường hợp thử nghiệm trực tiếp trên các thiết bị đính kèm hoặc trên trình mô phỏng. Tương tự như CTS , VTS là bộ kiểm tra tự động sử dụng các thành phần phần mềm chính sau.

  • Khai thác thử nghiệm của Liên đoàn Thương mại VTS chạy trên máy chủ của bạn và quản lý việc thực hiện thử nghiệm. Nó cung cấp khả năng Định cấu hình Sharding trên nhiều thiết bị đang được thử nghiệm (DUT). Bạn cũng có thể sử dụng tính năng Thử lại bộ để chỉ thử lại các lỗi thay vì toàn bộ bộ thử nghiệm, điều này giúp giảm đáng kể thời gian chạy lại.
  • Các trường hợp kiểm thử riêng lẻ được thực hiện trên DUT. Các trường hợp kiểm thử có thể là kiểm thử kiểu gtest, kiểm thử kernel hoặc kiểm thử kiểu JUnit được viết bằng Java.

Các loại bài kiểm tra

kiểm tra kiểu gtest

Hầu hết các thử nghiệm trong VTS đều là các thử nghiệm kiểu gtest để kiểm tra việc triển khai HAL. Bài kiểm tra được viết bằng C++ và chạy trên thiết bị. Một gtest VTS điển hình lặp lại qua từng phiên bản của một giao diện nhất định và chạy tất cả các trường hợp thử nghiệm dựa trên giao diện đó. Tham khảo VtsHalHealthStorageV1_0TargetTest để biết ví dụ.

Kiểm tra hạt nhân Linux

  • Kselftest ( external/linux-kselftest ) là tập hợp các bài kiểm tra có trong kho nhân Linux tại tools/testing/selftests , trong đó có 23 bài kiểm tra được đưa vào VTS để chạy trên ARM.

  • Các bài kiểm tra Dự án thử nghiệm Linux ( external/ltp ) xác nhận độ tin cậy, độ bền và tính ổn định của nhân Linux.

Các bài kiểm tra kiểu JUnit

Một tập hợp nhỏ các thử nghiệm dựa trên máy chủ trong VTS là các thử nghiệm kiểu JUnit, ví dụ: KernelApiSysfsTest . Các thử nghiệm Java được triển khai dưới dạng BaseHostJUnit4Test , được liên kết với một thiết bị thử nghiệm và có thể chạy các lệnh shell để thực hiện xác thực.

Kiểm tra Python3 độc lập

Một số bài kiểm tra VTS, chẳng hạn như vts_treble_sys_prop_test được viết bằng Python3. Các thử nghiệm dựa trên Python được triển khai dưới dạng unittest.TestCase và mỗi trường hợp thử nghiệm có thể tương tác với thiết bị thông qua các lệnh shell.