Kiểm thử nền tảng Android

Dự án nguồn mở Android (AOSP) cung cấp một số công cụ và bộ kiểm thử để kiểm thử nhiều phần trong quá trình triển khai. Trước khi sử dụng các trang trong 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
Thiết bị có thể chạy mọi ứng dụng bên thứ ba do các nhà phát triển bên thứ ba viết bằng SDK và NDK của Android. 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 về khả năng tương thích (CDD) và vượt qua Bộ kiểm tra tính tương thích (CTS). Các thiết bị tương thích với Android đủ điều kiện tham gia hệ sinh thái Android, bao gồm cả việc có thể được cấp phép cho Google Play, có thể được cấp phép cho bộ ứng dụng và API Dịch vụ của Google dành cho thiết bị di động (GMS), cũng như có thể sử dụng nhãn hiệu Android. Mọi người đều 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.
cấu phần phần mềm
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 về 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 đối với thiết bị tương thích với Android.
Bộ kiểm tra tính tương thích (CTS)

Một bộ kiểm thử miễn phí, cấp thương mại, có thể tải xuống dưới dạng tệp nhị phân hoặc dưới dạng nguồn trong AOSP (Dự án nguồn mở Android). CTS là một tập hợp các bài kiểm thử đơ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à để phát hiện các vấn đề 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.

Thử nghiệm CTS và thử nghiệm nền tảng không loại trừ lẫn nhau. Sau đây là một số nguyên tắc chung:

  • Nếu một kiểm thử xác nhận tính chính xác của các hàm hoặc hành vi API khung và kiểm thử đó phải được thực thi trên các đối tác OEM, thì kiểm thử đó phải nằm trong CTS.
  • Nếu một bài kiểm thử nhằm mục đích phát hiện sự 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 thông tin triển khai (như được phát hành trong AOSP), thì đó nên là kiểm thử nền tảng.
Các dịch vụ của Google dành cho thiết bị di động (GMS)

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

GoogleTest (GTest)

Khung kiểm thử và mô phỏng C++. Tệp nhị phân GTest thường truy cập vào 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 nhiều dịch vụ hệ thống. Phương pháp kiểm thử cho GTest thường được kết hợp chặt chẽ với dịch vụ đang được kiểm thử. CTS chứa khung GTest.

kiểm thử đo lường

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

Logcat

Một công cụ dòng lệnh tạo nhật ký thông điệp hệ thống, bao gồm dấu vết ngăn xếp về thời điểm thiết bị trả về 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.

ghi nhật ký

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

kiểm thử postsubmit

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

kiểm thử trước khi gửi

Một quy trình kiểm thử được dùng để ngăn lỗi được đưa vào các hạt nhân phổ biến.

Trade Federation

Còn được gọi là Tradefeed, một khung kiểm thử liên tục được thiết kế để chạy các kiểm thử trên các thiết bị Android. Ví dụ: Tradefed được dùng để chạy các bài kiểm thử trong Bộ kiểm thử tính tương thích và Bộ kiểm thử nhà cung cấp.

Bộ kiểm thử nhà cung cấp (VTS)

Một bộ tính năng mở rộng để kiểm thử Android, thúc đẩy quy trình phát triển dựa trên kiểm thử và tự động hoá lớp trừu tượng phần cứng (HAL) cũng như kiểm thử hạt nhân hệ điều hành.

Các loại kiểm thử 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 dịch vụ hệ thống Android hoặc lớp HAL, thực thi các chức năng của đối tượng đang được kiểm thử và xác nhận tính chính xác của kết quả kiểm thử. Kiểm thử nền tảng có thể:

  • (Loại 1) Thực hành các API khung bằng khung Android. Các API cụ thể đang được thực thi có thể bao gồm:
    • API công khai dành cho ứng dụng 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 hoặc protected, package private)
  • (Loại 2) Gọi các dịch vụ hệ thống Android bằng cách sử dụng trình liên kết thô hoặc proxy IPC trực tiếp.
  • (Loại 3) Tương tác trực tiếp với HAL bằng các API cấp thấp hoặc giao diện IPC.

Các bài kiểm thử loại 1 và 2 thường là kiểm thử đo lường, còn các bài kiểm thử loại 3 thường là GTests.

Tiếp theo là gì?

Dưới đây là danh sách tài liệu mà bạn có thể đọc để biết thêm thông tin chi tiết: