Mmaiqai.com
🧩

Kho Template QA

18 template chuẩn cho dân tester: Test Scenario, các loại Test Case, Checklist. Mỗi template có 2 nút: copy mẫu trống để tự điền, hoặc copy prompt để AI tự sinh tài liệu từ requirement của bạn.

💡 Quy trình gợi ý: dùng Claude Code đọc & phân tích requirement → rồi dán prompt template ở đây để AI sinh tài liệu đúng định dạng.
💡 Mỗi template: bấm ⬇ Tải Excel để lấy file .xlsx có sẵn header định dạng + cột Kết quả / Trạng thái / Ưu tiên có dropdown chọn sẵn (tick ngay trong Excel). Hoặc bấm 📋 Copy để dán nhanh vào file Excel sẵn có — mỗi cột tự vào đúng ô.

🎬 Test Scenario

Kịch bản kiểm thử mức cao — liệt kê 'cần test cái gì' trước khi viết test case chi tiết.

Test Scenario — dạng bảng
Dùng ngay sau khi phân tích requirement, để bao quát mọi luồng cần test và rà với BA.
IDTên ScenarioMô tả ngắnLoạiRequirementƯu tiên
SC-01Đăng nhập thành côngNhập đúng email + mật khẩu → vào trang chủHappy pathSRS-2.1Cao
SC-02Sai mật khẩuBáo lỗi, không tiết lộ email có tồn tạiNegativeSRS-2.1Cao
SC-03Khóa sau 5 lần saiTài khoản bị khóa đúng ngưỡngBoundarySRS-2.5Trung bình
SC-04Chống brute forceVượt ngưỡng → captcha/khóaSecuritySRS-2.5Cao
Loại: Happy path · Negative · Boundary · Security · Performance

📝 Test Case

Các định dạng test case chi tiết — chọn loại hợp với dự án (truyền thống / BDD / data-driven).

Test Case — dạng từng bước (truyền thống)
Phổ biến nhất, hợp test thủ công. Quản lý bằng Excel: mỗi test case một dòng, các trường là cột.
Quản lý nhiều test case trong Excel — mỗi case 1 dòng:
Test Case IDTiêu đềModuleTiền điều kiệnCác bướcDữ liệu testKết quả mong đợiKết quả thực tếTrạng tháiƯu tiên
TC-001Đăng nhập đúng thông tinLoginĐã có tài khoản hợp lệ1. Mở trang login 2. Nhập email+mật khẩu 3. Bấm Đăng nhậpuser@mail.com / 123456Vào trang chủ, hiển thị tên userChưa chạyCao
TC-002Đăng nhập sai mật khẩuLoginĐã có tài khoản hợp lệ1. Mở trang login 2. Nhập email đúng, mật khẩu sai 3. Bấm Đăng nhậpuser@mail.com / saimkBáo 'Email hoặc mật khẩu không đúng'Chưa chạyCao
Trạng thái: Chưa chạy · Pass · Fail · Blocked
Test Case — BDD / Gherkin (Given-When-Then)
Hợp dự án Agile, automation (Cucumber/SpecFlow), hoặc khi muốn BA/dev đọc hiểu chung. Dạng văn bản, không phải bảng Excel.
Feature: [Tên tính năng]

  Scenario: [Tên kịch bản cụ thể]
    Given [tiền điều kiện / trạng thái ban đầu]
    And   [điều kiện bổ sung nếu có]
    When  [hành động người dùng thực hiện]
    Then  [kết quả mong đợi]
    And   [kết quả bổ sung nếu có]

  Scenario Outline: [Kịch bản chạy nhiều bộ dữ liệu]
    Given user ở màn hình đăng nhập
    When  nhập "<email>" và "<matkhau>"
    Then  hệ thống hiển thị "<ketqua>"

    Examples:
      | email      | matkhau | ketqua           |
      | a@test.com | 123456  | Vào trang chủ    |
      | a@test.com | sai     | Báo sai mật khẩu |
