# 🐛 BUG REPORT TEMPLATE — Dành cho Tester Fresher

> **Hướng dẫn sử dụng:** Copy toàn bộ template này vào công cụ quản lý bug (Jira, Redmine, TestRail, hoặc Google Docs). Điền thông tin vào từng mục. Các phần có dấu `*` là **bắt buộc**.

---

## 📋 TEMPLATE TRỐNG

---

### 1. 📌 SUMMARY (Tiêu đề bug) `*`

> **Giải thích:** Viết một câu ngắn gọn, rõ ràng mô tả bug là gì. Công thức gợi ý:
> `[Tên tính năng] + [Hành động] + [Kết quả sai]`
> ❌ Sai: *"Login bị lỗi"*
> ✅ Đúng: *"[Login] Nhập đúng email/password hợp lệ nhưng hệ thống báo sai mật khẩu"*

```
[Tên tính năng] Mô tả ngắn gọn về bug xảy ra ở đâu và như thế nào
```

**Ví dụ điền:**
```
[Login] Nhập đúng email và password hợp lệ nhưng hệ thống hiển thị thông báo "Sai mật khẩu"
```

---

### 2. 🖥️ ENVIRONMENT (Môi trường kiểm thử) `*`

> **Giải thích:** Mô tả chính xác môi trường bạn phát hiện bug. Cùng một bug đôi khi chỉ xuất hiện trên một trình duyệt hoặc hệ điều hành nhất định — thông tin này giúp dev tái hiện nhanh hơn.

| Thông tin | Chi tiết |
|-----------|----------|
| **Operating System (Hệ điều hành)** | *(VD: Windows 11, macOS Ventura 13.4, Ubuntu 22.04)* |
| **Browser (Trình duyệt)** | *(VD: Chrome, Firefox, Safari, Edge)* |
| **Browser Version (Phiên bản trình duyệt)** | *(VD: Chrome 120.0.6099.130)* |
| **Application Version (Phiên bản ứng dụng)** | *(VD: v2.3.1 — xem ở footer hoặc hỏi BA/Dev)* |
| **Test Environment (Môi trường test)** | *(VD: DEV / STAGING / UAT / PRODUCTION)* |
| **Device (Thiết bị — nếu test mobile)** | *(VD: iPhone 14 Pro, Samsung Galaxy S23)* |
| **Screen Resolution (Độ phân giải màn hình)** | *(VD: 1920x1080 — nhấn F12 > Console > `screen.width + "x" + screen.height`)* |

> 💡 **Tip:** Tìm phiên bản Chrome: Vào địa chỉ `chrome://version/` trên thanh URL

**Ví dụ điền:**

| Thông tin | Chi tiết |
|-----------|----------|
| **Operating System** | Windows 11 Home (Build 22621) |
| **Browser** | Google Chrome |
| **Browser Version** | 120.0.6099.130 (Official Build) (64-bit) |
| **Application Version** | v2.3.1 |
| **Test Environment** | STAGING |
| **Device** | PC Desktop |
| **Screen Resolution** | 1920x1080 |

---

### 3. 🔄 STEPS TO REPRODUCE (Các bước tái hiện) `*`

> **Giải thích:** Liệt kê **từng bước cụ thể, theo thứ tự** để người khác có thể làm theo và thấy được bug. Mỗi bước chỉ mô tả **một hành động duy nhất**. Càng chi tiết, dev fix càng nhanh.
>
> **Nguyên tắc vàng:** Người chưa biết gì về tính năng này đọc vào là phải tái hiện được bug ngay.

**Precondition (Điều kiện tiên quyết):**
> *(Những điều cần chuẩn bị trước khi thực hiện các bước — VD: tài khoản đã tồn tại, đã đăng xuất, v.v.)*

```
- Tài khoản test đã được tạo sẵn: email: test@example.com / password: Test@1234
- Người dùng đang ở trạng thái chưa đăng nhập
- Trình duyệt không có dữ liệu cache/cookie từ phiên trước
```

**Steps:**

```
1. Mở trình duyệt và truy cập vào URL: [điền URL ứng dụng]
2. Tại trang chủ, click vào nút "Đăng nhập"
3. ...
4. ...
5. ...
```

**Ví dụ điền:**

**Precondition:**
```
- Tài khoản test đã tồn tại trong hệ thống: email: tester01@gmail.com / password: Tester@2024
- Người dùng chưa đăng nhập (đã đăng xuất hoàn toàn)
- Xóa cache trình duyệt trước khi test (Ctrl + Shift + Delete)
```

