# ✅ Checklist Đọc Requirement - Dành Cho Tester

> **Dành cho:** Tester Manual | **Cấp độ:** Không yêu cầu kiến thức lập trình
> **Mục tiêu:** Hiểu đúng, hiểu đủ requirement trước khi viết test case

---

**📋 Thông tin sử dụng**

| Mục | Nội dung |
|-----|----------|
| 📁 Tên tài liệu requirement | |
| 👤 Tester thực hiện | |
| 📅 Ngày đọc requirement | |
| 🔖 Phiên bản tài liệu | |
| 💬 BA/PO phụ trách | |

---

## 🔵 BƯỚC 1: Đọc Tổng Quan

> **Mục tiêu:** Nắm bức tranh toàn cảnh của tính năng trước khi đi vào chi tiết.
> **Thời gian gợi ý:** 10 - 15 phút

| # | Hành động | Hướng dẫn thực hiện | Hoàn thành |
|---|-----------|---------------------|------------|
| 1.1 | 📖 **Đọc lướt toàn bộ tài liệu** | Không dừng lại ở chi tiết. Đọc từ đầu đến cuối một lượt để cảm nhận tổng thể nội dung. | ☐ |
| 1.2 | 🏷️ **Ghi lại tên tính năng chính** | Viết ra tên tính năng/module chính mà tài liệu đề cập. Ví dụ: *"Tính năng Đăng nhập"*, *"Module Quản lý Đơn hàng"* | ☐ |
| 1.3 | 🎯 **Xác định mục đích của tính năng** | Trả lời câu hỏi: *"Tính năng này sinh ra để làm gì? Giải quyết vấn đề gì cho người dùng?"* Ghi lại bằng 1-2 câu ngắn gọn. | ☐ |
| 1.4 | ❓ **Đặt câu hỏi tổng quan** | Ghi lại ngay những điều chưa rõ ở cấp độ tổng thể. Ví dụ: *"Tính năng này chỉ dùng trên web hay cả mobile?"* | ☐ |

**📝 Ghi chú Bước 1:**

```
Tên tính năng: _______________________________________________

Mục đích tính năng: __________________________________________

Câu hỏi tổng quan cần hỏi:
- 
- 
- 
```

---

## 🟢 BƯỚC 2: Xác Định Actor (Người Dùng)

> **Mục tiêu:** Biết rõ ai sẽ sử dụng tính năng này và họ được làm gì.
> **Thời gian gợi ý:** 10 phút

| # | Hành động | Hướng dẫn thực hiện | Hoàn thành |
|---|-----------|---------------------|------------|
| 2.1 | 👥 **Liệt kê tất cả Actor có trong tài liệu** | Tìm và ghi lại tất cả các đối tượng người dùng được nhắc đến. Ví dụ: *Khách hàng, Admin, Nhân viên kho, Hệ thống bên thứ ba...* | ☐ |
| 2.2 | 🗂️ **Phân loại Actor theo nhóm** | Chia Actor thành các nhóm: **Người dùng chính** (dùng trực tiếp) / **Người dùng phụ** (liên quan gián tiếp) / **Hệ thống** (tự động xử lý). | ☐ |
| 2.3 | 🔐 **Ghi lại quyền hạn của từng Actor** | Với mỗi Actor, ghi rõ họ được làm gì và **không** được làm gì trong tính năng này. | ☐ |

**📝 Ghi chú Bước 2:**

```
Danh sách Actor:

┌─────────────────┬─────────────────┬──────────────────────┬─────────────────────┐
│   Tên Actor     │    Phân loại    │    Quyền được làm    │  Không được làm     │
├─────────────────┼─────────────────┼──────────────────────┼─────────────────────┤
│                 │                 │                      │                     │
│                 │                 │                      │                     │
│                 │                 │                      │                     │
└─────────────────┴─────────────────┴──────────────────────┴─────────────────────┘
```

---

## 🟡 BƯỚC 3: Vẽ Luồng Chính (Happy Path)

> **Mục tiêu:** Hình dung rõ ràng luồng đi của tính năng khi mọi thứ diễn ra đúng như kỳ vọng.
> **Thời gian gợi ý:** 15 - 20 phút

