Sử dụng lại bộ thử nghiệm

Một bộ thường bao gồm nhiều mô-đun kiểm thử và có thể tiếp cận được kích thước tập sao lục thử nghiệm. Ví dụ: Bộ kiểm tra tính tương thích (CTS) với Android Công cụ này có hàng trăm mô-đun và hàng trăm nghìn trường hợp kiểm thử.

Một số lượng lớn chương trình kiểm thử có thể không thành công do tình trạng cô lập kém hoặc thiết bị chuyển sang trạng thái xấu.

Tính năng thử lại của bộ ứng dụng được dùng để giải quyết các trường hợp đó: Cho phép bạn thử lại chỉ sử dụng những thất bại thay vì bộ đầy đủ để loại trừ tính không ổn định và khả năng tách biệt kém. Nếu kiểm thử liên tục không thành công thì thử lại cũng không thành công; và bạn nhận được tín hiệu rõ ràng hơn nhiều cho biết có sự cố thực sự.

Triển khai thử lại bộ ứng dụng

Quá trình thử lại kết quả bao gồm việc đọc 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 hoạt động thử lại là ITestSuiteResultLoader, cho phép bạn tải kết quả trước đó và dòng lệnh trước đó.

RetryRescheduler sau đó sử dụng thông tin này để tạo lại lệnh trước đó và điền sẵn một số để chỉ chạy lại các lỗi trước đó hoặc không thực thi các chương trình kiểm thử.

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>

Điều này áp dụng cho hầu hết các bộ công cụ mở rộng phạm vi, ví dụ: VTS (VTS).

Hàm này sẽ được gọi bằng:

cts-tradefed run retry --retry <session>

Bạn có thể tìm thấy phiên hoạt động 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. Chiến dịch này có nghĩa là nếu lệnh ban đầu của bạn bao gồm một số tuỳ chọn, chúng cũng trong lần thử lại.

Ví dụ:

cts-tradefed run cts-dev -m CtsGestureTestCases

Thao tác thử lại theo cách trên luôn được liên kết với CtsGestureTestCases vì chúng ta đang thử lại một lệnh chỉ liên quan đến nó.

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

Để thử lại hoạt động, bạn cần xuất các kết quả trước đó trong proto. Bạn cần phải thêm những mục sau:

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

Đoạn mã này cần được thêm vào cấu hình XML của lệnh chính, và dẫn đến việc tệp test-record.pb được tạo trong thư mục kết quả.

Sau đó, CTS sẽ thử tải lại dữ liệu từ tổ hợp test-record.pbtest_result.xml hiện có để chuẩn bị lệnh gọi lại.