**Steps:**
```
1. Mở Chrome và truy cập: https://staging.myapp.com/login
2. Quan sát trang Login hiển thị với 2 ô nhập liệu: "Email" và "Mật khẩu"
3. Nhập email hợp lệ vào ô "Email": tester01@gmail.com
4. Nhập mật khẩu đúng vào ô "Mật khẩu": Tester@2024
5. Click vào nút "Đăng nhập"
6. Quan sát kết quả hiển thị trên màn hình
```

---

### 4. ✅ EXPECTED RESULT (Kết quả mong đợi) `*`

> **Giải thích:** Mô tả điều **đáng lẽ phải xảy ra** nếu hệ thống hoạt động đúng. Căn cứ vào: tài liệu yêu cầu (BRS/SRS), wireframe, hoặc logic thông thường của nghiệp vụ.

```
Điền kết quả đúng đắn mà hệ thống cần trả về
```

**Ví dụ điền:**
```
Sau khi click "Đăng nhập" với thông tin hợp lệ:
- Hệ thống xác thực thành công
- Người dùng được chuyển hướng đến trang Dashboard: https://staging.myapp.com/dashboard
- Thanh điều hướng hiển thị tên người dùng: "Xin chào, Tester01"
- Không hiển thị bất kỳ thông báo lỗi nào
```

---

### 5. ❌ ACTUAL RESULT (Kết quả thực tế) `*`

> **Giải thích:** Mô tả chính xác **những gì thực sự xảy ra** — bug bạn đang thấy là gì. Hãy mô tả cụ thể: thông báo lỗi hiển thị gì, màn hình trông như thế nào, có bị đứng/crash không.

```
Điền kết quả thực tế sai/lỗi mà bạn quan sát được
```

**Ví dụ điền:**
```
Sau khi click "Đăng nhập" với thông tin hợp lệ:
- Hệ thống KHÔNG chuyển hướng đến Dashboard
- Trang Login vẫn hiển thị, xuất hiện thông báo lỗi màu đỏ:
  "❌ Sai email hoặc mật khẩu. Vui lòng thử lại."
- Ô nhập "Mật khẩu" bị xóa trắng, ô "Email" vẫn giữ nguyên giá trị
- Người dùng không thể đăng nhập dù đã thử lại 3 lần với cùng thông tin
```

---

### 6. 🚨 SEVERITY (Mức độ nghiêm trọng) `*`

> **Giải thích:** Severity đánh giá **mức độ ảnh hưởng kỹ thuật** của bug đối với hệ thống. Đây là đánh giá của **Tester** — độc lập với Priority.

#### Bảng phân loại Severity:

| Mức độ | Biểu tượng | Định nghĩa | Ví dụ minh họa |
|--------|-----------|------------|----------------|
| **Critical** | 🔴 | Bug khiến **toàn bộ hệ thống** hoặc **tính năng chính** không thể sử dụng. Không có cách workaround. Ảnh hưởng đến tất cả người dùng. | Không thể đăng nhập vào hệ thống, ứng dụng bị crash ngay khi mở, mất dữ liệu người dùng, lỗi thanh toán khiến tiền bị trừ mà đơn hàng không được tạo |
| **Major** | 🟠 | Tính năng quan trọng **không hoạt động đúng** nhưng hệ thống vẫn chạy được. Có thể có workaround tạm thời nhưng bất tiện. | Không gửi được email xác nhận sau đăng ký, chức năng tìm kiếm trả về kết quả sai, không upload được ảnh đại diện |
| **Minor** | 🟡 | Tính năng hoạt động được nhưng **không đúng hoàn toàn**. Ảnh hưởng nhỏ đến trải nghiệm, dễ workaround. | Thông báo lỗi hiển thị sai nội dung, định dạng ngày tháng không nhất quán, số lượng hiển thị sai nhưng tổng tiền đúng |
| **Trivial** | 🟢 | Lỗi **giao diện nhỏ** hoặc **chính tả**, không ảnh hưởng đến chức năng. | Sai font chữ, lỗi typo "Đăg nhập" thay vì "Đăng nhập", màu nút chưa đúng theo design, icon bị lệch 2px |

**Severity của bug này:**

```
[ ] 🔴 Critical
[ ] 🟠 Major
[ ] 🟡 Minor
[ ] 🟢 Trivial
```

**Lý do chọn:**
```
Giải thích ngắn gọn tại sao bạn chọn mức này (1-2 câu)
```

