Câu hỏi thường gặp về CTS

Chương trình tương thích của Android là yếu tố chính giúp duy trì phản hồi tích cực cho hệ sinh thái Android. CTS (Bộ kiểm tra tính tương thích) là công cụ chính để đảm bảo chất lượng của khả năng tương thích trên quy mô lớn. Nhóm Android tiếp tục cải thiện công cụ CTS và phạm vi kiểm thử. Việc thường xuyên thêm các trường hợp kiểm thử đã cải thiện đáng kể chất lượng của các thiết bị tương thích.

Câu hỏi chung

Phần này cung cấp các câu hỏi thường gặp chung về CTS.

CTS kiểm thử những gì?

CTS kiểm tra xem tất cả API kiểu mạnh của Android được hỗ trợ đang hiện diện và hoạt động chính xác. CTS cũng kiểm thử các hành vi hệ thống không phải API khác, chẳng hạn như vòng đời và hiệu suất của ứng dụng.

CTS được cấp phép như thế nào?

CTS được cấp phép theo cùng một Giấy phép phần mềm Apache 2.0 mà phần lớn Android sử dụng.

Bộ mã hoá và giải mã có được CTS xác minh không?

Có. Tất cả bộ mã hoá và giải mã bắt buộc đều được CTS xác minh.

Câu hỏi dành riêng cho từng thử nghiệm

Phần này cung cấp các câu hỏi thường gặp giúp chạy kiểm thử CTS hiệu quả hơn.

Sự khác biệt giữa tính năng phân đoạn CTS và phân đoạn TF là gì?

Phân đoạn CTS và Phân đoạn TF là các kế hoạch thử nghiệm hoàn toàn khác nhau được hỗ trợ bởi cơ sở mã khác nhau của cơ sở hạ tầng kiểm thử. Trong khi lệnh chạy là như nhau trên các phiên bản khác nhau, thì kết quả phân đoạn sẽ hoạt động theo cách khác nhau. Tính năng phân đoạn CTS gán tĩnh các trường hợp kiểm thử cho Thiết bị đang được kiểm thử (DUT) như sau:

Tính năng phân đoạn TF sẽ tự động chỉ định các trường hợp kiểm thử cho các DUT có sẵn như sau:

Thiết bị hỗ trợ nhiều ABI có những đặc điểm gì?

Thiết bị phải vượt qua tất cả các bài kiểm thử CTS và CTS Verifier cho từng chế độ ABI mà thiết bị đó cho biết là hỗ trợ. Do đó, bạn cần thực thi một ứng dụng cho các ABI cụ thể. Sau đây là các nguyên tắc đối với nhiều ABI:

  • Đối với Trình xác minh CTS và CTS, có Các bản phát hành ARM và x86 cho từng cấu trúc. Mỗi phiên bản có thể hỗ trợ chế độ 32 hoặc 64 bit.
  • Đối với thử nghiệm CTS, nếu thiết bị hỗ trợ cả ARM và x86, thì thiết bị đó phải chạy và vượt qua cả hai bài kiểm thử ARM và x86 CTS tương ứng.

Xem CDD 3.3.1. Giao diện nhị phân của ứng dụng cho các yêu cầu của CDD đối với ABI.

Việc chỉ chạy kiểm thử trên ABI chính (ví dụ: 64 bit) có đủ để giảm thời gian thực thi kiểm thử không?

Không. Ứng dụng Android tự chạy trên môi trường thời gian chạy 32 bit hoặc 64 bit. Mã máy, đường dẫn mã và trạng thái thực tế khác từ 32 đến 64. Nếu bỏ qua một chế độ, bạn chỉ bao phủ được 50% ABI của thiết bị.

Tại sao có nhiều trường hợp kiểm thử được báo cáo là Chưa thực thi?

Thay vào đó, bạn nên kiểm tra số Module Done (Hoàn thành mô-đun) số Chưa thực thi.

Trong các phiên bản trước, các mô-đun CTS được báo cáo là Module Done (Mô-đun đã hoàn tất) quá sớm trước khi hoàn tất. Do đó, số Modules Done (Mô-đun đã hoàn tất) được báo cáo mà không có tất cả các trường hợp kiểm thử hoàn tất ngay cả khi một số thiết bị gặp sự cố. Khai thác kiểm thử mới thận trọng hơn và báo cáo số lượng bài kiểm thử Chưa thực thi cao hơn khi sự cố xảy ra.

