Test checklist

[Manual testing] Cách viết test checklist hiệu quả

Phong Do Phong Do · 31/08/2025 · 9 phút đọc

Format chuẩn cho test checklist

1. Quick Context (Bối cảnh nhanh)

  • Purpose (Mục đích): [Checklist này dùng cho loại app/tính năng nào]
  • Estimated Time (Thời gian ước tính): [X phút]
  • Priority Level (Mức độ ưu tiên): [Critical/High/Medium/Low]
  • Prerequisites (Điều kiện tiên quyết): [Test data, tools, accounts, environment cần chuẩn bị]

2. Critical Path Testing (Kiểm tra luồng chính)

Happy Path (Luồng chính – trường hợp thành công)

  • [ ] Step 1: [Action] → [Expected Result]
  • [ ] Step 2: [Action] → [Expected Result]
  • [ ] Step 3: [Action] → [Expected Result]
  • [ ] Step 4: [Action] → [Expected Result]

Top Edge Cases (Các trường hợp biên quan trọng)

  • [ ] Edge case 1: [Scenario] → [Expected Behavior]
  • [ ] Edge case 2: [Scenario] → [Expected Behavior]
  • [ ] Edge case 3: [Scenario] → [Expected Behavior]
  • [ ] Edge case 4: [Scenario] → [Expected Behavior]
  • [ ] Edge case 5: [Scenario] → [Expected Behavior]

3. Quick Validation Checklist (Danh sách kiểm tra nhanh)

P1 – Critical (Quan trọng – PHẢI test)

  • [ ] Core functionality works? (Chức năng chính hoạt động?)
  • [ ] Data is saved correctly? (Dữ liệu được lưu đúng?)
  • [ ] Basic security validated? (Bảo mật cơ bản OK?)
  • [ ] No app crashes? (App không bị crash?)
  • [ ] Critical business rules enforced? (Quy tắc nghiệp vụ quan trọng được thực thi?)

P2 – Important (Cần thiết – NÊN test)

  • [ ] UI displays correctly? (Giao diện hiển thị đúng?)
  • [ ] Error messages are clear? (Thông báo lỗi rõ ràng?)
  • [ ] Performance acceptable? (Hiệu năng chấp nhận được?)
  • [ ] Works on different devices/browsers? (Hoạt động trên nhiều thiết bị/trình duyệt?)
  • [ ] Input validation working? (Validation input hoạt động?)

P3 – Nice to have (Bổ sung – test khi có thời gian)

  • [ ] Accessibility features work? (Tính năng accessibility?)
  • [ ] UI animations smooth? (Animation mượt mà?)
  • [ ] Minor edge cases covered? (Các edge case phụ?)
  • [ ] Cross-browser compatibility? (Tương thích đa trình duyệt?)

4. Red Flags to Watch (Dấu hiệu cảnh báo cần chú ý)

Stop and Escalate if (Dừng và báo cáo ngay nếu):

  • [ ] Data loss or corruption (Mất hoặc hỏng dữ liệu)
  • [ ] Security vulnerability found (Phát hiện lỗ hổng bảo mật)
  • [ ] Payment/Transaction issues (Vấn đề thanh toán/giao dịch)
  • [ ] User cannot proceed/stuck (User bị kẹt, không thể tiếp tục)
  • [ ] Personal data exposed (Rò rỉ thông tin cá nhân)
  • [ ] System crash/hang (Hệ thống crash/treo)

5. Quick Test Data (Dữ liệu test nhanh)

Valid Data (Dữ liệu hợp lệ):

Example: [Provide specific valid test data]

Invalid Data (Dữ liệu không hợp lệ):

Example: [Provide specific invalid test data]

Boundary Values (Giá trị biên):

Min: [Minimum value]
Max: [Maximum value]
Min-1: [Below minimum]
Max+1: [Above maximum]

Special Characters & Edge Cases (Ký tự đặc biệt và trường hợp đặc biệt):

Special chars: !@#$%^&*()_+-=[]{}|;':",./<>?
SQL Injection: ' OR '1'='1
XSS: <script>alert('test')</script>
Empty/Null: [blank], null, undefined

6. Platform-Specific Quick Checks (Kiểm tra nhanh theo nền tảng)

Mobile App Checks:

  • [ ] Screen rotation (portrait/landscape) (Xoay màn hình dọc/ngang)
  • [ ] App background/foreground (Chuyển app background/foreground)
  • [ ] Network connection (on/off/slow) (Kết nối mạng bật/tắt/chậm)
  • [ ] Low battery mode (Chế độ pin yếu)
  • [ ] Permission handling (Xử lý quyền truy cập)
  • [ ] Push notifications (Thông báo đẩy)
  • [ ] Device back button (Nút back của thiết bị)

Web Application Checks:

  • [ ] Browser back/forward buttons (Nút back/forward trình duyệt)
  • [ ] Multiple tabs/windows (Mở nhiều tab/cửa sổ)
  • [ ] Browser refresh (F5) (Refresh trang)
  • [ ] Different browsers (Chrome, Firefox, Safari, Edge)
  • [ ] Zoom in/out functionality (Phóng to/thu nhỏ)
  • [ ] Cookies enabled/disabled (Bật/tắt cookies)
  • [ ] JavaScript enabled/disabled (Bật/tắt JavaScript)

Desktop Application Checks:

  • [ ] Installation/Uninstallation (Cài đặt/Gỡ cài đặt)
  • [ ] Multiple instances running (Chạy nhiều instance)
  • [ ] OS compatibility (Tương thích hệ điều hành)
  • [ ] Minimize/Maximize/Close (Thu nhỏ/Phóng to/Đóng)
  • [ ] System tray behavior (Hoạt động system tray)
  • [ ] Auto-update mechanism (Cơ chế tự động cập nhật)

7. Notes Section (Ghi chú)

Test Environment (Môi trường test):

  • Environment: [Dev/Staging/Production]
  • Version: [App version number]
  • Date: [Test date]
  • Tester: [Tester name]

Issues Found (Vấn đề phát hiện):

  • [ ] Issue 1: [Description]
  • [ ] Issue 2: [Description]
  • [ ] Issue 3: [Description]

Additional Comments (Nhận xét thêm):

[Any additional observations or recommendations]

Ví dụ thực tế: checklist cho login feature

1. Quick Context (Bối cảnh nhanh)

  • Purpose (Mục đích): Test chức năng Login cho web/mobile app
  • Estimated Time (Thời gian ước tính): 5-10 phút
  • Priority Level (Mức độ ưu tiên): Critical
  • Prerequisites (Điều kiện tiên quyết):
    • 2 test accounts (1 valid, 1 invalid)
    • Access to test environment
    • Email access for password reset testing

2. Critical Path Testing (Kiểm tra luồng chính)

Happy Path (Luồng chính – trường hợp thành công)

  • [ ] Enter valid email + password → Login successful, redirect to dashboard
  • [ ] Check “Remember me” → Close and reopen app → Still logged in
  • [ ] Click “Forgot password” → Enter email → Receive reset link within 5 minutes
  • [ ] Click reset link → Set new password → Login with new password successfully

Top Edge Cases (Các trường hợp biên quan trọng)

  • [ ] Wrong password 3 times → Account temporarily locked for 15 minutes
  • [ ] SQL injection attempt: Input ' OR '1'='1 → Show error “Invalid credentials”
  • [ ] Copy-paste password from password manager → Login works normally
  • [ ] Login with inactive/suspended account → Show “Account suspended” message
  • [ ] Multiple failed attempts from same IP → CAPTCHA appears

3. Quick Validation Checklist (Danh sách kiểm tra nhanh)

P1 – Critical (Quan trọng – PHẢI test)

  • [ ] Can login with valid credentials? (Login được với thông tin đúng?)
  • [ ] Password field is masked? (Mật khẩu được ẩn?)
  • [ ] Login uses HTTPS? (Có dùng HTTPS?)
  • [ ] Session expires after inactivity? (Session hết hạn khi không hoạt động?)
  • [ ] Logout actually clears session? (Logout xóa hết session?)

P2 – Important (Cần thiết – NÊN test)

  • [ ] Error messages don’t reveal if email exists? (Thông báo lỗi không tiết lộ email tồn tại?)
  • [ ] Loading indicator shows during login? (Có loading khi đang login?)
  • [ ] Works with browser password managers? (Hoạt động với password manager?)
  • [ ] Tab order logical (email → password → button)? (Thứ tự tab hợp lý?)
  • [ ] Enter key submits form? (Phím Enter submit form?)