**Ví dụ điền:**
```
[x] 🔴 Critical

Lý do: Bug này khiến người dùng hoàn toàn không thể đăng nhập vào hệ thống dù thông tin
đúng — đây là tính năng cốt lõi, ảnh hưởng đến 100% người dùng, không có cách nào
workaround. Hệ thống không thể sử dụng được trong trạng thái này.
```

---

### 7. ⚡ PRIORITY (Mức độ ưu tiên xử lý)

> **Giải thích:** Priority đánh giá **thứ tự cần xử lý** từ góc độ **nghiệp vụ và kinh doanh**. Thường do BA/PM/PO quyết định, tester có thể đề xuất.
>
> 💡 **Phân biệt Severity vs Priority:**
> - *Bug giao diện trang chủ sai màu theo brand guideline*: Severity = **Trivial** nhưng Priority có thể = **High** (vì ảnh hưởng thương hiệu, cần sửa trước khi launch)
> - *Bug ở tính năng ít người dùng, sắp bị xóa*: Severity = **Major** nhưng Priority = **Low**

| Priority | Ý nghĩa |
|----------|---------|
| **High** 🔴 | Cần fix **ngay lập tức**, trước khi release hoặc trong sprint này |
| **Medium** 🟡 | Fix trong **sprint tiếp theo** hoặc trước release tiếp |
| **Low** 🟢 | Fix khi có thời gian, không ảnh hưởng đến timeline hiện tại |

```
Priority: [ ] High  [ ] Medium  [ ] Low
```

**Ví dụ điền:**
```
Priority: [x] High

Lý do: Tính năng đăng nhập là điểm vào của toàn bộ hệ thống. Bug này đang xảy ra
trên môi trường Staging và dự kiến release vào thứ 6 tuần này — cần fix ngay.
```

---

### 8. 📎 ATTACHMENT (Tài liệu đính kèm)

> **Giải thích:** Bằng chứng trực quan giúp dev hiểu bug **nhanh gấp 10 lần** chỉ đọc mô tả. Luôn cố gắng đính kèm ít nhất một ảnh chụp màn hình.

#### 📸 Hướng dẫn chụp màn hình hiệu quả:

**Cách chụp nhanh:**
```
Windows : Win + Shift + S  → Chọn vùng cần chụp (khuyến nghị)
         hoặc PrtScn        → Chụp toàn màn hình
macOS   : Cmd + Shift + 4  → Chọn vùng cần chụp
         hoặc Cmd + Shift + 3 → Chụp toàn màn hình
```

**Checklist ảnh chụp màn hình tốt:**
```
✅ Thấy rõ thông báo lỗi (không bị cắt chữ)
✅ Thấy URL trên thanh địa chỉ (biết đang ở trang nào)
✅ Thấy dữ liệu đã nhập vào (để xác nhận đúng test data)
✅ Thấy timestamp nếu có thể (để đối chiếu với log)
✅ Độ phân giải đủ rõ, không bị mờ
❌ Không chụp cả màn hình desktop (lộ thông tin cá nhân không liên quan)
❌ Không dùng ảnh chụp bằng điện thoại chụp màn hình máy tính
```

**Công cụ gợi ý:**
```
🔧 Lightshot      — Chụp + annotate (vẽ mũi tên, khoanh đỏ) nhanh
🔧 Greenshot      — Miễn phí, chuyên nghiệp
🔧 ShareX         — Quay video màn hình, chụp ảnh, free
🔧 Loom           — Quay video + audio giải thích bug (rất hiệu quả)
🔧 Chrome DevTools — F12 > Network tab để chụp API response lỗi
```

**Danh sách file đính kèm:**

```
[ ] Screenshot_01_LoginPage_InputFilled.png    — Màn hình sau khi điền thông tin
[ ] Screenshot_02_ErrorMessage_Displayed.png   — Màn hình hiển thị lỗi
[ ] Video_LoginBug_FullFlow.mp4                — Video quay lại toàn bộ luồng (khuyến nghị)
[ ] Console_Error_Log.png                      — Lỗi trong F12 > Console (nếu có)
[ ] Network_Response_401.png                  — F12 > Network > response lỗi (nếu có)
```

