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

Chương trình tương thích với Android là động lực chính giúp duy trì phản hồi tích cực cho hệ sinh thái Android. CTS là công cụ chính để đảm bảo chất lượng tương thích của cân. Nhóm Android tiếp tục cải tiến công cụ CTS và phạm vi kiểm tra. Việc bổ sung thường xuyên các trường hợp thử nghiệm đã 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 về CTS chung.

CTS kiểm tra những loại vấn đề gì?

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

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

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

Codec có được CTS xác minh không?

Đúng. Tất cả các codec bắt buộc đều được CTS xác minh.

Câu hỏi dành riêng cho bài kiểm tra

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

Sự khác biệt giữa Sharding CTS và Shending TF là gì?

CTS Sharding và TF Sharding là các kế hoạch thử nghiệm hoàn toàn khác nhau được cung cấp bởi cơ sở mã cơ sở hạ tầng thử nghiệm khác nhau. Mặc dù lệnh chạy giống nhau trên các phiên bản khác nhau nhưng kết quả phân mảnh lại hoạt động khác nhau. CTS Sharding gán tĩnh các trường hợp thử nghiệm cho Thiết bị đang được thử nghiệm (DUT) như sau:

TF Sharding tự động gán các trường hợp thử nghiệm cho các DUT có sẵn như sau:

Điều gì được mong đợi từ một thiết bị hỗ trợ nhiều ABI?

Thiết bị phải vượt qua tất cả các bài kiểm tra của Trình xác minh CTS và CTS cho từng chế độ ABI mà thiết bị tuyên bố hỗ trợ. Do đó, cần phải thực thi một ứng dụng cho các ABI cụ thể. Nguyên tắc cho nhiều ABI như sau:

  • Đối với CTS và CTS Verifier, có các bản phát hành ARM và x86 cho từng kiến ​​trúc. Mỗi người trong số họ có thể hỗ trợ chế độ 32 hoặc 64 bit.
  • Đối với các bài kiểm tra CTS, nếu một 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 tra CTS ARM và x86 tương ứng.

Xem CDD 3.3.1. Giao diện nhị phân ứng dụng cho các yêu cầu CDD trên ABI.

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

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

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

Bạn nên kiểm tra số Mô-đun đã hoàn thành thay vì số Chưa thực hiện .

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

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

  • Quá trình chạy thử 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 thử nghiệm dự kiến ​​cho mô-đun đều được thực hiện.
  • Đã thử lại (sử dụng tùy chọn -r/--retry ) với các tùy chọn lọc bổ sung, chẳng hạn như:

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

Để có trạng thái Mô-đun đã hoàn thành (xong="true") cho các mô-đun này, hãy thử lại thao tác sau đối với 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 đó (ngay cả với 0 bài kiểm tra còn lại) sẽ được đánh dấu là Mô-đun đã hoàn thành trong báo cáo mới.

Ngoại lệ

  • CtsNNAPITestCase có một sự cố đã biết do giới hạn linux/OS của args. Mô-đun này có thể được chạy lại một cách độc lập thông qua run cts -m CtsNNAPITestCases .

Làm cách nào để tránh lỗi chuẩn bị kiểm tra do tường lửa của công ty?

Tất cả các bộ kiểm tra tự động đều cố gắng tải xuống tệp phương tiện CTS hoặc tệp logic nghiệp vụ trong thời gian chạy. Trong nhiều môi trường doanh nghiệp, tường lửa và proxy là điển hình, khiến cho quá trình chuẩn bị kiểm tra không thành công. Thực thi dòng sau hoặc thêm nó 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 để kiểm tra hay không tùy thuộc vào việc hiểu rõ liệu tính năng này có được hỗ trợ trong thiết bị kiểm tra 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 thành phần bảo mật—trong UICC (ví dụ: thẻ SIM) do nhà khai thác mạng di động (nhà cung cấp dịch vụ) phân phối hoặc được nhúng trong thiết bị—bạn có thể định cấu hình tệp kê khai HIDL để không bao gồm phần tử HAL android.hardware.secure_element . Trong trường hợp này, API android.se.omapi.SEService.getReaders() báo cáo một danh sách trống và quá trình kiểm tra CTS sẽ tự động vượt qua và báo cáo việc vượt qua CTS.
  • Nếu thiết bị của bạn KHÔNG cần hỗ trợ các ứng dụng Android truy cập vào các phần tử bảo mật—trong UICC (ví dụ: thẻ SIM) do nhà khai thác mạng di động (nhà cung cấp dịch vụ) 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 tra nó trong nhà. Kiểm tra CTS cho Phần tử bảo mật phác thảo cách chuẩn bị chạy kiểm tra CTS để đảm bảo gói API android.se.omapi được thêm vào Android 9 hoạt động bình thường. Chúng tôi cũng khuyên bạn nên tự mình thực hiện thử nghiệm bổ sung vì phạm vi thử nghiệm CTS là tối thiểu.

Tôi có thể lấy thẻ SIM cho CTS cho Phần tử bảo mật ở đâu?

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

Tại sao SIM màu cam xuất hiện trên màn hình khóa trong khi thực thi CTS bằng phân đoạn mã thông báo?

Trường hợp kiểm thử không bắt đầu vì việc kiểm tra thẻ SIM đã bị khóa. Tắt tính năng Khóa thẻ SIM trong **cài đặt khóa thẻ SIM trước khi thực hiện CTS bằng tính năng phân chia mã thông báo.