CYBERSOFT
Đăng nhập

Kiểm thử ứng dụng di động chuyên sâu (Mobile Testing nâng cao) cho Tester — dự án ShopEasy Mobile

Chuyên công nghệTMĐTNâng caoChuẩn SEO
🗓 1 tháng trước19 phút đọc·👁 390 lượt xem👤 444 người đọc

Bài nâng cao: kiểm thử ứng dụng di động chuyên sâu qua app TMĐT ShopEasy Mobile. Gián đoạn hệ thống (cuộc gọi/thông báo), chuyển mạng wifi↔4G↔mất mạng, vòng đời app (nền/kill/pin yếu), xoay màn hình, đa kích thước, cử chỉ, quyền hệ thống, deep link. Hai tình huống lỗi thật, nhiều mockup giao diện, FAQ và trắc nghiệm 5 câu. Chuẩn SEO, dẫn về khóa Tester CyberSoft.

1. Tóm tắt nhanh & ma trận yếu tố cần kiểm thử

⭐ TL;DR — Kiểm thử ứng dụng di động nâng cao là việc chủ động mô phỏng các yếu tố chỉ tồn tại trên thiết bị thật: gián đoạn hệ thống (cuộc gọi/thông báo), chuyển mạng wifi↔4G↔mất mạng, vòng đời app (chạy nền/bị kill/pin yếu), xoay màn hình, đa kích thước/độ phân giải, cử chỉ, quyền hệ thống và deep link. Bài này bám sát app TMĐT ShopEasy Mobile, có ma trận yếu tố, mockup giao diện thật, hai tình huống lỗi có thật và trắc nghiệm cuối bài.

Ở cấp nâng cao, bạn không còn dừng lại ở việc test chức năng đúng-sai như thông thường. Kiểm thử ứng dụng di động chuyên sâu đòi hỏi bạn nghĩ như một người dùng thật đang cầm điện thoại giữa đời sống: họ nhận cuộc gọi lúc đang thanh toán, họ đi từ vùng có wifi sang vùng chỉ có 4G, họ để app chạy nền rồi quên mất, điện thoại họ hết pin dở chừng, họ xoay ngang màn hình để đọc thông tin dễ hơn. Mỗi tình huống đó đều là một 'điểm gãy' tiềm ẩn nếu đội phát triển chỉ test trên emulator ổn định trong văn phòng.

Ma trận yếu tố đặc thù cần kiểm thử — Mobile Testing nâng cao (ShopEasy Mobile) Yếu tố đặc thù mobileRủi ro nếu bỏ quaCách test nhanh trên ShopEasyGián đoạn (cuộc gọi/thông báo)Mất dữ liệu đang nhập, crash khi quay lại appGọi điện/nhắn tin thật giữa lúc đang thanh toánChuyển mạng wifi ↔ 4G ↔ mất mạngGửi trùng đơn hàng, treo màn hình chờ vô hạnBật/tắt wifi, chuyển sang 4G ngay giữa thao tácVòng đời app: nền / bị kill / pin yếuMất giỏ hàng, mất phiên đăng nhậpĐưa app xuống nền lâu, ép hệ điều hành kill, bật tiết kiệm pinXoay màn hình & đa kích thướcVỡ giao diện, mất dữ liệu đang nhập trong formXoay ngang/dọc và test trên nhiều kích thước, màn có notchCử chỉ (vuốt/chụm/nhấn giữ)Thao tác không phản hồi, nhầm lẫn hành độngVuốt xoá sản phẩm, kéo-thả, nhấn giữ trên màn chínhQuyền hệ thống (camera/vị trí/thông báo)Tính năng liên quan lỗi âm thầm khi bị từ chối quyềnTừ chối quyền rồi thử lại đúng tính năng cần quyền đóDeep linkMở sai màn hình, crash khi chưa đăng nhập/chưa cài appBấm link khuyến mãi khi app chưa cài và khi chưa đăng nhập
Ma trận yếu tố đặc thù cần kiểm thử trong Mobile Testing nâng cao, gắn app ShopEasy Mobile
📖 Mobile Testing nâng cao (Advanced Mobile Testing): kiểm thử ứng dụng di động ở mức chuyên sâu, chủ động mô phỏng gián đoạn hệ thống, chuyển mạng, vòng đời app, xoay màn hình, đa kích thước, cử chỉ, quyền hệ thống và deep link — những yếu tố chỉ xuất hiện đầy đủ trên thiết bị di động thật.