| # | Hành động | Hướng dẫn thực hiện | Hoàn thành |
|---|-----------|---------------------|------------|
| 3.1 | ✏️ **Vẽ tay luồng chính lên giấy** | Dùng giấy và bút, vẽ sơ đồ đơn giản (hộp + mũi tên) thể hiện luồng từ đầu đến cuối. Không cần đẹp, chỉ cần hiểu. | ☐ |
| 3.2 | 📋 **Liệt kê từng bước hành động** | Viết từng bước theo thứ tự: *Bước 1 → Bước 2 → ... → Kết quả cuối*. Mỗi bước là một hành động cụ thể của Actor hoặc hệ thống. | ☐ |
| 3.3 | 🔢 **Xác nhận lại thứ tự các bước** | Đọc lại tài liệu và đối chiếu với luồng đã vẽ. Đảm bảo không bỏ sót bước nào và thứ tự không bị sai. | ☐ |
| 3.4 | 🤝 **Review luồng chính với BA/PO** | Trình bày lại luồng bạn hiểu cho BA/PO nghe. Yêu cầu xác nhận: *"Tôi hiểu đúng chưa?"* — Đây là bước quan trọng nhất! | ☐ |

**📝 Ghi chú Bước 3:**

```
Luồng chính (Happy Path):

Bắt đầu: _____________________________________________________

  Bước 1: ___________________________________________________
      ↓
  Bước 2: ___________________________________________________
      ↓
  Bước 3: ___________________________________________________
      ↓
  Bước 4: ___________________________________________________
      ↓
  Bước 5: ___________________________________________________
      ↓
Kết thúc: ____________________________________________________

✅ Đã xác nhận với BA/PO:  ☐ Có  ☐ Chưa
👤 Người xác nhận: _________________  📅 Ngày: _______________
```

---

## 🟠 BƯỚC 4: Tìm Điều Kiện và Ràng Buộc

> **Mục tiêu:** Phát hiện tất cả các quy tắc nghiệp vụ ẩn trong tài liệu — đây là nguồn gốc của hầu hết test case.
> **Thời gian gợi ý:** 20 - 25 phút

| # | Hành động | Hướng dẫn thực hiện | Hoàn thành |
|---|-----------|---------------------|------------|
| 4.1 | 🔍 **Tìm kiếm các từ khóa đặc biệt** | Quét toàn bộ tài liệu, tìm các từ: **"phải"**, **"bắt buộc"**, **"không được"**, **"tối đa"**, **"tối thiểu"**, **"ít nhất"**, **"nhiều nhất"**, **"nếu... thì..."**, **"khi... sẽ..."**, **"chỉ khi"**. | ☐ |
| 4.2 | 🖊️ **Highlight tất cả điều kiện tìm được** | Dùng bút highlight (hoặc comment trong file) để đánh dấu mỗi điều kiện/ràng buộc tìm được. Không bỏ sót. | ☐ |
| 4.3 | 📓 **Ghi lại toàn bộ vào danh sách riêng** | Chép tất cả các điều kiện đã highlight vào một danh sách riêng biệt (giấy hoặc file). Mỗi điều kiện = một dòng. | ☐ |
| 4.4 | 🗃️ **Phân loại điều kiện theo nhóm** | Chia điều kiện thành: **Ràng buộc dữ liệu** (độ dài, định dạng, giá trị) / **Ràng buộc nghiệp vụ** (quy trình, quy tắc) / **Điều kiện kích hoạt** (nếu-thì). | ☐ |
| 4.5 | ⚠️ **Đánh dấu điều kiện chưa rõ ràng** | Với điều kiện nào còn mơ hồ hoặc mâu thuẫn với nhau, đánh dấu `❓` và ghi câu hỏi cần làm rõ với BA. | ☐ |

**📝 Ghi chú Bước 4:**

```
Danh sách Điều kiện & Ràng buộc:

🔴 Ràng buộc dữ liệu:
  - 
  - 

🔵 Ràng buộc nghiệp vụ:
  - 
  - 

🟡 Điều kiện kích hoạt (Nếu - Thì):
  - Nếu _____________ thì _____________
  - Nếu _____________ thì _____________

❓ Điều kiện chưa rõ (cần hỏi):
  - 
  - 
```

---

## 🔴 BƯỚC 5: Liệt Kê Khoảng Trắng (Vùng Chưa Được Nói Đến)

