Kiểm thử ứng dụng

Khác với các loại ứng dụng Android khác, ứng dụng Home API có những điểm cần cân nhắc và thách thức riêng, bao gồm cả các phần phụ thuộc vào thiết bị nhà thông minh thực, độ tin cậy của mạng, tính bảo mật và quyền riêng tư, cũng như khả năng tương tác giữa thiết bị và giao thức. Những điểm khác biệt này ảnh hưởng đến việc kiểm thử.

Thiết lập môi trường kiểm thử

Môi trường kiểm thử mạnh mẽ là yếu tố quan trọng để kiểm thử ứng dụng Home APIs.

Bạn nên tách biệt các thiết bị kiểm thử Home API trên một mạng Wi-Fi riêng. Điều này giúp ngăn chặn sự can thiệp từ các thiết bị khác và cho phép bạn mô phỏng các điều kiện mạng khác nhau, chẳng hạn như băng thông bị hạn chế.

Bạn nên kiểm thử bằng nhiều loại thiết bị nhà thông minh của nhiều nhà sản xuất. Hãy nhớ kiểm thử bằng các thiết bị thực. Các thiết bị ảo và trình mô phỏng có vai trò của riêng chúng nhưng bạn không nên chỉ dựa vào chúng.

Tương tự, việc kiểm thử ứng dụng của bạn trên nhiều thiết bị Android của nhiều nhà sản xuất, với nhiều kích thước màn hình và chạy các phiên bản Android khác nhau sẽ giúp xác minh khả năng tương thích rộng hơn.

Tập hợp các công cụ

Các công cụ sau đây sẽ hữu ích trong việc kiểm thử một ứng dụng Home API:

Công cụ Mô tả
Google Home Plugin for Android Studio Cung cấp quyền truy cập vào Google Assistant Simulator, Trình xem biểu đồ nhà, Google Cloud Logging và Trình xem nhật ký Cầu gỡ lỗi Android (adb).
Google Home Playground Không phải là giải pháp thay thế cho việc kiểm thử bằng các thiết bị thực tế, nhưng rất có giá trị đối với nhiều tình huống kiểm thử.
Matter Virtual Device (MVD) Một ứng dụng mô phỏng khác có thể hữu ích khi kiểm thử bằng các thiết bị Matter trong ứng dụng Home APIs.
Espresso Cho phép bạn tự động hoá quy trình kiểm thử giao diện người dùng. Bạn cần mô phỏng API cơ bản để mô phỏng các hoạt động tương tác với phần cứng.
Một Trình mô phỏng mạng Cho phép bạn mô phỏng các điều kiện mạng và phản hồi API khác nhau, điều này đặc biệt hữu ích nếu Home API của bạn sử dụng một phần phụ trợ đám mây.
Logcat của Android Studio Xử lý và phân tích dữ liệu nhật ký.

Áp dụng nhiều phương pháp và chiến lược kiểm thử

Bạn nên áp dụng nhiều phương pháp kiểm thử cho ứng dụng Home APIs. Để biết thông tin chung về các phương pháp khác nhau, hãy xem phần Kiểm thử ứng dụng trên Android. Ngoài việc kiểm thử trải nghiệm người dùng và bảo mật mà mọi ứng dụng Android đều phải trải qua, một số khía cạnh kiểm thử đặc biệt phù hợp với các ứng dụng Home API và được nêu bật chi tiết hơn trong các phần sau.

Kiểm tra chức năng

Tuỳ thuộc vào các chức năng của ứng dụng, bạn có thể muốn đặc biệt chú ý đến một số khía cạnh sau:

  1. Khám phá và ghép nối thiết bị, bao gồm cả thiết lập ban đầu và ghép nối với thiết bị mới, khám phá lại các thiết bị hiện có sau khi khởi động lại ứng dụng, khởi động lại thiết bị hoặc thay đổi mạng. Ngoài ra, hãy kiểm tra các trường hợp như thiết bị không phản hồi hoặc người dùng nhập thông tin đăng nhập không chính xác.
  2. Đồng bộ hoá trạng thái, đảm bảo rằng ứng dụng cập nhật để phản ánh chính xác trạng thái hiện tại một cách kịp thời.
  3. Cách quản lý và thực thi các quyền, đặc biệt là nếu ứng dụng của bạn hỗ trợ nhiều người dùng hoặc quyền truy cập vào nhà chung. Trong đó có việc xác minh rằng ứng dụng của bạn xử lý linh hoạt các quyền đã thu hồi.
  4. Nếu ứng dụng của bạn hỗ trợ các cảnh, chẳng hạn như cảnh "Chúc ngủ ngon" sẽ tắt tất cả đèn, hãy kiểm thử việc tạo, sửa đổi và thực thi cảnh. Kiểm thử các chế độ tự động hoá, bao gồm cả chế độ bắt đầu và hành động.

Kiểm thử hiệu suất

Xác minh rằng ứng dụng của bạn phản hồi nhanh và không gây ra bất kỳ độ trễ không cần thiết nào. Nếu có thể, hãy kiểm thử với nhiều thiết bị để đánh giá khả năng mở rộng và hiệu suất của ứng dụng khi chịu tải. Ngoài ra, hãy xem mức tiêu thụ CPU, bộ nhớ và pin của ứng dụng, đặc biệt là trong quá trình giao tiếp chủ động với thiết bị, để xem mức sử dụng tài nguyên của ứng dụng có hợp lý hay không.

Kiểm thử độ tin cậy và độ ổn định

Do phụ thuộc vào khả năng kết nối mạng, các ứng dụng Home API cần được kiểm thử trong các trường hợp sau:

  1. Mạng không ổn định
    • Mô phỏng tình trạng mất kết nối Wi-Fi, tín hiệu yếu và chuyển đổi mạng.
    • Xác minh rằng ứng dụng của bạn xử lý các trường hợp ngắt kết nối và kết nối lại một cách linh hoạt.
    • Xác minh rằng các lệnh được xếp hàng và thực thi khi kết nối được khôi phục hoặc cung cấp thông báo lỗi thích hợp.
    • Kiểm thử ứng dụng từ các mạng từ xa, chứ không chỉ từ mạng gia đình.
  2. Ngắt kết nối thiết bị
    • Rút phích cắm thiết bị.
    • Bật/tắt nguồn thiết bị.
  3. Các thao tác đồng thời
    • Gửi một chuỗi lệnh nhanh.
    • Yêu cầu nhiều người dùng cùng lúc điều khiển cùng một thiết bị.
    • Kiểm thử các cảnh và quy trình tự động hoá chồng chéo.
  4. Xử lý lỗi
    • Buộc lỗi API, chẳng hạn như bằng cách mô phỏng các phản hồi của máy chủ API đám mây.
    • Kiểm thử dữ liệu đầu vào không hợp lệ của người dùng.
    • Xác minh khả năng giảm cấp một cách linh hoạt và thông báo lỗi giàu thông tin.
  5. Độ tin cậy – Chạy ứng dụng và các thiết bị được kết nối trong thời gian dài để phát hiện các vấn đề có thể xảy ra về rò rỉ bộ nhớ hoặc độ ổn định.