Bắt đầu kiểm thử cho Android bằng Phòng thử nghiệm Firebase

Firebase Test Lab cho phép bạn kiểm thử ứng dụng trên nhiều thiết bị và cấu hình. Hướng dẫn Bắt đầu này cung cấp một lộ trình triển khai để bạn làm theo, cũng như giới thiệu về các sản phẩm Android của Test Lab.

Để 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 chính

Khi bạn chạy một quy trình kiểm thử hoặc một bộ trường hợp kiểm thử trên các thiết bị và cấu hình mà bạn đã chọn, Test Lab sẽ chạy quy trình kiểm thử đối với ứng dụng của bạn theo lô, sau đó hiển thị kết quả dưới dạng ma trận kiểm thử.

Thiết bị × Lần thực thi kiểm thử = Ma trận kiểm thử

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ử trên đó, 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 kiểm thử đượ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 được gọi là chế độ cài đặt địa lý và ngôn ngữ).
Kiểm thử, phiên chạy thử nghiệm
Một quy trình kiểm thử (hoặc một bộ quy trình kiểm thử) sẽ chạy trên một thiết bị. Bạn có thể chạy một kiểm thử trên mỗi thiết bị hoặc tuỳ ý phân đoạn kiểm thử và chạy các trường hợp kiểm thử trên các thiết bị khác nhau.
Ma trận kiểm thử
Chứa trạng thái và kết quả kiểm thử cho các lần thực thi kiểm thử. Nếu có bất kỳ lượt thực thi kiểm thử nào trong một 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ị kiểm thử để tải lên Test Lab

Các loại kiểm thử có sẵn

