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

Bộ kiểm thử của nhà cung cấp Android (VTS) cung cấp hoạt động kiểm thử trên diện rộng đối với những nội dung sau:

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

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

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

Các loại kiểm thử

Các loại kiểm thử VTS được mô tả trong các phần sau.

Kiểm thử theo kiểu GTest

Hầu hết các kiểm thử trong VTS đều là các kiểm thử theo kiểu GTest để kiểm tra việc triển khai HAL. Bài kiểm thử được viết bằng C++ và chạy trên thiết bị. Một VTS GTest điển hình sẽ 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ử đối với giao diện đó. Hãy tham khảo VtsHalHealthStorageV1_0TargetTest để biết ví dụ.

Kiểm thử kernel Linux

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

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

Kiểm thử theo kiểu JUnit

Một nhóm nhỏ các kiểm thử do máy chủ lưu trữ điều khiển trong VTS là các kiểm thử theo kiểu JUnit, ví dụ: KernelApiSysfsTest. Các 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ị kiểm thử và có thể chạy các lệnh shell để thực hiện quy trình xác thực.

Các kiểm thử Python3 độc lập

Một số kiểm thử VTS, chẳng hạn như vts_treble_sys_prop_test được viết bằng Python3. Các 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.