P3 – Nice to have (Bổ sung – test khi có thời gian)

  • [ ] Social login works (Google, Facebook)? (Login mạng xã hội hoạt động?)
  • [ ] “Show password” toggle works? (Nút hiện/ẩn password hoạt động?)
  • [ ] Login page responsive on mobile? (Trang login responsive trên mobile?)
  • [ ] Accessibility – screen reader compatible? (Tương thích screen reader?)

4. Red Flags to Watch (Dấu hiệu cảnh báo cần chú ý)

Stop and Escalate if (Dừng và báo cáo ngay nếu):

  • [ ] Password visible in plain text in network request
  • [ ] Can access protected pages without login
  • [ ] Password stored in browser local storage
  • [ ] No rate limiting – unlimited login attempts allowed
  • [ ] Session token in URL
  • [ ] User can login with empty password

5. Quick Test Data (Dữ liệu test nhanh)

Valid Data (Dữ liệu hợp lệ):

Email: testuser@example.com
Password: Test@123456

Invalid Data (Dữ liệu không hợp lệ):

Email: invalid@test.com
Password: wrongpassword
Empty email: [leave blank]
Invalid format: notanemail

Boundary Values (Giá trị biên):

Min password: 6 chars (Test@1)
Max password: 50 chars (Test@123456789012345678901234567890123456789012345)
Max email: 254 chars

Special Characters & Edge Cases (Ký tự đặc biệt và trường hợp đặc biệt):

SQL Injection: admin' --
                ' OR '1'='1
                '; DROP TABLE users; --
XSS: <script>alert('xss')</script>
     javascript:alert('xss')
Special chars in password: !@#$%^&*()_+-=[]{}|;':",./<>?
Unicode: 用户@测试.com
Spaces: " user@test.com " (with spaces)
Case sensitivity: USER@TEST.COM vs user@test.com

6. Platform-Specific Quick Checks (Kiểm tra nhanh theo nền tảng)

Mobile App Checks:

  • [ ] Biometric login (fingerprint/face) works after first login
  • [ ] App stays logged in after killing app
  • [ ] Login works on both WiFi and mobile data
  • [ ] Keyboard type correct (email keyboard for email field)
  • [ ] Auto-capitalize OFF for email field

Web Application Checks:

  • [ ] Browser back after login doesn’t show login page
  • [ ] Multiple tabs – login in one tab reflects in others
  • [ ] Works in incognito/private mode
  • [ ] Browser autofill works correctly
  • [ ] Supports password managers (LastPass, 1Password)

7. Notes Section (Ghi chú)

Test Environment (Môi trường test):

  • Environment: Staging
  • Version: v2.1.0
  • Date: 2024-01-15
  • Tester: QA Team

Issues Found (Vấn đề phát hiện):

  • [ ] Issue 1: No CAPTCHA after 5 failed attempts
  • [ ] Issue 2: Error message reveals if email exists in system
  • [ ] Issue 3: Session doesn’t expire after 30 minutes of inactivity

Additional Comments (Nhận xét thêm):

- Consider adding 2FA for enhanced security
- Password reset email sometimes delayed (>10 minutes)
- Login performance slow on 3G connection (>5 seconds)

Hướng dẫn sử dụng checklist

  1. Copy template này cho mỗi feature/module cần test
  2. Điền thông tin cụ thể vào các placeholder […]
  3. Tick checkbox khi hoàn thành mỗi item
  4. Ưu tiên test theo thứ tự: P1 → P2 → P3
  5. Dừng ngay và escalate nếu gặp Red Flags
  6. Lưu lại kết quả test trong Notes Section

Lưu ý:

  • Checklist này để test nhanh, không thay thế test case chi tiết
  • Điều chỉnh test checklist theo context cụ thể của dự án
  • Luôn update checklist khi phát hiện case mới
  • Chia sẻ với team để cùng nhau cải thiện

Template Version: 1.0 

Last Updated: 2025-08-31

Created by: Better Bytes Academy

Phong Do
Tác giả
Phong Do