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.