```html QA Templates - Test Case & Bug Report

QA Templates

Freelance Tester Toolkit

Feature: Đăng ký tài khoản
Project: E-Commerce Web App
Module: Đăng ký tài khoản
Tester: Nguyen Van A
Date: 2025-06-10
Pass: 7 Fail: 2 Pending: 1
ID Mô tả Steps to Execute Expected Result Actual Result Status
TC001

Đăng ký thành công với thông tin hợp lệ

Happy path

  1. 1. Truy cập trang /register
  2. 2. Nhập Email: test@gmail.com
  3. 3. Nhập Họ tên: Nguyen Van A
  4. 4. Nhập Password: Test@1234
  5. 5. Nhập Confirm Password: Test@1234
  6. 6. Click button "Đăng ký"
Chuyển hướng đến trang /dashboard, hiển thị thông báo "Đăng ký thành công!" Chuyển hướng đến /dashboard, hiện toast "Đăng ký thành công!" Pass
TC002

Để trống trường Email

Validation - Required

  1. 1. Truy cập trang /register
  2. 2. Để trống field Email
  3. 3. Điền đầy đủ các field còn lại
  4. 4. Click button "Đăng ký"
Hiển thị lỗi "Email không được để trống" bên dưới field Email, không submit form Hiển thị đúng thông báo lỗi, form không submit Pass
TC003

Nhập Email sai định dạng

Validation - Format

  1. 1. Truy cập trang /register
  2. 2. Nhập Email: "testgmail.com" (thiếu @)
  3. 3. Điền đầy đủ các field còn lại
  4. 4. Click button "Đăng ký"
Hiển thị lỗi "Email không đúng định dạng", không submit form Hiển thị đúng lỗi format email Pass
TC004

Đăng ký với Email đã tồn tại

Duplicate Check

  1. 1. Truy cập trang /register
  2. 2. Nhập Email đã có trong DB: existing@gmail.com
  3. 3. Điền đầy đủ các field còn lại
  4. 4. Click button "Đăng ký"
Hiển thị lỗi "Email này đã được sử dụng", gợi ý đăng nhập Form submit thành công, tạo tài khoản trùng - không báo lỗi Fail
TC005

Mật khẩu ít hơn 8 ký tự

Validation - Min Length

  1. 1. Truy cập trang /register
  2. 2. Nhập Password: "Test@1" (6 ký tự)
  3. 3. Điền đầy đủ các field còn lại
  4. 4. Click button "Đăng ký"
Hiển thị lỗi "Mật khẩu phải có ít nhất 8 ký tự" Hiển thị đúng lỗi min length Pass
TC006

Confirm Password không khớp

Validation - Match

  1. 1. Truy cập trang /register
  2. 2. Nhập Password: Test@1234
  3. 3. Nhập Confirm Password: Test@5678
  4. 4. Click button "Đăng ký"
Hiển thị lỗi "Mật khẩu xác nhận không khớp" Hiển thị đúng lỗi mismatch Pass
TC007

Mật khẩu không có ký tự đặc biệt

Validation - Complexity

  1. 1. Truy cập trang /register
  2. 2. Nhập Password: "Testpass1" (không có ký tự đặc biệt)
  3. 3. Điền đầy đủ các field còn lại
  4. 4. Click button "Đăng ký"
Hiển thị lỗi "Mật khẩu phải chứa ít nhất 1 ký tự đặc biệt (!@#$...)" Form submit thành công dù password không đủ độ phức tạp Fail
TC008

Tên người dùng chứa ký tự đặc biệt

Validation - Special Chars

  1. 1. Truy cập trang /register
  2. 2. Nhập Họ tên: "Nguyen <script>"
  3. 3. Điền đầy đủ các field còn lại
  4. 4. Click button "Đăng ký"
Hiển thị lỗi "Họ tên không được chứa ký tự đặc biệt" hoặc sanitize input Hiển thị lỗi validation đúng Pass
TC009

Nhấn "Đăng ký" nhiều lần liên tiếp

Edge Case - Double Submit

  1. 1. Điền đầy đủ thông tin hợp lệ
  2. 2. Click button "Đăng ký" nhanh 3 lần
  3. 3. Kiểm tra DB và network tab
Chỉ tạo 1 tài khoản, button bị disable sau lần click đầu tiên Đang kiểm tra với team Backend Pending
TC010

Link "Đăng nhập" redirect đúng

Navigation - Link

  1. 1. Truy cập trang /register
  2. 2. Tìm link "Đã có tài khoản? Đăng nhập"
  3. 3. Click vào link
Chuyển hướng đến trang /login Chuyển đúng đến /login Pass
Click vào tab "Bug Report" để xem form báo lỗi cho TC004 và TC007

Bug Report

E-Commerce Web App - Module Đăng ký

Open
BUG-001
[Register] Hệ thống cho phép đăng ký với Email đã tồn tại trong database
Critical
High
Open
Tran Van Dev

Date Found

2025-06-10

Reporter

Nguyen Van A

Build / Version

v2.3.1 - staging

Environment

Chrome 124 / Windows 11

1

Truy cập trang đăng ký tại URL: https://staging.example.com/register

2

Nhập Email: existing@gmail.com (email đã tồn tại trong hệ thống)

3

Nhập Họ tên: Nguyen Van Test

4

Nhập Password: Test@1234

5

Nhập Confirm Password: Test@1234

6

Click button "Đăng ký"

7

Quan sát kết quả và kiểm tra database

  • Hệ thống phát hiện Email đã tồn tại
  • Hiển thị thông báo lỗi: "Email này đã được đăng ký. Vui lòng đăng nhập hoặc dùng email khác."
  • Form không được submit, không tạo thêm bản ghi trong database
  • API trả về HTTP 409 Conflict
  • Form submit thành công không có thông báo lỗi nào
  • Hệ thống tạo thêm 1 bản ghi mới trong bảng users với email trùng
  • Người dùng được redirect đến /dashboard như đăng ký thành công
  • API trả về HTTP 200 OK (sai)
  • Dữ liệu người dùng bị duplicate trong database
  • Ảnh hưởng đến chức năng đăng nhập và quản lý tài khoản
  • Vi phạm tính toàn vẹn dữ liệu (Data Integrity)
  • Rủi ro bảo mật khi nhiều account dùng chung email

API endpoint POST /api/v1/auth/register có thể thiếu logic kiểm tra unique email trước khi INSERT vào database. Database constraint unique có thể chưa được set trên cột email.

screenshot_tc004_duplicate_email.png 245 KB
screen_recording_bug001.mp4 3.2 MB
network_log_duplicate_response.har 18 KB

Bug có thể reproduce 100% lần thử. Đã kiểm tra trên Chrome, Firefox, Safari đều cho kết quả tương tự. Liên quan đến TC004 trong test suite. Cần fix trước khi release lên production. Tham khảo ticket Jira: PROJ-1234.

Linked Test: TC004
```