Mobile App Testing – Một số lưu ý cho người mới bắt đầu

ngày 29-08-2018

 
Đã qua rồi thời điện thoại là thiết bị chỉ dùng để nghe và gọi, máy tính chỉ giới hạn sử dụng trong một số lĩnh vực, bởi một nhóm người nhất định. Giờ đây, sự kết hợp giữa “cặp đôi hoàn hảo” này trong cùng một thiết bị di động với nhiều khả năng không ngờ đã, đang làm thay đổi cách chúng ta nghĩ, hành xử, học tập, tồn tại và sẽ biến đổi tương lai của thế giới trong thời gian tới.

Để đảm bảo chất lượng, ngành kiểm thử cũng đã và đang được triển khai rộng rãi trên thiết bị di động. Có hai loại kiểm thử trên thiết bị di động là kiểm thử phần cứng và kiểm thử phần mềm hoặc ứng dụng trên di động:
  • Kiểm thử phần cứng (hardware testing): bao gồm kiểm thử bộ vi xử lý, kích thước màn hình, độ phân giải, bộ nhớ, máy ảnh, radio, Bluetooth, WIFI… Người ta còn gọi việc kiểm thử này được gọi là kiểm thử điện thoại di động (mobile testing).
  • Kiểm thử phần mềm hoặc ứng dụng trên di động: hay còn gọi là kiểm thử ứng dụng di động (mobile application testing) để phân biệt với phương pháp trên. Kiểm thử ứng dụng trên thiết bị di động - Mobile App Testing- là xu hướng tất yếu và thật sự cần thiết khi ngày càng nhiều người sử dụng thiết bị di động, sử dụng các ứng dụng trên thiết bị di động.
kiem_thu_phan_mem_tren_di_dong_1
Đối với ứng dụng di động, có thể phân biệt thành 3 loại: a) ứng dụng gốc (Native App): Là những ứng dụng được viết riêng cho một loại nền tảng như iOS, Android, Windows Phone bằng các ngôn ngữ tương ứng của mỗi nền tảng đó. b) ứng dụng web (Web App) là ứng dụng chạy trên nền web, người dùng thiết bị di động sẽ sử dụng các trình duyệt khác nhau như Chrome, Firefox, Safari truy cập vào web server để sử dụng, ví dụ như m.facebook.com. c) ứng dụng lai (Hybrid App) là kết hợp giữa ứng dụng gốc và ứng dụng web, có thể chạy offline lẫn online và thường sử dụng kỹ thuật làm web như HTML5, CSS.

Trong đó:
-  Các ứng dụng gốc chỉ có thể chạy trên một hệ điều hành nhất định trong khi các dụng web di động có thể chạy trên tất cả trình duyệt của mobile hỗ trợ phiên bản HTML và Javascript.
-  Ứng dụng gốc được viết trong các nền tảng như SDK trong khi ứng dụng web di động được viết với các công nghệ web như HTML, CSS, ASP.NET, JAVA, PHP.
-  Đối với một ứng dụng gốc, cần cài đặt nhưng với các ứng dụng web di động, không cần cài đặt.
-  Ứng dụng gốc có thể được cập nhật từ các kho ứng dụng trong khi các ứng dụng web di động được cập nhật tập trung.
-  Ứng dụng gốc có thể hoạt động không cần kết nối Internet nhưng đối với các ứng dụng web di động thì luôn phải có kết nối Internet.
-  Ứng dụng gốc hoạt động nhanh hơn khi so sánh với các ứng dụng web di động.
 
So với kiểm thử ứng dụng trên máy tính, kiểm thử trên di động có một số vấn đề cần lưu ý:
  • Sự đa dạng các thiết bị di động với màn hình kích cỡ khác nhau và cấu hình phần cứng như bàn phím cứng, bàn phím ảo (màn hình cảm ứng)…
  • Nhiều hãng thiết bị di động như HTC, Samsung, Apple và Nokia.
  • Nhiều hệ điều hành di động khác nhau như Android, Symbian, Windows, Blackberry và IOS.
  • Các phiên bản khác nhau của hệ điều hành như iOS 5.x, iOS 6.x, BB5.x, BB6.x vv
  • Các lần cập nhật thường xuyên của phiên bản - (như android- 4.2, 4.3, 4.4, iOS 5.x, 6.x) - với mỗi lần cập nhật đều cần đảm bảo sao cho không có chức năng ứng dụng bị ảnh hưởng.
  • Thiết bị di động có kích thước màn hình điện thoại nhỏ hơn so với máy tính để bàn.
  • Thiết bị di động có ít bộ nhớ hơn so với máy tính để bàn.
  • Thiết bị di động thường sử dụng kết nối mạng 2G, 3G, 4G hoặc WIFI, trong khi đó máy tính để bàn thường sử dụng băng thông rộng hay kết nối quay số.
  • Các công cụ kiểm thử tự động hóa có thể không chạy được trên các ứng dụng di động.

 

