🔄 Bài 3: Màn hình đổi mật khẩu (từ link gửi trong email)
Sau khi người dùng nhận được email reset password (từ Bài 2) và click vào link, họ sẽ được dẫn tới màn hình này để nhập mật khẩu mới.
📋 Bảng đặc tả các trường (Specification)
| # |
Tên |
Loại Control |
Chỉnh Sửa |
Bắt Buộc |
Mặc Định |
Mô Tả |
| 1 |
New password |
Text box |
Yes |
Yes |
Blank |
- Người dùng nhập mật khẩu mới với yêu cầu chứa từ 8–16 ký tự.
- Nếu nằm ngoài khoảng trên → message:
Password should be from 8 to 16 characters
- Nếu để trống → message:
Please input new password
|
| 2 |
Repeat new password |
Text box |
Yes |
Yes |
Blank |
- Người dùng nhập lại mật khẩu.
- Nếu để trống → message:
Please input Repeat new password
- Nếu không trùng → message:
Repeat new password is not the same with the password inputted
|
| 3 |
Change password |
Button |
N/a |
N/a |
N/a |
Kiểm tra dữ liệu nhập và thực hiện đổi mật khẩu nếu thỏa mãn các điều kiện. |
🎯 Yêu cầu công việc
- Đọc kỹ bảng Specification ở trên.
- Thiết kế bộ test case với đầy đủ:
- Positive case (password hợp lệ ở các độ dài: 8, 9, 15, 16 ký tự).
- Negative case (rỗng, dưới 8 ký tự, trên 16 ký tự, 2 password không khớp).
- Boundary case (đặc biệt chú ý các giá trị biên: 7, 8, 16, 17 ký tự).
- Sang tab "🧪 Form thực hành" để thực hiện test.
- Ghi nhận các bug phát hiện được.
💡 Gợi ý kỹ thuật test cho bài này — tập trung Boundary Value Analysis:
- Boundary value: Test password với độ dài chính xác
7, 8, 9 (cận biên dưới) và 15, 16, 17 (cận biên trên).
- Match check: Nhập 2 password giống nhau — ✅ pass. Nhập khác nhau — ❌ fail. Thử trường hợp giống nhau nhưng có khác biệt nhỏ (1 dấu cách thừa, 1 chữ hoa/thường khác).
- Đối chiếu message: Đặc biệt chú ý từng ký tự, dấu câu của message — đối chiếu với spec từng chữ.
- Thứ tự ưu tiên validation: Khi cả 2 trường đều rỗng — message nào hiển thị trước? Khi New password sai length nhưng Repeat trống — case nào ưu tiên?
- Special characters & Unicode: Password chứa space, ký tự đặc biệt, emoji.
- Sau khi đổi password thành công — quan sát behavior của form (clear input, lock form...).
⚠️ Lưu ý: Form có cài cắm nhiều bug ở các vùng: validation logic (đặc biệt boundary value), message text, và behavior sau submit. Hãy bám sát spec từng dòng.