Đang tải...

Lửng Lọc Lõi

Đeo kính để soi Bug cho rõ, nhíu mày để nhắc Dev sửa cho kỹ. Với tôi, 'chạy được' thôi là chưa đủ! 🧐💻


0

Test Web Và Mobile Cơ Bản: Checklist 20 Items Không Cần Tool Phức Tạp

Lửng Lọc Lõi
Lửng Lọc Lõi

6 tháng trước · 11 phút đọc

Tại sao test thủ công vẫn quan trọng dù không có tool?

Mình nhớ lần đầu được giao task test app mua sắm. Nhìn vào danh sách tool - Selenium, Appium, JMeter - mình tê liệt không biết bắt đầu từ đâu. Deadline thì cận. Cuối cùng mình mở điện thoại, mở browser, và test thủ công từng bước.

Kết quả? Mình tìm được 7 bug trong 2 tiếng. Không cần cài tool nào.

342726 Test thủ công vẫn phát hiện bug mà automation bỏ sót

Testing thủ công (manual testing) không phải là cách lỗi thời. Với fresher, đây là nền tảng bắt buộc trước khi học automation. Lý do đơn giản: bạn phải hiểu app hoạt động ra sao, người dùng nghĩ gì, và bug nào nguy hiểm nhất - rồi mới dạy máy tự động hóa được.

Một tỉ lệ lớn tổng số bug trong các dự án phần mềm vẫn được phát hiện qua manual testing, không phải automation. Con số này nói lên điều gì? Tool phức tạp giải quyết được nhiều thứ, nhưng không thay thế được mắt người.

Bài này mình sẽ đi thẳng vào checklist 20 items để test web và mobile thủ công. Mỗi item có ví dụ cụ thể từ app Việt Nam phổ biến - Shopee, Zalo, MoMo, VinID - để bạn thực hành ngay hôm nay.


Phần 1: Test UI - kiểm tra giao diện (items 1-7)

UI là thứ người dùng nhìn thấy đầu tiên. Bug UI không làm app crash, nhưng làm người dùng mất tin tưởng - và với sản phẩm Việt Nam đang cạnh tranh khốc liệt, đó là vấn đề nghiêm trọng.

Item 1: Chữ bị cắt hoặc tràn ra ngoài

Mở Shopee, tìm sản phẩm có tên dài. Tên sản phẩm có bị cắt gọn bằng dấu ... không? Hay tràn ra ngoài khung? Test thêm với font size lớn hơn (Accessibility settings trên điện thoại) - nhiều app Việt Nam vỡ layout ở bước này.

Item 2: Hình ảnh bị vỡ hoặc không load

Bật airplane mode 3 giây rồi tắt đi. Ảnh sản phẩm có placeholder đẹp không, hay hiện ô trắng xấu xí? MoMo xử lý tốt trường hợp này - bạn có thể lấy làm baseline so sánh.

Item 3: Màu sắc nút không đúng trạng thái

Nút "Thêm vào giỏ" khi sản phẩm hết hàng có bị disabled (xám đi) không? Hay vẫn xanh bình thường khiến người dùng bấm mãi không được?

342727 Ba lỗi UI phổ biến nhất fresher hay bỏ sót khi test

Item 4: Alignment - canh lề sai

Chụp screenshot rồi kéo ruler (thước) trong Paint hoặc Preview để kiểm tra. Icon, text, button có canh hàng không? Lỗi này hay xuất hiện ở các màn hình setting.

Item 5: Màn hình trống (empty state)

Xóa hết sản phẩm trong giỏ hàng Shopee. App hiện gì? Thông báo đẹp hay màn hình trắng? Empty state thường bị bỏ quên trong thiết kế.

Item 6: Loading state

Thao tác chậm mạng (bật 2G trong Developer Options Android hoặc Network Throttling trên Chrome). App có hiện spinner hoặc skeleton screen không? Hay đứng im khiến người dùng tưởng app bị đơ?

Item 7: Keyboard che mất input field

Test màn hình đăng nhập Zalo trên iPhone SE (màn hình nhỏ). Khi bàn phím bật lên, ô nhập mật khẩu có bị che không? Đây là bug hay gặp ở các app chưa handle KeyboardAvoidingView đúng cách.


Phần 2: Test functionality - kiểm tra chức năng (items 8-14)

Giao diện đẹp nhưng chức năng sai thì không ai dùng được. Đây là phần quan trọng nhất và cũng là phần fresher hay test "nửa vời" nhất.

Item 8: Happy path - luồng chính

Mở VinID, thực hiện đúng 1 giao dịch: đăng nhập → chọn ví → thanh toán mã QR. Ghi lại từng bước. Đây là happy path - luồng người dùng làm đúng hoàn toàn. Phải test cái này trước tiên.

Item 9: Validation input - kiểm tra ô nhập liệu

Ô nhập số điện thoại trên Zalo: thử nhập chữ, nhập số có dấu cách, nhập 9 số thay vì 10 số. App có báo lỗi rõ ràng không? Hay submit thẳng rồi crash?

Mình từng test một app fintech: nhập email không có @, app vẫn cho qua và lỗi ở bước xác nhận OTP - mất cả 5 phút người dùng mới biết sai từ đầu.

Item 10: Boundary values - giá trị biên

Giới hạn tối thiểu/tối đa hay gây bug nhất. Ví dụ: chuyển tiền MoMo tối thiểu 1.000đ - thử nhập 999đ xem thông báo lỗi có rõ không. Thử nhập 0đ. Thử nhập số âm (-1000).

342728 Test boundary value: chỉ cần 3 giá trị này là đủ để bắt phần lớn bug biên

Item 11: Required fields - trường bắt buộc

Form đăng ký để trống từng ô một rồi bấm Đăng ký. Ô nào là bắt buộc? App có highlight rõ không? Thứ tự focus có nhảy đúng ô lỗi không?

Item 12: Data persistence - dữ liệu có được lưu không

Điền nửa chừng form rồi tắt app. Mở lại - form có tự điền lại không? Đây là UX nhỏ nhưng người dùng rất để ý, đặc biệt với form dài như đơn vay vốn, form đặt vé.

Item 13: Action buttons - nút hành động

Bấm nút "Đặt hàng" 2 lần liên tiếp thật nhanh. App có đặt 2 đơn không? Nút có bị disable sau lần bấm đầu không? Double-tap bug này xuất hiện ở rất nhiều app thanh toán Việt Nam.

Item 14: Navigation - điều hướng

Bấm back liên tục từ trang sâu nhất. App có trở về đúng màn hình trước không, hay bị vòng lặp? Đặc biệt test sau khi hoàn thành giao dịch - back có quay về trang thanh toán không (nghiêm trọng nếu có).


Phần 3: Test compatibility - kiểm tra tương thích (items 15-20)

Một app chạy tốt trên iPhone 14 của bạn không có nghĩa là tốt trên Android 6 của bà nội. Compatibility testing chính là kiểm tra điều đó.

Thực tế ở Việt Nam: Android chiếm khoảng 97-98% thị phần smartphone tại Việt Nam năm 2024 (Statista & IDC Vietnam Market Reports) người dùng smartphone Việt Nam dùng thiết bị Android giá rẻ, màn hình nhỏ, RAM thấp. Test trên iPhone Pro xong rồi release là một trong những sai lầm phổ biến nhất mình thấy ở fresher.

Item 15: Test trên ít nhất 2 kích thước màn hình

Trên web: dùng Chrome DevTools (F12 → icon điện thoại) để giả lập iPhone SE (375px) và màn hình 1440px. Trên mobile: nếu chỉ có 1 thiết bị, dùng giả lập Android Studio hoặc Xcode Simulator.

Item 16: Test trên ít nhất 2 trình duyệt

Web app phải test tối thiểu Chrome và Safari (iOS). Nhiều CSS property hoạt động khác nhau giữa 2 browser này - đặc biệt là flexbox, date picker, và custom scrollbar.

342729 Safari vs Chrome: cùng 1 app nhưng render khác nhau ở nhiều điểm

Item 17: Test chế độ tối (Dark Mode)

Bật Dark Mode trên điện thoại. Chữ trên nền tối có dễ đọc không? Hay chữ đen trên nền đen (không thấy gì)? Lỗi này mình gặp ở ít nhất 3 app ngân hàng Việt Nam trong năm ngoái.

Item 18: Test orientation - xoay ngang

Xoay điện thoại sang ngang. App có hỗ trợ landscape không? Nếu có, layout có vỡ không? Nếu chỉ hỗ trợ portrait, app có lock orientation không hay để layout vỡ?

Item 19: Test khi bị gián đoạn

Đang dùng app thì có cuộc gọi đến - nghe xong quay lại app thì sao? App có bị reset về màn hình chính không? Dữ liệu đang điền có bị mất không? Đây là interruption testing - ít fresher nào test cái này nhưng bug hay xuất hiện ở đây.

Item 20: Test kết nối mạng yếu hoặc mất mạng

Chuyển sang 2G (Android: Developer Options → Simulate slow network / Chrome: DevTools → Network → Slow 3G). App có hiện thông báo lỗi mạng thân thiện không? Hay trắng màn hình? Thao tác có bị mất không khi mạng phục hồi?

Lưu ý nhỏ: mình biết test 20 items này nghe có vẻ nhiều. Nhưng với 1 tính năng bình thường, thực hiện hết checklist này chỉ mất khoảng 45-60 phút. Không phải cả ngày. Và kết quả là bạn tự tin hơn hẳn khi viết bug report.


Checklist đầy đủ và cách dùng khi thực hành

Mình tổng hợp toàn bộ 20 items vào file checklist để bạn dùng ngay - không cần nhớ hết, in ra hoặc mở song song với app đang test là đủ.

Tải checklist tại đây: Tải checklist 20 items test web & mobile

342730 In hoặc mở song song khi test - đánh dấu từng item để không bỏ sót

Cách dùng checklist đúng:

Không phải lúc nào cũng cần test đủ 20 items. Tùy theo loại task:

  • Tính năng mới: test đủ cả 20 items (UI + functionality + compatibility)
  • Bug fix nhỏ: tập trung items 8-14 (functionality) + regression nhanh items 1-3
  • Chỉ thay đổi giao diện: tập trung items 1-7 (UI) + items 15-18 (compatibility)

Thực hành tốt nhất cho fresher là chọn 1 app Việt Nam đang dùng hàng ngày (Shopee, Zalo, MoMo, Grab), chọn 1 tính năng cụ thể, rồi đi qua toàn bộ 20 items. Ghi lại bằng Google Sheets hoặc Notion: tên item, pass/fail, mô tả lỗi nếu có, screenshot.

Làm như vậy 2-3 lần là bạn đã có portfolio test case thực tế - thứ nhiều fresher thiếu khi đi phỏng vấn.

Nếu bạn muốn đi sâu hơn vào kiểm thử phần mềm chuyên nghiệp - từ viết test case đúng chuẩn, bug report chi tiết đến làm quen Jira và các tool cơ bản - khóa Kiểm thử phần mềm cover chi tiết những phần này, phù hợp cho người trái ngành muốn chuyển sang QA trong 2-3 tháng.

Cuối cùng, mình muốn nói thẳng:

Testing không cần tool xịn để bắt đầu. Cần mắt kỹ, tư duy tỉ mỉ, và checklist để không bỏ sót. 20 items này là đủ để bạn tự luyện và tạo ấn tượng trong buổi phỏng vấn fresher đầu tiên.

25, 30, hay 35 tuổi đều không muộn để học. Lớp mình từng có bạn 33 tuổi chuyển từ kế toán, làm theo đúng checklist này trong 3 tháng, giờ đang làm QA tại một công ty fintech ở Hà Nội.

Test kỹ 1 lần tốt hơn fix lỗi nhiều lần. Comment bên dưới nếu bạn có câu hỏi - mình trả lời từng bạn!