---
name: log-bug
description: Use when a test case fails during Gate 3 execution and a bug needs to be logged with full reproduction steps and evidence. Creates a structured bug report file in the bugs/ directory. Different from investigate-bug which is for developers debugging root causes.
keywords: bug report, log bug, test fail, defect, reproduction steps, evidence, severity, gate 3
---

# Log Bug — Gate 3

> **Phạm vi:** Gate 3 — mỗi khi test case fail, AI tạo file bug report chuẩn trong `bugs/`.
> **TESTER** xác nhận severity và nội dung trước khi submit lên Backlog/Jira.

---

## Khi nào log bug

- Test case fail sau khi execute (Playwright hoặc manual)
- Actual result khác Expected result — dù là lỗi nhỏ
- App crash, timeout, lỗi console không mong đợi
- Hành vi không nhất quán giữa các lần chạy

---

## Quy trình

### Bước 1 — Xác định thông tin bug

Thu thập ngay khi test fail:
- TC ID và tên test case bị fail
- Actual result nhận được vs Expected result trong testcase
- Screenshot/log evidence từ `evidence/[TC-ID]/`
- Browser, OS, build/version đang test

### Bước 2 — Đánh giá Severity

| Severity | Tiêu chí |
|---|---|
| **Critical** | App crash, mất data, không vào được màn hình, security breach |
| **High** | Chức năng chính không hoạt động, không có workaround |
| **Medium** | Chức năng phụ bị lỗi, có workaround tạm thời |
| **Low** | UI/UX nhỏ, cosmetic, typo, không ảnh hưởng chức năng |

### Bước 3 — Tạo file bug report

**File naming:** `bugs/BUG-[số thứ tự 3 chữ số]-[tên ngắn kebab-case].md`
**Ví dụ:** `bugs/BUG-001-login-button-not-disabled-on-submit.md`

Ngôn ngữ output: auto-detect theo ngôn ngữ của ticket/testcase input — xem `custom/rules/output-language.md` và `custom/skills/test-skills/rules/qa-writing-standards.md` (input tiếng Việt → output tiếng Việt; ngược lại mặc định tiếng Anh; tiêu đề cột bảng vẫn giữ tiếng Anh).

**Dùng template bên dưới.**

### Bước 4 — Thông báo TESTER

```
🐛 BUG LOGGED: BUG-[XXX]

TC: [TC_ID] — [Tên test case]
Severity: [Critical / High / Medium / Low]
File: bugs/BUG-[XXX]-[name].md

→ Review bug report
→ Type RETEST: [TC_ID] after dev fixes to re-execute
```

---

## Bug Report Template

```markdown
# BUG-[XXX] — [Tiêu đề mô tả ngắn gọn vấn đề]

## Thông tin chung

| Property | Value |
|---|---|
| **Bug ID** | BUG-[XXX] |
| **Severity** | Critical / High / Medium / Low |
| **TC ID** | [TC_ID] |
| **Reported By** | [Tester Name] |
| **Report Date** | [Date] |
| **Status** | Open |

## Môi trường

| Property | Value |
|---|---|
| **Browser** | [Chrome 120 / Firefox 121 / ...] |
| **OS** | [Windows 11 / macOS / ...] |
| **Build/Version** | [v1.2.3 / commit hash] |
| **Test Environment** | [Staging / Dev / UAT] |

## Mô tả

[Mô tả ngắn gọn vấn đề trong 1-2 câu]

## Preconditions

[Điều kiện cần thiết trước khi reproduce bug]

## Steps to Reproduce

1. [Bước 1]
2. [Bước 2]
3. [Bước 3]
...

## Expected Result

[Kết quả mong đợi theo testcase / spec]

## Actual Result

[Kết quả thực tế nhận được]

## Evidence

- Screenshot: [evidence/[TC-ID]/step-XX-description.png]
- Video: [evidence/[TC-ID]/recording.mp4] (nếu có)
- Console log: [evidence/[TC-ID]/console.log] (nếu có)

## Notes

[Ghi chú thêm nếu có: intermittent, chỉ xảy ra trên specific browser, ...]
```

---

## Mandatory Rules

- ❌ KHÔNG tự đánh giá root cause — chỉ mô tả WHAT happened, không WHY
- ❌ KHÔNG bỏ qua bug dù severity thấp — log tất cả, TESTER quyết định defer
- ✅ Steps to Reproduce PHẢI đủ để dev reproduce mà không cần hỏi thêm
- ✅ Evidence PHẢI link cụ thể đến file screenshot/log trong `evidence/`
- ✅ Expected Result PHẢI lấy từ testcase / spec của BA, không từ cách dev implement
