Dự án nguồn mở Android (AOSP) cung cấp một số công cụ và bộ kiểm thử để thử nghiệm các phần khác nhau trong quá trình triển khai. Trước khi sử dụng các trang trong , 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 bất kỳ ứng dụng bên thứ ba nào do nhà phát triển bên thứ ba viết thông qua NDK và SDK 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à chuyển Bộ kiểm tra tính tương thích (CTS). Tương thích với Android thiết bị nào đó đều đủ điều kiện tham gia vào hệ sinh thái Android, bao gồm giấy phép tiềm năng của Google Play, giấy phép có thể có của Bộ Dịch vụ của Google dành cho thiết bị di động (GMS) ứng dụng và API, cũng như việc sử dụng nhãn hiệu Android. Ai cũng có thể sử dụng 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 giú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 để có một 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 tra miễn phí, mang tính 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. 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. Mục đích của CTS là làm rõ sự 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ố điểm chung nguyên tắc:
- Nếu một chương trình kiểm thử khẳng định tính chính xác của các hàm hoặc hành vi của API khung, và bài kiểm thử phải được thực thi trên các đối tác OEM, bài kiểm thử phải nằm trong CTS.
- Nếu thử nghiệm là 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 sự cho phép đặc quyền để thực hiện, và có thể phụ thuộc về chi tiết triển khai (như được phát hành trong AOSP), đây phải là một nền tảng thử nghiệm.
- 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 các lớp trừu tượng cấp thấp hơn hoặc thực hiện IPC thô dựa trên các hệ thống khác nhau luôn miễn phí. 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 tra. 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 chạy bằng lệnh
am instrument
, trong đó quá trình xử lý ứng dụng được nhắm đến được khởi động lại và khởi chạy với ngữ cảnh cơ bản của ứng dụng và luồng đo lường sẽ bắt đầu bên trong quy trình ứng dụng ảo máy. 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 báo của hệ thống, bao gồm dấu vết ngăn xếp về thời điểm thiết bị tạo ra lỗi và các thông báo mà bạn có được viết từ ứng dụng của bạn bằng lớp
Log
.- ghi nhật ký
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 ghi nhật ký trong Android rất phức tạp do sự kết hợp các tiêu chuẩn được sử dụng trong đó được kết hợp trong công cụ Logcat.
- kiểm thử sau khi gửi
Một bài kiểm thử Android được thực hiện khi một bản vá mới được cam kết nhánh hạt nhân chung. Bằng cách nhập
aosp_kernel
làm một phần tên nhánh, bạn có thể xem danh sách nhánh hạt nhân có kết quả. Ví dụ: kết quả có thể được tìm thấy choandroid-mainline
tại https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid.- bài kiểm tra gửi lại
Kiểm thử được dùng để ngăn lỗi được đưa vào các nhân phổ biến.
- Liên đoàn thương mại
Còn được gọi là Tradefeed, một thử nghiệm liên tục được thiết kế để chạy các bài kiểm thử trên thiết bị Android. Ví dụ: Tradefeed được dùng để chạy kiểm tra Bộ kiểm tra tính tương thích và Bộ kiểm tra nhà cung cấp.
- Bộ thử nghiệm dành cho nhà cung cấp (VTS)
Một tập hợp các tính năng mở rộng cho Kiểm thử Android, quảng bá quy trình phát triển dựa trên kiểm thử và tự động hoá tầng trừu tượng phần cứng (HAL) và kiểm thử nhân hệ điều hành.
Các loại thử nghiệm nền tảng
Bài kiểm thử nền tảng thường tương tác với một hoặc nhiều hệ thống Android hoặc lớp HAL, hãy áp dụng các chức năng của đối tượng kiểm thử và khẳng định tính chính xác của kết quả thử nghiệm. Thử nghiệm nền tảng có thể:
- (Loại 1) API khung bài tập thể dục sử dụng khung Android. Các API cụ thể đang được
thực hành 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ó đặc quyền, cụ thể là API hệ thống hoặc
API riêng tư (
@hide
hoặcprotected
,package private
)
- (Loại 2) Gọi dịch vụ hệ thống Android bằng cách sử dụng 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 giao diện IPC hoặc API cấp thấp.
Kiểm thử loại 1 và 2 thường là kiểm thử đo lường, trong khi kiểm thử loại 3 là kiểm thử đo lường thường là GTest.
Tiếp theo là gì?
Dưới đây là danh sách các tài liệu mà bạn có thể đọc để biết thêm thông tin chi tiết:
Nếu bạn chưa từng học về cấu trúc Android, hãy xem Tổng quan về cấu trúc.
Nếu bạn đang tạo một thiết bị tương thích với Android, hãy xem tổng quan về chương trình tương thích với Android.
Để tích hợp các bài kiểm thử đo lường, chức năng, chỉ số và máy chủ JAR thành dịch vụ thử nghiệm liên tục trên nền tảng, hãy xem Quy trình phát triển thử nghiệm.
Để phát hiện và tăng cường bảo vệ thiết bị khỏi các lỗ hổng bảo mật, hãy xem phần Kiểm tra bảo mật.
Để tìm hiểu về cách kiểm thử việc triển khai HAL và kernel, hãy xem Bộ thử nghiệm dành cho nhà cung cấp (VTS) và cơ sở hạ tầng.
Đối với thử nghiệm ứng dụng, hãy đọc Nguyên tắc cơ bản về việc kiểm thử Android ứng dụng và tiến hành quy trình Android nâng cao trong Kotlin 05.1:Kiểm thử Thông tin cơ bản sử dụng Có cung cấp mẫu.
Tìm hiểu về quy trình kiểm thử trước khi gửi cơ bản mà bạn có thể sử dụng thông qua hook repo. Bạn có thể dùng các hook này để chạy công cụ tìm lỗi mã nguồn, kiểm tra định dạng và đơn vị điều kiện kích hoạt thử nghiệm trước khi tiến hành, chẳng hạn như tải một lệnh cam kết lên. Các hook này đã bị tắt theo mặc định. Để biết thêm thông tin, hãy xem Dự án tải lên trước của AOSP (Dự án nguồn mở Android) Nội dung hấp dẫn.
Để đọc thêm về cách ghi nhật ký, hãy xem Tìm hiểu về cách ghi nhật ký.
Để biết cách gỡ lỗi mã Android, hãy xem Gỡ lỗi mã gốc trong nền tảng Android.