Bắt đầu kiểm thử với Thiết bị Android ảo

Tài liệu này mô tả về AVD cho Phòng thử nghiệm, bao gồm cả các lợi ích và các hạn chế đã biết. Chúng tôi cũng đưa ra các đề xuất về cách kiểm thử ứng dụng trong suốt vòng đời phát triển. AVD của Phòng thử nghiệm tương tự như AVD cho Android Studio nhưng được tối ưu hoá về hiệu suất khi kiểm thử trên đám mây, vì vậy, có một vài điểm khác biệt giữa 2 loại này.

AVD trong Phòng thử nghiệm có hậu tố .arm hoặc (Arm) là những trình mô phỏng nâng cao mang lại những lợi ích sau:

  • Thời gian thực thi kiểm thử nhanh hơn

  • Kích thước và mật độ màn hình được điều chỉnh cho phù hợp với AVD của Android Studio để đảm bảo tính nhất quán

  • Đồ hoạ tăng tốc hỗ trợ GPU

Bảng sau đây mô tả các lợi ích khi sử dụng thiết bị ảo:

Lợi ích Nội dung mô tả (Các) trường hợp sử dụng
Khả năng hoạt động cao Bạn có thể chạy kiểm thử và nhận kết quả kiểm thử nhanh hơn khi kiểm thử bằng các thiết bị ảo. Vì các thiết bị ảo được tạo theo yêu cầu nên các bài kiểm thử sẽ bắt đầu gần như ngay lập tức, giúp xác thực nhanh ứng dụng của bạn. Kiểm thử các bản cập nhật nhỏ cho ứng dụng hoặc để kiểm thử hồi quy.
Thời lượng thử nghiệm dài hơn Các thiết bị ảo hỗ trợ thời lượng kiểm thử lên đến 60 phút. Các bài kiểm thử trên các thiết bị thực tế có giới hạn trong khoảng thời gian kiểm thử là 45 phút cho mỗi thiết bị. Chạy kiểm thử lâu hơn
Giảm chi phí Thiết bị ảo có giá 1 USD/giờ cho mỗi thiết bị ảo dùng để kiểm thử ứng dụng của bạn. Kiểm thử hằng ngày bằng các hệ thống tích hợp liên tục hoặc trước khi kiểm tra mã. Để tìm hiểu thêm, hãy xem bài viết Mức sử dụng, hạn mức và giá của Phòng thử nghiệm.

Kiểm thử ứng dụng bằng các thiết bị ảo

Bạn có thể kiểm thử ứng dụng bằng các thiết bị ảo giống như cách kiểm thử ứng dụng bằng thiết bị thực. Bạn có thể chọn các thiết bị ảo cho việc kiểm thử của mình khi định cấu hình một ma trận kiểm thử. Để tìm hiểu thêm về cách chạy kiểm thử bằng Phòng thử nghiệm, hãy xem bài viết Bắt đầu kiểm thử cho Android bằng Phòng thử nghiệm Firebase.

Xem các mô hình và API được hỗ trợ

Để xem các mô hình AVD và API được Phòng thử nghiệm hỗ trợ, hãy chạy lệnh sau:

gcloud firebase test android models list --filter=virtual

Các phương pháp hay nhất để kiểm thử ứng dụng

Các thiết bị ảo giúp bạn có thêm nhiều lựa chọn khi kiểm thử ứng dụng qua Phòng thử nghiệm. Bạn nên sử dụng các phương pháp hay nhất sau đây để kiểm thử ứng dụng trong suốt vòng đời phát triển ứng dụng:

Dùng trình mô phỏng Android Studio hoặc một thiết bị thực đi kèm

Khi phát triển ứng dụng, hãy sử dụng trình mô phỏng Android Studio hoặc một thiết bị thực đi kèm để kiểm tra từng bản dựng nhằm xác thực ban đầu. Nếu có kiểm thử đo lường, bạn cũng có thể chạy các kiểm thử này từ Android Studio trên thiết bị thực hoặc ảo do Phòng thử nghiệm cung cấp.

Sử dụng hệ thống CI mỗi khi thay đổi mã khi làm việc trên các dự án dùng chung

Nếu làm việc trên một dự án lớn hoặc nếu bạn đóng góp cho các dự án được chia sẻ bằng GitHub hoặc một trang web tương tự, bạn nên sử dụng hệ thống tích hợp liên tục (CI). Kiểm thử ứng dụng của bạn trên các thiết bị ảo mỗi khi hệ thống CI chạy hoặc trước mỗi yêu cầu kéo. Để tìm hiểu thêm về cách sử dụng Phòng thử nghiệm với các hệ thống CI, hãy xem bài viết Sử dụng Phòng thử nghiệm dành cho Android với hệ thống tích hợp liên tục.

