Hướng dẫnĐăng ngày: 5 phút đọc

Cách dựng một device lab Android nhỏ để test ứng dụng

Hướng dẫn thực tế dựng device lab Android cho QA. Chọn thiết bị, hub USB và nguồn điện, giữ pin bền, thiết lập mạng, dùng ADB với nhiều máy và các công cụ test.

Device lab (phòng thiết bị test) là một bộ điện thoại và máy tính bảng Android thật mà bạn luôn để kết nối, sẵn sàng cho việc test. Lab không cần lớn. Năm đến mười thiết bị được chọn kỹ trên một bàn làm việc đã bắt được phần lớn những lỗi mà emulator bỏ sót. Bài này nói về phần cứng, cách thiết lập và những thói quen giúp lab chạy ổn định. Để phân biệt một lab test với một "phone farm" lạm dụng, xem bài phone farm là gì.

1. Chọn thiết bị

Chọn thiết bị để phủ được nhiều khác biệt, đừng chọn nhiều máy giống nhau:

  • Phiên bản Android: phiên bản thấp nhất ứng dụng của bạn hỗ trợ, phiên bản phổ biến nhất trong số người dùng của bạn, và phiên bản mới nhất.
  • Hãng: Samsung, Xiaomi và những hãng mà người dùng của bạn thực sự dùng. Giao diện tùy biến của từng hãng làm thay đổi cách xử lý quyền, thông báo và pin.
  • Màn hình: một điện thoại nhỏ, một điện thoại lớn, một máy tính bảng, và một máy gập nếu ứng dụng của bạn hỗ trợ.
  • Hiệu năng: ít nhất một điện thoại cấu hình thấp, ít RAM. Đó là nơi khởi động chậm và crash xuất hiện đầu tiên.

Báo cáo thiết bị trong công cụ analytics hoặc Play Console sẽ cho bạn biết mẫu máy nào quan trọng nhất. Điện thoại cũ và hàng tân trang dùng cho lab hoàn toàn ổn.

2. Hub USB và nguồn điện

USB là cách kết nối lab ổn định nhất.

  • Dùng hub USB có nguồn riêng. Hub không có nguồn không sạc nổi nhiều điện thoại và gây mất kết nối ngẫu nhiên.
  • Ưu tiên cáp dữ liệu ngắn, chất lượng tốt. Nhiều cáp rẻ chỉ sạc được.
  • Chia thiết bị ra nhiều hub và nhiều cổng USB trên máy tính. Mỗi bộ điều khiển USB có băng thông giới hạn, mà truyền hình ảnh màn hình thì tốn khá nhiều.
  • Dán nhãn cùng một tên lên mỗi sợi cáp và thiết bị tương ứng, để bạn tìm ra ngay chiếc điện thoại đang lỗi.

3. Giữ pin bền

Điện thoại được sạc đầy 100 phần trăm cả ngày, ngày nào cũng vậy, sẽ chai pin nhanh và có thể bị phồng. Đó là một rủi ro an toàn trong lab.

  • Bật tính năng bảo vệ pin có sẵn trên máy nếu có. Nhiều mẫu máy có cài đặt ngừng sạc ở khoảng 80 hoặc 85 phần trăm.
  • Giữ lab mát và chừa khoảng trống thoáng khí quanh điện thoại. Đừng xếp chồng chúng lên nhau.
  • Kiểm tra pin thường xuyên và cho nghỉ hưu bất kỳ máy nào có nắp lưng hoặc màn hình bắt đầu bị đội lên.

4. Cài đặt trên thiết bị

Áp dụng cùng một bộ cài đặt trên mọi thiết bị:

  • Bật Tùy chọn nhà phát triển, bật gỡ lỗi USB, và chấp nhận máy tính với "Always allow" (Luôn cho phép). Xem cách bật gỡ lỗi USB.
  • Bật Không khóa màn hình (Stay awake) trong Tùy chọn nhà phát triển, để màn hình luôn sáng khi đang sạc.
  • Tắt khóa màn hình trên các thiết bị chỉ dùng để test, để test không bị dừng ở màn hình khóa.
  • Đặt tỉ lệ hình động của cửa sổ, chuyển tiếp và trình tạo hình động về tắt hoặc 0.5x để test UI nhanh và ổn định hơn.
  • Tắt cập nhật hệ thống tự động, để phiên bản Android không thay đổi giữa chừng một vòng test.
  • Dùng một tài khoản Google riêng cho việc test, không bao giờ dùng tài khoản cá nhân.

5. Mạng

  • Đặt lab trên mạng Wi-Fi hoặc VLAN riêng, tách khỏi mạng văn phòng và mạng khách.
  • Gán IP cố định cho từng thiết bị trong router nếu bạn dùng ADB qua mạng.
  • Dùng ADB qua mạng cho những thiết bị không cắm cáp được, chẳng hạn tivi. Xem cách điều khiển Android TV bằng ADB.

6. ADB với nhiều thiết bị

  • adb devices -l liệt kê mọi thiết bị kèm serial và mẫu máy. Dùng adb -s <serial> để nhắm vào một máy.
  • Chỉ chạy một ADB server trên mỗi máy tính. Nhiều công cụ mà mỗi cái tự khởi động server riêng là nguyên nhân phổ biến nhất khiến thiết bị bị "offline" hoặc "busy". Xem bài sửa lỗi thiết bị bận hoặc unauthorized.
  • Với script, hãy lặp qua danh sách serial:
for s in $(adb devices | awk 'NR>1 && $2=="device" {print $1}'); do
  adb -s "$s" install -r app-release.apk
done

7. Công cụ bên trên

  • Test thủ công: ADBKit mở tối đa sáu thiết bị trong một tab trình duyệt, mỗi thiết bị có màn hình trực tiếp, logcat, shell và tệp, không cần cài gì khi dùng USB. scrcpy là một lựa chọn tốt trên desktop.
  • Test tự động: Espresso và UI Automator chạy bên trong bản build test của ứng dụng. Appium và Maestro điều khiển mọi ứng dụng từ bên ngoài. Tất cả đều chạy qua ADB.
  • CI: một máy tính nhỏ đặt cạnh lab có thể chạy bộ test trên mỗi bản build và lưu lại log, ảnh chụp màn hình của các lần lỗi.

8. Bảo mật và quy định

  • Không để tài khoản cá nhân và dữ liệu khách hàng thật trên thiết bị test.
  • Xóa sạch thiết bị trước khi đưa ra khỏi lab.
  • Chỉ dùng lab để test ứng dụng của chính bạn hoặc ứng dụng bạn được phép test. Dùng device lab để tạo lượt cài đặt, đánh giá, lượt click hay tài khoản ảo là vi phạm quy định của các nền tảng và thường vi phạm cả pháp luật.

Bạn đang lên kế hoạch lớn hơn?

Nếu đội của bạn đang dựng một device lab lớn hơn và cần công cụ cho nhiều thiết bị hoặc cho các quy trình lặp lại, hãy kể cho chúng tôi qua cellhubsapp@gmail.com. Chúng tôi xây tính năng đa thiết bị và tự động hóa từ những quy trình thật. Cách tiếp cận của chúng tôi có trong bài ADBKit đang hướng tới đâu.