Làm quen với Phòng thử nghiệm Firebase dành cho iOS

Phòng thử nghiệm Firebase cho phép bạn kiểm thử chất lượng ứng dụng của mình 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 Phòng thử nghiệm, các dịch vụ dành cho iOS và hướng dẫn về cách bắt đầu kiểm thử.

Để biết thông tin về các gói giá và hạn mức trong Phòng thử nghiệm, 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 kiểm thử hoặc một nhóm trường hợp kiểm thử trên các thiết bị và cấu hình đã chọn, Phòng thử nghiệm sẽ chạy kiểm thử 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 kiểm thử.

Thiết bị × Lượt thực thi thử nghiệm = Ma trận thử nghiệm

Thiết bị
Một thiết bị thực hoặc ả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 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 gọi là chế độ cài đặt địa lý và ngôn ngữ).
Kiểm thử, chạy kiểm thử
Một thử nghiệm (hoặc một nhóm trường hợp thử nghiệm) chạy trên một thiết bị. Bạn có thể chạy một kiểm thử cho 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 nhiều thiết bị.
Ma trận kiểm thử
Chứa các trạng thái và kết quả kiểm thử của các lượt chạy kiểm thử. Nếu 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ị thử nghiệm để tải lên Phòng thử nghiệm

Bạn có thể chạy các kiểm thử sau bằng Phòng thử nghiệm. Lưu ý rằng tất cả các loại kiểm thử có thể chạy tối đa 45 phút trên các thiết bị thực tế và mọi trường hợp ngoại lệ chưa được nắm bắt sẽ gây ra lỗi kiểm thử.

  • XCTest (bao gồm cả XCUITests): Một bài 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 trong Phòng thử nghiệm.

  • Game Loop test (Kiểm thử vòng lặp trò chơi): Thử nghiệm sử dụng "chế độ minh hoạ" để mô phỏng các 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ó thể mở rộng để xác minh rằng trò chơi của bạn hoạt động hiệu quả cho người dùng. Khi chọn chạy kiểm thử Vòng lặp trò chơi, bạn có thể:

    • Viết bài kiểm thử dành riêng cho công cụ phát triển trò chơi.

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

    • Tuỳ ý tạo nhiều vòng lặp để chạy trong một phiên chạy kiểm thử. 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 để có thể theo dõi các vòng lặp đó và chạy lại các vòng lặp cụ thể.

    Vui lòng xem bài viết Chạy kiểm thử Vòng lặp trò chơi để xem hướng dẫn về cách chạy kiểm thử trong Phòng thử nghiệm.

Bước 2: Chọn 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ử:

  • Bảng điều khiển của Firebase cho phép bạn tải một ứng dụng lên và bắt đầu kiểm thử từ bất cứ đâu. Hãy xem bài viết Kiểm thử bằng bảng điều khiển của Firebase để biết hướng dẫn sử dụng công cụ này.

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

Bước 3: Chỉ định thiết bị thử nghiệm

Với Phòng thử nghiệm, bạn có thể chạy kiểm thử trên ứng dụng của mình trên nhiều thiết bị và mô hình 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 Các thiết bị có sẵn.

Bước 4: Xem lại kết quả thử nghiệm

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 Phòng thử nghiệm 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à bạn có thể xem trong bảng điều khiển của Firebase. Thư viện này chứa dữ liệu phù hợp nhất cho quy trình kiểm thử của bạn, bao gồm video theo trường hợp kiểm thử cụ thể, ảnh chụp màn hình, số lượng kiểm thử đạt, không thành công hoặc nhận đượ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 của ứng dụng, đồng thời tự động được lưu trữ trong 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 chưa chỉ định bộ chứa, Phòng thử nghiệm sẽ tạo một bộ chứa miễn phí cho bạn.

Để biết thêm thông tin, hãy xem bài viết Phân tích kết quả của Phòng thử nghiệm Firebase.

Dọn dẹp thiết bị

Google rất coi trọng tính bảo mật cho dữ liệu ứng dụng của bạn. Chúng tôi áp dụng 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 kiểm thử nhằm đảm bảo những thiết bị này đã sẵn sàng chạy các lượt kiểm thử mới. Đối với các thiết bị có thể cài đặt ROM bằng 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 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à Phòng thử nghiệm sử dụng, các thực thể thiết bị sẽ bị xoá sau khi được sử dụng để mỗi lần chạy kiểm thử sử dụng một thực thể thiết bị ảo mới.


Cho phép các thiết bị trong Phòng thử nghiệm truy cập vào các 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 đúng cách trong quá trình kiểm thử. Nếu máy chủ phụ trợ của bạn được bảo vệ bằng quy tắc tường lửa, thì bạn có thể cho phép các thiết bị thực và ảo của Phòng thử nghiệm truy cập 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.

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

Phòng thử nghiệm cung cấp một cơ sở hạ tầng có thể mở rộng giúp tự động hoá việc kiểm thử ứng dụng. Rất tiếc là các ứng dụng độc hại được thiết kế để tạo doanh thu từ quảng cáo gian lận có thể sử dụng sai chức năng này.

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

  • Nếu sử dụng hoặc làm việc với nhà cung cấp 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 của mình, hãy thông báo cho nhà cung cấp 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 tạo ra từ Phòng thử nghiệm 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; Phòng thử nghiệm sẽ xử lý việc đó cho bạn.

Địa chỉ IP mà các thiết bị trong Phòng thử nghiệm sử dụng

Tất cả lưu lượng truy cập mạng do các thiết bị trong Phòng thử nghiệm 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 lệnh gcloud beta firebase test ip-blocks list 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ị Chặn địa chỉ IP CIDR
Thiết bị Android và iOS thực, Bật thiết bị ảo

70.32.128.0/19 (được thêm vào 02-2022)

108.177.6.0/23

108.177.18.192/26 (được thêm vào ngày 2 tháng 2 năm 2022)

108.177.29.64/27 (mở rộng 02-2022)

108.177.31.160/27 (được thêm vào ngày 2 tháng 2 năm 2022)

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

199.36.156.16/28 (được thêm vào ngày 2 tháng 2 năm 2022)

209.85.131.0/27 (được thêm vào ngày 2 tháng 2 năm 2022)

2001:4860:1008::/48 (đã thêm ngày 2 tháng 2 năm 2022)

2001:4860:1018::/48 (đã thêm ngày 2 tháng 2 năm 2022)

2001:4860:1019::/48 (đã thêm ngày 2 tháng 2 năm 2022)

2001:4860:1020::/48 (đã thêm ngày 2 tháng 2 năm 2022)

2001:4860:1022::/48 (đã thêm ngày 2 tháng 2 năm 2022)

70.32.128.48/28 (được thêm vào ngày 4 tháng 4 năm 2024)

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

34.68.194.64/29 (đã thêm 11-2019)

34.69.234.64/29 (đã thêm 11-2019)

34.73.34.72/29 (đã thêm 11-2019)

34.73.178.72/29 (đã thêm 11-2019)

34.74.10.72/29 (được thêm vào 02-2022)

34.136.2.136/29 (được thêm vào ngày 2 tháng 2 năm 2022)

34.136.50.136/29 (được thêm vào ngày 2 tháng 2 năm 2022)

34.145.234.144/29 (được thêm vào ngày 2 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 7-2019)

35.245.243.240/29 (được thêm vào ngày 2 tháng 2 năm 2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Tính năng chặn IP thiết bị không còn được sử dụng nữa

74.125.122.32/29 (loại bỏ vào tháng 02 năm 2022)

216.239.44.24/29 (loại bỏ tháng 02 năm 2022)