Firebase Test Lab cho phép bạn kiểm thử chất lượng ứng dụng trên nhiều thiết bị và cấu hình. Hướng dẫn này cung cấp thông tin tổng quan về các khái niệm chính của Test Lab, các dịch vụ dành cho iOS và hướng dẫn về cách bắt đầu thử nghiệm.
Để biết thông tin về hạn mức và gói giá của Test Lab, hãy xem bài viết Mức sử dụng, hạn mức và giá.
Các khái niệm và thuật ngữ chính
Khi bạn chạy một thử nghiệm hoặc một tập hợp các trường hợp thử nghiệm trên các thiết bị và cấu hình mà bạn đã chọn, Test Lab sẽ chạy thử nghiệm trên ứng dụng của bạn theo lô, sau đó hiển thị kết quả dưới dạng ma trận thử nghiệm.
Thiết bị × Phiên chạy thử nghiệm = Ma trận thử nghiệm
- Thiết bị
- Một thiết bị thực hoặc thiết bị ảo (chỉ dành cho Android) mà bạn chạy kiểm thử, chẳng hạn như điện thoại, máy tính bảng hoặc thiết bị đeo. Các thiết bị trong ma trận thử nghiệm được xác định theo mẫu thiết bị, phiên bản hệ điều hành, hướng màn hình và ngôn ngữ (còn gọi là chế độ cài đặt ngôn ngữ và địa lý).
- Thử nghiệm, phiên chạy thử nghiệm
- Một chương trình kiểm thử (hoặc một tập hợp các trường hợp kiểm thử) sẽ chạy trên một thiết bị. Bạn có thể chạy một chương trình kiểm thử trên mỗi thiết bị hoặc phân đoạn chương trình kiểm thử và chạy các trường hợp kiểm thử trên nhiều thiết bị.
- Ma trận thử nghiệm
- Chứa trạng thái và kết quả kiểm thử cho các phiên chạy thử nghiệm. Nếu có bất kỳ phiên chạy thử nghiệm nào trong ma trận không thành công, thì toàn bộ ma trận sẽ không thành công.
Bước 1: Chuẩn bị bài kiểm tra để tải lên Test Lab
Bạn có thể chạy các chương trình kiểm thử sau đây bằng Test Lab. Xin lưu ý rằng tất cả các loại kiểm thử đều có thể chạy tối đa 45 phút trên thiết bị thực và mọi ngoại lệ không được phát hiện sẽ khiến kiểm thử không thành công.
XCTest (bao gồm cả XCUITest): Một kiểm thử đơn vị mà bạn đã viết bằng khung XCTest. Hãy truy cập vào phần Tạo XCTest để xem hướng dẫn về cách sửa đổi XCTest để chạy bằng Test Lab.
Thử nghiệm Robo: Một thử nghiệm tự động phân tích giao diện người dùng của ứng dụng, sau đó khám phá giao diện người dùng đó một cách có phương pháp bằng cách mô phỏng hoạt động của người dùng mà không yêu cầu bạn viết mã. Hãy truy cập vào bài viết Giới thiệu về thử nghiệm Robo để biết thêm thông tin.
Thử nghiệm vòng lặp trò chơi: Thử nghiệm sử dụng "chế độ minh hoạ" để mô phỏng hành động của người chơi trong ứng dụng trò chơi. Đây là một cách nhanh chóng và có thể mở rộng để xác minh rằng trò chơi của bạn hoạt động tốt cho người dùng. Khi chọn chạy thử nghiệm Vòng lặp trò chơi, bạn có thể:
Viết mã kiểm thử gốc cho công cụ phát triển trò chơi của bạn.
Tránh viết cùng một mã cho các khung kiểm thử hoặc giao diện người dùng khác nhau.
Bạn có thể tạo nhiều vòng lặp để chạy trong một phiên chạy thử nghiệm. Bạn cũng có thể sắp xếp các vòng lặp bằng cách sử dụng nhãn để theo dõi và chạy lại các vòng lặp cụ thể.
Hãy truy cập vào phần Chạy thử nghiệm Vòng lặp trò chơi để xem hướng dẫn về cách chạy thử nghiệm trong Test Lab.
Bước 2: Chọn một công cụ để chạy thử nghiệm
Bạn có thể chọn các công cụ sau để chạy thử nghiệm:
Bảng điều khiển Firebase cho phép bạn tải ứng dụng lên và bắt đầu kiểm thử ở bất cứ đâu. Hãy xem bài viết Kiểm thử bằng bảng điều khiển Firebase để biết hướng dẫn sử dụng công cụ này.
Giao diện dòng lệnh (CLI) gcloud cho phép bạn chạy kiểm thử từ dòng lệnh một cách tương tác, đồng thời cũng rất phù hợp để viết tập lệnh trong quy trình kiểm thử và bản dựng tự động. Hãy xem phần Kiểm thử bằng gcloud CLI để biết hướng dẫn sử dụng công cụ này.
Trước khi kiểm thử trên thiết bị thực, hãy chạy kiểm thử cục bộ trên trình mô phỏng để đảm bảo kiểm thử hoạt động như dự kiến. Hãy xem phần Kiểm thử cục bộ để biết hướng dẫn.
Bước 3: Chỉ định thiết bị thử nghiệm
Với Test Lab, bạn có thể chạy thử nghiệm đối với ứng dụng của mình trên nhiều thiết bị và kiểu máy iOS được lưu trữ trong trung tâm dữ liệu của Google. Để tìm hiểu thêm, hãy xem phần Thiết bị có thể sử dụng.
Bước 4: Xem kết quả kiểm thử
Bất kể bạn bắt đầu thử nghiệm bằng cách nào, tất cả kết quả thử nghiệm đều do Test Lab quản lý và bạn có thể xem trực tuyến.
Bản tóm tắt kết quả kiểm thử sẽ tự động được lưu trữ và bạn có thể xem trong bảng điều khiển Firebase. Báo cáo này chứa dữ liệu phù hợp nhất cho thử nghiệm của bạn, bao gồm cả video, ảnh chụp màn hình, số lượng thử nghiệm đã vượt qua, không đạt hoặc có kết quả không ổn định, v.v. cho từng trường hợp kiểm thử.
Kết quả kiểm thử thô chứa nhật ký kiểm thử và thông tin chi tiết về lỗi ứng dụng, đồng thời được lưu trữ tự động trong một bộ chứa Google Cloud. Nếu chỉ định một bộ chứa, bạn sẽ chịu trách nhiệm về chi phí lưu trữ. Nếu bạn không chỉ định bộ chứa, Test Lab sẽ tạo một bộ chứa cho bạn mà không mất phí.
Để biết thêm thông tin, hãy xem phần Phân tích kết quả Firebase Test Lab.
Dọn dẹp thiết bị
Google rất coi trọng vấn đề bảo mật dữ liệu ứng dụng của bạn. Chúng tôi tuân theo các phương pháp hay nhất theo tiêu chuẩn ngành để xoá dữ liệu ứng dụng và đặt lại chế độ cài đặt hệ thống cho thiết bị thực sau mỗi lần chạy thử nghiệm để đảm bảo rằng các thiết bị đó sẵn sàng chạy các thử nghiệm mới. Đối với những thiết bị mà chúng tôi có thể cài đặt ROM bằng hình ảnh khôi phục tuỳ chỉnh, chúng tôi sẽ tiến thêm một bước bằng cách cài đặt ROM cho các thiết bị này giữa các lần chạy kiểm thử.
Đối với các thiết bị ảo mà Test Lab sử dụng, các phiên bản thiết bị sẽ bị xoá sau khi được dùng để mỗi lần chạy kiểm thử đều sử dụng một phiên bản thiết bị ảo mới.
Cho phép Test Lab thiết bị truy cập vào máy chủ phụ trợ riêng tư
Một số ứng dụng di động cần giao tiếp với các dịch vụ phụ trợ riêng tư để hoạt động chính xác trong quá trình thử nghiệm. Nếu máy chủ phụ trợ của bạn được bảo vệ bằng các quy tắc tường lửa, bạn có thể cho phép truy cập vào các thiết bị thực và ảo của Test Lab bằng cách sử dụng các khối địa chỉ IP bên dưới để mở các tuyến thông qua tường lửa của bạn.
Quảng cáo trên thiết bị di động
Test Lab cung cấp một cơ sở hạ tầng có thể mở rộng để tự động hoá quy trình kiểm thử ứng dụng. Tuy nhiên, tính năng này có thể bị các ứng dụng độc hại lợi dụng để tạo doanh thu từ quảng cáo gian lận.
Cách giảm thiểu vấn đề này:
Nếu bạn sử dụng hoặc hợp tác với các nhà cung cấp dịch vụ quảng cáo kỹ thuật số bên thứ ba (ví dụ: mạng quảng cáo hoặc nền tảng bên cầu), bạn nên sử dụng quảng cáo thử nghiệm thay vì quảng cáo thực trong quá trình phát triển và thử nghiệm ứng dụng.
Nếu bạn phải sử dụng quảng cáo thực trong thử nghiệm, hãy thông báo cho các nhà cung cấp dịch vụ quảng cáo kỹ thuật số mà bạn hợp tác để lọc ra doanh thu và tất cả lưu lượng truy cập tương ứng được tạo từ Test Lab bằng cách sử dụng các khối địa chỉ IP bên dưới. Bạn không cần thông báo cho các nhà cung cấp quảng cáo do Google sở hữu; Test Lab sẽ thay bạn làm việc đó.
Địa chỉ IP mà Test Lab thiết bị sử dụng
Tất cả lưu lượng truy cập mạng do các thiết bị Test Lab tạo ra đều bắt nguồn từ
khối địa chỉ IP
sau đây.
Bạn cũng có thể truy cập vào danh sách này bằng cách sử dụng
gcloud beta firebase test ip-blocks list
lệnh
trong gcloud CLI. Danh sách này được cập nhật
trung bình mỗi năm một lần.
| Nền tảng và loại thiết bị | Khối địa chỉ IP CIDR |
|---|---|
| Thiết bị Android và iOS thực, thiết bị ảo Arm |
70.32.128.0/19 (thêm vào tháng 2 năm 2022) 108.177.6.0/23 108.177.18.192/26 (bổ sung vào tháng 2 năm 2022) 108.177.29.64/27 (mở rộng từ tháng 2 năm 2022) 108.177.31.160/27 (bổ sung vào tháng 2 năm 2022) 199.36.156.8/29 (bổ sung vào tháng 2 năm 2022) 199.36.156.16/28 (bổ sung vào tháng 2 năm 2022) 209.85.131.0/27 (bổ sung vào tháng 2 năm 2022) 2001:4860:1008::/48 (thêm vào tháng 2 năm 2022) 2001:4860:1018::/48 (thêm vào tháng 2 năm 2022) 2001:4860:1019::/48 (thêm vào tháng 2 năm 2022) 2001:4860:1020::/48 (thêm vào tháng 2 năm 2022) 2001:4860:1022::/48 (thêm vào tháng 2 năm 2022) 2001:4860:101d::/48 (bổ sung vào tháng 10 năm 2025) 2001:4860:101e::/48 (bổ sung vào tháng 10 năm 2025) 2001:4860:1031::/48 (bổ sung vào tháng 10 năm 2025) 70.32.128.48/28 (bổ sung vào tháng 4 năm 2024) 70.32.150.192/27 (bổ sung vào tháng 9 năm 2025) 108.177.6.0/27 (bổ sung vào tháng 9 năm 2025) 108.177.24.160/27 (bổ sung vào tháng 9 năm 2025) 108.177.29.0/27 (bổ sung vào tháng 9 năm 2025) 108.177.25.128/27 (bổ sung vào tháng 5 năm 2026) 108.177.26.128/26 (bổ sung vào tháng 5 năm 2026) 108.177.29.192/26 (bổ sung vào tháng 5 năm 2026) 172.217.120.64/26 (bổ sung vào tháng 5 năm 2026) 172.217.120.128/26 (thêm vào tháng 5 năm 2026) 2001:4860:1037::/48 (bổ sung vào tháng 5 năm 2026) 2001:4860:1038::/48 (thêm vào tháng 5 năm 2026) 2001:4860:103a::/48 (thêm vào tháng 5 năm 2026) |
| Thiết bị Android ảo (không phải Arm) |
34.68.194.64/29 (bổ sung vào tháng 11 năm 2019) 34.69.234.64/29 (bổ sung vào tháng 11 năm 2019) 34.73.34.72/29 (bổ sung vào tháng 11 năm 2019) 34.73.178.72/29 (bổ sung vào tháng 11 năm 2019) 34.74.10.72/29 (bổ sung vào tháng 2 năm 2022) 34.136.2.136/29 (bổ sung vào tháng 2 năm 2022) 34.136.50.136/29 (bổ sung vào tháng 2 năm 2022) 34.145.234.144/29 (bổ sung vào tháng 2 năm 2022) 35.192.160.56/29 35.196.166.80/29 35.196.169.240/29 35.203.128.0/28 35.234.176.160/28 35.243.2.0/27 (bổ sung vào tháng 7 năm 2019) 35.245.243.240/29 (bổ sung vào tháng 2 năm 2022) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
| Dải IP của thiết bị không còn được sử dụng |
74.125.122.32/29 (đã xoá vào tháng 2 năm 2022) 216.239.44.24/29 (đã xoá vào tháng 2 năm 2022) |