Trade Federation (viết tắt là Tradefed hay TF) là một khuôn khổ kiểm tra liên tục được thiết kế để chạy các bài kiểm tra trên thiết bị Android. Ví dụ: Tradefed được sử dụng để chạy Bộ kiểm tra khả năng tương thích (CTS) và Bộ kiểm tra nhà cung cấp (VTS) .
Trade Federation 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ố tiện ích mẫu. Điều đó nói rằng, nếu bạn muốn bắt đầu ngay lập tức, bạn có thể đi thẳng đến 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 hỗ trợ để chạy nhiều loại bài kiểm tra Android khác nhau: thiết bị đo đạc , uiautomator , native / gtest, JUnit dựa trên máy chủ, v.v.
- cung cấp độ tin cậy và cơ chế phục hồi trên adb
- hỗ trợ lập lịch và chạy thử nghiệm trên nhiều thiết bị song song
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 .
Trường hợp sử dụng
Tính mô đun của Trade Federation giúp bạn dễ dàng tham gia vào các môi trường có cơ sở hạ tầng xây dựng, kiểm tra và báo cáo hiện có. Chúng tôi liệt kê bên dưới một số tiện ích minh chứng mà tradefed có thể cho phép thực hành kiểm tra hiệu quả, 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 cơ sở sử dụng tiềm năng về câu hỏi "những phần nào có thể sửa đổi được và những phần nào là tĩnh?" Ví dụ: một OEM thiết bị có thể sửa đổi khung, hệ thống và phần cứng, nhưng có rất ít hoặc không ảnh hưởng đến các ứng dụng hiện có. Mặt khác, một nhà phát triển ứng dụng có thể sửa đổi ứng dụng, nhưng có rất í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 khuôn khổ.
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 tập hợp các lỗi thử nghiệm. Bất chấp những khác biệt này, Trade Federation có thể giúp làm cho 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ị
Một OEM thiết bị xây dựng phần cứng và thường sẽ điều chỉnh hệ thống và khuôn khổ 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 giữ được sự ổ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ề khuôn khổ 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 sẽ 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 ở chế độ không gian người dùng. Được kết hợp với một mô-đun để liên kết vào một 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 phần sụn cấp hệ thống và các 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 bài kiểm tra dựa trên JUnit hiện có hoặc viết các bài kiểm tra 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ả để gắn vào các kho lưu trữ kết quả thử nghiệm 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ị khác nhau. Nếu sự cố xuất hiện trên một phiên bản và / hoặc thiết bị nền tảng 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, quá trình thử nghiệm có thể được kết hợp thành một trình tự 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 thủ công.
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 đã tồn tại 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 ứng dụng được tải xuống từ mộ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 sự thành thạo của TF trong việc xử lý nhiều thiết bị, sẽ dễ dàng phân loại từng kết quả thử nghiệm theo loại thiết bị được sử dụng cho thử nghiệm đó. Do đó, TF có khả năng tạo ra một ma trận tương thích 2 chiều (hoặc đa chiều) cho mọi bản dựng của ứ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 lường 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 cách sử dụng trước ở chỗ trình tạo dịch vụ không kiểm soát các thiết bị hoặc ứng dụng đang được chạy.
Bởi vì Trade Federation 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 các 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 thử nghiệm đang được chạy trên thiết bị là điều vô cùng đơn giản. Bản thân trình điều khiển có thể tạo ra các Chủ đề, gửi yêu cầu đến các máy chủ khác hoặc làm bất cứ điều gì khác mà nó có thể cần. Hơn nữa, tính đơn giản và tính 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ả thử nghiệm tùy ý (ví dụ, bao gồm, ví dụ, các chỉ số công suất số) vào quy trình báo cáo kết quả tiêu chuẩn cũng rất dễ dàng.