# 🐛 Bug Report Template - Hướng Dẫn Dành Cho Tester Junior

---

## 📋 MỤC LỤC

1. [Template Chuẩn](#template-chuẩn)
2. [Hướng Dẫn Điền Từng Trường](#hướng-dẫn-điền-từng-trường)
3. [Ví Dụ Mẫu 1 - Bug Critical: Lỗi Đăng Nhập](#ví-dụ-mẫu-1---bug-critical-lỗi-đăng-nhập)
4. [Ví Dụ Mẫu 2 - Bug Minor: Lỗi UI Button](#ví-dụ-mẫu-2---bug-minor-lỗi-ui-button)
5. [Bảng Tham Khảo Severity & Priority](#bảng-tham-khảo-severity--priority)
6. [Checklist Trước Khi Submit](#checklist-trước-khi-submit)

---

## 📝 TEMPLATE CHUẨN

> **Hướng dẫn sử dụng:** Copy toàn bộ template bên dưới, dán vào hệ thống quản lý bug (Jira, Redmine, Azure DevOps...) và điền thông tin vào các chỗ có dấu `[ ]` hoặc `___`.

```
===========================================================
BUG REPORT
===========================================================

BUG ID       : [Tự động tạo hoặc điền theo quy tắc dự án]
Ngày báo cáo : [DD/MM/YYYY]
Người báo cáo: [Họ tên của bạn]
Phiên bản    : [Phiên bản tài liệu bug report, ví dụ: v1.0]

===========================================================

## [BUG-XXX] TIÊU ĐỀ BUG - Mô tả ngắn gọn, rõ ràng

---

### 📌 THÔNG TIN CHUNG

| Trường          | Giá trị                                      |
|-----------------|----------------------------------------------|
| **Module**      | [Tên module/tính năng bị lỗi]                |
| **Severity**    | [ ] Critical  [ ] Major  [ ] Minor  [ ] Trivial |
| **Priority**    | [ ] High  [ ] Medium  [ ] Low                |
| **Trạng thái**  | New / In Progress / Resolved / Closed        |
| **Assign to**   | [Tên developer được giao xử lý - nếu biết]  |

---

### 🖥️ ENVIRONMENT (MÔI TRƯỜNG KIỂM THỬ)

| Thành phần          | Chi tiết                          |
|---------------------|-----------------------------------|
| **Hệ điều hành**    | [Ví dụ: Windows 11 Pro 22H2]      |
| **Trình duyệt**     | [Ví dụ: Chrome 120.0.6099.130]    |
| **Phiên bản App**   | [Ví dụ: v2.3.1 - Build #4521]     |
| **Thiết bị**        | [Ví dụ: PC Desktop / iPhone 14]   |
| **Môi trường test** | [ ] Dev  [ ] Staging  [ ] UAT  [ ] Production |
| **URL/Endpoint**    | [Đường dẫn trang web hoặc API]    |

---

### 📖 MÔ TẢ BUG

**Tóm tắt:**
> [Mô tả ngắn gọn 1-2 câu: Bug xảy ra ở đâu, làm gì thì gặp lỗi]

**Tần suất xuất hiện:**
- [ ] Luôn luôn (100%)
- [ ] Thường xuyên (>50%)
- [ ] Đôi khi (<50%)
- [ ] Hiếm khi (khó tái hiện)

---

### 🔢 STEPS TO REPRODUCE (CÁC BƯỚC TÁI HIỆN LỖI)

**Điều kiện tiên quyết (Precondition):**
> [Những điều cần có trước khi thực hiện các bước - tài khoản, dữ liệu, trạng thái hệ thống...]

**Các bước thực hiện:**

1. [Bước 1: Mở ứng dụng / truy cập URL...]
2. [Bước 2: Thực hiện hành động...]
3. [Bước 3: Nhập dữ liệu / Click vào...]
4. [Bước 4: Tiếp tục thực hiện...]
5. [Bước 5: Quan sát kết quả]

> 💡 **Lưu ý:** Mỗi bước chỉ mô tả MỘT hành động duy nhất. Càng cụ thể càng tốt.

---

### ✅ EXPECTED RESULT (KẾT QUẢ MONG ĐỢI)

> [Mô tả hệ thống PHẢI làm gì theo đúng yêu cầu/thiết kế]

---

### ❌ ACTUAL RESULT (KẾT QUẢ THỰC TẾ)

> [Mô tả chính xác điều gì đang xảy ra SAI. Bao gồm thông báo lỗi nếu có]

**Thông báo lỗi (nếu có):**
```
[Dán nội dung error message hoặc error code vào đây]
```

---

### 📎 ATTACHMENTS (TÀI LIỆU ĐÍNH KÈM)

| Loại tệp        | Tên tệp                    | Mô tả                          |
|-----------------|----------------------------|--------------------------------|
| 📸 Screenshot   | screenshot_01.png          | [Mô tả nội dung ảnh]           |
| 🎥 Video        | recording_01.mp4           | [Mô tả nội dung video]         |
| 📄 Log file     | error_log_YYYYMMDD.txt     | [Mô tả nội dung log]           |
| 📊 Test data    | testdata.xlsx              | [Mô tả dữ liệu test]           |

> ⚠️ **Lưu ý:** Xóa hàng nào không có đính kèm. Đặt tên file rõ ràng, có ngày tháng.

---

### 💬 GHI CHÚ THÊM (ADDITIONAL NOTES)

> [Các thông tin bổ sung: workaround tạm thời, bug liên quan, giả thuyết nguyên nhân...]

---

### 📊 LỊCH SỬ THAY ĐỔI

| Ngày       | Người thực hiện | Hành động              | Ghi chú |
|------------|-----------------|------------------------|---------|
| DD/MM/YYYY | [Tên]           | Tạo bug report         |         |
| DD/MM/YYYY | [Tên]           | [Cập nhật/Resolved...] |         |

===========================================================
```

---

## 📚 HƯỚNG DẪN ĐIỀN TỪNG TRƯỜNG

---

### 🏷️ 1. TITLE (TIÊU ĐỀ)

**Công thức chuẩn:**
```
[Tên màn hình/Module] + [Hành động] + [Kết quả sai]
```

| ❌ Tiêu đề kém | ✅ Tiêu đề tốt |
|----------------|----------------|
| "Lỗi đăng nhập" | "[Login] Đăng nhập với email hợp lệ và mật khẩu đúng nhưng hệ thống báo sai mật khẩu" |
| "Button bị lỗi" | "[Dashboard] Button 'Lưu' hiển thị màu xám không đúng với design khi hover chuột" |
| "App bị crash" | "[Checkout] App crash khi nhấn 'Thanh toán' với giỏ hàng có hơn 10 sản phẩm" |

> 💡 **Mẹo:** Đọc tiêu đề phải hiểu ngay lỗi ở đâu, làm gì, sai gì - **không cần đọc thêm nội dung**.

---

### 🔢 2. STEPS TO REPRODUCE (CÁC BƯỚC TÁI HIỆN)

**Nguyên tắc vàng:**

- ✅ Mỗi bước = **1 hành động duy nhất**
- ✅ Viết theo dạng **mệnh lệnh**: "Click vào...", "Nhập...", "Chọn..."
- ✅ Ghi rõ **dữ liệu cụ thể** dùng để test (email, password, số lượng...)
- ✅ Bắt đầu từ **trạng thái ban đầu** (mở app, truy cập URL...)
- ❌ Không gộp nhiều hành động vào 1 bước
- ❌ Không dùng từ mơ hồ như "làm gì đó", "thử vài lần"

**Ví dụ so sánh:**

```
❌ KÉM:
1. Đăng nhập vào hệ thống rồi vào trang quản lý và thêm sản phẩm

✅ TỐT:
1. Truy cập https://app.example.com/login
2. Nhập Email: test@example.com
3. Nhập Password: Test@1234
4. Click button "Đăng nhập"
5. Click menu "Quản lý sản phẩm" ở sidebar
6. Click button "+ Thêm sản phẩm"
7. Quan sát kết quả hiển thị
```

---

### ✅ 3. EXPECTED RESULT (KẾT QUẢ MONG ĐỢI)

**Dựa vào đâu để viết Expected Result?**

| Nguồn tham khảo | Ví dụ |
|-----------------|-------|
| Tài liệu đặc tả (SRS/BRS) | "Theo SRS v2.1 trang 15: Sau khi đăng nhập thành công, hệ thống chuyển về trang Dashboard" |
| Thiết kế UI/UX (Figma, Zeplin) | "Theo Figma: Button 'Submit' có màu #2196F3 (xanh dương) ở trạng thái normal" |
| Logic nghiệp vụ thông thường | "Người dùng nhập đúng email và mật khẩu thì phải đăng nhập được" |
| Hành vi ở môi trường cũ/ổn định | "Trên môi trường Staging v2.2, tính năng này hoạt động bình thường" |

---

### ❌ 4. ACTUAL RESULT (KẾT QUẢ THỰC TẾ)

**Nguyên tắc:**
- Mô tả **khách quan**, không phán xét nguyên nhân
- Bao gồm **error message chính xác** (copy-paste, không gõ lại)
- Mô tả **trạng thái hệ thống** sau khi lỗi xảy ra

```
❌ KÉM:
"Không đăng nhập được, hệ thống bị lỗi"

✅ TỐT:
"Hệ thống hiển thị thông báo lỗi: 'Invalid credentials. Please try again.'
Trang không chuyển hướng, người dùng vẫn ở màn hình Login.
Ô Password bị xóa trắng, ô Email vẫn giữ nguyên dữ liệu."
```

---

### ⚠️ 5. SEVERITY (MỨC ĐỘ NGHIÊM TRỌNG)

> **Severity = Ảnh hưởng KỸ THUẬT của bug đến hệ thống**
> *Đây là đánh giá của Tester, dựa trên mức độ hỏng hóc của hệ thống*

| Mức độ | Định nghĩa | Ví dụ thực tế |
|--------|-----------|---------------|
| 🔴 **Critical** | Hệ thống không dùng được, không có workaround | App crash, không thể đăng nhập, mất dữ liệu, lỗ hổng bảo mật |
| 🟠 **Major** | Tính năng quan trọng bị hỏng, có workaround | Tính năng thanh toán lỗi nhưng có thể dùng phương thức khác |
| 🟡 **Minor** | Tính năng hoạt động nhưng không đúng thiết kế | Text sai font, màu sắc không đúng, căn lề lệch nhẹ |
| 🟢 **Trivial** | Lỗi rất nhỏ, hầu như không ảnh hưởng | Typo trong text, icon hơi lệch 1-2px |

---

### 🚨 6. PRIORITY (ƯU TIÊN XỬ LÝ)

> **Priority = Mức độ ƯU TIÊN về mặt KINH DOANH**
> *Thường do PM/Lead quyết định, Tester có thể đề xuất ban đầu*

| Mức độ | Định nghĩa | Ví dụ thực tế |
|--------|-----------|---------------|
| 🔴 **High** | Phải fix ngay, ảnh hưởng trực tiếp đến business | Lỗi ở luồng thanh toán trước ngày ra mắt |
| 🟡 **Medium** | Cần fix trong sprint hiện tại | Lỗi tính năng phụ ảnh hưởng một số người dùng |
| 🟢 **Low** | Fix khi có thời gian | Lỗi giao diện nhỏ, ít người dùng thấy |

**Bảng kết hợp Severity & Priority thường gặp:**

```
Severity Critical  + Priority High   → Fix NGAY trong ngày
Severity Critical  + Priority Medium → Có thể xảy ra khi tính năng ít dùng
Severity Major     + Priority High   → Fix trong sprint này
Severity Minor     + Priority Low    → Backlog, fix khi rảnh
Severity Trivial   + Priority Low    → Có thể không cần fix
```

---

### 🖥️ 7. ENVIRONMENT (MÔI TRƯỜNG)

**Tại sao quan trọng?**
Bug đôi khi chỉ xảy ra trên Chrome mà không xảy ra trên Firefox, hoặc chỉ trên iOS không xảy ra trên Android. Developer cần biết chính xác để tái hiện.

**Cách lấy thông tin:**

| Thông tin cần lấy | Cách lấy |
|-------------------|----------|
| Chrome version | Gõ `chrome://version` trên thanh địa chỉ |
| Windows version | Nhấn `Win + R` → gõ `winver` |
| App version | Xem ở trang About/Settings của app |
| iOS version | Settings → General → About |
| Android version | Settings → About phone |

---

### 📎 8. ATTACHMENTS (TÀI LIỆU ĐÍNH KÈM)

**Quy tắc đặt tên file:**
```
[BugID]_[Loại]_[Mô tả ngắn]_[YYYYMMDD].[extension]

Ví dụ:
BUG001_screenshot_login_error_20240115.png
BUG001_video_reproduce_steps_20240115.mp4
BUG001_log_console_error_20240115.txt
```

**Checklist đính kèm:**
- [ ] Screenshot toàn màn hình (không chỉ crop 1 phần nhỏ)
- [ ] Đánh dấu vùng lỗi trong ảnh (dùng mũi tên đỏ, khoanh tròn)
- [ ] Video tái hiện bug nếu khó mô tả bằng chữ
- [ ] Console log / Network log nếu là lỗi kỹ thuật
- [ ] File dữ liệu test nếu bug phụ thuộc vào data cụ thể

---

## 📋 VÍ DỤ MẪU 1 - BUG CRITICAL: LỖI ĐĂNG NHẬP

---

```
===========================================================
BUG REPORT
===========================================================

BUG ID       : BUG-2024-001
Ngày báo cáo : 15/01/2024
Người báo cáo: Nguyễn Thị Lan Anh
Phiên bản    : v1.0

===========================================================
```

## [BUG-2024-001] [Login] Đăng nhập thất bại với tài khoản hợp lệ - Hệ thống báo "Sai mật khẩu" mặc dù thông tin đúng

---

### 📌 THÔNG TIN CHUNG

| Trường          | Giá trị                                            |
|-----------------|----------------------------------------------------|
| **Module**      | Authentication - Đăng nhập                         |
| **Severity**    | ✅ **Critical**                                     |
| **Priority**    | ✅ **High**                                         |
| **Trạng thái**  | New                                                |
| **Assign to**   | Chưa gán                                           |

---

### 🖥️ ENVIRONMENT (MÔI TRƯỜNG KIỂM THỬ)

| Thành phần          | Chi tiết                                    |
|---------------------|---------------------------------------------|
| **Hệ điều hành**    | Windows 11 Pro - Version 22H2 (Build 22621) |
| **Trình duyệt**     | Google Chrome 120.0.6099.130 (64-bit)       |
| **Phiên bản App**   | ShopEasy Web App v3.2.0 - Build #7823       |
| **Thiết bị**        | PC Desktop (Dell Inspiron 15)               |
| **Môi trường test** | ✅ **Staging**                               |
| **URL**             | https://staging.shopeasy.vn/login           |

---

### 📖 MÔ TẢ BUG

**Tóm tắt:**
> Người dùng không thể đăng nhập vào hệ thống mặc dù nhập đúng email và mật khẩu đã được xác nhận là hợp lệ. Hệ thống liên tục trả về thông báo lỗi "Mật khẩu không đúng" và chặn toàn bộ luồng đăng nhập.

**Tần suất xuất hiện:**
- ✅ Luôn luôn (100%) - Tái hiện được với mọi tài khoản test

---

### 🔢 STEPS TO REPRODUCE (CÁC BƯỚC TÁI HIỆN LỖI)

**Điều kiện tiên quyết (Precondition):**
> - Tài khoản test đã tồn tại và active trong hệ thống: `tester01@shopeasy.vn`
> - Mật khẩu đã được xác nhận đúng với DBA: `Test@123456`
> - Tài khoản chưa bị khóa, chưa hết hạn
> - Đã xóa cache và cookies trình duyệt trước khi test

**Các bước thực hiện:**

1. Mở trình duyệt Google Chrome phiên bản 120.0.6099.130
2. Truy cập URL: `https://staging.shopeasy.vn/login`
3. Chờ trang Login load hoàn toàn (màn hình hiển thị form đăng nhập)
4. Click vào ô **Email** và nhập: `tester01@shopeasy.vn`
5. Click vào ô **Mật khẩu** và nhập: `Test@123456`
6. Click button **"Đăng nhập"** màu xanh dương ở giữa form
7. Quan sát phản hồi của hệ thống

---

### ✅ EXPECTED RESULT (KẾT QUẢ MONG ĐỢI)

> Theo tài liệu đặc tả SRS v2.3 - Section 4.1.2:
> - Hệ thống xác thực thông tin đăng nhập thành công
> - Hiển thị thông báo: **"Đăng nhập thành công! Chào mừng bạn trở lại."**
> - Tự động chuyển hướng đến trang Dashboard: `https://staging.shopeasy.vn/dashboard`
> - Thanh điều hướng hiển thị tên người dùng ở góc phải: **"Tester 01"**
> - Thời gian xử lý không quá 3 giây

---

### ❌ ACTUAL RESULT (KẾT QUẢ THỰC TẾ)

> Sau khi click button "Đăng nhập", 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 đỏ ngay bên dưới ô Mật khẩu.
> Ô Mật khẩu bị xóa trắng. Ô Email vẫn còn dữ liệu.
> Không có bất kỳ phản hồi nào cho thấy đăng nhập thành công.

**Thông báo lỗi hiển thị trên màn hình:**
```
⚠️ Mật khẩu không đúng. Bạn còn 4 lần thử. 
Vui lòng kiểm tra lại thông tin đăng nhập.
```

**Thông báo lỗi trong Console (F12):**
```
POST https://api.staging.shopeasy.vn/auth/login 401 (Unauthorized)
Error: {"code": "AUTH_001", "message": "Invalid password", "timestamp": "2024-01-15T09:32:11Z"}
```

---

### 📎 ATTACHMENTS (TÀI LIỆU ĐÍNH KÈM)

| Loại tệp      | Tên tệp                                          | Mô tả                                                  |
|---------------|--------------------------------------------------|--------------------------------------------------------|
| 📸 Screenshot | BUG001_screenshot_login_error_20240115.png       | Màn hình login hiển thị thông báo lỗi "Mật khẩu không đúng", đã khoanh đỏ vùng lỗi |
| 🎥 Video      | BUG001_video_reproduce_20240115.mp4              | Video quay lại toàn bộ 7 bước tái hiện lỗi (00:45 giây) |
| 📄 Log file   | BUG001_console_log_20240115.txt                  | Toàn bộ console log trình duyệt trong quá trình thực hiện steps |
| 📄 Log file   | BUG001_network_log_20240115.har                  | HAR file ghi lại network request/response của API login |

---

### 💬 GHI CHÚ THÊM

> **Bug ảnh hưởng:**
> - ❌ 100% người dùng không thể đăng nhập → **Toàn bộ chức năng hệ thống bị chặn**
> - ❌ Ảnh hưởng tất cả tài khoản (đã test thêm 3 tài khoản khác: tester02, tester03, admin01 - đều gặp lỗi tương tự)
>
> **Thời điểm xảy ra:**
> - Bug KHÔNG xuất hiện trên môi trường Dev (đã kiểm tra lúc 09:00 cùng ngày)
> - Bug bắt đầu xuất hiện trên Staging sau khi team deploy build #7823 lúc 08:45
> - Build trước đó (#7822) hoạt động bình thường (đã verify bằng cách rollback thử nghiệm)
>
> **Giả thuyết nguyên nhân (để tham khảo):**
> - Có thể liên quan đến thay đổi trong module mã hóa mật khẩu tại commit `a3f9c12` trong build #7823
>
> **Workaround tạm thời:**
> - Không có workaround. Người dùng hoàn toàn không thể truy cập hệ thống.
>
> **Bug liên quan:** Không có

---

### 📊 LỊCH SỬ THAY ĐỔI

| Ngày       | Người thực hiện     | Hành động      | Ghi chú                           |
|------------|---------------------|----------------|-----------------------------------|
| 15/01/2024 | Nguyễn Thị Lan Anh  | Tạo bug report | Phát hiện lúc 09:35, báo cáo ngay |

---

## 📋 VÍ DỤ MẪU 2 - BUG MINOR: LỖI UI BUTTON

---

```
===========================================================
BUG REPORT
===========================================================

BUG ID       : BUG-2024-047
Ngày báo cáo : 18/01/2024
Người báo cáo: Trần Minh Khôi
Phiên bản    : v1.0

===========================================================
```

## [BUG-2024-047] [Dashboard] Button "Xuất báo cáo" hiển thị màu nền sai (#CCCCCC thay vì #2196F3) khi ở trạng thái hover

---

### 📌 THÔNG TIN CHUNG

| Trường          | Giá trị                                           |
|-----------------|---------------------------------------------------|
| **Module**      | Dashboard - Báo cáo thống kê                      |
| **Severity**    | ✅ **Minor**                                       |
| **Priority**    | ✅ **Low**                                         |
| **Trạng thái**  | New                                               |
| **Assign to**   | Chưa gán                                          |

---

### 🖥️ ENVIRONMENT (MÔI TRƯỜNG KIỂM THỬ)

| Thành phần          | Chi tiết                                          |
|---------------------|---------------------------------------------------|
| **Hệ điều hành**    | Windows 10 Pro - Version 21H2 (Build 19044)       |
| **Trình duyệt**     | Google Chrome 120.0.6099.130 + Mozilla Firefox 121.0 (lỗi xảy ra trên CẢ HAI trình duyệt) |
| **Phiên bản App**   | ShopEasy Web App v3.2.0 - Build #7825             |
| **Thiết bị**        | PC Desktop (màn hình 1920x1080, 100% display scale) |
| **Môi trường test** | ✅ **Staging**                                     |
| **URL**             | https://staging.shopeasy.vn/dashboard/reports     |

---

### 📖 MÔ TẢ BUG

**Tóm tắt:**
> Button "Xuất báo cáo" trên trang Dashboard/Reports hiển thị màu nền xám nhạt (`#CCCCCC`) khi người dùng di chuyển chuột vào (hover), thay vì màu xanh đậm (`#1976D2`) như thiết kế trong Figma. Tính năng xuất báo cáo vẫn hoạt động bình thường, chỉ có giao diện bị sai.

**Tần suất xuất hiện:**
- ✅ Luôn luôn (100%) - Tái hiện được trên Chrome và Firefox

---

### 🔢 STEPS TO REPRODUCE (CÁC BƯỚC TÁI HIỆN LỖI)

**Điều kiện tiên quyết (Precondition):**
> - Đã đăng nhập vào hệ thống với tài khoản có quyền xem báo cáo
> - Tài khoản test: `manager01@shopeasy.vn` / `Manager@123`
> - Có ít nhất 1 báo cáo trong hệ thống

**Các bước thực hiện:**

1. Đăng nhập vào hệ thống tại `https://staging.shopeasy.vn/login`
2. Chờ trang Dashboard load hoàn toàn
3. Click vào menu **"Báo cáo"** ở sidebar bên trái
4. Chọn **"Báo cáo doanh thu"** từ danh sách submenu
5. Chờ trang `https://staging.shopeasy.vn/dashboard/reports/revenue` load xong
6. Tìm button **"Xuất báo cáo"** màu xanh ở góc trên bên phải trang
7. Di chuyển con trỏ chuột vào (hover) button **"Xuất báo cáo"** (KHÔNG click)
8. Quan sát màu sắc của button khi đang hover

---

### ✅ EXPECTED RESULT (KẾT QUẢ MONG ĐỢI)

> Theo file thiết kế Figma - Frame "Dashboard/Reports" - Component "ButtonPrimary":
> - Trạng thái **Normal**: Màu nền `#2196F3` (xanh dương trung bình)
> - Trạng thái **Hover**: Màu nền `#1976D2` (xanh dương đậm hơn), chữ màu `#FFFFFF`
> - Có hiệu ứng chuyển màu mượt mà (transition 0.2s ease)
> - Con trỏ chuột chuyển thành dạng `pointer` (hình bàn tay)
>
> *(Tham khảo: Figma link - Frame ID: dashboard-btn-export, đã đính kèm screenshot)*

---

### ❌ ACTUAL RESULT (KẾT QUẢ THỰC TẾ)

> Khi hover chuột vào button "Xuất báo cáo":
> - Màu nền chuyển thành **xám nhạt** thay vì xanh đậm hơn
> - Trông giống như button đang bị **disabled** (vô hiệu hóa) trong khi thực tế vẫn click được
> - Không có hiệu ứng transition, màu chuyển đột ngột
> - Con trỏ chuột vẫn chuyển thành `pointer` (đúng)
> - Chữ "Xuất báo cáo" vẫn màu trắng (đúng)

**Màu sắc thực tế (đã đo bằng DevTools):**
```css
/* Trạng thái hover thực tế */
background-color: #CCCCCC;  /* ← SAI, phải là #1976D2 */
color: #FFFFFF;              /* ← Đúng */
cursor: pointer;             /* ← Đúng */
transition: none;            /* ← SAI, phải có transition */
```

---

### 📎 ATTACHMENTS (TÀI LIỆU ĐÍNH KÈM)

| Loại tệp      | Tên tệp                                               | Mô tả                                                                       |
|---------------|-------------------------------------------------------|-----------------------------------------------------------------------------|
| 📸 Screenshot | BUG047_screenshot_hover_actual_20240118.png           | Button đang ở trạng thái hover, hiển thị màu xám #CCCCCC - đã khoanh đỏ vùng lỗi |
| 📸 Screenshot | BUG047_screenshot_figma_design_20240118.png           | Screenshot thiết kế Figma cho button ở trạng thái hover (màu chuẩn #1976D2) |
| 📸 Screenshot | BUG047_screenshot_comparison_20240118.png             | Ảnh so sánh 2 màn hình: Thực tế (trái) vs Thiết kế (phải)                  |
| 📸 Screenshot | BUG047_screenshot_devtools_css_20240118.png           | DevTools hiển thị CSS bị áp dụng sai cho trạng thái hover                  |

---

### 💬 GHI CHÚ THÊM

> **Phạm vi ảnh hưởng:**
> - Lỗi này xảy ra với button "Xuất báo cáo" trên **tất cả các trang báo cáo** (doanh thu, tồn kho, nhân sự - đã kiểm tra tất cả)
> - Các button "Xuất báo cáo" tương tự ở trang khác **KHÔNG bị lỗi** (ví dụ: trang Đơn hàng - button hover hiển thị đúng màu #1976D2)
>
> **Mức độ ảnh hưởng người dùng:**
> - Tính năng vẫn hoạt động bình thường (xuất file thành công khi click)
> - Chỉ ảnh hưởng trải nghiệm thị giác, có thể gây nhầm lẫn button bị disable
> - Ảnh hưởng toàn bộ người dùng có quyền xem báo cáo
>
> **Workaround:**
> - Không cần workaround vì tính năng vẫn hoạt động đúng
> - Người dùng có thể click thẳng vào button mà không cần quan tâm đến màu hover
>
> **Bug tương tự có thể liên quan:** BUG-2024-043 (Button "Lưu nháp" ở trang Tạo đơn hàng cũng bị màu sai khi hover - đang xử lý)
>
> **Gợi ý cho Developer:**
> - Kiểm tra file CSS/SCSS của component ButtonPrimary dùng riêng trong module Reports
> - Có thể bị override bởi một stylesheet cục bộ trong thư mục `reports/`

---

### 📊 LỊCH SỬ THAY ĐỔI

| Ngày       | Người thực hiện | Hành động      | Ghi chú                                     |
|------------|-----------------|----------------|---------------------------------------------|
| 18/01/2024 | Trần Minh Khôi  | Tạo bug report | Phát hiện trong quá trình regression test   |

---

## 📊 BẢNG THAM KHẢO SEVERITY & PRIORITY

---

### Ma trận Severity × Priority

```
                    PRIORITY
                 High    Medium    Low
              ┌────────┬────────┬────────┐
   Critical   │ 🔴🔴🔴 │ 🔴🔴   │ 🔴     │
              ├────────┼────────┼────────┤
S  Major      │ 🔴🔴   │ 🟠🟠   │ 🟠     │
E             ├────────┼────────┼────────┤
V  Minor      │ 🟠     │ 🟡🟡   │ 🟡     │
E             ├────────┼────────┼────────┤
R  Trivial    │ 🟡     │ 🟡     │ 🟢     │
              └────────┴────────┴────────┘

🔴🔴🔴 Fix ngay lập tức (trong ngày)
🔴🔴   Fix trong 24 giờ
🔴     Fix trong sprint hiện tại
🟠🟠   Fix trong sprint hiện tại
🟠     Fix trong sprint tiếp theo
🟡🟡   Lên kế hoạch fix
🟡     Fix khi có thời gian
🟢     Backlog, có thể không fix
```

---

### Ví dụ thực tế theo Severity

| Severity | Ví dụ Bug |
|----------|-----------|
| 🔴 Critical | App crash khi mở, không thể đăng nhập, mất dữ liệu người dùng, lỗ hổng bảo mật nghiêm trọng, thanh toán bị trừ tiền nhưng đơn hàng không tạo |
| 🟠 Major | Tính năng tìm kiếm trả về kết quả sai, email xác nhận không gửi được, upload file luôn thất bại, filter không hoạt động |
| 🟡 Minor | Button sai màu, font chữ sai, căn lề lệch, tooltip không hiển thị, placeholder text sai nội dung |
| 🟢 Trivial | Lỗi chính tả trong tooltip, icon hơi lệch 2px, màu placeholder nhạt hơn thiết kế 1 shade |

---

## ✅ CHECKLIST TRƯỚC KHI SUBMIT BUG

---

Trước khi gửi bug report, hãy tự kiểm tra các mục sau:

### 🔍 Kiểm tra nội dung

- [ ] **Tiêu đề rõ ràng**: Đọc tiêu đề là hiểu ngay lỗi ở đâu, làm gì, sai gì
- [ ] **Tái hiện được**: Tự tái hiện lại bug ít nhất **2-3 lần** trước khi báo cáo
- [ ] **Steps đầy đủ**: Mỗi bước có một hành động, bắt đầu từ trạng thái ban đầu
- [ ] **Data cụ thể**: Ghi rõ dữ liệu test (email, password, số lượng...) không viết chung chung
- [ ] **Expected Result có nguồn**: Dựa vào spec, thiết kế, hoặc logic rõ ràng
- [ ] **Actual Result chính xác**: Copy-paste error message, không gõ lại
- [ ] **Severity phù hợp**: Đánh giá dựa trên mức độ ảnh hưởng kỹ thuật thực tế
- [ ] **Environment đầy đủ**: OS version, browser version, app version, môi trường test

### 📎 Kiểm tra đính kèm

- [ ] **Screenshot rõ nét**: Chụp toàn màn hình, đánh dấu vùng lỗi rõ ràng
- [ ] **Tên file đúng quy tắc**: Có BugID, mô tả, ngày tháng
- [ ] **Video nếu cần**: Đặc biệt với bug animation, hover, drag & drop

### 🔎 Kiểm tra trùng lặp

- [ ] **Tìm kiếm trước**: Đã tìm trong hệ thống quản lý bug, bug này chưa được báo cáo
- [ ] **Không phải môi trường**: Bug xảy ra trên môi trường test, không phải do máy tính cá nhân
- [ ] **Không phải do data bẩn**: Thử với data khác, kết quả vẫn giống nhau

### 💬 Kiểm tra ngôn ngữ

- [ ] **Khách quan**: Không có lời phán xét cảm tính ("developer làm ẩu", "lỗi ngớ ngẩn")
- [ ] **Rõ ràng**: Đọc lại 1 lần, người khác chưa biết bug này có hiểu không
- [ ] **Đủ thông tin**: Developer nhận bug có đủ thông tin để tái hiện và sửa không

---

> 💡 **Lời khuyên cuối:**
>
> Một bug report tốt = Developer tái hiện được ngay lần đầu tiên đọc
>
> Hãy tự hỏi: *"Nếu tôi là Developer nhận bug này lúc 11 giờ đêm, tôi có đủ thông tin để bắt đầu sửa không?"*
>
> Nếu câu trả lời là **CÓ** → Bug report của bạn đạt chuẩn! 🎉

---

*Template được tạo bởi: QA Team | Phiên bản: 1.0 | Cập nhật lần cuối: 2024*