```html
Dành cho Fresher Tester — Web & Mobile
Tổng items
20
checklist items
Pass
0
Fail
0
N/A
0
| # | Tên kiểm thử | Cách thực hiện | Ví dụ thực tế | Kết quả | Ghi chú |
|---|---|---|---|---|---|
|
|
|||||
| 01 |
Chữ bị cắt hoặc tràn Text overflow / truncate |
Nhập văn bản dài bất thường vào các trường hiển thị (tên sản phẩm, tên người dùng, địa chỉ). Kiểm tra xem chữ có bị cắt giữa chừng, tràn ra ngoài khung, hoặc chồng lên thành phần khác không. Kiểm tra cả trên màn hình nhỏ. |
Shopee: Tên sản phẩm quá dài trong card danh sách, giá tiền hiển thị sai vị trí khi số nhiều chữ số. |
|
|
| 02 |
Hình ảnh bị vỡ hoặc không load Broken / missing images |
Cuộn qua tất cả màn hình có hình ảnh. Kiểm tra icon bị vỡ, ảnh placeholder thay thế ảnh thật, ảnh load quá chậm không có skeleton. Tắt mạng và reload để xem fallback image hoạt động không. |
Shopee: Ảnh sản phẩm trong trang chi tiết hiển thị icon vỡ khi URL ảnh lỗi. Banner khuyến mãi không có skeleton loading. |
|
|
| 03 |
Màu sắc nút sai trạng thái Button state colors |
Kiểm tra nút ở các trạng thái: bình thường, hover (web), nhấn giữ, disabled, loading. Nút disabled phải có màu nhạt và không phản hồi. Nút active phải có màu khác biệt rõ ràng. So sánh với design spec nếu có. |
MoMo: Nút "Thanh toán" vẫn giữ màu sáng dù form chưa điền đủ thông tin, khiến người dùng nghĩ nút đã active. |
|
|
| 04 |
Alignment — canh lề sai Layout alignment |
Quan sát tổng thể layout từng màn hình. Kiểm tra các thành phần có canh hàng đều không (trái, phải, giữa). Dùng thước hoặc đường gióng để phát hiện lệch pixel. Đặc biệt chú ý các list item, card, form label và input. |
Zalo: Tên người gửi và thời gian tin nhắn không canh đều theo chiều dọc, gây cảm giác lộn xộn trong danh sách chat. |
|
|
| 05 |
Màn hình trống (empty state) Empty state UI |
Truy cập các tính năng khi chưa có dữ liệu: giỏ hàng trống, lịch sử giao dịch trống, kết quả tìm kiếm không có kết quả, danh sách yêu thích rỗng. Kiểm tra có hiển thị thông báo hướng dẫn hành động tiếp theo không. |
VinID: Màn hình "Lịch sử giao dịch" khi chưa có giao dịch chỉ hiện màn trắng, không có thông báo hoặc nút gợi ý hành động. |
|
|
| 06 |
Loading state Skeleton / spinner UI |
Thực hiện các thao tác cần tải dữ liệu (mở trang, gửi form, tải thêm). Kiểm tra có spinner/skeleton không, nội dung cũ có bị thay bởi loader không, nút có bị disable khi đang loading không, và loading có kết thúc hợp lý không. |
MoMo: Khi nạp tiền điện thoại, nếu mạng chậm, nút "Xác nhận" không hiện trạng thái loading khiến người dùng nhấn lại nhiều lần. |
|
|
| 07 |
Keyboard che mất input field Soft keyboard overlap |
Trên mobile, nhấn vào ô nhập liệu ở cuối màn hình. Kiểm tra khi bàn phím mềm bật lên có che mất trường đang nhập không. Giao diện có tự scroll lên để lộ input không. Kiểm tra cả khi bàn phím gợi ý (autocomplete bar) xuất hiện. |
Shopee: Form đặt hàng, khi nhấn vào ô "Ghi chú cho shop" ở cuối trang, bàn phím che mất ô nhập và nút xác nhận. |
|
|
|
|
|||||
| 08 |
Happy path — luồng chính Core user journey |
Thực hiện toàn bộ luồng chính của tính năng từ đầu đến cuối với dữ liệu hợp lệ. Đảm bảo mỗi bước hoàn thành đúng và dữ liệu đầu ra chính xác. Đây là test case quan trọng nhất, phải pass trước khi test các trường hợp khác. |
Shopee: Luồng: Tìm sản phẩm - Thêm vào giỏ - Chọn địa chỉ - Chọn phương thức thanh toán - Đặt hàng thành công - Nhận thông báo xác nhận. |
|
|
| 09 |
Validation input Input field validation |
Nhập các giá trị không hợp lệ: email thiếu @, số điện thoại chữ, mật khẩu quá ngắn, ký tự đặc biệt trong tên. Kiểm tra thông báo lỗi có hiện không, nội dung thông báo có rõ ràng không, và lỗi có hiện đúng vị trí ô nhập liệu lỗi không. |
Zalo: Đăng ký số điện thoại, nhập "abc123" - kiểm tra thông báo lỗi "Số điện thoại không hợp lệ" có hiện dưới ô nhập không. |
|
|
| 10 |
Boundary values — giá trị biên Min / Max / Edge cases |
Test với giá trị tối thiểu (min), tối đa (max), và ngay tại biên (min-1, max+1). Ví dụ: số lượng mua tối thiểu 1, tối đa 999 - thử nhập 0, 1, 999, 1000. Kiểm tra ô số tiền, giới hạn ký tự, số sản phẩm, ngày tháng hợp lệ. |
MoMo: Chuyển tiền số tiền tối thiểu 1.000 đồng, tối đa 100 triệu/lần - thử nhập 999, 1.000, 100.000.000 và 100.000.001. |
|
|
| 11 |
Required fields — trường bắt buộc Mandatory field check |
Bỏ trống từng trường bắt buộc trong form rồi submit. Kiểm tra hệ thống có ngăn submit không, có đánh dấu trường bắt buộc (*) không, thông báo lỗi có chỉ đúng trường bị bỏ trống không. Thử submit form hoàn toàn trống. |
VinID: Form đặt bàn nhà hàng, bỏ trống "Tên liên hệ" hoặc "Số điện thoại" - hệ thống phải báo lỗi và không gửi được yêu cầu. |
|
|
| 12 |
Data persistence — lưu dữ liệu Data saving & retention |
Nhập dữ liệu vào form, sau đó chuyển sang màn hình khác rồi quay lại - dữ liệu có còn không. Tắt app và mở lại - giỏ hàng/nháp có được giữ không. Đăng xuất rồi đăng nhập lại - dữ liệu profile có đúng không. |
Shopee: Thêm sản phẩm vào giỏ hàng, tắt app hoàn toàn, mở lại - giỏ hàng phải vẫn còn sản phẩm đã thêm trước đó. |
|
|
| 13 |
Action buttons — double-tap Duplicate action prevention |
Nhấn nhanh liên tiếp 2-3 lần vào nút hành động quan trọng (thanh toán, gửi, đăng ký, đặt hàng). Kiểm tra hệ thống có xử lý trùng lặp không - tránh gửi 2 đơn, 2 giao dịch, hoặc mở 2 màn hình chồng lên nhau. |
MoMo: Nhấn nhanh 2 lần nút "Xác nhận thanh toán" - hệ thống chỉ được thực hiện 1 giao dịch, không bị trừ tiền 2 lần. |
|
|
| 14 |
Navigation — điều hướng & back Screen navigation flow |
Kiểm tra nút Back/Quay lại có về đúng màn hình trước không. Nhấn Back nhiều lần liên tiếp xem có bị kẹt hoặc crash không. Điều hướng qua tab bar, drawer menu, deep link. Kiểm tra breadcrumb trên web có chính xác không. |
Zalo: Từ chat nhóm, nhấn vào ảnh đại diện thành viên, vào trang cá nhân, nhấn Back phải về đúng cửa sổ chat, không phải trang chủ. |
|
|
|
|
|||||
| 15 |
Hai kích thước màn hình Screen size compatibility |
Test trên ít nhất 1 màn hình nhỏ (điện thoại 5-5.5 inch, độ phân giải thấp) và 1 màn hình lớn (tablet hoặc desktop). Kiểm tra layout có responsive không, nội dung không bị ẩn, font không quá nhỏ hay quá lớn, các nút đủ vùng nhấn (44px). |
VinID: Test trên Samsung Galaxy A14 (6.6 inch) và iPad - kiểm tra menu điều hướng, card ưu đãi, và bản đồ chi nhánh hiển thị đúng trên cả hai. |
|
|
| 16 |
Hai trình duyệt khác nhau Cross-browser testing |
Test trên ít nhất Chrome và Safari (hoặc Firefox/Edge). Chú ý: CSS hiển thị khác nhau, font render khác nhau, các API HTML5 hỗ trợ khác nhau. Kiểm tra form, modal, dropdown, animation có hoạt động đồng đều trên cả hai trình duyệt không. |
Shopee Web: Trang thanh toán trên Chrome hiển thị đúng nhưng trên Safari iOS nút "Đặt hàng" bị đẩy ra ngoài viewport hoặc font bị lệch. |
|
|
| 17 |
Chế độ tối (Dark Mode) Dark mode UI check |
Bật Dark Mode trên hệ thống hoặc trong app. Kiểm tra toàn bộ màn hình xem có màu trắng/sáng nào bị sót không (chữ trắng trên nền trắng). Kiểm tra icon, hình ảnh, badge thông báo có dễ đọc trong nền tối không. App có hỗ trợ thêm tùy chọn riêng không. |
Zalo: Bật Dark Mode hệ thống - kiểm tra màn hình chat, text nhập liệu, tên người dùng và thời gian có hiển thị tương phản đủ không. |
|
|
| 18 |
Orientation — xoay ngang Landscape mode test |
Xoay thiết bị sang chế độ ngang (landscape) khi đang ở các màn hình khác nhau. Kiểm tra layout có tự điều chỉnh không, nội dung có bị mất không, modal/dialog có hiển thị đúng không. Xoay lại dọc khi đang ở landscape xem trạng thái có được giữ không. |
MoMo: Khi đang xem QR thanh toán, xoay màn hình ngang - mã QR phải vẫn hiển thị đầy đủ và không bị cắt xén hay kéo dãn méo. |
|
|
| 19 |
Test bị gián đoạn (interruption) App interruption handling |
Trong khi đang thực hiện thao tác (điền form, xem video, thanh toán): nhận cuộc gọi rồi từ chối, nhận thông báo từ app khác, nhấn Home rồi quay lại, khóa màn hình rồi mở lại. Kiểm tra dữ liệu đã điền có còn không và trạng thái có đúng không. |
Shopee: Đang điền địa chỉ giao hàng thì nhận tin nhắn Zalo, chuyển qua đọc rồi quay lại - tất cả thông tin đã nhập phải còn nguyên. |
|
|
| 20 |
Mạng yếu hoặc mất mạng Network condition testing |
Dùng chế độ máy bay, hoặc Developer Options (Android)/Network Link Conditioner (iOS) để giả lập mạng 3G chậm hoặc mất mạng. Kiểm tra thông báo lỗi mạng có hiện không, dữ liệu offline có dùng được không, khi có mạng lại có tự đồng bộ không. |
Zalo: Tắt mạng khi đang soạn tin nhắn - thông báo "Không có kết nối internet" phải hiện. Bật mạng lại - tin nhắn đang chờ phải được gửi tự động. |
|
|
Người thực hiện kiểm thử
Ký tên & họ tên
Người review / Leader
Ký tên & họ tên
Ngày hoàn thành
Ngày / Tháng / Năm