Bộ kiểm thử nhà cung cấp Android (VTS) cung cấp hoạt động 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 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:
- Hệ thống 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ử. Hệ thống này cung cấp khả năng Đị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 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ử theo kiểu GTest, kiểm thử kernel hoặc 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à kiểm thử theo kiểu GTest để kiểm tra việc triển khai HAL. 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 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
để xem 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ữ kernel Linux tại
tools/testing/selftests, trong đó có 23 kiểm thử được đưa vào VTS để chạy trên ARM.Các kiểm thử của Dự án kiểm thử Linux (external/ltp) xác thực độ tin cậy, tính mạnh mẽ và độ ổn định của kernel Linux.
Kiểm thử theo kiểu JUnit
Một nhóm nhỏ các kiểm thử do máy chủ điều khiển trong VTS là 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ị thử nghiệm và có thể chạy các lệnh shell
để thực hiện quá trình xác thự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.