2. Gián đoạn hệ thống: cuộc gọi, thông báo, báo thức

Điện thoại là thiết bị 'đa nhiệm bắt buộc': tại bất kỳ thời điểm nào, một cuộc gọi đến, một thông báo tin nhắn, một báo thức, hay một popup xin quyền của app khác đều có thể đè lên màn hình ShopEasy Mobile mà người dùng không hề chủ động. Với kiểm thử ứng dụng di động, đây là nhóm ca kiểm thử bắt buộc phải có, vì tần suất xảy ra trong đời thực rất cao — đặc biệt ở đúng lúc người dùng đang thao tác quan trọng nhất: thanh toán.

🔒 ShopEasy Mobile · app trên điện thoại ShopEasy Mobile · TMĐT ShopEasy · Thanh toán đơn hàng Sản phẩm Áo thun nam · SL 2Tổng tiền 598.000 ₫Địa chỉ giao 123 Lê Lợi, Q1, TP.HCMPhương thức TT Thẻ tín dụng ****4821Xác nhận thanh toán📞 Cuộc gọi đến — Mẹ090xxxxxxx · thanh toán đang bị gián đoạnTừ chốiTrả lời App PHẢI giữ nguyên đơn khi có cuộc gọi đến
Màn hình ShopEasy Mobile đang thanh toán bị chèn cuộc gọi đến — yêu cầu giữ nguyên trạng thái đơn hàng

Bộ ca kiểm thử cần bao phủ ít nhất: (1) nhận cuộc gọi khi đang điền form, (2) nhận cuộc gọi ngay lúc bấm nút gửi yêu cầu, (3) nhận thông báo đẩy (push notification) của chính app hoặc app khác khi đang xem giỏ hàng, (4) báo thức hoặc lịch nhắc kích hoạt giữa lúc thanh toán. Với mỗi ca, kỳ vọng luôn là: app chuyển sang nền đúng cách (không crash), giữ nguyên toàn bộ dữ liệu người dùng đã nhập, và khi quay lại foreground phải hiển thị đúng bước đang dang dở — không tự động tiến hoặc lùi bước.

💡 Ưu tiên test gián đoạn ngay TẠI thời điểm gửi request (network call đang chạy), không chỉ trước hoặc sau — đây là khoảng thời gian dễ sinh lỗi race condition nhất.

3. Chuyển mạng: wifi ↔ 4G ↔ mất mạng

Người dùng ShopEasy Mobile không đứng yên một chỗ: họ mở app ở nhà (wifi), ra đường (4G), vào thang máy hoặc hầm gửi xe (mất mạng hoàn toàn), rồi lại có mạng khi ra ngoài. Mỗi lần chuyển đổi loại kết nối là một cơ hội để lộ ra lỗi mà kiểm thử chỉ trên wifi ổn định của văn phòng không bao giờ bắt được: request bị gửi trùng, phản hồi bị mất khiến giao diện treo ở trạng thái 'đang xử lý' vô thời hạn, hoặc dữ liệu giỏ hàng bị đồng bộ sai.

Các ca gián đoạn & chuyển mạng cần kiểm thử trên ShopEasy Mobile Ca kiểm thửThời điểm chèn gián đoạnKết quả mong đợiWifi → mất mạng hoàn toànNgay lúc bấm nút 'Đặt hàng'Báo lỗi mạng rõ ràng, KHÔNG gửi trùng đơn khi có mạng lại4G → WifiĐang tải trang xác nhận thanh toánGiữ nguyên phiên hiện tại, không tạo 2 đơn hàng song songMất mạng → có mạng lạiGiữa lúc đồng bộ giỏ hàng từ serverGiỏ hàng đồng bộ đúng, không nhân đôi sản phẩmWifi yếu, mất gói tin ngắt quãngKhi tải ảnh sản phẩm ở trang chi tiếtApp tự retry hợp lý, không treo giao diệnChuyển mạng giữa 2 lần bấm nút nhanhBấm 'Đặt hàng' 2 lần liên tiếp khi mạng chập chờnChỉ tạo đúng 1 đơn hàng (idempotent)Ưu tiên test trên thiết bị thật + mạng thật, vì giả lập network throttle không mô phỏng đủ độ trễ/mất gói ngẫu nhiên.
Bảng các ca gián đoạn/chuyển mạng bắt buộc kiểm thử trên ShopEasy Mobile

