# ✅ Checklist Chuẩn Bị Test Environment

> **Dành cho:** Tester Junior
> **Mục đích:** Đảm bảo môi trường test sẵn sàng trước khi bắt đầu test
> **Hướng dẫn:** Tick vào `[x]` khi hoàn thành từng mục. Ghi chú nếu có vấn đề.

---

## 1. 🖥️ Server & Database

### 1.1 Cài Đặt & Khởi Động

- [ ] Server test đã được khởi động và đang chạy
- [ ] URL môi trường test đã có (dev/staging/UAT)
- [ ] Ứng dụng load được, không báo lỗi 404/500
- [ ] Version ứng dụng đúng với build cần test
- [ ] File config môi trường (.env hoặc config.yml) đã đúng

### 1.2 Kết Nối Database

- [ ] Có thông tin kết nối DB (host, port, username, password)
- [ ] Kết nối DB thành công (dùng DBeaver / HeidiSQL / pgAdmin...)
- [ ] Database đúng tên, đúng môi trường (không nhầm sang production!)
- [ ] Các bảng dữ liệu đã được khởi tạo đầy đủ
- [ ] Không có bảng bị lỗi hoặc thiếu schema

### 1.3 Quyền Truy Cập

- [ ] Có tài khoản đăng nhập vào server (SSH / RDP nếu cần)
- [ ] Tài khoản DB có đủ quyền: SELECT, INSERT, UPDATE, DELETE
- [ ] Có thể xem log server (application log, error log)
- [ ] VPN đã kết nối (nếu môi trường yêu cầu)
- [ ] Tường lửa / whitelist IP đã được cấu hình

> ⚠️ **Lưu ý:** Tuyệt đối không test trên database Production!

---

## 2. 🗃️ Test Data

### 2.1 Import Data Mẫu

- [ ] Đã có file data mẫu (SQL dump / CSV / JSON...)
- [ ] Import data mẫu thành công, không báo lỗi
- [ ] Số lượng record sau import khớp với dự kiến
- [ ] Dữ liệu hiển thị đúng trên giao diện ứng dụng
- [ ] Dữ liệu đặc biệt đã có: ký tự đặc biệt, chuỗi rỗng, số âm, ngày tháng edge case
- [ ] Dữ liệu cũ/rác từ lần test trước đã được xóa hoặc reset

### 2.2 Tài Khoản Test Theo Role

| Role | Username | Trạng thái |
|---|---|---|
| Admin | admin_test@... | [ ] Đã tạo & đăng nhập được |
| Manager | manager_test@... | [ ] Đã tạo & đăng nhập được |
| User thường | user_test@... | [ ] Đã tạo & đăng nhập được |
| User bị khóa | locked_test@... | [ ] Đã tạo & bị block đúng |
| Guest / Chưa đăng nhập | — | [ ] Kiểm tra quyền truy cập |

- [ ] Mật khẩu các tài khoản test đã được lưu vào nơi an toàn (LastPass / file nội bộ)
- [ ] Từng tài khoản đã đăng nhập thử thành công
- [ ] Phân quyền từng role hoạt động đúng (admin thấy menu admin, user không thấy)
- [ ] Tài khoản test không dùng email/SĐT thật

---

## 3. 🛠️ Công Cụ

### 3.1 Postman (API Testing)

- [ ] Postman đã cài đặt (phiên bản mới nhất hoặc theo yêu cầu dự án)
- [ ] Collection API của dự án đã được import
- [ ] Environment variables đã cấu hình đúng (base_url, token...)
- [ ] Chạy thử 1 API đơn giản (GET /health hoặc tương tự) — nhận được response 200
- [ ] Authentication (Bearer token / API key) đã hoạt động

### 3.2 Jira (Quản Lý Test)

- [ ] Có tài khoản đăng nhập Jira
- [ ] Vào đúng project của dự án đang test
- [ ] Hiểu cách tạo bug report: Summary, Steps to Reproduce, Expected, Actual, Severity
- [ ] Biết cách đính kèm ảnh chụp màn hình / video vào ticket
- [ ] Biết cách link bug với User Story / Test Case tương ứng
- [ ] Nắm được workflow: Open → In Progress → Resolved → Closed