**Ví dụ điền:**
```
[x] Screenshot_01_Login_FilledForm.png         — Ảnh chụp form đã điền email + password
[x] Screenshot_02_Login_ErrorMessage.png       — Ảnh chụp thông báo lỗi "Sai mật khẩu"
[x] Video_LoginBug_Chrome_20240115.mp4         — Video 45s quay lại toàn bộ các bước
[x] Console_Log_Login_Error.png               — Lỗi 401 Unauthorized trong F12 Console
```

---

### 9. 📝 ADDITIONAL NOTES (Ghi chú thêm)

> **Giải thích:** Điền thêm bất kỳ thông tin nào có thể hữu ích: bug có xảy ra lần đầu không, tần suất xuất hiện, có liên quan đến bug khác không, v.v.

```
- Tần suất tái hiện   : [ ] Luôn luôn (100%)  [ ] Thỉnh thoảng (~50%)  [ ] Hiếm khi (<20%)
- Lần đầu phát hiện  : [điền ngày]
- Người phát hiện    : [tên tester]
- Đã thử trên browser khác chưa: [ ] Chrome  [ ] Firefox  [ ] Safari  [ ] Edge
- Bug có thể liên quan đến: [điền bug ID liên quan nếu có]
- Ghi chú khác       : 
```

**Ví dụ điền:**
```
- Tần suất tái hiện   : [x] Luôn luôn (100%) — Đã thử 5 lần liên tiếp, lần nào cũng lỗi
- Lần đầu phát hiện  : 15/01/2024 - 14:30
- Người phát hiện    : Nguyễn Văn A (Tester Fresher - Team QA)
- Đã thử trên browser khác:
    Chrome 120  : ❌ Lỗi
    Firefox 121 : ❌ Lỗi  
    Edge 120    : ❌ Lỗi
  → Bug xuất hiện trên tất cả trình duyệt, KHÔNG phải lỗi browser-specific
- Ghi chú khác: Tài khoản admin@myapp.com vẫn đăng nhập được bình thường.
  Chỉ các tài khoản thường (role: user) bị ảnh hưởng. Có thể liên quan đến
  phân quyền sau deploy build mới nhất lúc 13:00 hôm nay.
```

---

---

## ✅ VÍ DỤ BUG REPORT HOÀN CHỈNH — Tính năng Đăng nhập

---

### 1. 📌 SUMMARY

```
[Login] Đăng nhập với email/password hợp lệ (role: user) thất bại — 
hiển thị lỗi "Sai mật khẩu" thay vì chuyển hướng đến Dashboard
```

---

### 2. 🖥️ ENVIRONMENT

| Thông tin | Chi tiết |
|-----------|----------|
| **Operating System** | Windows 11 Home (Build 22621) |
| **Browser** | Google Chrome |
| **Browser Version** | 120.0.6099.130 (64-bit) |
| **Application Version** | v2.3.1 (deploy 15/01/2024 - 13:00) |
| **Test Environment** | STAGING — https://staging.myapp.com |
| **Device** | PC Desktop |
| **Screen Resolution** | 1920x1080 |

---

### 3. 🔄 STEPS TO REPRODUCE

**Precondition:**
```
- Tài khoản test đã tồn tại: email: tester01@gmail.com / password: Tester@2024 (role: user)
- Người dùng chưa đăng nhập (xác nhận bằng cách kiểm tra URL — đang ở /login)
- Đã xóa cache và cookie (Ctrl + Shift + Delete > Xóa tất cả)
```

**Steps:**
```
1. Mở Chrome, truy cập: https://staging.myapp.com/login
2. Xác nhận trang Login hiển thị với 2 ô: "Email" và "Mật khẩu" và nút "Đăng nhập"
3. Click vào ô "Email", nhập: tester01@gmail.com
4. Click vào ô "Mật khẩu", nhập: Tester@2024
5. Click nút "Đăng nhập" (nút màu xanh lam, góc phải form)
6. Quan sát phản hồi của hệ thống
```

---

### 4. ✅ EXPECTED RESULT

```
- Hệ thống xác thực thành công tài khoản tester01@gmail.com
- Trang chuyển hướng đến: https://staging.myapp.com/dashboard
- Header hiển thị: "Xin chào, Tester01 👋"
- Không có thông báo lỗi nào xuất hiện
```

---

### 5. ❌ ACTUAL RESULT

```
- Hệ thống KHÔNG chuyển hướng đến Dashboard
- Trang vẫn ở /login, hiển thị thông báo lỗi màu đỏ phía dưới form:
  "❌ Email hoặc mật khẩu không đúng. Vui lòng kiểm tra lại."
- Ô "Mật khẩu" bị clear trắng sau khi submit
- Console (F12) hiển thị lỗi: POST /api/auth/login → 401 Unauthorized
- Người dùng không thể vào hệ thống
```