Kiểm thử ứng dụng của bạn trên các thiết bị thực bằng Phòng thử nghiệm trước khi phát hành các bản cập nhật ứng dụng quan trọng

Trước khi phát hành các bản cập nhật ứng dụng có những thay đổi đáng kể về giao diện người dùng và chức năng, bạn nên sử dụng Phòng thử nghiệm để kiểm thử ứng dụng trên các thiết bị thực. Điều này sẽ giúp đảm bảo ứng dụng của bạn ổn định và hoạt động hiệu quả trên nhiều thiết bị thực phổ biến. Việc kiểm thử trên thiết bị thực cũng đảm bảo phạm vi kiểm thử cho mọi chức năng của ứng dụng dựa vào các tính năng của thiết bị thực mà không được mô phỏng bằng thiết bị ảo. Để tìm hiểu thêm về các tính năng này, hãy xem phần Các hạn chế đã biết.

Bản cập nhật thiết bị ảo

Theo định kỳ, nhóm Android sẽ thêm hình ảnh thiết bị ảo mới, ngừng sử dụng hình ảnh cũ và cập nhật những hình ảnh hiện có. Chúng tôi áp dụng những bản cập nhật này cho hình ảnh thiết bị ảo để giúp đảm bảo rằng bạn đang kiểm thử trên các phiên bản Android mới nhất phản ánh trải nghiệm người dùng.

Trong một số ít trường hợp, những bản cập nhật này có thể khiến kiểm thử thất bại ngoài dự kiến. Khi có một bản cập nhật có thể gây lỗi đã biết, Phòng thử nghiệm sẽ đưa thông tin vào ghi chú phát hành. Tốt nhất là bạn nên sử dụng các khung kiểm thử (ví dụ: Espresso) có khả năng thích ứng với những thay đổi này bất cứ khi nào có thể. Khi không thể làm như vậy, bạn nên nhắm đến các thiết bị ảo Arm. Bạn nên cập nhật các thiết bị này thường xuyên hơn.

Các hạn chế đã biết

Một số tính năng của thiết bị thực tế hiện chưa được các thiết bị ảo mô phỏng hoặc được mô phỏng với một số hạn chế. Bảng sau đây tóm tắt các tính năng hiện không có trên các thiết bị ảo hoặc chỉ có sẵn với một số giới hạn nhất định:

Tính năng Thông tin chi tiết
Giao diện nhị phân của ứng dụng (ABI) Không phải thiết bị nào cũng hỗ trợ tất cả ABI. Nếu bạn đang phát triển bằng Android NDK, hãy nhớ tạo mã cho ABI mà các thiết bị bạn nhắm đến hỗ trợ (xem phần Thiết bị có sẵn trong Phòng thử nghiệm). Để tìm hiểu thêm về việc quản lý ABI, hãy xem bài viết Giao diện nhị phân ứng dụng (ABI) Android.

Lưu ý: Nếu một bài kiểm thử trong ma trận kiểm thử được đánh dấu là Không hợp lệ, thì điều này có thể xảy ra vì ứng dụng có một phần phụ thuộc vào mã gốc mà ABI của thiết bị không hỗ trợ.

Hiệu suất đồ hoạ Các thiết bị ảo Nexus và Pixel sử dụng tính năng kết xuất đồ hoạ phần mềm. Các ứng dụng nặng về đồ hoạ có thể có hiệu suất thấp hơn. Nếu ứng dụng của bạn nặng về đồ hoạ, hãy cân nhắc dùng SmallPhone.arm, MediumPhone.arm hoặc thiết bị thực.
API Đồ hoạ OpenGL ES 3.x không được hỗ trợ trên các thiết bị dưới API cấp 29. Các thiết bị mới hơn không tương thích 100% với API OpenGL/Vulkan. Bạn có thể nhận thấy sự khác biệt nhỏ về đồ hoạ.
Ứng dụng Cửa hàng Google Play Ứng dụng Cửa hàng Google Play không được hỗ trợ trên các thiết bị ảo Arm.
Chức năng thực tế tăng cường (AR) Các thiết bị ảo không hỗ trợ kiểm thử chức năng Thực tế tăng cường (AR).
Cấp độ API cũ hơn Các thiết bị ảo Test Lab Arm không hỗ trợ các cấp độ API dưới 26.

Các bước tiếp theo