Điểm mấu chốt khi thiết kế ca kiểm thử chuyển mạng là tính IDEMPOTENT — nghĩa là dù request bị gửi lại nhiều lần do mạng chập chờn, kết quả cuối cùng phải giống hệt như chỉ gửi đúng một lần. Với đơn hàng, điều này có nghĩa: bấm 'Đặt hàng' 2 lần vì tưởng lần đầu chưa thành công (do màn hình không phản hồi khi mất mạng) không được tạo ra 2 đơn hàng riêng biệt. Ngoài ra, cần test cả trường hợp mất mạng NGAY SAU khi server đã xử lý xong nhưng phản hồi chưa kịp về máy khách — client phải có cơ chế kiểm tra lại trạng thái thay vì mặc định coi là thất bại.

4. Vòng đời app: chạy nền, bị hệ điều hành kill, pin yếu

Trên di động, một app không bao giờ 'tắt hẳn' theo cách người dùng nghĩ. Khi bạn chuyển sang app khác, ShopEasy Mobile chỉ chuyển xuống 'nền' (background) và hệ điều hành có toàn quyền quyết định: giữ nguyên trong bộ nhớ, tạm dừng tiến trình, hoặc thẳng tay 'kill' tiến trình để giải phóng RAM cho app đang mở phía trước — đặc biệt phổ biến trên các máy Android tầm trung/RAM thấp. Kiểm thử ứng dụng di động nâng cao bắt buộc phải mô phỏng đủ 3 trạng thái này, không chỉ dừng ở 'mở app rồi đóng app' như kiểm thử cơ bản.

Trường hợp nguy hiểm nhất là app bị kill khi người dùng đang ở giữa luồng thanh toán, vì lúc đó dữ liệu giỏ hàng và tiến trình thanh toán thường chỉ tồn tại tạm thời trong bộ nhớ (in-memory state) nếu đội phát triển chưa lưu đúng cách xuống local storage hoặc đồng bộ server. Thêm vào đó, khi điện thoại vào 'chế độ tiết kiệm pin' (low power mode/battery saver), hệ điều hành thường giới hạn mạnh tay hoạt động nền: tắt refresh tự động, hạn chế đồng bộ, làm chậm animation — những hành vi này cần được test riêng vì chúng thay đổi cách app hoạt động một cách âm thầm mà người dùng không hề chủ động bật lên trong app.

! Bug · SE-22310 JIRA Giỏ hàng: app bị hệ điều hành kill khi chạy nền lúc thanh toán, giỏ hàng trống khi mở lại STATUS: New PRIORITY: High SEVERITY: Critical Môi trườngAndroid 14 · Samsung Galaxy A54 (RAM thấp) · ShopEasy Mobile v4.2.1Các bước1) Thêm SP vào giỏ 2) Vào màn Thanh toán 3) Chuyển sang app Zalo trong ~5 phút 4) OS tự kill ShopEasy do thiếu RAM 5) Mở lại ShopEasyKết quả mong đợiKhôi phục đúng giỏ hàng và đúng bước thanh toán đang dang dởKết quả thực tếGiỏ hàng trống, phải chọn lại từ đầu; khách có nguy cơ bỏ đơnBằng chứngvideo-se22310.mp4, log-lifecycle-kill.txt
Ticket lỗi thật: giỏ hàng ShopEasy Mobile bị mất trắng khi app bị hệ điều hành kill lúc thanh toán
🔒

Nội dung bị khoá

Bạn đang xem bản xem trước. Đăng nhập để mở khoá toàn bộ bài viết và tất cả tài liệu Tester/QA.

Đã xem 25% nội dung
  • Đọc trọn vẹn mọi bài viết
  • Lưu bài & ghi chú cá nhân
  • Theo dõi tiến độ đã đọc
  • Luyện phỏng vấn, ISTQB, Mock
Đăng nhập để đọc tiếp

Chưa có mã? Lấy mã qua Fanpage / Zalo CyberSoft.

0

💬 Bình luận (0)

Bạn có thể đọc mọi bình luận. Đăng nhập để bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!