---

### 6. 🚨 SEVERITY

```
[x] 🔴 Critical

Lý do: Đây là tính năng cốt lõi — không đăng nhập được đồng nghĩa với việc
TOÀN BỘ hệ thống không sử dụng được với người dùng thông thường (role: user).
Không có workaround nào khả thi cho end-user.
```

---

### 7. ⚡ PRIORITY

```
[x] High

Lý do: Ảnh hưởng 100% user thông thường trên môi trường Staging.
Kế hoạch release vào thứ 6 (17/01/2024). Cần fix và verify trước thứ 4.
```

---

### 8. 📎 ATTACHMENT

```
[x] Screenshot_01_LoginForm_Filled_150124.png
    → Chụp lúc 14:32 — Form đã điền đầy đủ email + password, trước khi click Đăng nhập

[x] Screenshot_02_ErrorMessage_150124.png
    → Chụp lúc 14:32 — Thông báo lỗi đỏ hiển thị sau khi click Đăng nhập

[x] Screenshot_03_Console_401Error_150124.png
    → F12 > Console — Lỗi 401 Unauthorized từ API /api/auth/login

[x] Video_LoginBug_Full_150124.mp4 (45 giây)
    → Quay toàn bộ flow: mở trang → điền form → click → thấy lỗi
```

---

### 9. 📝 ADDITIONAL NOTES

```
- Tần suất tái hiện   : Luôn luôn — 100% (đã test 5 lần)
- Lần đầu phát hiện  : 15/01/2024 lúc 14:30
- Người phát hiện    : Nguyễn Văn A — QA Team
- Test đa trình duyệt:
    Chrome 120  → ❌ Lỗi
    Firefox 121 → ❌ Lỗi
    Edge 120    → ❌ Lỗi

⚠️ QUAN TRỌNG:
- Tài khoản admin@myapp.com (role: admin) vẫn đăng nhập THÀNH CÔNG
- Chỉ tài khoản role: "user" bị lỗi
- Bug có thể liên quan đến deployment lúc 13:00 hôm nay (v2.3.1)
  → Đề nghị Dev kiểm tra thay đổi liên quan đến authentication middleware
     và phân quyền trong build mới nhất
```

---

---

## 📚 BẢNG TỔNG HỢP NHANH — Severity vs Priority

```
                    PRIORITY
                High        Medium      Low
           ┌───────────┬───────────┬───────────┐
  Critical  │ Fix NGAY  │ Fix ngay  │ Hiếm gặp  │
           ├───────────┼───────────┼───────────┤
S  Major   │ Fix sớm   │ Sprint sau│ Backlog   │
E          ├───────────┼───────────┼───────────┤
V  Minor   │ Cosmetic  │ Backlog   │ Backlog   │
E          │ quan trọng│           │           │
R          ├───────────┼───────────┼───────────┤
I  Trivial │ Brand/UI  │ Nice-to   │ Có thời   │
T Y        │ quan trọng│ -have     │ gian fix  │
Y          └───────────┴───────────┴───────────┘
```

---

## 🎯 CHECKLIST TRƯỚC KHI SUBMIT BUG

```
TRƯỚC KHI SUBMIT, HÃY TỰ HỎI:

[ ] Summary có đủ 3 yếu tố: [Tính năng] + [Hành động] + [Kết quả sai]?
[ ] Đã điền đầy đủ thông tin môi trường (OS, browser, version)?
[ ] Các bước tái hiện có đủ chi tiết để người khác làm theo được không?
[ ] Expected Result căn cứ vào tài liệu/yêu cầu, không phải cảm tính?
[ ] Actual Result mô tả chính xác những gì thấy trên màn hình?
[ ] Đã chọn Severity phù hợp và giải thích lý do?
[ ] Có ít nhất 1 screenshot rõ nét đính kèm?
[ ] Đã thử tái hiện bug ít nhất 2-3 lần để xác nhận?
[ ] Đã kiểm tra xem bug này đã được báo cáo trước đó chưa (tránh duplicate)?

✅ Đủ tất cả → Submit bug!
❌ Thiếu bất kỳ mục nào → Bổ sung trước khi submit
```

---

*Template version 1.0 | Tạo bởi QA Team | Cập nhật: 2024*
*Mọi thắc mắc về cách điền template, liên hệ QA Lead hoặc mentor của bạn.*