+1

Tìm hiểu về Mobile App Testing

Cùng với sự phát triển nhanh chóng của các thiết bị di động, ứng dụng/phần mềm ngày nay không chỉ được xây dựng và phát triển trên nền tảng web mà ngày càng được chú trọng trên nền tảng mobile. Vậy Kiểm thử phần mềm trên thiết bị di động có gì khác với việc thực thi kiểm thử trên nền tảng web? Chúng ta cùng tìm hiểu trong bài viết này nhé!

Giới thiệu về Kiểm thử thiết bị di động

Các loại kiểm thử trên thiết bị di động

Kiểm thử phần cứng (Hardware testing)

Thiết bị bao gồm các bộ xử lý bên trong, phần cứng bên trong, kích cỡ màn hình, độ phân giải, dung lượng/bộ nhớ, máy ảnh, radio, Bluetooth, WIFI,... Kiểm thử phần cứng đôi khi được coi là "Kiểm thử di động" đơn giản (simple "Mobile testing)

Kiểm thử phần mềm hoặc ứng dụng (Software or Application testing)

Các ứng dụng hoạt động trên các thiết bị di động và việc kiểm thử chức năng của chúng được gọi là Kiểm thử ứng dụng di động (Mobile Application Testing). Các ứng dụng di động được phân biệt bởi một số khác biệt cơ bản sau:

  1. Ứng dụng gốc (Native apps): Là một ứng dụng được tạo ra để sử dụng trên một nền tảng, ví dụ như điện thoại hay máy tính bảng.
  2. Ứng dụng mobile web: Là ứng dụng mà phía máy chủ truy cập vào các trang web trên thiết bị di động sử dụng nhiều trình duyệt khác nhau như Chrome, Firefox,... bằng cách kết nối với một mạng di động hoặc mạng không dây như WIFI.
  3. Ứng dụng lai (Hybrid apps): Là sự kết hợp giữa ứng dụng gốc và ứng dụng web. Ứng dụng lai hoạt động trên các thiết bị hoặc ngoại tuyến và được viết bởi các ngôn ngữ/công nghệ web như HTML, Javascript, CSS...


Một số khác biệt cơ bản giữa Native app và Web app

Đặc điểm Native app Mobile web app
Nền tảng Chỉ chạy trên 1 nền tảng duy nhất - single platform affinity Chạy trên đa nền tảng - cross-platform affinity
Công nghệ phát triển Được viết trên các flatform như SDKs Đựa viết bằng các công nghệ web như HTML, CSS, Javascript, asp.net, PHP,...
Cài đặt Cần cài đặt trên thiết bị di động thông qua việc tải ứng dụng từ Google Play hay App Store Không cần cài đặt trên thiết bị di động mà truy cập trang web qua các trình duyệt thông qua kết nối Internet
Cập nhật Cập nhật phiên bản từ Google PLay/App Store Cập nhật từ các bản cập nhật tập trung (trên website)
Môi trường mạng Online + Offline Chỉ Online
Tốc độ Ứng dụng gốc hoạt động nhanh hơn Ứng dụng web


So sánh giữa Native app và Hybrid app

Đặc điểm Native app Hybrid app
Mô tả Ứng dụng được cài đặt ngay trên thiết bị di động Website được phát triển để có thể hiển thị trên thiết bị di động như một ứng dụng di động
Thiết lập Được phát triển trên từng hệ điều hành như Android hay IOS Được phát triển hoạt động trên nền tảng web
Chi phí Chi phí phát triển cao Ít tốn kếm hơn
Thời gian phát triển Tốn nhiều thời gian do phải phát triển trên 2 nền tảng riêng biệt Android và IOS Tốn ít thời gian hơn do phát triển ứng dụng trên 1 nền tảng và vẫn có thể mở rộng ra các nền tảng khác
Cập nhật Nội dung được cập nhật thông qua các bản cập nhật của ứng dụng Nội dung được cập nhật ngay trên website
Trải nghiệm người dùng Ứng dụng gốc cung cấp trải nghiệm nhanh nhất, đáng tin cậy nhất và phản hồi nhanh nhất cho người dùng Người dùng có xu hướng đã quen với các ứng dụng gốc nên UX của Hybrid app không tốt bằng Native app
Khả năng sử dụng trên thiết bị di động Ứng dụng gốc dễ khai thác chức năng của thiết bị rộng hơn: Native giúp cho các cử chỉ chạm (tapping) vào máy ảnh, micrô, la bàn, gia tốc kế và vuốt (swipe) trở nên siêu dễ dàng Người dùng vẫn có quyền truy cập vào các tính năng của thiết bị nhưng không tốt bằng Ứng dụng gốc
Điều kiện hoạt động Online + Offline Online

Ý nghĩa của Kiểm thử ứng dụng trên thiết bị di động

Kiểm thử ứng dụng trên thiết bị di động khó khăn hơn Kiểm thử ứng dụng web trên máy tính là do:

  • Nhiều loại thiết bị di động với kích cỡ màn hình và cáu hình phần cứng khác nhau như hard keypad, virtual keypad (touch screen), trackball,...
  • Nhiều hãng sản xuất thiết bị di động khác nhau như Apple, Samsung, Oppo, Xiaomi,...
  • Các hệ điều hành di động khác nhau như Android, IOS, Symbian, Windows, Blackberry
  • Các phiên bản của các hệ điều hành như iOS 14.x
  • Các bản cập nhật thường xuyên (Frequent updates)


Do đó khi Kiểm thử ứng dụng trên thiết bị di động ta cần phải tập trung vào một số các thiết bị theo yêu cầu của khách hàng bởi "Kiểm thử cận kiệt là không thể", nhất là đối với sự đa dạng của các thiết bị di động ngày nay.

Sự khác nhau giữa Kiểm thử ứng dụng trên thiết bị di động và trên máy tính

Một số khía cạnh phân biệt Kiểm thử ứng dụng trên thiết bị di động với Kiểm thử trên máy tính để bàn (desktop) là:

  • Trên máy tính, ứng dụng được kiểm tra trên một đơn vị xử lý trung tâm (central processing unit). Còn trên thiết bị di động, ứng dụng được kiểm tra trên các thiết bị cầm tay như điện thoại/máy tính bảng.
  • Kích cỡ màn hình của thiết bị di động nhỏ hơn của máy tính.
  • Thiết bị di động có ít bộ nhớ hơn máy tính.
  • Thiết bị di động sử dụng kết nối mạng không dây như WIFI, 3G, 4G, 5G. Trong khi đó máy tính để bàn sử dụng kết nối băng thông rộng hoặc quay số.
  • Công cụ kiểm thử tự động được sử dụng trong Kiểm thử ứng dụng trên máy tính để bàn có thể không hoạt động trên thiết bị di động.

Các loại Kiểm thử ứng dụng trên thiết bị di động

Các loại kiểm thử được sử dụng trong Kiểm thử ứng dụng trên thiết bị di động gồm:

  • Kiểm tra tính khả dụng (Usability testing)
    Đảm bảo rằng ứng dụng di động là dễ dùng và cung cấp cho khách hàng những trải nghiệm hài lòng.
  • Kiểm tra khả năng tương thích (Compatibility testing)
    Kiểm tra ứng dụng trên nhiều thiết bị di động, trình duyệt, kích cỡ màn hình và các phiên bản hệ điều hành khác nhau dựa trên requirement.
  • Kiểm tra giao diện (Interface testing)
    Kiểm tra các tùy chọn menu, nút, dấu trang, lịch sử, cài đặt và các luồng điều hướng của ứng dụng.
  • Services testing
    Kiểm tra các dịch vụ của ứng dụng khi trực tuyến (online) và ngoại tuyến (offline).
  • Kiểm thử với tài nguyên ở mức thấp (Low-level resource testing)
    Kiểm tra việc sử dụng bộ nhớ, việc tự động xóa của các tệp tạm thời hay các vấn đề phát triển cơ sở dữ liệu cục bộ được biết đến là "low-level resource testing)
  • Kiểm thử hiệu năng
    Kiểm tra hiệu năng của ứng dụng bằng cách thay đổi kết nối mạng từ 3G/4G/5G sang WIFI, chia sẻ các tệp dữ liệu, mức tiêu thụ pin,...
  • Kiểm thử chấp nhận hoạt động (Operational testing)
    Kiểm tra các bản sao lưu và kế hoạch khôi phục nếu hết pin hoặc dữ liệu bị mất trong quá trình nâp cấp ứng dụng
  • Kiểm tra cài đặt
    Xác thực (Validation) ứng dụng bằng cách cài đặt/gỡ bỏ cài đặt nó trên thiết bị
  • Kiểm thử bảo mật
    Kiểm tra một ứng dụng để xác thực liệu hệ thống thông tin có bảo vệ tốt dữ liệu hay không

Chiến lược kiểm thử trên thiết bị di động

Chọn thiết bị

Việc đầu tiên trong khâu lựa chọn kiểm thử ứng dụng treent hiết bị nào là phân tích thị trường để tìm ra những thiết bị được sự dụng nhiều/rộng rãi.
Quyết định sử dụng thiết bị nào chủ yếu dựa vào khách hàng.

Trình giả lập

Việc sử dụng các trình giả lập là cực kì hữu dụng trong giai đoạn đầu của quá trình phát triển bởi chúng cho phpes việc kiểm tra ứng dụng nhanh và hiệu quả.
Các loại trình giả lập di động (Mobile Emulators)

  • Device Emulator: Được cung cấp bởi nhà sản xuất thiết bị
  • Browser Emulator: Mô phỏng môi trường trình duyệt di động
  • Operating systems Emulator: Apple cung cấp trình giả lập cho iPhone, Microsoft cung cấp cho dòng điện thoại Windows và Google Android.


Cảm ơn mọi người đã đọc bài viết. Do còn nhiều thiếu sót trong quá trình tìm hiểu cũng như viết bài nên mình rất mong nhận được góp ý từ mọi người để có thể hiểu rõ hơn về chủ đề đang tìm hiểu cũng như có thể cải thiện hơn trong tương lai! 😃

Tài liệu tham khảo

https://www.softwaretestinghelp.com/beginners-guide-to-mobile-application-testing
https://www.mobiloud.com/blog/native-web-or-hybrid-apps


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí