Tài liệu này mô tả AVD cho Test Lab, bao gồm 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. Test Lab AVD tương tự như AVD cho Android Studio nhưng được tối ưu hoá để đạt hiệu suất cao khi kiểm thử 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.
Test Lab AVD có hậu tố .arm hoặc (Arm) là 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 phù hợp 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ả | Trường hợp sử dụng |
| Tính sẵn sà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ì 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 nhanh chóng xác thực ứng dụng. | Thử nghiệm các bản cập nhật nhỏ cho ứng dụng hoặc thử nghiệm hồi quy. |
| Thời gian thử nghiệm dài hơn | Thiết bị ảo hỗ trợ thời gian kiểm thử tối đa là 60 phút. Các chương trình kiểm thử trên thiết bị thực bị giới hạn thời lượng kiểm thử là 45 phút trên mỗi thiết bị. | Chạy thử nghiệm 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 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 Mức sử dụng, hạn mức và giá cho 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 theo cách tương tự như khi kiểm thử bằng thiết bị thực. Bạn có thể chọn thiết bị ảo cho các thử nghiệm khi định cấu hình ma trận thử nghiệm. Để 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ẫu AVD và API được 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 để thử nghiệm ứng dụng
Thiết bị ảo giúp bạn có thêm nhiều lựa chọn khi thử nghiệm ứ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 kết nối
Khi phát triển ứng dụng, hãy sử dụng trình mô phỏng Android Studio hoặc thiết bị thực được kết nối để kiểm tra từng bản dựng nhằm xác thực ban đầu. Nếu có bài kiểm thử đo lường, bạn cũng có thể chạy các bài kiểm thử này từ Android Studio trên thiết bị thực hoặc thiết bị ảo do Test Lab cung cấp.
Sử dụng hệ thống CI cho mỗi lần thay đổi mã khi làm việc trên các dự án chung
Nếu bạn làm việc trong 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 hệ thống tích hợp liên tục (CI). Kiểm thử ứng dụng trên 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. Để tìm hiểu thêm về cách sử dụng Test Lab với hệ thống CI, hãy xem bài viết Sử dụng Test Lab cho Android với 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 các bản cập nhật ứng dụng quan trọng
Trước khi phát hành 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 Test Lab để kiểm thử ứng dụng trên thiết bị thực. Điều này sẽ giúp đảm bảo rằng ứng dụng của bạn hoạt động ổ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 vào 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 điểm hạn chế đã biết.
Bản cập nhật thiết bị ảo
Đị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 những bản cập nhật này cho hình ảnh thiết bị ảo để đảm bảo rằng bạn đang thử nghiệm 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, những bản cập nhật này có thể khiến các hoạt động kiểm thử không thành công ngoài dự kiến. Khi có một bản cập nhật 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 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 mà 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 hiện không được thiết bị ảo mô phỏng hoặc được mô phỏng nhưng có 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ó nhưng có một số hạn chế:
| 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 phần 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 bài viết ABI Android.
Lưu ý: Nếu một kiểm thử trong ma trận thử nghiệm của bạn được đánh dấu là Không hợp lệ, thì điều này có thể xảy ra do ứng dụng của bạn có phần phụ thuộc vào mã gốc không được ABI của thiết bị 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ạ bằng phần mềm. Các ứng dụng sử dụng nhiều đồ hoạ có thể bị giảm hiệu suất. 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ị dưới cấp độ API 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 những 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 thiết bị ảo Arm. |
| Chức năng Thực tế tăng cường (AR) | Thiết bị ảo không hỗ trợ việc kiểm thử chức năng Thực tế tăng cường (AR). |
| Cấp độ API cũ | Test Lab Thiết bị ảo Arm không hỗ trợ các cấp độ API dưới 26. |