← Quay lại mục lục

Bài 5 — Form tạo tài khoản

Form đăng ký account mới với 6 rule cho field Account: case-insensitive, alphanumeric only, no spaces, auto-trim, unique, length 6-12. Tập trung Equivalence Partitioning + Boundary.

Khó #form #create-account #alphanumeric #unique #equivalence-partitioning

📝 Bài 5: Form tạo tài khoản

Form tạo tài khoản mới. Bài này tập trung vào nhiều rule validation cho field Account — học viên cần đối chiếu kỹ từng rule.

📌 Test data có sẵn (account đã tồn tại trong hệ thống)

  • admin01
  • tester99
  • student123

Bất kỳ giá trị account nào khác đều được coi là chưa tồn tại.

📋 Bảng đặc tả (Specification)

# Tên Loại Control Chỉnh Sửa Bắt Buộc Mặc Định Mô Tả
1 Account Text box Yes Yes Blank
  • Người dùng tiến hành nhập account muốn tạo vào trường này.
  • Account không phân biệt hoa thường.
  • Chỉ nhận chữ cái hoặc số (Alphanumeric).
  • Account không chứa khoảng trống ở giữa và sẽ tự động cắt khoảng trống đầu vào cuối của chuỗi.
  • Account là duy nhất, người dùng không thể nhập được account đã tồn tại.
  • Account phải từ 6 đến 12 ký tự.
2 Password Password Yes Yes Blank
  • Người dùng nhập mật khẩu vào trường này.
  • Độ dài mật khẩu từ 6–12 ký tự.
  • Không giới hạn kiểu ký tự.
3 Repeat password Password Yes Yes Blank Người dùng nhập lại mật khẩu vào đây (phải khớp với password).
4 Create account Button N/a N/a N/a Khi click sẽ thực hiện việc kiểm tra dữ liệu và tạo tài khoản nếu thỏa mãn.

📝 Message expected (do hệ thống định nghĩa thêm — đối chiếu khi test)

Trường hợpMessage
Account để trốngPlease input account
Account chứa ký tự không phải chữ cái/sốAccount must contain only letters and numbers
Account có khoảng trắng ở giữaAccount must not contain spaces
Account ngoài khoảng 6–12 ký tựAccount must be from 6 to 12 characters
Account đã tồn tạiAccount already exists
Password để trốngPlease input password
Password ngoài khoảng 6–12 ký tựPassword must be from 6 to 12 characters
Repeat password để trốngPlease input repeat password
Repeat password không khớpRepeat password is not the same with the password
Tạo thành côngCreate account successfully

🎯 Yêu cầu công việc

  1. Đọc kỹ bảng Specification — đặc biệt 6 rule của Account.
  2. Thiết kế bộ test case bao trùm:
    • Account — case-insensitive duplicate: nhập ADMIN01 hoặc Admin01 → phải báo "đã tồn tại" (vì admin01 đã có và case-insensitive).
    • Account — alphanumeric: thử với ký tự đặc biệt user_01, user-01, user.01, user@01 — phải báo lỗi.
    • Account — khoảng trắng: thử " admin " (space đầu/cuối — phải tự trim) và "ad min01" (space ở giữa — phải báo lỗi).
    • Account — boundary length: 5/6/7 và 11/12/13 ký tự.
    • Password — boundary length: 5/6/7 và 11/12/13 ký tự.
    • Repeat password: rỗng / khác / trùng / có whitespace.
  3. Sang tab "🧪 Form thực hành" để thực hiện test.
  4. Ghi nhận các bug phát hiện được.
💡 Gợi ý kỹ thuật test cho bài này:
  • Equivalence Partitioning cho field Account — chia input thành các nhóm: chỉ chữ / chỉ số / chữ + số / có ký tự đặc biệt / có space.
  • Boundary Value Analysis cho cả Account length và Password length — test giá trị 5/6/7/11/12/13.
  • Case sensitivity test: đặc biệt quan trọng — spec nói "không phân biệt hoa thường" → check trùng phải case-insensitive.
  • Whitespace handling: trim đầu/cuối nhưng KHÔNG cho phép space ở giữa — test cả 2 trường hợp.
  • Behavior sau success: form có reset không? Có thể tạo account ngay sau đó với cùng dữ liệu cũ?
⚠️ Lưu ý: Form có nhiều bug được cài cắm tập trung vào logic validation Account (vì account có nhiều rule nhất). Hãy đọc kỹ từng rule và verify từng cái một.
🔐

Vui lòng đăng nhập để nộp bài.

Đăng nhập
🔐

Tab dành cho giảng viên

Tab này chứa danh sách các lỗi đã cài cắm trong form. Vui lòng nhập mã giảng viên để mở khóa. Mã sẽ ghi nhớ trong phiên làm việc — chỉ cần nhập 1 lần cho cả 3 bài.