Một mô-đun chạy đến khi hoàn tất sẽ báo cáo Mô-đun chưa hoàn tất trong lệnh gọi gần đây nhất (done="false") trong báo cáo trong các trường hợp sau:

  • Quá trình chạy kiểm thử cho mô-đun bị gián đoạn do sự cố kết nối thiết bị.
  • Không phải tất cả các lần chạy kiểm thử dự kiến cho mô-đun đều được thực hiện.
  • Đã thử lại (sử dụng tuỳ chọn -r/--retry) với các tuỳ chọn lọc bổ sung, chẳng hạn như:

    • --include-filter
    • --loại-bộ-lọc
    • -t/--test (Tuỳ chọn chưa được hỗ trợ khi thử lại)
    • --retry-type không thành công
    • --kế hoạch phụ

Để nhận trạng thái Module Done (Mô-đun đã hoàn tất) (done="true") cho các mô-đun này, hãy thử lại nội dung sau cho lệnh gọi gần đây nhất:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

Một mô-đun được thực thi mà không có bất kỳ vấn đề nào được đề cập trước đó (thậm chí với 0 lượt kiểm thử còn lại) sẽ được đánh dấu là Module Done (Xong mô-đun) trong báo cáo mới.

Ngoại lệ

  • CtsNNAPITestCases có một vấn đề đã biết do giới hạn của linux/OS đối với các đối số. Bạn có thể chạy lại mô-đun một cách riêng biệt thông qua run cts -m CtsNNAPITestCases.

Làm cách nào để tránh việc chuẩn bị kiểm thử không thành công sau tường lửa của công ty?

Tất cả các bộ kiểm thử tự động đều cố gắng tải tệp nội dung nghe nhìn CTS hoặc tệp logic nghiệp vụ xuống trong thời gian chạy. Trong nhiều môi trường doanh nghiệp, tường lửa và proxy thường làm cho việc chuẩn bị kiểm thử không thành công. Thực thi dòng sau hoặc thêm dòng đó vào .profile (trên Ubuntu).

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

Tôi có cần thẻ SIM cho CTS cho Phần tử bảo mật không?

Việc có cần thẻ SIM cho kiểm thử hay không phụ thuộc vào việc bạn có hiểu rõ tính năng này có được hỗ trợ trong thiết bị kiểm thử hay không.

  • Nếu thiết bị của bạn KHÔNG cần hỗ trợ các ứng dụng Android truy cập các phần tử bảo mật – trong UICC (ví dụ: thẻ SIM) do nhà mạng di động phân phối (nhà mạng) hoặc được nhúng vào thiết bị – bạn có thể định cấu hình HIDL tệp kê khai để không bao gồm HAL android.hardware.secure_element . Trong trường hợp này, android.se.omapi.SEService.getReaders() API báo cáo một danh sách trống và tự động kiểm thử CTS và báo cáo thẻ và vé cho CTS.
  • Nếu thiết bị của bạn CẦN hỗ trợ ứng dụng Android truy cập vào phần tử bảo mật – trong UICC (ví dụ: thẻ SIM) do các nhà mạng di động phân phối hoặc được nhúng trong thiết bị – bạn cần triển khai phần tử bảo mật đúng cách và kiểm thử phần tử đó trong nội bộ. Kiểm tra CTS cho phần tử bảo mật trình bày cách chuẩn bị để chạy các thử nghiệm CTS nhằm đảm bảo android.se.omapi Gói API được thêm vào Android 9 đang hoạt động. Bạn cũng nên tự thực hiện thêm các bài kiểm thử vì phạm vi kiểm thử CTS rất nhỏ.

Tôi có thể mua thẻ SIM cho CTS cho Secure Element ở đâu?

Bạn có thể liên hệ với nhà cung cấp SIM mà mình ưu tiên.

Tại sao SIM Orange lại xuất hiện trên màn hình khoá trong quá trình thực thi CTS bằng tính năng phân đoạn mã thông báo?

Trường hợp kiểm tra không bắt đầu vì quá trình kiểm tra thẻ SIM đã bị khoá. Tắt tuỳ chọn Khoá thẻ SIM trong phần cài đặt khoá thẻ SIM trước khi thực thi CTS bằng tính năng phân đoạn mã thông báo.