Tổng quan về Liên minh thương mại

Trade Federation (Tradefed hoặc viết tắt là TF) là một khung kiểm thử liên tục được thiết kế để chạy các bài kiểm thử trên thiết bị Android. Ví dụ: Tradefed được dùng để chạy Bộ kiểm thử tính tương thích (CTS)Bộ kiểm thử nhà cung cấp (VTS).

Trade Federation là một ứng dụng Java chạy trên máy tính lưu trữ và giao tiếp với một hoặc nhiều thiết bị Android bằng cách sử dụ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 vài trường hợp sử dụng mẫu. Tuy nhiên, nếu muốn bắt tay ngay vào việc, bạn có thể chuyển thẳng đến trang Bắt đầu tại đây.

Tính năng

  • thiết kế mô-đun, linh hoạt, có thể mở rộng
  • đã tích hợp tính năng hỗ trợ chạy nhiều loại kiểm thử Android: thiết bị đo lường, uiautomator, gốc/gtest, JUnit dựa trên máy chủ, v.v.
  • cung cấp cơ chế khôi phục và độ tin cậy trên adb
  • hỗ trợ lên lịch và chạy song song các bài kiểm thử trên nhiều thiết bị

Hãy xem phần Kiểm thử thông qua TF để biết thông tin mới nhất về cách chạy các chương trình kiểm thử hiện có, chẳng hạn như Đo lường.

Trường hợp sử dụng

Tính mô-đun của Trade Federation giúp bạn dễ dàng đưa vào các môi trường có cơ sở hạ tầng báo cáo, kiểm thử và bản dựng hiện có. Dưới đây là một số trường hợp sử dụng minh hoạ trong đó Tradefed có thể hỗ trợ các phương pháp kiểm thử hiệu quả và có thể mở rộng quy mô.

Trước tiên, bạn nên cân nhắc bối cảnh của các trường hợp sử dụng tiềm năng theo câu hỏi "phần nào có thể sửa đổi và phần nào là tĩnh?" Ví dụ: Nhà sản xuất thiết bị gốc (OEM) có thể sửa đổi khung, hệ thống và phần cứng, nhưng í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 trường hợp sử dụng sẽ có các mục tiêu kiểm thử khác nhau và sẽ có các tuỳ chọn khác nhau trong trường hợp một tập hợp các lần kiểm thử không thành công. Mặc dù có những điểm khác biệt này, nhưng Trade Federation có thể giúp từng quy trình kiểm thử của họ trở nên hiệu quả, linh hoạt và có thể mở rộng quy mô.

Nhà sản xuất thiết bị gốc

Nhà sản xuất thiết bị gốc (OEM) tạo ra phần cứng và thường điều chỉnh hệ thống và khung Android để chạy tốt trên phần cứng đó. Nhà sản xuất thiết bị gốc (OEM) có thể cố gắng hoàn thành các mục tiêu đó trong khi vẫn duy trì độ ổ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 làm mất khả năng tương thích với các ứng dụng hiện có.

OEM có thể triển khai một mô-đun cài đặt ROM cho 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, cho phép buộc thiết bị vào trình tải khởi động, cài đặt ROM, sau đó buộc thiết bị khởi động lại về chế độ không gian người dùng. Khi 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 nhà sản xuất thiết bị gốc chạy kiểm thử trên thiết bị của họ khi họ thực hiện các thay đổi đối với phần mềm cơ sở cấp hệ thống và khung cấp Java.

Sau khi thiết bị khởi động xong, nhà sản xuất thiết bị gốc (OEM) có thể tận dụng các chương trình kiểm thử hiện có dựa trên JUnit hoặc viết các chương trình kiểm thử mới để xác minh chức năng mà họ 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 thử 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 thiết bị. Nếu một vấn đề 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 một giải pháp và tiếp tục. Đối với các nhà phát triển lớn hơn, quy trình kiểm thử có thể được đưa vào một trình tự bản dựng liên tục. Đối với các nhà phát triển nhỏ hơn, quá trình này có thể bị loại bỏ định kỳ hoặc theo cách 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 kiểm thử 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 tệp APK được tải xuống từ dịch vụ bản 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 đúng cách với nhiều phiên bản TF tuỳ ý chạy trên cùng một máy chủ lưu trữ.

Nhờ khả năng xử lý nhiều thiết bị của TF, bạn có thể dễ dàng phân loại từng kết quả kiểm thử theo loại thiết bị được dùng cho kiểm thử đó. Do đó, TF có thể tạo một ma trận khả năng tương thích 2 chiều (hoặc nhiều chiều) cho mọi bản dựng của ứng dụng.

Dịch vụ kiểm thử

Ví dụ: Dịch vụ kiểm thử có thể cho phép nhà phát triển ứng dụng gửi ứng dụng và chạy kiểm thử trên các thiết bị được đo lường bằng công cụ đo lường điện năng để xác định mức sử dụng điện nă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 tạo dịch vụ không kiểm soát các thiết bị hoặc ứng dụng đang chạy.

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 trình điều khiển có thể điều phối 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 không hề khó khăn. Chính trình điều khiển có thể tạo Luồng, gửi yêu cầu đến các máy chủ khác hoặc làm bất cứ việc gì khác mà trình điều khiể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ũng đồng nghĩa với việc bạn có thể dễ dàng biểu thị kết quả kiểm thử tuỳ ý (ví dụ: các chỉ số công suất dạng số) vào quy trình báo cáo kết quả chuẩn.