# 📋 BUG REPORT TEMPLATE - REDMINE
### Dành cho Tester Fresher | Phiên bản 1.0

---

## 📖 HƯỚNG DẪN SỬ DỤNG TEMPLATE

1. **Copy toàn bộ phần Template** bên dưới và dán vào ô mô tả khi tạo Issue mới trên Redmine.
2. **Điền đầy đủ tất cả các trường** — nếu thông tin không có, ghi `N/A` thay vì để trống.
3. **Tiêu đề bug** đặt theo cú pháp: `[Module] Mô tả ngắn lỗi` *(VD: [Login] Đăng nhập thành công nhưng không redirect về trang chủ)*.
4. **Đính kèm screenshot/video** là bắt buộc — không có bằng chứng, bug có thể bị từ chối xử lý.
5. **Chọn Priority đúng** theo bảng hướng dẫn ở cuối file — đừng đặt mọi bug là "Urgent" 🙂.

---

## 🐛 TEMPLATE BUG REPORT

> 💡 *Xóa dòng hướng dẫn trong ngoặc `[ ]` trước khi submit*

---

### 🔷 THÔNG TIN CHUNG

| Trường | Nội dung |
|---|---|
| **Tiêu đề Bug** | `[Module] Mô tả ngắn gọn lỗi` |
| **Module / Tính năng** | [Tên module bị lỗi] |
| **Người báo cáo** | [Họ tên của bạn] |
| **Ngày phát hiện** | [DD/MM/YYYY] |
| **Phiên bản Build** | [VD: v2.3.1 - Build #204] |

---

### 💻 MÔI TRƯỜNG TEST (Environment)

| Thông số | Chi tiết |
|---|---|
| **Hệ điều hành (OS)** | [VD: Windows 11 Pro 22H2 / macOS Ventura 13.4 / Ubuntu 22.04] |
| **Trình duyệt (Browser)** | [VD: Chrome 120.0.6099.71 / Firefox 121.0 / Safari 17.1] |
| **Phiên bản ứng dụng** | [VD: App v2.3.1 / Backend API v1.8.0] |
| **Môi trường test** | [ ] Dev  [ ] Staging  [ ] UAT  [ ] Production |
| **Thiết bị** | [VD: PC Desktop / Laptop Dell XPS 15 / iPhone 14 Pro / Samsung S23] |
| **Độ phân giải màn hình** | [VD: 1920x1080 / 1366x768] |
| **Tài khoản test** | [VD: test_user_01@gmail.com — *KHÔNG ghi mật khẩu*] |

---

### 🔁 BƯỚC TÁI HIỆN (Steps to Reproduce)

> *Mô tả chi tiết, rõ ràng từng bước — người khác đọc vào phải tái hiện được lỗi ngay*

1. [Mô tả bước 1 — VD: Mở trình duyệt và truy cập URL: `https://app.example.com`]
2. [Mô tả bước 2 — VD: Click vào nút **"Đăng nhập"** ở góc trên bên phải]
3. [Mô tả bước 3 — VD: Nhập email: `test@example.com` và mật khẩu: `Test@1234`]
4. [Mô tả bước 4 — VD: Click nút **"Đăng nhập"**]
5. [Thêm bước nếu cần...]

**Điều kiện tiên quyết (Precondition):**
- [VD: Tài khoản đã được kích hoạt và có role User]
- [VD: Đã đăng xuất khỏi phiên làm việc trước đó]

**Dữ liệu test (Test Data):**
```
[VD: Email: tester01@company.com | Role: User thường | Trạng thái tài khoản: Active]
```

---

### ❌ KẾT QUẢ THỰC TẾ (Actual Result)

> *Mô tả chính xác điều gì đang xảy ra — đừng viết cảm nhận, hãy viết sự thật quan sát được*

```
[VD: Sau khi click "Đăng nhập", trang hiển thị thông báo lỗi màu đỏ:
"Invalid credentials" mặc dù thông tin đăng nhập hoàn toàn chính xác.
Trang không redirect và người dùng không thể đăng nhập vào hệ thống.]
```

**Console Error / Log (nếu có):**
```
[Dán error log từ DevTools Console hoặc log file vào đây]
[VD: POST /api/auth/login 401 Unauthorized - "message": "Token validation failed"]
```

---

### ✅ KẾT QUẢ KỲ VỌNG (Expected Result)

> *Hệ thống PHẢI làm gì theo đúng yêu cầu/spec?*

```
[VD: Sau khi nhập đúng thông tin đăng nhập và click "Đăng nhập":
- Hệ thống xác thực thành công
- Hiển thị thông báo "Đăng nhập thành công!"
- Tự động redirect về trang Dashboard trong vòng 2 giây]
```

---

### 📊 TẦN SUẤT XẢY RA (Frequency)

**Bug xảy ra bao nhiêu lần khi thực hiện lại?**

- [ ] **100% — Luôn luôn xảy ra** *(Always reproducible)*
- [ ] **75% — Thường xuyên xảy ra** *(Frequently reproducible)*
- [ ] **50% — Thỉnh thoảng xảy ra** *(Sometimes reproducible)*
- [ ] **25% — Hiếm khi xảy ra** *(Rarely reproducible)*
- [ ] **Không tái hiện được** *(Cannot reproduce — chỉ xảy ra 1 lần)*

**Số lần đã thử tái hiện:** `[VD: 5/5 lần]`

---

### 💥 MỨC ĐỘ ẢNH HƯỞNG (Impact & Severity)

**Severity (Mức độ nghiêm trọng kỹ thuật):**

- [ ] 🔴 **Critical** — Crash hệ thống / Mất dữ liệu / Không thể sử dụng tính năng chính
- [ ] 🟠 **Major** — Tính năng không hoạt động nhưng có workaround tạm thời
- [ ] 🟡 **Minor** — Tính năng hoạt động sai một phần, ảnh hưởng nhỏ đến người dùng
- [ ] 🟢 **Trivial** — Lỗi giao diện nhỏ (sai font, lệch pixel, sai màu...)

**Đối tượng bị ảnh hưởng:**

- [ ] Tất cả người dùng
- [ ] Nhóm người dùng cụ thể: `[VD: Chỉ user có role Admin / User dùng Safari / User trên mobile]`
- [ ] Chỉ tôi (chưa xác nhận với người khác)

**Tính năng liên quan bị ảnh hưởng theo:**
```
[VD: Nếu đăng nhập lỗi → toàn bộ hệ thống không sử dụng được
     Các module bị block: Dashboard, Quản lý đơn hàng, Báo cáo...]
```

---

### 📎 BẰNG CHỨNG (Evidence)

| Loại | Đính kèm |
|---|---|
| **Screenshot** | [Đính kèm ảnh chụp màn hình — *bắt buộc*] |
| **Video recording** | [Đính kèm video tái hiện lỗi — *khuyến khích*] |
| **Log file** | [Đính kèm file log nếu có] |
| **HAR file** | [Đính kèm HAR file từ DevTools nếu là lỗi API/Network] |

---

### 📝 GHI CHÚ THÊM (Additional Notes)

```
[VD: - Lỗi bắt đầu xuất hiện sau khi deploy build #203 vào ngày 15/01/2024
     - Tài khoản test_admin_01 đăng nhập bình thường, chỉ user thường bị lỗi
     - Đã thử clear cache và cookies nhưng vẫn xảy ra
     - Tham khảo ticket liên quan: #BUG-145]
```

**Ticket liên quan:** `#[ID]`
**Test case liên quan:** `TC-[ID]`

---
---

## ✍️ VÍ DỤ ĐIỀN MẪU — TÍNH NĂNG ĐĂNG NHẬP

---

### 🔷 THÔNG TIN CHUNG

| Trường | Nội dung |
|---|---|
| **Tiêu đề Bug** | `[Login] Đăng nhập thất bại với tài khoản User thường dù thông tin chính xác` |
| **Module / Tính năng** | Đăng nhập (Authentication) |
| **Người báo cáo** | Nguyễn Thị Mai |
| **Ngày phát hiện** | 20/01/2024 |
| **Phiên bản Build** | v2.4.0 - Build #210 |

---

### 💻 MÔI TRƯỜNG TEST (Environment)

| Thông số | Chi tiết |
|---|---|
| **Hệ điều hành (OS)** | Windows 11 Pro 22H2 |
| **Trình duyệt (Browser)** | Google Chrome 120.0.6099.130 |
| **Phiên bản ứng dụng** | Frontend v2.4.0 / Backend API v1.9.2 |
| **Môi trường test** | [x] Staging |
| **Thiết bị** | Laptop Dell Inspiron 15 |
| **Độ phân giải màn hình** | 1920x1080 |
| **Tài khoản test** | tester_user01@company.com |

---

### 🔁 BƯỚC TÁI HIỆN (Steps to Reproduce)

1. Mở Chrome và truy cập: `https://staging.app.company.com/login`
2. Quan sát trang Login hiển thị với 2 ô nhập: **Email** và **Mật khẩu**
3. Nhập vào ô Email: `tester_user01@company.com`
4. Nhập vào ô Mật khẩu: `Test@123456` *(mật khẩu đúng, đã xác nhận với QA Lead)*
5. Click nút **"Đăng nhập"** màu xanh lam ở giữa trang
6. Quan sát kết quả hiển thị trên màn hình

**Điều kiện tiên quyết (Precondition):**
- Tài khoản `tester_user01@company.com` đã Active, đã xác thực email
- Không đang đăng nhập phiên nào trước đó (đã đăng xuất sạch)
- Đã clear cache và cookies trước khi test

**Dữ liệu test (Test Data):**
```
Email    : tester_user01@company.com
Role     : User (không phải Admin)
Trạng thái: Active - Email verified
Mật khẩu : [Đã xác nhận đúng với QA Lead - không ghi vào ticket]
```

---

### ❌ KẾT QUẢ THỰC TẾ (Actual Result)

```
Sau khi click "Đăng nhập":
- Trang hiển thị thông báo lỗi màu đỏ ngay bên dưới form:
  "Thông tin đăng nhập không chính xác. Vui lòng thử lại."
- Ô mật khẩu bị xóa trắng, ô email vẫn giữ nguyên
- Người dùng KHÔNG được đăng nhập vào hệ thống
- URL vẫn là /login, không redirect

LƯU Ý: Tài khoản Admin (admin@company.com) đăng nhập bình thường,
không bị lỗi. Chỉ tài khoản có role User bị ảnh hưởng.
```

**Console Error / Log:**
```javascript
POST https://api.staging.company.com/auth/login 401 (Unauthorized)
Response body: {
  "status": 401,
  "error": "Unauthorized",
  "message": "User role not permitted",
  "timestamp": "2024-01-20T09:45:23Z"
}
```

---

### ✅ KẾT QUẢ KỲ VỌNG (Expected Result)

```
Sau khi nhập đúng thông tin đăng nhập và click "Đăng nhập":
1. Hệ thống xác thực credentials thành công (HTTP 200)
2. Hiển thị toast notification: "Đăng nhập thành công! Chào mừng bạn trở lại 👋"
3. Tự động redirect về trang /dashboard trong vòng 1-2 giây
4. Thanh navigation hiển thị đúng tên và avatar người dùng
5. Session được tạo và duy trì trong 24 giờ theo spec
```

---

### 📊 TẦN SUẤT XẢY RA (Frequency)

**Bug xảy ra bao nhiêu lần khi thực hiện lại?**

- [x] **100% — Luôn luôn xảy ra** *(Always reproducible)*
- [ ] 75% — Thường xuyên xảy ra
- [ ] 50% — Thỉnh thoảng xảy ra
- [ ] 25% — Hiếm khi xảy ra
- [ ] Không tái hiện được

**Số lần đã thử tái hiện:** `5/5 lần — 100% reproduce được`

---

### 💥 MỨC ĐỘ ẢNH HƯỞNG (Impact & Severity)

**Severity:**

- [x] 🔴 **Critical** — Toàn bộ user thường không thể đăng nhập = không dùng được hệ thống

**Đối tượng bị ảnh hưởng:**

- [ ] Tất cả người dùng
- [x] Nhóm người dùng cụ thể: `Tất cả tài khoản có role = "User" (không phải Admin)`
- [ ] Chỉ tôi

**Tính năng liên quan bị ảnh hưởng theo:**
```
Toàn bộ hệ thống bị block với user thường:
- Dashboard: không truy cập được
- Quản lý đơn hàng: không truy cập được  
- Báo cáo & Thống kê: không truy cập được
→ Ước tính ~85% người dùng (role User) bị ảnh hưởng hoàn toàn
```

---

### 📎 BẰNG CHỨNG (Evidence)

| Loại | Đính kèm |
|---|---|
| **Screenshot** | `bug_login_error_20012024_01.png` — Màn hình hiển thị thông báo lỗi |
| **Screenshot** | `bug_login_console_20012024_02.png` — Console log hiển thị lỗi 401 |
| **Video recording** | `bug_login_reproduce_20012024.mp4` — Video 45 giây tái hiện đầy đủ lỗi |
| **HAR file** | `network_login_staging_20012024.har` — Network request/response đầy đủ |

---

### 📝 GHI CHÚ THÊM (Additional Notes)

```
- Lỗi bắt đầu xuất hiện sau khi team Dev deploy Build #210 vào 08:00 ngày 20/01/2024
- Build #209 (hôm qua) hoạt động bình thường — đã verify lại với Build #209 trên môi trường Dev
- Đã thử trên Firefox 121.0 → cùng lỗi → không phải lỗi browser-specific
- Đã báo ngay cho QA Lead (chị Lan) và Dev Lead (anh Tuấn) qua Slack lúc 09:50
- Response lỗi trả về "User role not permitted" → nghi vấn có thay đổi logic phân quyền trong Build #210
```

**Ticket liên quan:** `#BUG-198` (Lỗi phân quyền tương tự sprint trước)
**Test case liên quan:** `TC-LOGIN-003`, `TC-LOGIN-004`

---
---

## 🎯 BẢNG HƯỚNG DẪN CHỌN PRIORITY

> **Lưu ý quan trọng:** *Priority* (Ưu tiên xử lý) khác với *Severity* (Mức độ nghiêm trọng).
> Priority do **QA/PM quyết định** dựa trên impact kinh doanh — không phải lúc nào bug kỹ thuật nặng cũng là Priority cao nhất.

---

| Priority | Màu | Thời gian xử lý | Khi nào dùng? | Ví dụ thực tế |
|---|---|---|---|---|
| 🔴 **Immediate** | Đỏ đậm | **Ngay lập tức** — Fix trong vòng vài giờ, có thể cần hotfix | Hệ thống sập hoàn toàn / Mất dữ liệu nghiêm trọng / Lỗ hổng bảo mật nghiêm trọng / Ảnh hưởng toàn bộ người dùng production | Website bị down, không ai truy cập được; Lỗi thanh toán khiến tiền bị trừ mà không ghi nhận đơn; SQL Injection được phát hiện trên production |
| 🟠 **Urgent** | Cam | **Trong ngày** — Fix trước khi kết thúc sprint hiện tại | Tính năng core bị broken, ảnh hưởng nhiều user / Sắp đến deadline demo/release / Bug chặn tester làm việc tiếp (blocker) | Tính năng đăng nhập lỗi với 80% user như ví dụ trên; Chức năng đặt hàng không hoạt động 2 ngày trước go-live; API trả về sai dữ liệu cho toàn bộ màn hình chính |
| 🟡 **High** | Vàng | **1-3 ngày** — Trong sprint hiện tại | Tính năng quan trọng bị lỗi nhưng có cách workaround / Ảnh hưởng một nhóm user cụ thể / Sẽ gây khó chịu rõ ràng nếu không fix | Tính năng export Excel bị lỗi (user dùng cách khác tạm thời được); Filter/search trả về kết quả sai; Thông báo email đến muộn 30 phút |
| 🔵 **Normal** | Xanh | **Trong sprint tới** — Backlog ưu tiên bình thường | Lỗi nhỏ ảnh hưởng một phần trải nghiệm / Không block workflow chính / Hành vi không như mong đợi nhưng có thể dùng được | Tooltip hiển thị sai nội dung; Validation message dùng tiếng Anh thay vì tiếng Việt; Số liệu trên dashboard chậm cập nhật vài phút; Sắp xếp danh sách không đúng thứ tự |
| 🟢 **Low** | Xanh lá | **Khi có thời gian** — Nice to fix, không khẩn cấp | Lỗi thẩm mỹ thuần túy / Không ảnh hưởng chức năng / Chỉ xảy ra trong trường hợp rất hiếm | Lệch padding 2-3px; Màu hover button chưa đúng design; Typo trong text ít người đọc; Icon hơi nhỏ so với mockup |

---

### 💡 Tips chọn Priority cho Fresher

```
Tự hỏi 3 câu này trước khi chọn Priority:

1. "Nếu bug này không được fix hôm nay, có bao nhiêu người dùng bị ảnh hưởng?"
   → Nhiều người + tính năng quan trọng = Priority cao hơn

2. "Người dùng có cách nào khác để hoàn thành công việc không (workaround)?"
   → Không có workaround = Priority cao hơn

3. "Bug này có chặn team mình test tiếp được không?"
   → Là blocker = ít nhất Urgent, báo ngay QA Lead

Khi không chắc → hỏi QA Lead trước khi submit 🙋
```

---

*📌 Template này được duy trì bởi QA Team | Cập nhật lần cuối: 01/2024 | Góp ý: qa-team@company.com*