KHÁI NIỆM
Kiểm thử ứng dụng di động là quá trình kiểm tra và đánh giá tính năng, hiệu suất và độ tin cậy của ứng dụng di động trên các thiết bị di động như điện thoại thông minh và máy tính bảng. Mục tiêu của việc Test Mobile app là đảm bảo rằng ứng dụng hoạt động một cách đáng tin cậy, đáp ứng đầy đủ yêu cầu kỹ thuật và mang lại trải nghiệm tuyệt vời cho người dùng.
PHÂN LOẠI
• Test chức năng: Kiểm tra tính năng và hoạt động của ứng dụng, bao gồm kiểm tra các chức năng cơ bản, trạng thái, tương tác người dùng và tích hợp.
• Test giao diện người dùng (UI): Đảm bảo giao diện người dùng của ứng dụng di động thân thiện, , dễ sử dụng và tương thích với các thiết bị và hệ điều hành khác nhau.
• Test tương thích: Kiểm tra ứng dụng trên nhiều thiết bị, hệ điều hành và phiên bản khác nhau để đảm bảo tính tương thích và khả năng hoạt động đa nền tảng.
• Test hiệu suất: Đánh giá khả năng của ứng dụng xử lý công việc, tốc độ phản hồi và tiêu thụ tài nguyên (pin, bộ nhớ) trên các thiết bị di động.
• Test bảo mật: Kiểm tra tính an toàn, của ứng dụng, bao gồm xác thực, phân quyền, mã độc và bảo vệ dữ liệu cá nhân.
NHỮNG TRƯỜNG HỢP CƠ BẢN CỦA KIỂM THỬ ỨNG DỤNG DI ĐỘNG
1. Cài đặt
Kiểm tra cài đặt
• Kiểm tra app có được cài đặt vào thiết bị thành công không
• Kiểm tra có icon của app trong thiết bị không? Icon có đúng không?
Kiểm tra update app
• Kiểm tra sau khi update app dữ liệu có còn lưu không?
Kiểm tra gỡ cài đặt
• Kiểm tra sau khi delete app dữ liệu và các phần liên quan tới app có còn trong device hay không?
2. Khởi động app
Kiểm tra khởi động app
• Lần khởi động đầu tiên: có thể mất thời gian nếu cần load dữ liệu cho app
• Lần khởi động sau: thời gian cần để khởi động: <5s, nếu sau 5s thì cần phải có message thông báo(để user biết có chuyện gì đang diễn ra)
3. App Flow
Kiểm tra điều hướng app
• Kiểm tra app có hoạt động theo đúng flow thiết kế không? (ví dụ click button A có đi tới màn hình B không?)
4. UI
Kiểm tra tổng quan
• Kiểm tra vị trí các trường, đối tượng có đúng vị trí hay không
• Kiểm tra các chữ trên màn hình có viết đúng chính tả không
• Kiểm tra các control điều khiển có được căn đúng không: không lệch, đúng kích thước….
• Kiểm tra màu nền, hình nền của app có được set đúng không
• Kiểm tra việc hiển thị app khi quay màn hình(ngang, dọc)
• Kiểm tra tiêu đề screen
• Kiểm tra thanh cuộn (màu sắc, hoạt động)
• Kiểm tra Default
• Kiểm tra giá trị, màu sắc, kích cỡ, kiểu chữ của giá trị default của listbox
• Kiểm tra giá trị, màu sắc, kích cỡ, kiểu chữ của giá trị default của listview
• Listview kiểm tra số bản ghi ảnh hưởng đến scrollbar và link trang như thế nào
• Kiểm tra giá trị, màu sắc, kích cỡ, kiểu chữ của giá trị default các trường edittext (không có; có dòng default: nhập từ để tìm kiếm (trường tìm kiếm), ngày mặc định của hệ thống,...)
• Kiểm tra giá trị default của trường combobox (không có; có giá trị: Nam (trường giới tính), Hà Nội (trường tỉnh),…)
• Kiểm tra giá trị checked default checkbox, radiobutton
Textview
• Kiểm tra chữ đúng định dạng chưa: về màu sắc, cỡ chữ, font chữ,…
• Kí tự phải được căn trái, trừ trường hợp có yêu cầu đặc biệt
Edittext kiểu text
• Kiểm tra khi nhập kí tự đặc biệt, mã html, script.
• Kiểm tra khi nhập kí tự "space"(cả đầu, cuối)
• Kiểm tra khi để null (trường bắt buộc mới yêu cầu không null)
• Kiểm tra phân biệt chữ hoa chữ thường không?
• Kiểm tra min và max lengh
• Kiểm tra chữ đúng định dạng chưa: về màu sắc, cỡ chữ, font chữ,…
• Kiểm tra kí tự có căn trái sau khi nhập không; Số căn giữa; Tiền căn phải (trừ trường hợp yêu cầu khác).
Edittext kiểu number
• Kiểm tra số phải được căn phải, trừ trường hợp có yêu cầu đặc biệt
• Kiểm tra sự không cho phép nhập khoảng trống ở đầu và cuối number
• Kiểm tra sự không cho phép nhập chữ và kí tự đặc biệt
• Kiểm tra min và max lengh
• Kiểm tra giá trị hợp lệ
• Kiểm tra giá trị biên
Edittext kiểu date
• Hiển thị đúng định dạng chưa? (dd/mm/yy, dd/mm/yyyy…)
• Kiểm tra Date Picker có sử dụng được không. Click chọn có chọn được không.
• Kiểm tra tính ràng buộc các trường kiểu Date (ngày bắt đầu <= ngày kết thúc)
• Trường hợp được nhập datetime thì kiểm tra giá trị ngày thứ 31 của tháng 4, 6, 9, 11 có 30 ngày.
• Trường hợp được nhập datetime thì kiểm tra giá trị ngày 29 của tháng 2 có 28 ngày - năm không nhuận.
• Trường hợp được nhập datetime thì kiểm tra giá trị ngày 29 của tháng 2 có 29 ngày - năm nhuận.
Button
• Kiểm tra kích thước, background button
• Kiểm tra font - màu - kích cỡ text
• Kiểm tra button xử lý đúng chức năng hay chưa
Checkbox
• Kiểm tra giá trị label tương ứng checkbox đúng chưa
• Bản chất được chọn nhiều giá trị
Radiobutton
• Kiểm tra số lượng giá trị của radio button
• Bản chất chỉ chọn được một giá trị
Listview
• Kiểm tra màu nền của các phần tử của listview (tùy dự án)
• Kiểm tra cách sắp xếp các phần tử trong listview có yêu cầu không? Theo thứ tự nào
• Kiểm tra số lượng bản ghi (chú ý scrollbar, phân trang)
Combobox
• Kiểm tra kích cỡ, kiểu chữ, màu sắc text trong combobox
• Kiểm tra kích cỡ, màu nền combobox
• Kiểm tra danh sách giá trị trên combobox có đúng không
• Kiểm tra sự kiện chọn giá trị combobox đúng hay không
Dialog
• Kiểm tra tiêu đề, nội dung, nhãn message (kích thước, màu, vị trí,...)
5. Sự gián đoạn
Có cuộc gọi đến
• Kiểm tra khi app đang sử dụng thì có thông báo cuộc gọi đến không?
• Kiểm tra sau khi nghe xong cuộc gọi, vẫn có khả năng quay lại app và không bị mất dữ liệu
App ở chế độ chạy background
• Khi đang ở chế độ chạy ở nền background thì sau khi trở lại app vẫn hiển thị đúng màn hình trước đó và không bị mất dữ liệu.
Trường hợp Pin yếu
• Có thông báo Pin yếu và app vẫn có thể hoạt động bình thường.
Cắm sạc
• Thực hiện app trong khi cắm sạc app vẫn hoạt động bình thường
Trường hợp khác
• Thực hiện app trong khi quay phim, chụp hình, alarm,.. app vẫn hoạt động bình thường
6. Device
Nhiều device
• Kiểm tra sự hoạt động của app trên nhiều thiết bị: về giao diện và chức năng (chú ý các device có kích thước màn hình khác nhau dễ mắc lỗi về giao diện hiển thị với ứng dụng)
Phiên bản tablet
• Kiểm tra cả trên tablet nếu yêu cầu cả phiên bản tablet
Version OS
• Tùy dự án để kiểm tra các version nằm trong và ngoài yêu cầu tương thích.
7. Ứng dụng cần internet
Test theo mạng
• Kiểm tra với nhiều mạng khác nhau: wifi, 3G, 4G...
Độ ưu tiên mạng
• Kiểm tra trong trường hợp có cả Wifi và 3G thì phải ưu tiên dung wifi (không bị mất tiền, Kb của 3G)
Chuyển mạng
• Chuyển mạng - từ 3G sang Wifi (gặp trường hợp ưu tiên), ngược lại (mất mạng wifi-có thông báo),…
Mất mạng
• Trường hợp sử dụng mạng Wifi bị mất mạng: không thực hiện được các chức năng cần đến mạng và phải có thông báo đến user
Share dữ liệu
• Share dữ liệu thông qua bluetooth, 3G, Wifi,..
8. Media
• Kiểm tra ON/OFF âm thanh, nhạc nền app
• Kiểm tra tính đồng bộ âm thanh với các thao tác app
• ON/OFF âm của device và kiểm tra âm của app
• Kiểm tra chế độ rung nếu có
• Kiểm tra âm thanh của app khi chạy đồng thời ứng dụng phát nhạc và ON âm thanh app
• Kiểm tra khi đang phát nhạc trên device, khởi động app, nhạc có bị tắt (đóng) đi không
9. Hao pin
• Kiểm tra tính hao pin của app
10. Tốc độ app
• Thỏa mãn yêu cầu người dùng
11. Lựa chọn ngôn ngữ
• Kiểm tra khi lựa chọn ngôn ngữ app có chạy đúng theo ngôn ngữ đã chọn không.
12. Folder lưu trữ
• Kiểm tra dữ liệu app lưu trữ có đúng folder chưa.
SỰ KHÁC BIỆT GIỮA TEST MOBILE VÀ TEST WEB
Test Mobile và Test Web là hai lĩnh vực quan trọng trong quá trình phát triển phần mềm. Trong khi
Test Web tập trung vào kiểm tra và đảm bảo chất lượng của ứng dụng web trên các trình duyệt và nên tảng khác nhau, thì Test Mobile tập trung vào kiểm tra và đảm bảo chất lượng của ứng dụng di động trên các thiết bị và hệ điều hành khác nhau. Sự khác biệt giữa Test Mobile và Test Web năm chủ yếu trong bốn khía cạnh như:
• Môi trường kiểm thử: Test Web thường được thực hiện trên các trình duyệt web như Chrome,
Firefox, Safari v.v., trong khi Test Mobile yêu cầu sử dụng các thiết bị di động như điện thoại thông minh và máy tính bảng chạy trên các hệ điều hành như iOS, Android.
• Tương thích thiết bị: Test Web cần đảm bảo ứng dụng hoạt động tốt trên các kích thước màn hình khác nhau và trên các nền tảng desktop và di động. Trong khi đó, Test Mobile App yêu cầu kiểm tra tính tương thích trên các thiết bị di động có kích thước màn hình, cấu hình phần cứng và hệ điều hành khác nhau.
• Giao diện người dùng: Test Web tập trung vào kiểm tra giao diện người dùng trên trình duyệt, trong khi Test Mobile yêu cầu đánh giá giao diện người dùng trên nền tảng di động, bao gồm các yếu tố như cảm ứng, độ phân giải màn hình, điều hướng và tương tác trên màn hình cảm ứng.
• Các tính năng đặc biệt: Test Mobile thường phải xử lý các tính năng đặc biệt của thiết bị di động như cảm biến gia tốc, GPS, camera, đồng bộ dữ liệu với các ứng dụng khác trên điện thoại.
Trong khi đó, Test Web thường tập trung vào các tính năng web như định vị, biểu đồ, gửi thông báo v.v.
=>Tóm lại, Test Mobile và Test Web có những khác biệt quan trọng về môi trường kiểm thử, tương thích thiết bị, giao diện người dùng và các tính năng đặc biệt. Việc hiểu rõ những khác biệt này giúp đảm bảo chất lượng và trải nghiệm người dùng tốt cho cả ứng dụng web và ứng dụng di động.
KẾT LUẬN
Trong quá trình thử nghiệm ứng dụng di động, có một số điều quan trọng cần lưu ý để đạt được hiệu quả cao. Đầu tiên, việc kiểm tra giao diện là cực kỳ quan trọng để đảm bảo sự trực quan và sử dụng dễ dàng cho người dùng. Kiểm tra chức năng của ứng dụng là một yếu tố quan trọng khác, đảm bảo rằng các tính năng hoạt động chính xác và đáp ứng yêu cầu. Cuối cùng, kiểm tra sự tương thích trên các thiết bị di động khác nhau là điều cần thiết để đảm bảo ứng dụng hoạt động mượt mà trên mọi nền tảng.
TÀI LIỆU THAM KHẢO
https://anhtester.com/blog/tai-lieu-hoc-kiem-thu-mobile-b514.html
CHECKLIST: https://docs.google.com/spreadsheets/d/1eDqvEBcIH-JqRq4INx8v1rRhW9r2ELZxWPQdQh9oFqk/edit?gid=0#gid=0