kiem_thu_phan_mem_tren_di_dong_2

Như với bất kỳ ứng dụng, thử nghiệm ứng dụng trên thiết bị di động cũng rất quan trọng, vì nếu để xảy ra lỗi, sẽ gây khách hàng ấn tượng không tốt về sản phẩm và kết quả là gây tổn thất doanh thu, pháp lý và cả thiệt hại hình ảnh thương hiệu. Để đảm bảo chất lượng kiểm thử trên di động, bạn nên tham khảo các gợi ý sau:

1) Lựa chọn các thiết bị - Nên phân tích thị trường và lựa chọn các thiết bị được sử dụng rộng rãi để kiểm thử. Tuy nhiên, quyết định này chủ yếu dựa trên các khách hàng. Khách hàng hoặc các nhà xây dựng ứng dụng sẽ xem xét các thiết bị cần thiết cho ứng dụng để quyết định những thiết bị quan trọng để kiểm thử và cho bạn biết điều đó.

2) Các hệ thống giả lập (Emulator) - Việc sử dụng các ứng dụng này là cực kỳ hữu ích trong các giai đoạn đầu của kiểm thử ứng dụng, vì chúng cho phép kiểm tra nhanh và hiệu quả của ứng dụng này. Các Emulator cho phép bạn dễ dàng thay đổi môi trường và quan sát các thay đổi. Qua đó, bạn có thể xem nhanh các bản sao tính năng và cách hoạt động của ứng dụng trên nhiều hệ thống thực. Bạn có thể tham khảo http://responsivepx.com/http://quirktools.com/ để kiểm tra xem website của mình như thế nào trên desktop và trên nhiều loại thiết bị di động khác nhau.

Ngoài ra, khi kiểm thử ứng dụng trên thiết bị di động, bạn cũng cần lưu ý các yếu tố sau:
  • Mức độ sử dụng pin – Phải chú ý theo dõi mức tiêu thụ pin trong khi đang chạy ứng dụng trên các thiết bị di động.
  • Tốc độ của application – lưu ý thời gian phản hồi trên các thiết bị khác nhau, với các thông số bộ nhớ khác nhau, với các loại mạng khác nhau
  • Ràng buộc kích thước dữ liệu - nếu người dùng cần cài đặt hoặc thực hiện xác minh thông tin thì có thể sẽ tải về một số dữ liệu cần thiết.
  • Ràng buộc bộ nhớ - để tải về, cài đặt và chạy được ứng dụng
  • Chức năng của các ứng dụng – để đảm bảo rằng ứng dụng không bị crash do lỗi kết nối mạng hoặc lý do gì đó.

 

kiem_thu_phan_mem_tren_di_dong_3
 
Nếu bạn đã có kiến thức về kiểm thử phần mềm trên máy tính, khi chuyển sang kiểm thử ứng dụng trên thiết bị di động, bạn nhớ lưu ý các khác biệt trên trong quá trình thực hiện các loại kiểm thử Usability testing (kiểm thử để đảm bảo rằng ứng dụng đi động dễ sử dụng, tạo sự thoải mái và hài lòng cho khách hàng), Compatibility testing (kiểm thử ứng dụng trên nhiều thiết bị di động, trình duyệt, kích thước màn hình, các phiên bản hệ điều hành khác nhau theo yêu cầu), Interface testing (kiểm thử hệ thống menu, button, bookmark, thiết lập các thông số, luồng làm việc của ứng dụng),  Services Tesing (kiểm thử các dịch vụ online và offline của ứng dụng), Performance testing (kiểm thử khả năng thực thi của ứng dụng bằng cách thay đổi kết nối từ 2G, 3G sang Wifi, chia sẻ tài nguyên, mức tiêu thụ pin), Operational testing (kiểm thử việc sao lưu và khôi phục khi năng lượng giảm, mất dữ liệu khi nâng cấp ứng dụng), Installation tests (kiểm thử ứng dụng bằng cách cài đặt và gỡ bỏ ứng dụng trên các thiết bị), Security Testing (kiểm tra xem hệ thống thông tin của ứng dụng có bảo vệ dữ liệu hay không)… để đảm bảo chất lượng ứng dụng và cũng là đảm bảo chất lượng công việc của mình.


(Tham khảo từ http://www.softwaretestinghelp.com/)


 
CHƯƠNG TRÌNH ĐÀO TẠO