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

Tài liệu này mô tả các AVD cho Test Lab, bao gồm cả các lợi ích và 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. Test Lab AVD tương tự như AVD cho Android Studio nhưng được tối ưu hoá cho hiệu suất bằng thử nghiệm trên đám mây, vì vậy, có một số điểm khác biệt giữa hai loại này.

AVD Test Lab có hậu tố .arm hoặc (Arm) là trình mô phỏng nâng cao 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 căn chỉnh với AVD của Android Studio để đảm bảo tính nhất quán

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

Bảng sau đây mô tả các lợi ích của việc 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 thiết bị ảo. Vì các thiết bị ảo được tạo theo yêu cầu, nên các chương trình kiểm thử của bạn 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 kiểm thử dài hơn Thiết bị ảo hỗ trợ thời lượng kiểm thử tối đa 60 phút. Các thử nghiệm trên thiết bị thực bị giới hạn ở thời lượng thử nghiệm là 45 phút trên mỗi thiết bị. Chạy các bài kiểm thử dài hơn
Chi phí thấp hơn Thiết bị ảo có giá 1 USD/giờ cho mỗi thiết bị ảo dùng để kiểm thử ứng dụng. 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 Cấp sử dụng, hạn mức và mức giá của Test Lab.

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

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

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

Để xem các mô hình AVD và API mà Test Lab 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

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 Test Lab. 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:

Sử dụng trình mô phỏng Android Studio hoặc thiết bị thực được đính 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 tế được đính kèm để kiểm tra từng bản dựng nhằm xác thực ban đầu. Nếu có các chương trình kiểm thử đo lường, bạn cũng có thể chạy các chương trình kiểm thử này từ Android Studio trên các thiết bị thực hoặc ảo do Test Lab cung cấp.

Sử dụng hệ thống CI trên mỗi 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 đó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 các hệ thống tích hợp liên tục (CI). Kiểm thử ứng dụng 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 Test Lab với các hệ thống CI, hãy xem bài viết Sử dụng Test Lab cho Android với các hệ thống tích hợp liên tục.

Kiểm thử ứng dụng trên thiết bị thực bằng Test Lab trước khi phát hành bản cập nhật quan trọng cho ứng dụng

Trước khi phát hành 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 Test Lab để 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à 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 trên các tính năng của thiết bị thực mà thiết bị ảo không mô phỏng được. Để 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 hình ảnh hiện có. Chúng tôi áp dụng các bản cập nhật này cho hình ảnh thiết bị ảo để đả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 của người dùng.

Trong một số ít trường hợp, các bản cập nhật này có thể khiến kiểm thử không thành công một cách đột ngột. Khi có bản cập nhật tiềm ẩn có thể gây lỗi, Test Lab sẽ đưa thông tin vào ghi chú phát hành. Bạn nên sử dụng các khung kiểm thử (ví dụ: Espresso) có khả năng thích ứng tốt với những thay đổi này bất cứ khi nào có thể. Nếu không thể, bạn nên nhắm đến các thiết bị ảo Arm. Bạn có thể cập nhật các thiết bị này í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 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 có trên thiết bị ảo hoặc có một số hạn chế 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 các ABI mà thiết bị bạn nhắm đến hỗ trợ (xem Thiết bị có sẵn trong Test Lab). Để tìm hiểu thêm về cách quản lý ABI, hãy xem ABI Android.

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

Hiệu suất đồ hoạ 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 chuyên về đồ hoạ có thể có hiệu suất thấp hơn. Nếu ứng dụng của bạn sử dụng nhiều đồ hoạ, hãy cân nhắc 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ị cấp API thấp hơn 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) Không hỗ trợ kiểm thử chức năng Thực tế tăng cường (AR) trên thiết bị ảo.
Các cấp độ API cũ Test Lab Thiết bị ảo Arm không hỗ trợ các cấp độ API dưới 26.

Các bước tiếp theo