Thử nghiệm nền tảng Android

AOSP cung cấp một số công cụ và bộ thử nghiệm để thử nghiệm các phần khác nhau trong quá trình triển khai của bạn. Trước khi tiếp tục phần này, bạn nên làm quen với các thuật ngữ sau:

Thiết bị tương thích với Android
Một thiết bị có thể chạy bất kỳ ứng dụng nào của bên thứ ba do nhà phát triển bên thứ ba viết bằng SDK Android và NDK. Các thiết bị tương thích với Android phải tuân thủ các yêu cầu của Tài liệu định nghĩa tương thích (CDD) và vượt qua Bộ kiểm tra tương thích (CTS) . Các thiết bị tương thích với Android đủ điều kiện tham gia vào hệ sinh thái Android, bao gồm giấy phép tiềm năng cho Cửa hàng Google Play, giấy phép tiềm năng cho bộ ứng dụng và API của Google Mobile Services (GMS) cũng như việc sử dụng nhãn hiệu Android. Bất kỳ ai cũng có thể sử dụng mã nguồn Android nhưng để được coi là một phần của hệ sinh thái Android, thiết bị phải tương thích với Android.
hiện vật
Cấu phần phần mềm là nhật ký liên quan đến bản dựng cho phép khắc phục sự cố cục bộ.
Tài liệu định nghĩa khả năng tương thích (CDD)
Tài liệu liệt kê các yêu cầu về phần mềm và phần cứng dành cho thiết bị tương thích với Android.
Bộ kiểm tra khả năng tương thích (CTS)

Bộ thử nghiệm cấp thương mại, miễn phí, có sẵn để tải xuống dưới dạng nhị phân hoặc dưới dạng nguồn trong AOSP. CTS là một tập hợp các bài kiểm tra đơn vị được thiết kế để tích hợp vào quy trình làm việc hàng ngày của bạn. Mục đích của CTS là tiết lộ những điểm không tương thích và đảm bảo rằng phần mềm vẫn tương thích trong suốt quá trình phát triển.

CTS và thử nghiệm nền tảng không loại trừ lẫn nhau. Dưới đây là một số hướng dẫn chung:

  • Nếu một thử nghiệm khẳng định tính chính xác của các chức năng hoặc hành vi của API khung và nó phải được thực thi trên các đối tác OEM thì thử nghiệm đó phải có trong CTS.
  • Nếu thử nghiệm nhằm mục đích phát hiện các hiện tượng hồi quy trong quá trình phát triển nền tảng và có thể yêu cầu quyền đặc quyền để thực hiện cũng như có thể phụ thuộc vào chi tiết triển khai (như được phát hành trong AOSP), thì đó phải là thử nghiệm nền tảng.
Dịch vụ di động của Google (GMS)

Bộ sưu tập các ứng dụng và API của Google có thể được cài đặt sẵn trên thiết bị.

GoogleTest (GTest)

GTest là một khung thử nghiệm và mô phỏng C++. Các tệp nhị phân GTest thường truy cập các lớp trừu tượng cấp thấp hơn hoặc thực hiện IPC thô đối với các dịch vụ hệ thống khác nhau. Phương pháp thử nghiệm GTest thường được kết hợp chặt chẽ với dịch vụ đang được thử nghiệm. CTS chứa khung GTest.

kiểm tra thiết bị đo đạc

Kiểm thử thiết bị đo lường cung cấp một môi trường thực thi kiểm thử đặc biệt do lệnh am instrument khởi chạy, trong đó quy trình ứng dụng mục tiêu được khởi động lại và khởi tạo với ngữ cảnh ứng dụng cơ bản, đồng thời một luồng thiết bị đo lường được khởi động bên trong máy ảo quy trình ứng dụng. CTS chứa các bài kiểm tra thiết bị đo đạc.

logcat

Logcat là một công cụ dòng lệnh tạo nhật ký các thông báo hệ thống, bao gồm dấu vết ngăn xếp khi thiết bị gặp lỗi và các thông báo mà bạn đã viết từ ứng dụng của mình bằng lớp Log .

khai thác gỗ

Ghi nhật ký đề cập đến việc sử dụng nhật ký để theo dõi các sự kiện của hệ thống máy tính, chẳng hạn như lỗi. Việc đăng nhập vào Android rất phức tạp do sự kết hợp của các tiêu chuẩn được sử dụng được kết hợp trong công cụ Logcat.

bài kiểm tra sau khi gửi

Các thử nghiệm gửi lại của Android được thực hiện khi một bản vá mới được cam kết cho một nhánh hạt nhân chung. Bằng cách nhập aosp_kernel làm tên nhánh một phần, bạn có thể xem danh sách các nhánh kernel với kết quả có sẵn. Ví dụ: bạn có thể tìm thấy kết quả cho android-mainline tại https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid .

nộp bài kiểm tra trước

Các bài kiểm tra gửi trước được sử dụng để ngăn chặn các lỗi được đưa vào các hạt nhân thông thường.

Liên đoàn Thương mại

Liên đoàn Thương mại, còn được gọi là Tradefed, là một khung thử nghiệm liên tục được thiết kế để chạy thử nghiệm trên thiết bị Android. Ví dụ: Tradefed được sử dụng để chạy thử nghiệm Bộ kiểm tra tương thích và Bộ kiểm tra nhà cung cấp.

Bộ thử nghiệm nhà cung cấp (VTS)

Bộ thử nghiệm nhà cung cấp Android (VTS) cung cấp các khả năng mở rộng để thử nghiệm Android, thúc đẩy quá trình phát triển dựa trên thử nghiệm và tự động hóa thử nghiệm hạt nhân HAL và hệ điều hành.

Các loại thử nghiệm nền tảng

Kiểm thử nền tảng thường tương tác với một hoặc nhiều lớp dịch vụ hệ thống Android hoặc lớp trừu tượng phần cứng (HAL), thực hiện các chức năng của đối tượng được kiểm thử và khẳng định tính chính xác của kết quả kiểm thử. Một thử nghiệm nền tảng có thể:

  • (loại 1) Thực hiện API khung bằng khung Android. Các API cụ thể đang được thực hiện có thể bao gồm:
    • API công khai dành cho ứng dụng của bên thứ ba
    • API ẩn dành cho các ứng dụng đặc quyền, cụ thể là API hệ thống hoặc API riêng tư ( @hide , or protected , gói riêng tư`)
  • (loại 2) Gọi trực tiếp các dịch vụ hệ thống Android bằng cách sử dụng proxy thô hoặc proxy IPC.
  • (loại 3) Tương tác trực tiếp với HAL bằng giao diện API hoặc IPC cấp thấp.

Thử nghiệm loại 1 và 2 thường là thử nghiệm thiết bị đo đạc, trong khi thử nghiệm loại 3 thường là GTest.

Cái gì tiếp theo?

Sau đây là danh sách các tài liệu tiếp theo mà bạn có thể đọc: