Checklist kiểm thử web trước khi release: 40 mục không nên bỏ qua
Checklist không thay thế test case, nhưng nó giúp bạn không quên những lỗi lặp đi lặp lại ở hầu hết các dự án web. Dưới đây là 40 mục được chọn lọc theo 8 nhóm, ưu tiên những lỗi hay lọt ra production nhất.
Checklist khác test case thế nào?
Test case mô tả chi tiết bước làm, dữ liệu và kết quả mong đợi cho một tình huống cụ thể. Checklist là danh sách ngắn những điều cần kiểm tra, không ghi bước chi tiết. Checklist hợp khi cần soát nhanh trước release, khi tính năng nhỏ hoặc làm nguồn ý tưởng để viết test case. Nếu bạn cần mẫu test case, xem bài cách viết test case bằng Excel.
1. Form và nhập liệu
- Trường bắt buộc báo lỗi khi bỏ trống, thông báo nằm cạnh trường.
- Giá trị biên độ dài: min-1, min, max, max+1.
- Nhập toàn khoảng trắng: bị từ chối hoặc được trim.
- Tiếng Việt có dấu và emoji lưu, hiển thị đúng sau khi tải lại.
- Bấm Submit nhiều lần liên tiếp không tạo bản ghi trùng.
- Số điện thoại Việt Nam: 10 số, đầu 0, có hoặc không có +84.
2. Đăng nhập và phiên
- Sai mật khẩu và sai email hiện cùng một thông báo, để không lộ email nào đã đăng ký.
- Đăng xuất rồi bấm Back không xem lại được trang cần đăng nhập.
- Link quên mật khẩu chỉ dùng được một lần và có hạn.
- Mở thẳng URL trang nội bộ khi chưa đăng nhập phải bị chuyển về trang đăng nhập.
- OTP hết hạn, nhập sai nhiều lần, gửi lại có giới hạn.
3. Phân quyền và bảo mật cơ bản
- Đổi ID trên URL hoặc trong request không xem được dữ liệu của người khác (lỗi IDOR).
- User thường không vào được trang admin bằng cách gõ URL.
- Nhập
<script>alert(1)</script>vào ô nhập: không được thực thi khi hiển thị. - Thông báo lỗi không hiện stack trace hay câu SQL.
- Token, mật khẩu không xuất hiện trên URL hoặc Console.
4. Giao diện và responsive
- Kiểm tra ở 360px, 768px, 1280px. Không có thanh cuộn ngang ngoài ý muốn.
- Chuỗi tiếng Việt dài (tên sản phẩm, địa chỉ) không tràn khung.
- Có trạng thái loading và trạng thái danh sách trống.
- Nút bị disabled nhìn khác nút bình thường.
5. Tìm kiếm và danh sách
- Tìm "dien thoai" ra kết quả như "điện thoại" (nếu yêu cầu hỗ trợ không dấu).
- Kết hợp nhiều bộ lọc cho kết quả đúng; xóa bộ lọc trả lại đủ dữ liệu.
- Phân trang ở trang cuối và khi nhập số trang lớn hơn tổng.
6. Giỏ hàng và thanh toán
- Tổng tiền, phí ship, giảm giá tính đúng; tiền hiển thị dạng 1.000.000đ.
- Số lượng 0, số âm, vượt tồn kho.
- Mã giảm giá hết hạn, đã dùng, sai chữ hoa/thường.
- Bấm thanh toán hai lần không bị trừ tiền hai lần.
- Thanh toán thất bại hoặc hủy giữa chừng thì đơn ở trạng thái đúng.
7. API
- Status code đúng: 200, 201, 400, 401, 403, 404.
- Thiếu trường bắt buộc trả 400 kèm thông báo rõ.
- Thiếu token trả 401, sai quyền trả 403.
- Response đúng kiểu dữ liệu (số không bị trả về dạng chuỗi).
8. Hiệu năng và trước release
- Tab Console không có lỗi đỏ, tab Network không có request 4xx/5xx bất thường.
- Trang chính tải ổn trên mạng 4G (dùng chế độ throttling của DevTools).
- Kiểm tra trên Chrome, Safari iOS và Cốc Cốc.
- Smoke test các luồng chính trên production sau khi deploy.
- Đã dọn dữ liệu test và có kế hoạch rollback.
- Bug mức Critical và Major đã đóng hoặc được chấp nhận bằng văn bản.
Dùng checklist sao cho hiệu quả
- Đừng chạy hết mọi mục cho mọi tính năng. Chọn nhóm liên quan đến phần thay đổi.
- Ghi lại mục nào đã kiểm, trên môi trường và trình duyệt nào.
- Mỗi lần lọt bug ra production, thêm một mục vào checklist để lần sau không lặp lại.
- Những mục chạy lặp lại mỗi sprint là ứng viên tốt để tự động hóa. Xem bài Playwright TypeScript cho người mới.
Muốn dùng ngay? Xem bản checklist dùng thử miễn phí, hoặc bộ QA Kit tiếng Việt (repo Playwright chạy được, checklist 110 mục, mẫu test case Excel) giá 149.000đ, nhận file tự động qua email.