Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Sử dụng lại Suite

Một bộ có xu hướng bao gồm một số mô-đun thử nghiệm và có thể đạt đến kích thước kho dữ liệu thử nghiệm khá lớn. Ví dụ, Android Compatibility Test Suite (CTS) bao gồm hàng trăm mô-đun và hàng trăm trường hợp hàng ngàn thử nghiệm.

Có thể xảy ra một số lượng lớn các thử nghiệm không thành công do cách ly kém hoặc thiết bị ở trạng thái không tốt.

Tính năng thử lại bộ phần mềm nhằm giải quyết những trường hợp đó: Nó cho phép bạn chỉ thử lại các lỗi thay vì toàn bộ bộ phần mềm để loại trừ tình trạng bong tróc và cách ly kém. Nếu một bài kiểm tra liên tục không đạt, thì lần thử lại cũng sẽ thất bại; và bạn nhận được một tín hiệu mạnh mẽ hơn nhiều rằng có một vấn đề thực sự.

Triển khai thử lại bộ

Việc thử lại kết quả bao gồm việc đọc kết quả trước đó và chạy lại lời gọi trước đó.

Giao diện chính thúc đẩy sự retry là ITestSuiteResultLoader , cho phép bạn tải một kết quả trước, và dòng lệnh trước đó.

Các RetryRescheduler sau đó sử dụng thông tin này để tái tạo lại lệnh trước đó và điền một số bộ lọc để tái chỉ chạy những thất bại trước hoặc kiểm tra không được thực hiện.

Thử lại bộ ví dụ: CTS

Cấu hình thử lại trong CTS là:

<configuration description="Runs a retry of a previous CTS session.">
    <object type="previous_loader" class="com.android.compatibility.common.tradefed.result.suite.PreviousResultLoader" />
    <test class="com.android.tradefed.testtype.suite.retry.RetryRescheduler" />

    <logger class="com.android.tradefed.log.FileLogger">
        <option name="log-level-display" value="WARN" />
    </logger>
</configuration>

Đây là áp dụng đối với hầu hết các dãy phòng mà mở rộng nó, ví dụ VTS ).

Nó sẽ được gọi qua:

cts-tradefed run retry --retry <session>

Phiên sẽ được tìm thấy bằng cách liệt kê các kết quả trước đó trong bảng điều khiển CTS:

cts-tf > l r
Session  Pass  Fail  Modules Complete  Result Directory     Test Plan  Device serial(s)  Build ID   Product
0        2092  30    148 of 999        2018.10.29_14.12.57  cts        [serial]          P          Pixel

Lệnh gốc chính xác sẽ được tải lại và chạy lại với các bộ lọc bổ sung. Điều này có nghĩa là nếu lệnh ban đầu của bạn bao gồm một số tùy chọn, chúng cũng sẽ là một phần của quá trình thử lại.

Ví dụ:

cts-tradefed run cts-dev -m CtsGestureTestCases

Các thử lại những điều trên sẽ luôn luôn được bao bọc để CtsGestureTestCases vì chúng ta đang thử lại một lệnh mà chỉ liên quan đến nó.

Định cấu hình thử lại cho bộ kiểu CTS

Để quá trình thử lại hoạt động, các kết quả trước đó cần được xuất ở định dạng proto. Những điều sau đây cần được thêm vào:

<result_reporter class="com.android.compatibility.common.tradefed.result.suite.CompatibilityProtoResultReporter" />

Điều này cần phải được thêm vào cấu hình XML của lệnh chính, và nó sẽ gây ra một test-record.pb tập tin được tạo ra trong thư mục kết quả.

Các retry CTS sau đó dữ liệu tải từ sự kết hợp của các test-record.pb và hiện test_result.xml để chuẩn bị gọi thử lại.