Liên đoàn Thương mại (viết tắt là Tradefed hoặc TF) là một khung thử nghiệm liên tục được thiết kế để chạy thử nghiệm trên thiết bị Android. Ví dụ: Tradefed được sử dụng để chạy Bộ kiểm tra tương thích (CTS) và Bộ kiểm tra nhà cung cấp (VTS) .
Liên đoàn Thương mại là một ứng dụng Java chạy trên máy tính chủ và giao tiếp với một hoặc nhiều thiết bị Android bằng ddmlib (thư viện đằng sau DDMS) qua adb.
Chúng tôi đã liệt kê một số tính năng chính của TF bên dưới, cùng với một số trường hợp sử dụng mẫu. Điều đó có nghĩa là, nếu bạn muốn bắt đầu ngay và bắt đầu, bạn có thể truy cập thẳng vào trang Bắt đầu tại đây .
Đặc trưng
- thiết kế mô-đun, linh hoạt, có thể mở rộng
- đã tích hợp sẵn tính năng hỗ trợ để chạy nhiều loại thử nghiệm Android khác nhau: thiết bị đo đạc , uiautomator , gốc/gtest, JUnit dựa trên máy chủ, v.v.
- cung cấp cơ chế phục hồi và độ tin cậy trên adb
- hỗ trợ lập lịch và chạy thử nghiệm song song trên nhiều thiết bị
Xem Kiểm tra thông qua TF để biết thông tin cập nhật nhất về cách chạy các thử nghiệm hiện có của bạn, chẳng hạn như Thiết bị đo đạc .
Trường hợp sử dụng
Tính mô-đun của Liên đoàn Thương mại giúp dễ dàng hòa nhập vào các môi trường có cơ sở hạ tầng xây dựng, thử nghiệm và báo cáo hiện có. Dưới đây chúng tôi liệt kê một số trường hợp sử dụng minh họa trong đó việc trao đổi thương mại có thể cho phép thực hành thử nghiệm hiệu quả và có thể mở rộng.
Đầu tiên, sẽ rất hữu ích khi xem xét bối cảnh của các trường hợp sử dụng tiềm năng dưới dạng câu hỏi "phần nào có thể sửa đổi và phần nào là tĩnh?" Ví dụ: OEM thiết bị có thể sửa đổi khung, hệ thống và phần cứng nhưng có ít hoặc không ảnh hưởng đến các ứng dụng hiện có. Mặt khác, nhà phát triển ứng dụng có thể sửa đổi ứng dụng nhưng có ít quyền kiểm soát đối với hầu hết các khía cạnh của hệ thống hoặc khung.
Do đó, một thực thể trong mỗi usecase sẽ có các mục tiêu thử nghiệm khác nhau và sẽ có các tùy chọn khác nhau trong trường hợp một nhóm thử nghiệm thất bại. Bất chấp những khác biệt này, Liên đoàn Thương mại có thể giúp mỗi quy trình thử nghiệm của họ trở nên hiệu quả, linh hoạt và có thể mở rộng.
OEM thiết bị
OEM thiết bị xây dựng phần cứng và thường sẽ điều chỉnh hệ thống và khung Android để chạy tốt trên phần cứng đó. OEM có thể cố gắng hoàn thành các mục tiêu đó trong khi vẫn duy trì tính ổn định và hiệu suất ở cấp độ phần cứng và hệ thống, đồng thời đảm bảo các thay đổi về khung không phá vỡ khả năng tương thích với các ứng dụng hiện có.
OEM có thể triển khai mô-đun nhấp nháy thiết bị sẽ thực thi trong giai đoạn Thiết lập mục tiêu của vòng đời . Mô-đun đó sẽ có toàn quyền kiểm soát thiết bị trong thời gian thực thi, điều này cho phép nó có khả năng buộc thiết bị vào bộ nạp khởi động, flash và sau đó buộc thiết bị khởi động lại vào chế độ không gian người dùng. Được kết hợp với một mô-đun để liên kết với hệ thống xây dựng liên tục, điều này sẽ cho phép OEM chạy thử nghiệm trên thiết bị của họ khi họ thực hiện các thay đổi đối với chương trình cơ sở cấp hệ thống và khung cấp Java.
Sau khi thiết bị được khởi động hoàn toàn, OEM sẽ có thể tận dụng các thử nghiệm dựa trên JUnit hiện có hoặc viết các thử nghiệm mới để xác minh chức năng quan tâm. Cuối cùng, họ có thể viết một hoặc nhiều mô-đun báo cáo kết quả để liên kết với kho lưu trữ kết quả kiểm tra hiện có hoặc để báo cáo kết quả trực tiếp (ví dụ: qua email ).
Nhà phát triển ứng dụng
Nhà phát triển ứng dụng xây dựng một ứng dụng cần chạy tốt trên nhiều phiên bản nền tảng và nhiều loại thiết bị. Nếu sự cố xảy ra trên một phiên bản nền tảng và/hoặc thiết bị cụ thể, biện pháp khắc phục duy nhất là thêm giải pháp thay thế và tiếp tục. Đối với các nhà phát triển lớn hơn, quy trình thử nghiệm có thể được kết hợp thành một chuỗi xây dựng liên tục. Đối với các nhà phát triển nhỏ hơn, nó có thể được khởi động theo định kỳ hoặc bằng tay.
Hầu hết các nhà phát triển ứng dụng sẽ sử dụng các mô-đun cài đặt thử nghiệm apk đã có trong TF. Có một phiên bản cài đặt từ hệ thống tệp cục bộ cũng như một phiên bản có thể cài đặt các gói ứng dụng được tải xuống từ dịch vụ xây dựng . Điều quan trọng cần lưu ý là phiên bản sau sẽ tiếp tục hoạt động bình thường với nhiều phiên bản TF tùy ý chạy trên cùng một máy chủ.
Do khả năng xử lý nhiều thiết bị của TF thành thạo nên việc phân loại từng kết quả kiểm tra theo loại thiết bị được sử dụng cho kiểm tra đó sẽ rất đơn giản. Do đó, TF có khả năng tạo ra ma trận tương thích 2 chiều (hoặc đa chiều) cho mọi bản dựng ứng dụng.
Dịch vụ kiểm tra
Ví dụ: Dịch vụ thử nghiệm có thể cho phép các nhà phát triển ứng dụng gửi ứng dụng và chạy thử nghiệm trên các thiết bị được trang bị công cụ đo năng lượng để xác định mức sử dụng năng lượng cho ứng dụng. Điều này khác với hai trường hợp sử dụng trước ở chỗ trình xây dựng dịch vụ không kiểm soát các thiết bị hoặc ứng dụng đang chạy.
Vì Liên đoàn Thương mại có thể chạy bất kỳ lớp Java nào triển khai giao diện IRemoteTest
đơn giản nên việc viết trình điều khiển có thể phối hợp một số phần cứng bên ngoài với trường hợp kiểm thử đang chạy trên thiết bị là điều đơn giản. Bản thân trình điều khiển có thể tạo ra Chủ đề, gửi yêu cầu đến các máy chủ khác hoặc thực hiện bất kỳ điều gì khác mà nó có thể cần. Hơn nữa, tính đơn giản và linh hoạt của giao diện báo cáo kết quả, ITestInvocationListener
, có nghĩa là việc trình bày các kết quả kiểm tra tùy ý (ví dụ: bao gồm cả số liệu lũy thừa bằng số) vào quy trình báo cáo kết quả tiêu chuẩn cũng rất đơn giản.