> **Mục tiêu:** Tìm ra những gì requirement **KHÔNG đề cập** — đây chính là vùng rủi ro cao nhất khi test.
> **Thời gian gợi ý:** 15 - 20 phút

| # | Hành động | Hướng dẫn thực hiện | Hoàn thành |
|---|-----------|---------------------|------------|
| 5.1 | ⛔ **Liệt kê các trường hợp input không hợp lệ** | Với mỗi ô nhập liệu/dữ liệu đầu vào: Điều gì xảy ra nếu để trống? Nhập sai định dạng? Nhập quá giới hạn? Hệ thống phản hồi thế nào? | ☐ |
| 5.2 | 🌪️ **Liệt kê các trường hợp ngoại lệ** | Điều gì xảy ra khi: mạng bị ngắt giữa chừng, hệ thống timeout, tài khoản bị khóa đột ngột, dữ liệu bị xóa bởi người khác? | ☐ |
| 5.3 | 🔗 **Xác định các điều kiện kết hợp phức tạp** | Điều gì xảy ra khi nhiều điều kiện xảy ra cùng lúc? Ví dụ: *"Vừa đạt tối đa giới hạn VỪA hết phiên đăng nhập"*. Requirement có đề cập không? | ☐ |
| 5.4 | 💬 **Tổng hợp câu hỏi và hỏi BA/Dev** | Gom tất cả "khoảng trắng" thành danh sách câu hỏi cụ thể. Đặt lịch gặp BA hoặc Dev để làm rõ trước khi bắt đầu viết test case. | ☐ |

**📝 Ghi chú Bước 5:**

```
Khoảng trắng cần làm rõ:

⛔ Input không hợp lệ chưa được xử lý trong tài liệu:
  - 
  - 

🌪️ Trường hợp ngoại lệ chưa được đề cập:
  - 
  - 

🔗 Điều kiện kết hợp chưa rõ:
  - 
  - 

💬 Câu hỏi cần hỏi BA/Dev:
  - Q: _________________________________________________
  - Q: _________________________________________________
  - Q: _________________________________________________

📅 Lịch hỏi BA/Dev: ________________  👤 Người cần gặp: ________________
```

---

## 📊 Tổng Kết & Đánh Giá Mức Độ Hiểu

> Sau khi hoàn thành 5 bước, tự đánh giá mức độ hiểu requirement của bản thân:

| Bước | Tên bước | Hoàn thành | Mức độ tự tin |
|------|----------|------------|---------------|
| 1 | Đọc tổng quan | ☐ | ⭐⭐⭐⭐⭐ |
| 2 | Xác định Actor | ☐ | ⭐⭐⭐⭐⭐ |
| 3 | Vẽ luồng chính (Happy Path) | ☐ | ⭐⭐⭐⭐⭐ |
| 4 | Tìm điều kiện và ràng buộc | ☐ | ⭐⭐⭐⭐⭐ |
| 5 | Liệt kê khoảng trắng | ☐ | ⭐⭐⭐⭐⭐ |

> **Hướng dẫn tự đánh giá:** ⭐ = Chưa hiểu | ⭐⭐⭐ = Hiểu một phần | ⭐⭐⭐⭐⭐ = Hiểu rõ, sẵn sàng viết test case

---

## 📌 Ghi Chú Chung

```
Những điểm đặc biệt cần lưu ý trong tài liệu này:
___________________________________________________________
___________________________________________________________
___________________________________________________________

Tài liệu liên quan cần đọc thêm:
  - 
  - 

Trạng thái sau khi đọc xong:
  ☐ Đã hiểu đủ → Sẵn sàng viết test case
  ☐ Còn câu hỏi → Chờ BA/Dev trả lời
  ☐ Cần đọc lại → Tài liệu chưa rõ ràng

📅 Ngày hoàn thành checklist: _____________________________
✍️  Chữ ký Tester: _______________________________________
```

---

> 💡 **Mẹo nhỏ:** Hãy thực hiện checklist này MỖI LẦN bạn nhận được tài liệu requirement mới hoặc khi requirement được cập nhật phiên bản. Đừng bỏ qua bất kỳ bước nào — mỗi bước đều bảo vệ bạn khỏi việc bỏ sót test case quan trọng.

> 🔄 **Phiên bản checklist:** v1.0 | Cập nhật lần cuối: 2025