Bộ thử nghiệm nhà cung cấp (VTS) và cơ sở hạ tầng

Bộ kiểm thử dành cho nhà cung cấp Android (VTS) cung cấp phạm vi kiểm thử mở rộng về những nội dung sau:

  • Kernel
  • 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 thi các trường hợp kiểm thử 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à một bộ kiểm thử tự động sử dụng các thành phần phần mềm chính sau:

  • Bộ kiểm thử Trade Federation (Liên minh thương mại) của VTS chạy trên máy chủ của bạn và quản lý quá trình thực thi kiểm thử. Công cụ này có khả năng Định cấu hình phân đoạn trên nhiều thiết bị đang được kiểm thử (DUT). Bạn cũng có thể sử dụng tính năng Thử lại Suite để chỉ thử lại các lỗi thay vì toàn bộ bộ kiểm thử. Đ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 thi trên DUT. Các trường hợp kiểm thử có thể là kiểm thử kiểu GTest, kiểm thử hạt nhân hoặc kiểm thử kiểu JUnit được viết bằng Java.

Các loại kiểm thử

Các loại xét nghiệm VTS được mô tả trong các phần sau.

Kiểm thử kiểu GTest

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

Kiểm thử hạt nhân Linux

  • Kselftest (external/linux-kselftest) là một tập hợp các chương trình kiểm thử có trong kho lưu trữ nhân Linux tại tools/testing/selftests, trong đó có 23 chương trình kiểm thử có trong VTS để chạy trên ARM.

  • Dự án kiểm thử Linux (external/ltp) kiểm thử xác thực độ tin cậy, độ mạnh và độ ổn định của nhân Linux.

Kiểm thử kiểu JUnit

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

Kiểm thử Python3 độc lập

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