# 📋 CHECKLIST HỌC TESTER THÁNG 1
### Dành cho người trái ngành — Lộ trình 4 tuần

---

> **Hướng dẫn sử dụng:** Đánh dấu `[x]` khi hoàn thành. In ra giấy hoặc dùng trực tiếp file MD.
> **Mục tiêu:** Xây nền tảng tư duy QA + thực hành công cụ cơ bản trước khi học nâng cao.

---

## 🗓️ TUẦN 1 — Tư Duy Testing & Nền Tảng Kiến Thức
**Chủ đề:** SDLC · QA vs QC · Tư duy kiểm thử
**Thời gian gợi ý:** 6–8 giờ trong tuần

| # | Checkbox | Việc cần làm | Chi tiết thực hiện | Ghi chú / Kết quả |
|---|----------|-------------|-------------------|-------------------|
| 1 | [ ] | **Tìm hiểu SDLC là gì** | Đọc bài viết hoặc xem video về Software Development Life Cycle (6 giai đoạn: Planning → Analysis → Design → Development → Testing → Maintenance). Vẽ sơ đồ tay vào vở. | |
| 2 | [ ] | **Phân biệt QA và QC** | Viết ra giấy: QA (Quality Assurance) là phòng ngừa lỗi — QC (Quality Control) là phát hiện lỗi. Đặt 2 ví dụ thực tế cho mỗi loại. | |
| 3 | [ ] | **Hiểu vị trí Tester trong SDLC** | Tester tham gia từ giai đoạn nào? Đọc về "Shift-left testing". Ghi lại 3 điều bạn chưa biết trước đó. | |
| 4 | [ ] | **Học tư duy kiểm thử cơ bản** | Tìm hiểu 7 nguyên tắc kiểm thử (7 Testing Principles của ISTQB). Tóm tắt mỗi nguyên tắc bằng 1 câu của chính bạn. | |
| 5 | [ ] | **Phân biệt Error / Bug / Failure** | Tra cứu định nghĩa 3 khái niệm này. Viết ví dụ minh họa cho từng loại (ví dụ: lập trình viên gõ sai → Error; phần mềm chạy sai → Bug; hệ thống crash → Failure). | |
| 6 | [ ] | **Tìm hiểu Test Level & Test Type** | Unit Test, Integration Test, System Test, UAT là gì? Vẽ hình kim tự tháp kiểm thử (Testing Pyramid) vào vở. | |
| 7 | [ ] | **Tổng kết tuần 1** | Viết 1 đoạn văn ngắn (5–10 câu): "Tuần này tôi đã học được gì? Điều gì còn mơ hồ cần tìm hiểu thêm?" | |

**📝 Ghi chú tổng tuần 1:**
```
_____________________________________________
_____________________________________________
_____________________________________________
```

---

## 🗓️ TUẦN 2 — Viết Test Case Thực Tế
**Chủ đề:** Test Case · Valid/Invalid/Edge Cases · Google Sheets
**Thời gian gợi ý:** 8–10 giờ trong tuần

| # | Checkbox | Việc cần làm | Chi tiết thực hiện | Ghi chú / Kết quả |
|---|----------|-------------|-------------------|-------------------|
| 1 | [ ] | **Học cấu trúc một Test Case** | Tìm hiểu các trường bắt buộc: Test Case ID · Title · Precondition · Test Steps · Expected Result · Actual Result · Status (Pass/Fail). Xem 1 ví dụ mẫu online. | |
| 2 | [ ] | **Tạo file Google Sheets để quản lý Test Case** | Mở Google Sheets → tạo file tên "Test Cases — Login Feature". Tạo header đầy đủ 7 trường ở trên. Định dạng màu sắc cho dễ nhìn. | |
| 3 | [ ] | **Viết test case: Đăng nhập hợp lệ (Valid)** | Viết tối thiểu 3 test case: (1) Đúng email + đúng mật khẩu; (2) Đăng nhập bằng username thay email; (3) Đăng nhập sau khi đổi mật khẩu. Điền đầy đủ vào Google Sheets. | |
| 4 | [ ] | **Viết test case: Đăng nhập không hợp lệ (Invalid)** | Viết tối thiểu 4 test case: (1) Sai mật khẩu; (2) Email không tồn tại; (3) Bỏ trống email; (4) Bỏ trống mật khẩu; (5) Bỏ trống cả hai. Ghi rõ Expected Result từng trường hợp. | |
| 5 | [ ] | **Viết test case: Giới hạn biên (Edge Cases)** | Viết tối thiểu 3 test case: (1) Mật khẩu đúng 1 ký tự (nếu min = 1); (2) Mật khẩu vượt giới hạn ký tự tối đa; (3) Email có khoảng trắng đầu/cuối; (4) Nhập nhiều lần sai liên tiếp (khóa tài khoản?). | |
| 6 | [ ] | **Review và hoàn thiện file Google Sheets** | Đọc lại toàn bộ test case vừa viết. Kiểm tra: Expected Result có rõ ràng không? Có test case nào bị trùng không? Xóa hoặc bổ sung cho đủ tối thiểu 10 test cases. | |
| 7 | [ ] | **Chia sẻ file và tự review** | Share file Google Sheets (View only) với 1 người bạn hoặc mentor. Nhờ họ đọc và hỏi "Expected result này có rõ không?". Ghi lại feedback nhận được. | |
| 8 | [ ] | **Tổng kết tuần 2** | Viết nhận xét: Viết test case khó ở điểm nào? Bạn đã bỏ sót test case nào sau khi review? | |