Test Case — Data-driven (bảng dữ liệu)
Khi một luồng cần test nhiều bộ input/expected (vd: validate trường nhập liệu).
Chức năng: [Tên] — Trường: Email — Tiền điều kiện: đang ở màn hình đăng ký
#InputLoạiKết quả mong đợi
1user@mail.comHợp lệChấp nhận
2(để trống)Bắt buộcBáo "không được để trống"
3usermail.comSai định dạngBáo "email không hợp lệ"
4a@b.coBiên ngắnChấp nhận
5[chuỗi 255+ ký tự]Biên trênBáo vượt độ dài
6<script>alert(1)</script>Bảo mậtKhông thực thi, escape an toàn
API Test Case
Dự án có API/backend. Kiểm thử từng endpoint: request → status + response mong đợi.
API: [Tên dịch vụ] — Base URL: [https://api.example.com]
IDEndpointMethodHeader / AuthPayload / ParamsStatus mong đợiResponse mong đợiKết quả
API-01/loginPOSTContent-Type: application/json{"email":"a@mail.com","pass":"123456"}200Trả token + thông tin user
API-02/loginPOSTContent-Type: application/json{"email":"a@mail.com","pass":"sai"}401Message "Sai thông tin đăng nhập"
API-03/loginPOSTContent-Type: application/json{"email":"a@mail.com"}400Báo thiếu trường pass
API-04/users/{id}GETAuthorization: Bearer <token>id = 1200Thông tin user id=1
API-05/users/{id}GET(không gửi token)id = 1401Unauthorized
Status: kiểm cả mã (200/400/401/403/404/500) lẫn nội dung response + thời gian phản hồi.

🐞 Báo lỗi & Defect

Báo cáo lỗi chuẩn để dev tái hiện được, và bảng theo dõi toàn bộ lỗi của đợt test.

Bug Report (1 lỗi)
Báo 1 lỗi cụ thể (dán vào Jira/Redmine/ticket). Viết rõ để dev tái hiện được ngay.
BUG REPORT

Bug ID:            BUG-001
Tiêu đề:           [Ngắn gọn: cái gì lỗi, ở đâu]
Sản phẩm / Module: [...]
Môi trường:        [OS / Trình duyệt + phiên bản / Server / Build]
Mức độ (Severity): [Nghiêm trọng / Cao / Trung bình / Thấp]
Ưu tiên (Priority):[Cao / Trung bình / Thấp]
Tiền điều kiện:    [Trạng thái trước khi tái hiện]

Các bước tái hiện:
  1. 
  2. 
  3. 

Kết quả thực tế:   [Hệ thống đang làm gì sai]
Kết quả mong đợi:  [Đáng lẽ phải thế nào]
Tần suất:          [Luôn luôn / Thỉnh thoảng / Chỉ 1 lần]
Đính kèm:          [Ảnh chụp / video / log lỗi]
Liên quan:         Test Case [TC-...] · Requirement [SRS-...]
Người tạo:         [...]      Ngày: [...]
Trạng thái:        Mới
Defect Log / Tracker
Bảng theo dõi tất cả lỗi của đợt test — gửi status hằng ngày. Mỗi lỗi 1 dòng.
DEFECT LOG — [Dự án] — Đợt/Sprint: [...]
Bug IDTiêu đềModuleMức độƯu tiênTrạng thái lỗiNgười gánNgày phát hiệnGhi chú
BUG-001Đăng nhập sai vẫn vào đượcLoginNghiêm trọngCaoMớiDev A2026-06-16
BUG-002Nút Lưu lệch trên mobileHồ sơThấpThấpĐang sửaDev B2026-06-16
Trạng thái lỗi: Mới · Đang sửa · Đã sửa · Cần retest · Đóng · Mở lại.

📊 Quản lý & Báo cáo

RTM phủ requirement, tracker theo dõi chạy test, báo cáo tổng kết và kế hoạch test.

RTM — Ma trận truy vết requirement
Map Requirement ↔ Test Case ↔ Kết quả ↔ Defect để chứng minh đã phủ hết requirement.
RTM — [Dự án] — Phiên bản: [...]
Req IDMô tả requirementScenario IDTest Case IDKết quảDefect ID
SRS-2.1Đăng nhập bằng email + mật khẩuSC-01TC-001
Đăng nhập bằng email + mật khẩuSC-02TC-002
SRS-2.5Khóa tài khoản sau 5 lần saiSC-03TC-006
Requirement không có Test Case nào = lỗ hổng phủ (coverage gap). Kết quả: Pass/Fail/Chưa test.
Test Execution Tracker
Theo dõi tiến độ chạy test theo ngày/sprint — ai chạy gì, kết quả ra sao.
EXECUTION TRACKER — [Dự án] — Đợt: [...]
TC IDTên test caseMôi trườngNgày chạyKết quảTesterDefect IDGhi chú
TC-001Đăng nhập đúng thông tinChrome / Staging2026-06-16QA A
TC-002Đăng nhập sai mật khẩuChrome / Staging2026-06-16QA A
Kết quả: Pass · Fail · N/A · Chưa test. Lọc cột Kết quả = Fail để ra danh sách cần raise bug.
Test Summary Report (TSR)
Báo cáo cuối đợt — gửi PM/sếp. Tổng hợp kết quả + đánh giá có nên release không.
TEST SUMMARY REPORT — [Dự án] — Đợt/Sprint: [...] — Ngày: [...]

1. PHẠM VI ĐÃ TEST
   - Chức năng đã test: ...
   - Ngoài phạm vi: ...

2. KẾT QUẢ TỔNG QUAN
   - Tổng test case:  [N]
   - Pass:            [n]  (..%)
   - Fail:            [n]
   - Blocked:         [n]
   - Chưa chạy:       [n]

3. DEFECT THEO MỨC ĐỘ
   - Nghiêm trọng:  [n]  (còn mở: ..)
   - Cao:           [n]
   - Trung bình:    [n]
   - Thấp:          [n]

4. RỦI RO / VẤN ĐỀ CÒN TỒN
   - ...

5. ĐÁNH GIÁ & ĐỀ XUẤT
   [ ] Đủ điều kiện release
   [ ] Cần thêm 1 vòng test
   [ ] Chưa release — còn bug nghiêm trọng mở
   Kết luận: ...

Người lập: ...    Ngày: ...
Test Plan (rút gọn — IEEE 829)
Lập kế hoạch test cho 1 dự án/đợt trước khi bắt đầu. Chốt scope, môi trường, tiêu chí.
TEST PLAN — [Dự án] — Phiên bản: [...] — Ngày: [...]

1. MỤC TIÊU
   - ...

2. PHẠM VI
   - Trong phạm vi: ...
   - Ngoài phạm vi: ...

3. PHƯƠNG PHÁP TEST
   - Manual / Automation / API / Performance / Security ...

4. MÔI TRƯỜNG TEST
   - Thiết bị / Trình duyệt / Server / Test data ...

5. TIÊU CHÍ VÀO (Entry) / RA (Exit)
   - Entry: requirement đã chốt, build sẵn sàng, môi trường OK ...
   - Exit: 100% TC đã chạy, 0 bug Nghiêm trọng còn mở, pass >= [%] ...

6. LỊCH & PHÂN CÔNG
   - [Giai đoạn] — [Người] — [Thời gian]

7. RỦI RO & PHƯƠNG ÁN
   - [Rủi ro] → [Cách giảm thiểu]

8. SẢN PHẨM BÀN GIAO
   - Test case, Defect log, RTM, Test Summary Report ...
Business Rules Catalog (trích nghiệp vụ từ code)
Khi đọc ngược nghiệp vụ từ code (dự án không tài liệu). Hứng từng rule + đánh dấu chỗ nghi là bug / cần hỏi BA.
BUSINESS RULES — [Dự án] — Nguồn: codebase [branch] — Người trích: [...]
IDQuy tắc nghiệp vụVị trí trong codeLoại ruleNguồnTrạng thái xác minhCâu hỏi cho BATest case liên quan
BR-01Khóa tài khoản sau 5 lần đăng nhập saiauth.service.js:55Ngưỡng/điều kiệnCodeCần hỏi BAVì sao là 5? Khóa bao lâu, có tự mở không?TC-006
BR-02Phí ship = phí vùng + phụ phí − khuyến mãiorder.service.js:80Tính toánCodeNghi vấnCombo nhiều KM + freeship tính thế nào?TC-020
BR-03Chỉ chủ đơn mới được hủy đơnorder.controller.js:95Phân quyềnCodeNghi là bugCode hiện KHÔNG kiểm chủ sở hữu — đúng ý không?TC-031
Trạng thái: Đã xác nhận · Nghi vấn · Nghi là bug · Cần hỏi BA. Cột 'Nghi là bug' + 'Câu hỏi cho BA' là giá trị chính — đưa thẳng vào buổi clarify với BA/PO.

Checklist

Danh sách kiểm tra nhanh — smoke test, UI/UX, đa trình duyệt/thiết bị.

Smoke Test Checklist
Chạy nhanh khi nhận build mới — đảm bảo các luồng chính sống trước khi test sâu. Cột Kết quả để trống để tích trong Excel.
SMOKE TEST — [Tên tính năng] — Build: [số] — Ngày: [...]
Hạng mục kiểm traKết quảGhi chú
App/trang mở được, không màn hình trắng/lỗi 500
Đăng nhập luồng chính thành công
Điều hướng menu chính hoạt động
Chức năng cốt lõi [TÊN] tạo/đọc/sửa/xóa cơ bản OK
Submit form chính → lưu thành công
Đăng xuất hoạt động
Không lỗi console nghiêm trọng (F12)
Kết luận build: PASS (nhận) / FAIL (trả). Cột Kết quả: tích trong Excel (xem mẹo dưới).
UI / UX Checklist
Rà giao diện một màn hình: bố cục, trạng thái, thông báo, khả năng dùng.
UI/UX CHECKLIST — Màn hình: [Tên]
NhómHạng mục kiểm traKết quảGhi chú
Bố cục & hiển thịCanh lề, khoảng cách đồng đều
Font, cỡ chữ, màu đúng thiết kế
Ảnh/icon hiển thị đủ, không vỡ
Trạng tháiTrạng thái rỗng (empty state) có hướng dẫn
Loading có chỉ báo
Trạng thái lỗi hiển thị rõ ràng
Tương tácNút bấm có hover/disabled hợp lý
Validate hiển thị đúng chỗ, đúng lúc
Thông báo (toast) rõ ràng, tự ẩn
Văn bảnKhông sai chính tả, đúng giọng văn
Nhãn nút/menu dễ hiểu
Checklist Đa trình duyệt / Thiết bị
Kiểm thử tương thích — đảm bảo chạy đúng trên các môi trường mục tiêu.
COMPATIBILITY CHECKLIST — Chức năng: [Tên]
NhómMôi trường / Điểm kiểm traKết quảGhi chú
Trình duyệtChrome (mới nhất)
Edge
Firefox
Safari (nếu hỗ trợ macOS)
Thiết bịMobile dọc (375px)
Mobile ngang
Tablet (768px)
Desktop (1280px+)
Điểm kiểm traBố cục không vỡ, không tràn ngang
Bấm/chạm hoạt động (touch target đủ lớn)
Chức năng chính chạy đúng
Tốc độ tải chấp nhận được
Test Case Review Checklist
Soát bộ test case trước khi execute — đảm bảo đủ phủ, đúng, rõ, không trùng, không lọt case.
REVIEW CHECKLIST — Bộ test case: [Tên/Chức năng] — Người review: [...] — Ngày: [...]
NhómHạng mục cần soátĐánh giáGhi chú
Độ phủMỗi requirement / tiêu chí nghiệm thu có ít nhất 1 test case
Đủ happy path + negative + biên + bảo mật
Có case cho luồng E2E / tích hợp (nếu có)
Đối chiếu RTM: không requirement nào bị bỏ sót
Đúng đắnKết quả mong đợi đúng nghiệp vụ (không bịa, không suy đoán)
Dữ liệu test hợp lệ, đúng định dạng
Tiền điều kiện đúng & khả thi
Rõ ràngCác bước cụ thể, người khác chạy lại được
Tiêu đề nói rõ mục tiêu, không mơ hồ
Nhất quánĐúng format / cột chuẩn của team
Quy ước đặt tên / ID thống nhất
Mức ưu tiên gán hợp lý
Không trùngKhông có case trùng nội dung
Mỗi case kiểm 1 mục tiêu (atomic)
Truy vếtMỗi case map tới requirement / story (Req ID)
Dữ liệu / Môi trườngDữ liệu test đủ (hợp lệ / biên / không hợp lệ)
Nêu rõ môi trường / điều kiện cần
Đánh giá: Đạt / Không đạt / Cần sửa / N/A. Mọi mục 'Không đạt' hoặc 'Cần sửa' → ghi finding cho author sửa rồi review lại.

🧭 Khám phá & Nghiệm thu

Phiếu test khám phá theo session và biên bản nghiệm thu UAT.

Exploratory Test Charter
Test khám phá theo session có định hướng (time-box) — tìm lỗi ngoài test case có sẵn.
EXPLORATORY TEST CHARTER

Charter:      Khám phá [khu vực] để tìm [loại vấn đề]
              vd: "Khám phá luồng thanh toán để tìm lỗi tính tiền / làm tròn"
Khu vực:      [Màn hình / chức năng]
Thời lượng:   [Time-box: 60 phút]
Người test:   [...]      Ngày: [...]

Ý tưởng test (test ideas):
  - ...
  - ...

Ghi chú trong lúc test:
  - ...

Bug / vấn đề tìm được:
  - ...

Câu hỏi cần làm rõ với BA/Dev:
  - ...
UAT Sign-off
Nghiệm thu với khách hàng / bộ phận nghiệp vụ — chốt tiêu chí chấp nhận + ký xác nhận.
UAT SIGN-OFF — [Dự án] — Bên nghiệp vụ: [...]
#Tiêu chí nghiệm thuKết quả mong đợiKết quảGhi chú
1Đăng nhập & phân quyền đúng vai tròĐúng như mô tả nghiệp vụ
2Luồng nghiệp vụ chính chạy đầu-cuốiHoàn tất không lỗi chặn
3Báo cáo/số liệu khớp dữ liệu thậtKhớp 100%
Ký nghiệm thu: Bên test ____ · Bên nghiệp vụ ____ · Ngày ____. Kết luận: Chấp nhận / Chấp nhận có điều kiện / Từ chối.