Bạn có thể chạy các kiểm thử sau bằng Test Lab. Xin lưu ý rằng tất cả các loại kiểm thử đều bị giới hạn ở thời gian chạy là 45 phút trên thiết bị thực và 60 phút trên thiết bị ảo. Mọi trường hợp ngoại lệ chưa được phát hiện sẽ gây ra lỗi kiểm thử.

  • Kiểm thử đo lường hoặc kiểm thử đơn vị đo lường: Một quy trình kiểm thử mà bạn đã viết bằng cách sử dụng khung Espresso hoặc UI Automator. Với kiểm thử này, bạn có thể đưa ra các khẳng định rõ ràng về trạng thái của ứng dụng để xác minh chức năng chính xác bằng cách sử dụng AndroidJUnitRunnerAPIs.

  • Kiểm thử bằng Robo: Một quy trình kiểm thử 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 này một cách có phương pháp bằng cách mô phỏng các hoạt động của người dùng mà không yêu cầu bạn viết bất kỳ mã nào. Hãy truy cập vào trang Giới thiệu về kiểm thử Robo để biết thêm thông tin.

  • Kiểm thử vòng lặp trò chơi: Một hoạt động kiểm thử sử dụng "chế độ demo" để mô phỏng hành động của người chơi trong các ứng dụng trò chơi. Đây là một cách nhanh chóng và có khả năng mở rộng để xác minh rằng trò chơi của bạn hoạt động hiệu quả đối với người dùng. Khi chọn chạy một thử nghiệm Vòng lặp trò chơi, bạn có thể:

    • Viết các kiểm thử gốc cho công cụ trò chơi

    • Tránh viết cùng một mã cho các giao diện người dùng hoặc khung kiểm thử khác nhau

    • Bạn có thể tạo nhiều vòng lặp để chạy trong một lần thực thi kiểm thử (hãy truy cập vào phần Giới thiệu về kiểm thử Vòng lặp trò chơi để tìm hiểu thê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 xem phần Chạy kiểm thử Vòng lặp trò chơi để biết hướng dẫn về cách chạy kiểm thử này bằng Test Lab.

Các công cụ để chạy kiểm thử

Bạn có thể chọn các công cụ sau để chạy kiểm thử:

  • Dành cho người dùng lần đầu: Play Console Firebase cho phép bạn tải ứng dụng lên và bắt đầu kiểm thử từ trình duyệt web. Hãy xem phần Kiểm thử bằng bảng điều khiển Firebase để biết hướng dẫn về cách chạy kiểm thử bằng công cụ này.

  • Tính năng tích hợp Android Studio cho phép bạn kiểm thử ứng dụng mà không cần rời khỏi môi trường phát triển. Hãy xem phần Kiểm thử bằng Android Studio để biết hướng dẫn về cách chạy kiểm thử bằng công cụ này.

  • Giao diện dòng lệnh gcloud cho phép bạn chạy các 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 để tạo tập lệnh trong quy trình kiểm thử và tạo bản dựng tự động. Hãy xem phần Kiểm thử bằng gcloud CLI để biết hướng dẫn về cách chạy kiểm thử bằng công cụ này.

Bạn cũng có thể kiểm thử ứng dụng miễn phí bằng Test Lab khi tải và xuất bản tệp APK của ứng dụng lên Cửa hàng Play bằng kênh alpha hoặc beta. Để biết thêm thông tin, hãy xem phần Sử dụng báo cáo trước khi ra mắt để xác định các vấn đềThử nghiệm bằng Robo.

Bước 2: Chọn thiết bị kiểm thử

Test Lab hỗ trợ kiểm thử trên nhiều thương hiệu và mẫu thiết bị Android được cài đặt và chạy trong một trung tâm dữ liệu của Google. Việc kiểm thử trên các thiết bị trong Test Lab giúp bạn phát hiện những vấn đề có thể không xảy ra khi kiểm thử ứng dụng bằng trình mô phỏng trong Android Studio. Để tìm hiểu thêm, hãy xem phần Các thiết bị có sẵn.

Bước 3: Xem xét kết quả kiểm thử

Bất kể bạn bắt đầu kiểm thử bằng cách nào, tất cả kết quả kiểm thử đề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ử được tự động lưu trữ và 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 dành riêng cho trường hợp thử nghiệm, ảnh chụp màn hình, số lượng thử nghiệm đã vượt qua, thất bại hoặc có kết quả không ổn định, v.v.

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 tự động lưu trữ trong một bộ chứa Google Cloud. Nếu chỉ định một nhóm, bạn sẽ chịu trách nhiệm về chi phí lưu trữ. Nếu bạn không chỉ định một nhóm, Test Lab sẽ tạo một nhóm 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.

Khi bắt đầu một quy trình kiểm thử từ Android Studio, bạn cũng có thể xem xét kết quả kiểm thử ngay trong môi trường phát triển của mình.

Dọn dẹp thiết bị

Google rất coi trọng tính bảo mật của dữ liệu ứng dụng. 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 các 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 ta có thể flash bằng một hình ảnh khôi phục tuỳ chỉnh, chúng ta sẽ tiến thêm một bước bằng cách flash những 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 thử nghiệm đều sử dụng một phiên bản thiết bị ảo mới.


Test Lab và Dịch vụ Google Play

Các thiết bị Test Lab thường chạy trên phiên bản mới nhất của SDK Dịch vụ Google Play, nhưng một số thiết bị có thể mất vài ngày để cập nhật sau khi một phiên bản SDK mới được phát hành. Xin lưu ý rằng bạn có thể gặp phải các vấn đề về khả năng tương thích với một số thiết bị.

Cho phép các thiết bị kiểm thử 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 kiểm thử. Nếu các 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 đường thông qua tường lửa.

Quảng cáo trên thiết bị di động

Test Lab cung cấp một cơ sở hạ tầng có khả năng mở rộng, tự động hoá quy trình kiểm thử ứng dụng. Tuy nhiên, thật không may, khả năng này có thể bị các ứng dụng độc hại thiết kế để tạo doanh thu từ quảng cáo gian lận sử dụng sai mục đích.

Cách giảm thiểu vấn đề này:

  • Nếu sử dụng hoặc làm việ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à kiểm thử ứng dụng.

  • Nếu bạn phải sử dụng quảng cáo thực trong quá trình kiểm thử, hãy thông báo cho các nhà cung cấp quảng cáo kỹ thuật số mà bạn hợp tác để lọc 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 thuộc sở hữu của Google; Test Lab sẽ xử lý việc đó cho bạn.

Địa chỉ IP do các thiết bị Test Lab 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ừ các 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 CLI gcloud. 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ị thực Android và iOS, 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 (thêm vào tháng 2 năm 2022)

108.177.29.64/27 (mở rộng vào tháng 2 năm 2022)

108.177.31.160/27 (thêm vào tháng 2 năm 2022)

199.36.156.8/29 (thêm vào tháng 2 năm 2022)

199.36.156.16/28 (thêm vào tháng 2 năm 2022)

209.85.131.0/27 (thêm 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)

70.32.128.48/28 (thêm vào tháng 4 năm 2024)

Thiết bị Android ảo (Không phải Arm)

34.68.194.64/29 (thêm vào tháng 11 năm 2019)

34.69.234.64/29 (được thêm vào tháng 11 năm 2019)

34.73.34.72/29 (thêm vào tháng 11 năm 2019)

34.73.178.72/29 (được thêm vào tháng 11 năm 2019)

34.74.10.72/29 (thêm vào tháng 2 năm 2022)

34.136.2.136/29 (thêm vào tháng 2 năm 2022)

34.136.50.136/29 (thêm vào tháng 2 năm 2022)

34.145.234.144/29 (thêm 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 (thêm vào tháng 7 năm 2019)

35.245.243.240/29 (thêm vào tháng 2 năm 2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Không còn sử dụng các khối IP của thiết bị

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)