**📝 Ghi chú tổng tuần 2:**
```
_____________________________________________
_____________________________________________
_____________________________________________
```

---

## 🗓️ TUẦN 3 — Bug Report & Công Cụ Jira
**Chủ đề:** Bug Report · Jira · Thực hành báo cáo lỗi
**Thời gian gợi ý:** 8–10 giờ trong tuần

| # | Checkbox | Việc cần làm | Chi tiết thực hiện | Ghi chú / Kết quả |
|---|----------|-------------|-------------------|-------------------|
| 1 | [ ] | **Học cấu trúc Bug Report chuẩn** | Ghi nhớ 8 trường quan trọng: Bug ID · Title · Environment · Severity · Priority · Steps to Reproduce · Expected Result · Actual Result · Attachment (screenshot/video). Tra cứu sự khác nhau giữa Severity và Priority. | |
| 2 | [ ] | **Tạo tài khoản Jira miễn phí** | Vào `atlassian.com/software/jira` → Đăng ký tài khoản free → Tạo project mới loại "Scrum" hoặc "Bug Tracking" → Đặt tên project: "Practice Bug Reports". | |
| 3 | [ ] | **Làm quen giao diện Jira** | Tạo thử 1 issue bất kỳ → Khám phá các trường: Summary, Description, Issue Type (Bug), Priority, Assignee, Labels. Chụp màn hình giao diện và lưu lại. | |
| 4 | [ ] | **Tạo Bug Report #1 và #2 trên Jira** | Bug #1: Lỗi UI (ví dụ: nút bị che khuất trên mobile). Bug #2: Lỗi chức năng (ví dụ: đăng nhập sai nhưng không hiển thị thông báo lỗi). Điền đầy đủ 8 trường, đặt Severity + Priority phù hợp. | |
| 5 | [ ] | **Tạo Bug Report #3 và #4 trên Jira** | Bug #3: Lỗi logic (ví dụ: giỏ hàng hiển thị sai số lượng). Bug #4: Lỗi hiệu năng (ví dụ: trang load quá 10 giây). Thực hành viết Steps to Reproduce thật chi tiết (đủ để người khác tái hiện được). | |
| 6 | [ ] | **Tạo Bug Report #5 trên Jira** | Bug #5: Tự chọn 1 lỗi bạn từng gặp trong cuộc sống thực khi dùng app/web bất kỳ. Mô tả lại theo đúng cấu trúc. Thêm attachment nếu có (screenshot). | |
| 7 | [ ] | **So sánh 5 bug report vừa tạo** | Đọc lại cả 5. Tự đánh giá: Steps to Reproduce có đủ rõ không? Title có súc tích và mô tả đúng lỗi không? Sửa lại ít nhất 2 bug report cho tốt hơn. | |
| 8 | [ ] | **Tổng kết tuần 3** | Viết: "Điểm khó nhất khi viết bug report là gì? Tại sao Severity và Priority có thể khác nhau?" Cho ví dụ cụ thể. | |

**📝 Ghi chú tổng tuần 3:**
```
_____________________________________________
_____________________________________________
_____________________________________________
```

---

## 🗓️ TUẦN 4 — Các Loại Testing & Tổng Kết Tháng 1
**Chủ đề:** Functional · Regression · Smoke · Sanity Testing · Tổng kết
**Thời gian gợi ý:** 7–9 giờ trong tuần

