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

Bộ kiểm thử nhà cung cấp Android (VTS) cung cấp thử nghiệm chuyên sâu về các tính năng sau:

  • Kernel
  • Lớp trừu tượng phần cứng (HAL)

VTS chạy trên máy tính và thực thi các trường hợp kiểm thử ngay trên thiết bị được kết nối 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.

  • Liên đoàn Thương mại VTS khai thác kiểm thử chạy trên máy chủ của bạn và quản lý kiểm thử thực thi chính sách. Chiến dịch này có khả năng Định cấu hình phân đoạn trên nhiều thiết bị đang được thử nghiệm (DUT). Bạn cũng có thể sử dụng Thử lại Suite để chỉ thử lại các lỗi thay vì toàn bộ bộ kiểm thử, 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 kiểm thử trong VTS đều là kiểm thử kiểu gtest để kiểm tra HAL trong quá trình triển khai. Thử nghiệm là đượ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 thực thể của một giao diện cho sẵn và chạy tất cả các trường hợp kiểm thử dựa vào nội dung đó. Tham khảo VtsHalHealthStorageV1_0TargetTest để xem ví dụ.

Kiểm thử nhân hệ điều hành Linux

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

  • Dự án kiểm thử Linux (bên ngoài/ltp) các bài kiểm thử xác thực độ tin cậy, độ mạnh mẽ và ổn định của nhân hệ điều hành Linux.

Kiểm thử kiểu JUnit

Ví dụ: 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ử theo kiểu JUnit KernelApiSysfsTest. Các bài kiểm thử 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 shell để thực hiện xác thực.

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

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