Vòng đời của một kiểm thử được thực thi bằng cách sử dụng Trade Federation bao gồm 4 giai đoạn riêng biệt, được thiết kế xung quanh các giao diện được xác định chính thức.
Giao diện được xác định
- Trình cung cấp bản dựng: Cung cấp bản dựng để kiểm thử, tải các tệp thích hợp xuống nếu cần.
- Target Preparer (Trình chuẩn bị mục tiêu): Chuẩn bị môi trường thử nghiệm, có thể bao gồm cả việc cài đặt phần mềm và cấu hình thiết bị.
- Kiểm thử: Thực thi(các) chương trình kiểm thử và thu thập kết quả kiểm thử. Đây có thể là bất kỳ Kiểm thử JUnit nào, mặc dù giao diện IRemoteTest của chúng tôi được thiết kế riêng để hoạt động tốt trong môi trường Liên minh thương mại.
- Trình nghe lệnh gọi kiểm thử (báo cáo kết quả): Theo dõi kết quả kiểm thử, thường là để chuyển tiếp kết quả kiểm thử đến kho lưu trữ hoặc hiển thị kết quả kiểm thử cho Trình chạy kiểm thử.
Thực thể kiểm thử cơ bản trong TF là Cấu hình (config). Cấu hình là một tệp XML khai báo các thành phần vòng đời của một kiểm thử.
Việc tách biệt vòng đời của kiểm thử này nhằm cho phép sử dụng lại. Khi sử dụng thiết kế này, Nhà phát triển có thể tạo một Kiểm thử một lần, sau đó Trình tích hợp có thể tạo nhiều Cấu hình để chạy Kiểm thử đó trong nhiều môi trường. Ví dụ: họ có thể tạo một Cấu hình sẽ chạy một chương trình kiểm thử trên máy cục bộ và kết xuất kết quả vào stdout. Sau đó, họ có thể tạo một Cấu hình thứ hai sẽ thực thi cùng một kiểm thử đó, nhưng sử dụng một Trình nghe lệnh gọi kiểm thử khác để lưu trữ kết quả kiểm thử trong cơ sở dữ liệu. Bạn có thể thiết kế một Cấu hình thứ ba để chạy kiểm thử liên tục từ một phòng thử nghiệm ở đâu đó.
Xin lưu ý rằng Cấu hình cùng với các đối số dòng lệnh (do Trình chạy kiểm thử cung cấp) được gọi là Lệnh. Khi TF ghép nối một Lệnh với ITestDevice
và thực thi lệnh đó, đối tượng tiếp theo được gọi là Lệnh gọi.
Tóm lại, một Lệnh gọi bao gồm một quá trình thực thi kiểm thử TF hoàn chỉnh, trong toàn bộ vòng đời của lệnh gọi đó.
Các thành phần cấu hình bổ sung
- Khôi phục thiết bị: cơ chế khôi phục khả năng giao tiếp của thiết bị nếu bị mất.
- Trình ghi nhật ký: thu thập dữ liệu ghi nhật ký tradefed.
Kết quả và lỗi của giai đoạn
Mỗi giai đoạn của lệnh gọi sẽ thực thi tuần tự và có một mục tiêu cụ thể. Phần này mô tả các kết quả và lỗi thông thường của từng giai đoạn.
Trình cung cấp bản dựng
Giai đoạn này tạo và xuất một đối tượng IBuildInfo
chứa tất cả các tệp tham chiếu bắt buộc để thiết lập và chạy các chương trình kiểm thử.
Lỗi phổ biến nhất ở giai đoạn này là không tải xuống hoặc tìm thấy các tệp được yêu cầu.
Lỗi ở giai đoạn này sẽ dẫn đến việc báo cáo trực tiếp lỗi và không có kiểm thử nào được chạy.
Chuẩn bị mục tiêu
Giai đoạn này thiết lập các trạng thái cần thiết cho mục tiêu đang được kiểm thử. Giai đoạn này có thể thay đổi thiết bị hoặc chế độ thiết lập máy chủ nếu cần cho lệnh gọi kiểm thử nhất định.
Các lỗi thường gặp ở giai đoạn này thường liên quan đến việc không thiết lập được thiết bị ở một trạng thái nhất định (ví dụ: không thể cài đặt ROM) và không tìm thấy các tệp cần thiết để thiết lập.
Lỗi ở giai đoạn này sẽ dẫn đến việc dọn dẹp mục tiêu, báo cáo lỗi và không có kiểm thử nào được chạy.
Kiểm thử
Giai đoạn này chạy các chương trình kiểm thử được yêu cầu trên mục tiêu đã chuẩn bị trước đó và báo cáo tất cả kết quả thực thi kiểm thử.
Các lỗi thường gặp ở giai đoạn này thường liên quan đến việc không có mục tiêu đang được kiểm thử hoặc một số lỗi gây ra việc thực thi một phần kiểm thử. Những lỗi này là các vấn đề về cơ sở hạ tầng ảnh hưởng đến chính quá trình thực thi kiểm thử, thay vì lỗi của một trường hợp kiểm thử.
Lỗi ở giai đoạn này sẽ khiến quá trình thực thi kiểm thử dừng lại, quá trình dọn dẹp mục tiêu đang chạy, báo cáo lỗi và nhận được một phần kết quả.
Báo cáo kết quả
Giai đoạn này báo cáo kết quả và lỗi cho các dịch vụ đã định cấu hình (ví dụ: máy chủ và tệp cục bộ).
Mặc dù các trình báo cáo kết quả riêng lẻ có thể gặp lỗi, nhưng các trình báo cáo này được tách biệt với nhau (một trình báo cáo không thấy lỗi của trình báo cáo khác). Những lỗi này chỉ ảnh hưởng đến báo cáo kết quả của một người báo cáo riêng lẻ và bạn có thể xem các lỗi này trong nhật ký.