| # | Checkbox | Việc cần làm | Chi tiết thực hiện | Ghi chú / Kết quả |
|---|----------|-------------|-------------------|-------------------|
| 1 | [ ] | **Học Functional Testing** | Functional Testing là kiểm tra phần mềm hoạt động đúng theo yêu cầu chức năng. Tìm 3 ví dụ thực tế. Phân biệt với Non-functional Testing (performance, security, usability). | |
| 2 | [ ] | **Học Smoke Testing & Sanity Testing** | Smoke Test: kiểm tra nhanh các chức năng CHÍNH sau khi build mới ("build có chạy được không?"). Sanity Test: kiểm tra sâu 1 chức năng CỤ THỂ sau khi fix bug. Vẽ sơ đồ so sánh 2 loại này. | |
| 3 | [ ] | **Học Regression Testing** | Regression Testing: kiểm tra lại các chức năng CŨ sau khi có thay đổi code, đảm bảo không bị ảnh hưởng. Tìm hiểu tại sao Regression Testing tốn thời gian và tại sao cần automation về lâu dài. | |
| 4 | [ ] | **So sánh 4 loại testing trong bảng** | Tạo bảng so sánh (dùng Google Sheets hoặc vở): Loại testing · Mục đích · Khi nào dùng · Ai thực hiện · Ví dụ. Điền đầy đủ cho Functional, Smoke, Sanity, Regression. | |
| 5 | [ ] | **Thực hành: Lập Smoke Test checklist** | Giả sử bạn test app mua hàng online. Viết danh sách 5–7 test case cho Smoke Testing (chỉ test chức năng quan trọng nhất: load trang, đăng nhập, xem sản phẩm, thêm vào giỏ, thanh toán). | |
| 6 | [ ] | **Ôn tập toàn bộ tháng 1** | Đọc lại tất cả ghi chú 3 tuần trước. Liệt kê 10 thuật ngữ quan trọng nhất bạn đã học và giải thích bằng lời của chính mình (không copy). | |
| 7 | [ ] | **Viết tóm tắt tháng 1** | Viết bài tóm tắt 1 trang (có thể đăng LinkedIn/Facebook): "1 tháng học Tester từ con số 0 — Tôi đã học được gì?" Bao gồm: kiến thức học được · công cụ đã dùng · khó khăn gặp phải · kế hoạch tháng 2. | |
| 8 | [ ] | **Lập kế hoạch tháng 2** | Dựa vào những gì còn mơ hồ, lên danh sách 3–5 chủ đề cần học tiếp (gợi ý: API Testing, Automation cơ bản với Selenium, SQL cho Tester, Agile/Scrum sâu hơn). | |

**📝 Ghi chú tổng tuần 4:**
```
_____________________________________________
_____________________________________________
_____________________________________________
```

---

## 📊 BẢNG THEO DÕI TIẾN ĐỘ TỔNG THÁNG 1

| Tuần | Chủ đề chính | Số việc | Hoàn thành | Tỉ lệ | Đánh giá bản thân |
|------|-------------|---------|------------|-------|-------------------|
| Tuần 1 | Tư duy Testing · SDLC · QA vs QC | 7 | __ / 7 | __% | ⭐⭐⭐⭐⭐ |
| Tuần 2 | Viết Test Case · Google Sheets | 8 | __ / 8 | __% | ⭐⭐⭐⭐⭐ |
| Tuần 3 | Bug Report · Jira | 8 | __ / 8 | __% | ⭐⭐⭐⭐⭐ |
| Tuần 4 | Các loại Testing · Tổng kết | 8 | __ / 8 | __% | ⭐⭐⭐⭐⭐ |
| **TỔNG** | | **31** | **__ / 31** | **__%** | |

---

## 📚 TÀI NGUYÊN HỌC TẬP GỢI Ý

| Loại | Tên / Link | Dùng cho tuần |
|------|-----------|---------------|
| 🎥 Video | "Software Testing Tutorial" — Guru99 (YouTube) | Tuần 1, 4 |
| 📖 Website | guru99.com/software-testing.html | Tuần 1, 2, 3, 4 |
| 🛠️ Công cụ | Google Sheets (sheets.google.com) | Tuần 2 |
| 🛠️ Công cụ | Jira Free (atlassian.com/software/jira) | Tuần 3 |
| 📖 Website | softwaretestinghelp.com | Tuần 2, 3 |
| 🎥 Video | "How to write a bug report" — tìm trên YouTube | Tuần 3 |
| 📖 Tài liệu | ISTQB Foundation Level Syllabus (free PDF) | Tuần 1, 4 |

---

## 💡 NGUYÊN TẮC HỌC HIỆU QUẢ

> ✅ **Học + Thực hành ngay** — Đừng chỉ đọc lý thuyết, hãy viết ra tay hoặc làm trên máy ngay sau khi đọc.
>
> ✅ **Sai là bình thường** — Test case đầu tiên sẽ thiếu sót. Bug report đầu tiên sẽ chưa rõ. Đó là quá trình học.
>
> ✅ **Ghi chú bằng ngôn ngữ của bạn** — Không copy y chang tài liệu. Hiểu rồi mới ghi lại.
>
> ✅ **Đặt câu hỏi "Nếu... thì sao?"** — Đây là tư duy cốt lõi của Tester.
>
> ✅ **Hoàn thành hơn hoàn hảo** — Cứ làm trước, refine sau.

---

*📅 Tháng bắt đầu: ___/___/2025 | Tháng kết thúc: ___/___/2025*
*✍️ Họ tên: ________________________________*