Test checklist
[Manual testing] Checklist cho case “Login” và “Registration”

1. Context
- Mục đích: Kiểm thử chức năng Đăng nhập/Đăng ký cho web và mobile app
- Thời gian ước tính: 15-20 phút
- Mức độ ưu tiên: Critical
- Điều kiện tiên quyết:
- Test accounts (mới và cũ)
- Truy cập email để test xác thực
- Môi trường test sẵn sàng
- Test data cho các trường hợp
2. Kiểm Tra Luồng Chính
Happy Path – Đăng Ký
- [ ] Nhập thông tin hợp lệ → Tạo tài khoản thành công
- [ ] Email xác thực gửi trong 2 phút → Click link → Kích hoạt tài khoản
- [ ] Đăng nhập ngay sau đăng ký → Vào được dashboard
- [ ] Profile mới có đầy đủ thông tin đã nhập
Happy Path – Đăng Nhập
- [ ] Email + password đúng → Đăng nhập thành công
- [ ] Remember me → Đóng browser → Mở lại vẫn đăng nhập
- [ ] Forgot password → Nhập email → Nhận link reset trong 5 phút
- [ ] Reset password → Đăng nhập với password mới OK
Top Edge Cases
- [ ] Email đã tồn tại → Hiện thông báo “Email đã được sử dụng”
- [ ] Sai password 5 lần → Khóa tài khoản 30 phút
- [ ] SQL injection:
' OR '1'='1→ Báo lỗi “Thông tin không hợp lệ” - [ ] Đăng ký với email tạm (temp mail) → Chặn hoặc cảnh báo
- [ ] Session timeout sau 30 phút không hoạt động → Yêu cầu đăng nhập lại
3. Danh Sách Kiểm Tra Nhanh
P1 – Critical (PHẢI test)
- [ ] Đăng ký với thông tin hợp lệ thành công?
- [ ] Đăng nhập với thông tin đúng OK?
- [ ] Password được mã hóa (không hiển thị)?
- [ ] Sử dụng HTTPS cho form login?
- [ ] Không thể đăng ký với email đã tồn tại?
- [ ] Logout xóa sạch session và token?
P2 – Important (NÊN test)
- [ ] Validation email format đúng?
- [ ] Password strength indicator hoạt động?
- [ ] Captcha xuất hiện sau nhiều lần thất bại?
- [ ] Social login (Google/Facebook) hoạt động?
- [ ] Resend verification email hoạt động?
- [ ] Terms & Conditions checkbox bắt buộc?
P3 – Nice to have
- [ ] Auto-complete/suggestion cho email?
- [ ] Show/Hide password toggle?
- [ ] Đăng nhập bằng số điện thoại?
- [ ] Multi-language support?
- [ ] Accessibility cho screen reader?
4. Cảnh Báo Quan Trọng
Dừng và Báo Cáo Ngay Nếu:
- [ ] Password hiển thị plain text trong network request
- [ ] Có thể truy cập trang protected không cần login
- [ ] Không có rate limiting cho login attempts
- [ ] Email verification link không expire
- [ ] User data bị expose trong response/logs
- [ ] Có thể đăng ký với email rỗng hoặc password rỗng
5. Test Data Nhanh
Dữ Liệu Hợp Lệ:
Email: testuser@example.com
Password: Test@123456
Tên: Nguyễn Văn Test
SĐT: 0901234567
Dữ Liệu Không Hợp Lệ:
Email sai format: notanemail, @example.com, user@
Password yếu: 123, abc, password
Email đặc biệt: test+tag@email.com
Tên có số: John123, 123456
Giá Trị Biên:
Email min: a@b.c (5 ký tự)
Email max: [254 ký tự]
Password min: 6 ký tự
Password max: 128 ký tự
Tên min: 2 ký tự
Tên max: 50 ký tự
Special Characters & SQL/XSS:
SQL Injection:
- admin'--
- ' OR '1'='1
- '; DROP TABLE users;--
XSS Attack:
- <script>alert('xss')</script>
- javascript:alert(1)
- <img src=x onerror=alert(1)>
Special chars: !@#$%^&*()_+-=[]{}|;':",./<>?
Unicode: Nguyễn Thị 阮氏 مريم
6. Platform-Specific Checks
Mobile App:
- [ ] Biometric login (vân tay/face) sau lần đầu
- [ ] Keyboard type đúng (email keyboard)
- [ ] Auto-capitalize OFF cho email field
- [ ] Deep link cho email verification
- [ ] Push notification cho login mới
Web Application:
- [ ] Browser back không show trang login sau khi đã login
- [ ] Multiple tabs đồng bộ login status
- [ ] Password manager integration
- [ ] Incognito mode hoạt động
- [ ] Cross-browser (Chrome, Firefox, Safari, Edge)
7. Ghi Chú
Môi Trường Test:
- Environment: [Staging/Production]
- Version: [App version]
- Date: [Test date]
- Tester: [Name]
Issues Found:
- [ ] Issue 1: [Mô tả]
- [ ] Issue 2: [Mô tả]
- [ ] Issue 3: [Mô tả]
Nhận Xét Thêm:
[Ghi chú về performance, UX, security concerns, v.v.]
Template Version: 1.0 Last Updated: 2025
