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

Tài liệu này mô tả các AVD dành 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 trong Phòng thử nghiệm là tương tự như AVD cho Android Studio nhưng được tối ưu hoá về hiệu suất với thử nghiệm đám mây, vì vậy giữa hai công cụ này có một vài điểm khác biệt.

Các AVD trong Phòng thử nghiệm có hậu tố .arm hoặc (Arm) đều là những thiết bị nâng cao các trình mô phỏng mang lại các 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 cho 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 thử nghiệm và nhận kết quả thử nghiệm nhanh hơn khi thử nghiệm với thiết bị ảo. Vì các thiết bị ảo được tạo theo yêu cầu, nên thử nghiệm 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 thử nghiệm tối đa 60 phút. Các thử nghiệm trên thiết bị thực chỉ diễn ra trong khoảng thời gian thử nghiệm 45 phút trên từng 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 được dùng để thử nghiệm ứ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 trong 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 bạn kiểm thử ứng dụng thiết bị thực. Bạn có thể chọn các thiết bị ảo cho thử nghiệm của mình khi định cấu hình ma trận kiểm thử. Để tìm hiểu thêm về cách chạy thử nghiệm với Phòng thử nghiệm, hãy xem phần Bắt đầu thử nghiệm Android với 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 bằng Phòng thử nghiệm. Bạn nên áp 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 dùng trình mô phỏng Android Studio hoặc thiết bị thực để kiểm tra từng bản dựng nhằm xác thực ban đầu. Nếu bạn 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 bạn làm việc trong 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 tính nă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 lấy dữ liệu. Cách tìm hiểu thêm về cách sử dụng Phòng thử nghiệm với CI hệ thống, hãy xem nội dung Sử dụng Phòng thử nghiệm dành cho Android với tính năng Tích hợp liên tục Hệ thống.

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ó 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 của mình trên thiết bị thực. Việc này sẽ giúp đảm bảo rằng ứng dụng của bạn ổn định và hoạt động hiệu quả trên hàng loạt thiết bị thực phổ biến. Kiểm tra vật lý thiết bị cũng đảm bảo phạm vi kiểm thử cho mọi chức năng ứng dụng dựa vào các tính năng thực của thiết bị mà không được mô phỏng bằng các thiết bị ảo. Để tìm hiểu 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

Nhóm Android định kỳ thêm các hình ảnh thiết bị ảo mới, không dùng các hình ảnh thiết bị cũ nữa và cập nhật các vị trí hiện có. Chúng tôi áp dụng các bản cập nhật này cho thiết bị ảo của mình để đảm bảo rằng bạn đang thử nghiệm trên hệ điều hành Android mới nhất các phiên bản phản ánh của bạn.

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 – mạnh mẽ đối với những thay đổi này bất cứ khi nào có thể. Nếu không thể làm vậy, bạn nên nhắm đến các thiết bị ảo Arm. bạn có thể cập nhật ít 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 không được mô phỏng bằng các thiết bị ảo, 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 hoạt động trên các thiết bị ảo hoặc tương thích 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à thiết bị bạn nhắm đến hỗ trợ (xem phần Hiện có thiết bị ở 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 Android ABI.

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

Hiệu suất đồ hoạ Sử dụng thiết bị ảo Nexus và Pixel kết xuất đồ hoạ bằng phần mềm. Các ứng dụng nặng về đồ hoạ có thể sẽ đạt 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 họ sử 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) Kiểm thử chế độ Tăng cường Các thiết bị ảo không hỗ trợ chức năng thực tế (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