### 3.3 Trình Duyệt

- [ ] Chrome (phiên bản: _____ ) — đã cài DevTools
- [ ] Firefox (phiên bản: _____ )
- [ ] Safari (nếu cần test iOS/macOS)
- [ ] Edge (nếu dự án yêu cầu)
- [ ] Đã xóa cache & cookie trước khi test
- [ ] Đã tắt các extension có thể gây nhiễu (AdBlock, VPN extension...)
- [ ] DevTools mở được, tab Network và Console hoạt động bình thường

### 3.4 Thiết Bị (Device)

- [ ] Thiết bị Android (model: _____, OS: _____ ) — nếu test mobile
- [ ] Thiết bị iOS (model: _____, OS: _____ ) — nếu test mobile
- [ ] Màn hình độ phân giải thấp (1366x768) để test responsive
- [ ] Màn hình độ phân giải cao (1920x1080 trở lên)
- [ ] Đã cài ứng dụng đúng phiên bản cần test lên thiết bị
- [ ] Kết nối thiết bị vật lý với máy tính (nếu dùng Appium / ADB)

### 3.5 Công Cụ Hỗ Trợ Khác

- [ ] Phần mềm chụp ảnh màn hình (Snagit / Greenshot / Lightshot...)
- [ ] Phần mềm quay màn hình (OBS / Loom / Camtasia...)
- [ ] Công cụ so sánh ảnh (nếu test UI)
- [ ] Slack / Teams — kênh liên lạc với dev đã tham gia

---

## 4. ✔️ Xác Nhận Cuối

### 4.1 Smoke Test Môi Trường

> Chạy nhanh các bước cơ bản để xác nhận môi trường "sống"

- [ ] Mở URL ứng dụng → trang hiển thị bình thường, không lỗi trắng màn hình
- [ ] Đăng nhập với tài khoản Admin → thành công
- [ ] Đăng nhập với tài khoản User thường → thành công
- [ ] Thực hiện 1 chức năng cốt lõi (tạo mới / tìm kiếm / lưu...) → hoạt động đúng
- [ ] Gọi 1 API chính → trả về đúng data
- [ ] Xem Console trình duyệt → không có lỗi đỏ nghiêm trọng
- [ ] Kiểm tra email/notification test (nếu hệ thống có gửi email) → nhận được

### 4.2 Confirm Với Dev / Lead

- [ ] Đã xác nhận với Dev: môi trường đang chạy đúng build nào (branch/version)
- [ ] Đã hỏi Dev: có tính năng nào chưa hoàn thiện, cần skip chưa?
- [ ] Đã hỏi Dev: có thay đổi database schema nào so với lần test trước không?
- [ ] Đã nhận Test Plan / Test Case từ Lead (nếu có)
- [ ] Đã nắm được deadline và phạm vi test (scope)
- [ ] Đã có kênh liên lạc nhanh với Dev khi phát hiện blocker

---

## 📋 Tổng Kết

| Hạng mục | Tổng mục | Đã hoàn thành | Ghi chú |
|---|---|---|---|
| Server & Database | 15 | /15 | |
| Test Data | 11 | /11 | |
| Công cụ | 22 | /22 | |
| Xác nhận cuối | 13 | /13 | |
| **TỔNG** | **61** | **/61** | |

---

**Ngày chuẩn bị:** ___/___/______
**Tester:** ______________________
**Môi trường:** ☐ Dev  ☐ Staging  ☐ UAT  ☐ Khác: _______
**Kết luận:**
- ☐ ✅ Môi trường sẵn sàng — bắt đầu test được
- ☐ ⚠️ Có vấn đề nhỏ — vẫn test được, cần theo dõi
- ☐ ❌ Chưa sẵn sàng — cần fix trước khi test

> 💡 **Tip cho Junior:** Nếu có mục nào không chắc, hỏi ngay đừng tự đoán. Chuẩn bị kỹ 30 phút tiết kiệm được cả ngày test sai môi trường!