# 🧪 Lộ Trình Học Tester 6 Tháng Cho Người Trái Ngành

> **Dành cho ai?** Bạn chưa có kinh nghiệm IT, muốn chuyển sang nghề Tester (QA) trong 6 tháng. Đừng lo — nghề này **không yêu cầu biết lập trình từ đầu**, và người trái ngành hoàn toàn có thể làm được! 💪

---

## 📌 Trước Khi Bắt Đầu

- [ ] Xác định rõ mục tiêu: Tôi muốn đi làm Tester trong vòng 6 tháng
- [ ] Chuẩn bị môi trường: máy tính ổn định, kết nối internet
- [ ] Tạo tài khoản GitHub để lưu tài liệu học tập
- [ ] Tạo tài khoản Notion hoặc Google Docs để ghi chú hành trình

---

## 🌱 GIAI ĐOẠN 1 — Tháng 1 & 2: Xây Nền Tảng Vững Chắc

> *Mục tiêu: Hiểu Tester làm gì, biết viết test case và báo cáo lỗi như một người chuyên nghiệp.*

### 📚 Kiến Thức Cần Nắm

- [ ] Tìm hiểu **Tester là gì**, tại sao cần có Tester trong dự án phần mềm
- [ ] Hiểu vòng đời phát triển phần mềm (**SDLC**) — phần mềm được làm ra như thế nào
- [ ] Hiểu vòng đời của một lỗi (**Bug Life Cycle**) — lỗi đi từ đâu đến đâu
- [ ] Phân biệt các loại testing cơ bản: **Functional vs Non-functional**, **Manual vs Automation**
- [ ] Nắm được các cấp độ kiểm thử: **Unit → Integration → System → UAT**
- [ ] Hiểu thế nào là **Black-box Testing** (test mà không cần đọc code)

### ✍️ Kỹ Năng Thực Hành

- [ ] Học cách viết **Test Case** đúng chuẩn: có Test ID, mô tả, bước thực hiện, kết quả mong đợi, kết quả thực tế
- [ ] Tự viết 20 test case cho một trang web đơn giản (ví dụ: trang đăng nhập của Facebook)
- [ ] Học cách viết **Bug Report** chuyên nghiệp: tiêu đề rõ ràng, bước tái hiện lỗi, môi trường, ảnh/video đính kèm
- [ ] Thực hành tìm và báo cáo ít nhất **10 bug giả định** từ app bạn dùng hàng ngày
- [ ] Làm quen với **mức độ ưu tiên lỗi**: Critical / Major / Minor / Trivial

### 📖 Tài Nguyên Gợi Ý

| Loại | Nguồn |
|------|-------|
| 📺 Video tiếng Việt | Kênh YouTube: *"Tự Học Tester"*, *"KMS Technology"* |
| 📖 Tài liệu đọc | guru99.com/software-testing.html (có bản dịch tiếng Việt) |
| 🎓 Khóa học miễn phí | Udemy: *"Software Testing - Black Box Strategies"* (lọc free) |
| 📝 Template | Tìm "Test Case Template Google Sheets" — dùng luôn cho thực hành |
| 🛠️ Công cụ | Google Sheets hoặc Excel để quản lý test case |

---

### 🏁 Milestone Tháng 1–2: Tự Kiểm Tra Bản Thân

> Trả lời được những câu này = bạn đã sẵn sàng lên giai đoạn 2! ✅

- [ ] **Câu hỏi 1:** Giải thích cho bạn bè nghe Tester làm gì trong 2 phút mà không dùng từ kỹ thuật
- [ ] **Câu hỏi 2:** Tự viết test case cho chức năng "Đăng ký tài khoản" — có ít nhất 15 kịch bản khác nhau
- [ ] **Câu hỏi 3:** Mô tả một bug bạn tìm thấy theo đúng format chuyên nghiệp
- [ ] **Thử thách nhỏ:** Nhờ người thân dùng thử một app, bạn đóng vai Tester ghi lại toàn bộ những gì "không ổn"

---

## 🔧 GIAI ĐOẠN 2 — Tháng 3 & 4: Thực Hành Trên Dự Án Thật

> *Mục tiêu: Không chỉ học lý thuyết — bạn sẽ test app thật, dùng công cụ thật như người đi làm.*

### 🖥️ Test Ứng Dụng Thực Tế

