Tài liệu này mô tả các 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 của Phòng thử nghiệm tương tự như AVD cho Android Studio nhưng được tối ưu hoá để mang lại hiệu suất kiểm thử trên đám mây. Do đó, có một số điểm khác biệt giữa hai loại AVD này.
Test Lab AVD có hậu tố .arm hoặc (Arm) là các 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
GPU hỗ trợ đồ hoạ được tăng tốc
Bảng sau đây mô tả những 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 các bài 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 bài 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 chóng ứ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 gian kiểm thử dài hơn | Thiết bị ảo hỗ trợ thời gian kiểm thử lên đến 60 phút. Các bài kiểm thử trên thiết bị thực bị giới hạn ở thời gian kiểm thử 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 được 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 bài viết 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 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 bài kiểm thử khi định cấu hình ma trận thử nghiệm. Để tìm hiểu thêm về cách chạy các bài 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 do 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 tăng phạm vi lựa chọn khi bạn 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 thiết bị thực đượ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 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 trên mỗi 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 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ự, thì 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 kéo. Để 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 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 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 ổ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 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 bài viết Các hạn chế đã biết.
Bản cập nhật thiết bị ảo
Nhóm Android định kỳ thêm hình ảnh thiết bị ảo mới, ngừng sử dụng hình ảnh thiết bị ảo cũ và cập nhật hình ảnh thiết bị ảo 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 để 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 của người dùng.
Trong một số trường hợp hiếm gặp, các bản cập nhật này có thể khiến các bài kiểm thử gặp lỗi ngoài dự kiến. Khi có một bản cập nhật có khả năng gây lỗi đã biết, 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 chống chịu tốt với những thay đổi này bất cứ khi nào có thể. Khi không thể thực hiện việc đó, bạn nên nhắm đến các thiết bị ảo Arm. Bạn có thể kỳ vọng rằng các thiết bị này sẽ 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 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ó sẵn với 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ả các ABI. Nếu đang phát triển bằng Android NDK, hãy nhớ tạo mã cho các ABI được thiết bị mà 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 bài viết ABI
Android.
Lưu ý: Nếu một bài 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ó một phần phụ thuộc vào mã gốc không được ABI (Giao diện nhị phân ứng dụng) 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ể 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. |
| Graphics API (API Đồ hoạ) | OpenGL ES 3.x không được hỗ trợ trên các thiết bị có cấp độ API dưới 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 thiết bị ảo Arm. |
| Chức năng thực tế tăng cường (AR) | Việc kiểm thử chức năng thực tế tăng cường (AR) không được hỗ trợ trên thiết bị ảo. |
| Cấp API cũ hơn | Test Lab Thiết bị ảo Arm không hỗ trợ API cấp dưới 26. |