- [ ] Chọn **1 ứng dụng web có sẵn để luyện tập**: gợi ý dùng [demo.guru99.com](http://demo.guru99.com) hoặc [the-internet.herokuapp.com](https://the-internet.herokuapp.com)
- [ ] Viết **Test Plan** đơn giản cho app đó: phạm vi test là gì, test cái gì trước, môi trường nào
- [ ] Thực hiện **Smoke Testing**: kiểm tra những tính năng quan trọng nhất có chạy không
- [ ] Thực hiện **Regression Testing**: sau khi "giả vờ" có bản cập nhật mới, kiểm tra lại các tính năng cũ còn hoạt động không
- [ ] Học cách viết **Test Report** tóm tắt: đã test bao nhiêu, pass bao nhiêu, fail bao nhiêu

### 🗄️ SQL Cơ Bản Cho Tester

- [ ] Hiểu tại sao Tester cần biết SQL: để kiểm tra dữ liệu sau khi thao tác trên app
- [ ] Học lệnh **SELECT**: lấy dữ liệu từ bảng
- [ ] Học **WHERE, AND, OR**: lọc dữ liệu theo điều kiện
- [ ] Học **JOIN cơ bản**: ghép 2 bảng lại với nhau
- [ ] Thực hành 20 bài SQL trên [sqlzoo.net](https://sqlzoo.net) hoặc [w3schools.com/sql](https://www.w3schools.com/sql)
- [ ] Tự đặt câu hỏi kiểu Tester: *"Sau khi tôi đặt hàng, trong database có ghi đúng thông tin không?"*

### 🛠️ Công Cụ Quản Lý Test

- [ ] Làm quen với **Jira** (phần mềm quản lý bug phổ biến nhất) — dùng bản demo miễn phí
- [ ] Học cách tạo ticket bug trên Jira: điền đúng các trường thông tin
- [ ] Thử dùng **TestRail** hoặc **Zephyr** (công cụ quản lý test case) — dùng bản trial

### 📖 Tài Nguyên Gợi Ý

| Loại | Nguồn |
|------|-------|
| 🌐 App luyện tập | demo.guru99.com — web banking giả, tha hồ test |
| 🗄️ SQL | sqlzoo.net — học SQL tương tác, miễn phí hoàn toàn |
| 🎓 Khóa học | Coursera: *"Database for Everybody"* — phần SQL cơ bản |
| 📺 Jira | YouTube: *"Jira Tutorial for Beginners"* — xem 1 video là đủ dùng |
| 📝 Mẫu Test Plan | Tìm "Simple Test Plan Template" trên Google Docs |

---

### 🏁 Milestone Tháng 3–4: Tự Kiểm Tra Bản Thân

- [ ] **Thử thách 1:** Test toàn bộ module "Đăng nhập + Đặt hàng" của demo.guru99 — viết đầy đủ test case, tìm bug, viết report
- [ ] **Thử thách 2:** Chạy 10 câu SQL truy vấn dữ liệu — đúng kết quả mới tính
- [ ] **Thử thách 3:** Tạo 1 project trên Jira (free), tạo 5 bug ticket theo đúng format
- [ ] **Câu hỏi tự vấn:** Giải thích được tại sao Regression Testing quan trọng, dùng ví dụ thực tế

---

## 🚀 GIAI ĐOẠN 3 — Tháng 5 & 6: Mở Rộng Kỹ Năng & Sẵn Sàng Đi Làm

> *Mục tiêu: Học thêm API testing và automation nhập môn, xây portfolio, luyện phỏng vấn — để tự tin apply việc!*

### 🔌 API Testing Với Postman

- [ ] Hiểu **API là gì** theo cách đơn giản: giống như "người phục vụ" truyền yêu cầu giữa app và database
- [ ] Cài đặt **Postman** và làm quen giao diện
- [ ] Học các HTTP method cơ bản: **GET** (lấy data), **POST** (tạo mới), **PUT** (cập nhật), **DELETE** (xóa)
- [ ] Gửi request và đọc **Response** — hiểu status code: 200 OK, 400 Bad Request, 404 Not Found, 500 Server Error
- [ ] Thực hành với API công khai miễn phí: **[reqres.in](https://reqres.in)** hoặc **[jsonplaceholder.typicode.com](https://jsonplaceholder.typicode.com)**
- [ ] Viết test case cho API: verify đúng status code, đúng dữ liệu trả về

### 🤖 Automation Testing Nhập Môn (Không Cần Giỏi Code)

- [ ] Hiểu **Automation Testing là gì** và khi nào nên dùng — không phải cái gì cũng cần automation
- [ ] Làm quen với **Selenium IDE** (công cụ record & playback, không cần viết code)
- [ ] Tự record lại 1 kịch bản test đơn giản bằng Selenium IDE: ví dụ đăng nhập và kiểm tra tiêu đề trang
- [ ] Tìm hiểu sơ về **Cypress** hoặc **Playwright** — biết tên, biết dùng để làm gì là đủ
- [ ] Nếu có hứng: học Python hoặc JavaScript cơ bản (biến, điều kiện, vòng lặp) — không bắt buộc ở giai đoạn này

### 💼 Xây Dựng Portfolio

- [ ] Tạo **GitHub repository** đặt tên là `testing-portfolio`
- [ ] Upload lên GitHub: test case đã viết (dạng file .xlsx hoặc .md), bug report mẫu, test plan đơn giản
- [ ] Viết **README.md** giới thiệu bản thân: bạn là ai, bạn đã học gì, bạn có thể làm gì
- [ ] Chụp ảnh màn hình Postman, Jira, Selenium IDE khi bạn dùng — đính kèm vào portfolio
- [ ] Tạo **hồ sơ LinkedIn** với mục "Đang tìm kiếm cơ hội Tester / QA"
- [ ] Viết ít nhất **1 bài blog ngắn** (trên LinkedIn hoặc Viblo.asia): chia sẻ hành trình học của bạn

### 🎤 Chuẩn Bị Phỏng Vấn

- [ ] Luyện trả lời câu hỏi: *"Bạn có kinh nghiệm gì dù chưa đi làm chính thức?"* → dùng portfolio để chứng minh
- [ ] Chuẩn bị câu trả lời cho: *"Quy trình bạn test một tính năng mới như thế nào?"*
- [ ] Luyện câu hỏi tình huống: *"Nếu deadline gấp nhưng còn nhiều bug, bạn làm gì?"*
- [ ] Ôn lại các khái niệm hay hỏi: Agile là gì, Scrum là gì, Sprint là gì
- [ ] Thử apply vào **vị trí Fresher Tester / Junior QA** — ngay cả khi chưa đủ tự tin (apply để lấy kinh nghiệm phỏng vấn!)
- [ ] Tham gia cộng đồng: group Facebook *"Tester Việt Nam"*, *"QA/Tester Community"*

### 📖 Tài Nguyên Gợi Ý

| Loại | Nguồn |
|------|-------|
| 🔌 API Testing | YouTube: *"Postman Tutorial for Beginners"* — xem series 10 video |
| 🤖 Automation | Selenium IDE: selenium.dev/selenium-ide — tải về và dùng ngay |
| 💼 Portfolio | github.com — tạo repo miễn phí, đẹp và chuyên nghiệp |
| ✍️ Blog kỹ thuật | viblo.asia — cộng đồng IT Việt Nam, viết bài tiếng Việt |
| 🎤 Phỏng vấn | Tìm *"Câu hỏi phỏng vấn Tester tiếng Việt"* trên YouTube |
| 👥 Cộng đồng | Facebook Group: *"Tester Việt Nam"* — hỏi gì cũng được trả lời |

---

### 🏁 Milestone Tháng 5–6: Tự Kiểm Tra Bản Thân

- [ ] **Thử thách 1:** Gửi 10 request API bằng Postman, viết lại kết quả kiểm tra của từng request
- [ ] **Thử thách 2:** Dùng Selenium IDE record lại 1 test case, chạy lại thành công
- [ ] **Thử thách 3:** Portfolio GitHub có ít nhất 3 file tài liệu rõ ràng, README đã viết đầy đủ
- [ ] **Thử thách 4:** Apply ít nhất 5 vị trí Fresher Tester — dù chưa được gọi phỏng vấn cũng OK, cứ apply!
- [ ] **Câu hỏi tự vấn:** Kể tên 5 điều bạn làm được mà 6 tháng trước bạn không biết gì cả 😄

---

## 🎯 Tổng Kết Hành Trình

```
Tháng 1-2  →  Hiểu nghề, viết test case, báo cáo bug
Tháng 3-4  →  Test app thật, biết SQL, dùng Jira
Tháng 5-6  →  API testing, automation nhập môn, có portfolio, sẵn sàng apply
```

### 💡 Lời Khuyên Từ Tâm

> - **Đừng học một mình** — tìm 1 người học cùng để cùng thảo luận, cùng thực hành
> - **Làm nhiều hơn đọc** — 30% lý thuyết, 70% thực hành là tỉ lệ lý tưởng
> - **Ghi chép lại hành trình** — 6 tháng sau nhìn lại bạn sẽ ngạc nhiên vì mình tiến bộ bao nhiêu
> - **Đừng chờ "sẵn sàng 100%"** — apply sớm, phỏng vấn nhiều, thất bại cũng là học

---

**Chúc bạn chinh phục nghề Tester thành công! 🏆**
*Nhớ rằng: mọi senior Tester đều từng là người mới bắt đầu như bạn hôm nay.*