Imported from anhtester/antigravity-testing-kit (
.agent/skills/rbt_manual_testing/SKILL.md). Install upstream withnpx skills add anhtester/antigravity-testing-kit --skill rbt_manual_testing. Copyright stays with the author.
RBT Manual Testing
Description
Đây là Master Skill cho mọi tác vụ sinh manual test cases. Skill cung cấp 2 chế độ hoạt động (modes) để phù hợp với mọi quy mô yêu cầu:
| Mode | Khi nào dùng | Thời gian |
|---|---|---|
| QUICK | Module đơn giản, cần TC nhanh, requirements rõ ràng | 1 lượt (không chờ user) |
| FULL RBT | Module phức tạp, cần phân tích rủi ro, hệ thống lớn | 6 bước tuần tự (có checkpoint) |
Nguyên tắc cốt lõi:
- Human Strategy: Con người xác định chiến lược, mức độ rủi ro và tiêu chuẩn
- AI Execution: AI thực hiện phân tích, viết TCs và rà soát lỗ hổng
- Human Verification: Con người kiểm tra lại kết quả trước khi chốt
When to Use
Sử dụng skill này khi:
- Sinh manual test cases từ requirements / user stories
- Phân tích requirements để phát hiện ambiguity
- Phân rã hệ thống thành modules / features
- Xây dựng traceability matrix
- Áp dụng Risk-Based Testing (đánh giá rủi ro cho test cases)
- Chuẩn hóa test cases sang bảng Markdown (Jira/Excel format)
- Sinh test cases nhanh từ requirements đơn giản
KHÔNG sử dụng skill này khi:
- Cần sinh automation code → dùng
qa_automation_engineer - Cần inspect DOM / sinh locator → dùng
ui_debug_agent/smart_locator_agent - Chỉ cần sinh test data → dùng
test_data_generator
Mode Routing — Cách chọn mode
Agent tự động chọn mode dựa trên trigger keywords và ngữ cảnh:
→ Mode QUICK
Kích hoạt khi:
- User dùng workflow
/generate_testcases_from_requirements - User nói: "sinh test cases nhanh", "tạo TC từ requirement này", "viết test cases cho form..."
- Requirements đã rõ ràng, scope nhỏ (1 module / 1 tính năng)
- User không yêu cầu phân tích rủi ro hay quy trình bài bản
→ Mode FULL RBT
Kích hoạt khi:
- User dùng workflow
/generate_manual_testcases_rbt - User nói: "quy trình 6 bước", "phân tích RBT", "sinh test cases đầy đủ", "sinh bộ TC bài bản"
- Scope lớn (nhiều modules, hệ thống phức tạp)
- User yêu cầu Traceability Matrix hoặc đánh giá Risk Level
- Requirements chưa rõ ràng, cần phân tích Ambiguity
→ Khi không rõ
Nếu không xác định được mode, agent hỏi user:
Bạn muốn sinh test cases theo chế độ nào?
1. QUICK — Sinh nhanh từ requirements (không qua bước phân tích)
2. FULL RBT — Quy trình 6 bước đầy đủ (phân tích → phân rã → RBT → sinh TC)
Mode 1: QUICK — Sinh Test Cases Nhanh
Mục đích
Sinh test cases nhanh, đủ chất lượng từ requirements/user stories đã rõ ràng, phù hợp cho module đơn giản hoặc khi cần kết quả ngay.
Quy trình (1 lượt duy nhất)
Agent phải:
- Đọc và hiểu requirements được cung cấp
- Xác định các luồng chính:
- Happy Path (luồng chính)
- Negative Path (dữ liệu sai, thiếu)
- Boundary Cases (giá trị biên)
- Áp dụng kỹ thuật thiết kế test case tự động:
- Equivalence Partitioning (EP): Chia input thành nhóm tương đương
- Boundary Value Analysis (BVA): Test giá trị tại ranh giới
- Decision Table: Liệt kê tổ hợp điều kiện (nếu có nhiều rules)
- State Transition: Test chuyển đổi trạng thái (nếu có workflow)
- Validation chuyên biệt từng trường (Field-Level Validation):
- Liệt kê tất cả input fields trên form/UI
- Sinh validation tes6. Xuất ra bảng Markdown chuẩn có đầy đủ metadata cho Automation, sẵn sàng sync vào Google Sheets hoặc Jira/TestRail.
- Chạy Self-Quality Gate (Tự kiểm tra chất lượng): Rà soát lại 100% test cases trước khi xuất kết quả.
Bảng Output Standard (chuẩn hóa đầy đủ Metadata)
| TC ID | Module | Test Scenario | Pre-Condition | Test Steps | Expected Result | Test Data | Priority | Automatable | Auto Type | Tags |
Giải thích Metadata Automation:
- Automatable:
Yes/No/Partial(Độ khả thi để viết script tự động)- Auto Type:
UI/API/Unit/N/A(Loại automation phù hợp)- Tags:
@Smoke,@Regression,@CriticalPath,@Security,@Boundary
Quy tắc Test Data (áp dụng cho cả 2 modes)
❌ Sai: "Nhập mã số hợp lệ"
✅ Đúng: "Nhập mã: KH-2026-0012"
❌ Sai: "Nhập email hợp lệ"
✅ Đúng: "Nhập email: test_khachhang_01@domain.com"
❌ Sai: "Nhập giá trị vượt giới hạn"
✅ Đúng: "Nhập 256 ký tự vào trường Name (max: 255)"
Bảng Field-Level Validation Checklist (15 Field Types)
Khi form/UI có các input fields, agent BẮT BUỘC phải liệt kê từng trường và sinh validation TCs riêng theo loại:
| Loại Field | Validation cần test |
|---|---|
| Text (Name, Address...) | Required/Optional · Min/Max length · Whitespace-only · Ký tự đặc biệt (<>&"') · XSS injection (<script>alert(1)</script>) · SQL injection (' OR 1=1--) · Unicode/Emoji · Leading/trailing spaces |
Format hợp lệ (user@domain.com) · Thiếu @ · Thiếu domain · Domain không hợp lệ · Nhiều @ · Ký tự đặc biệt trước @ · Max length · Case sensitivity · Email đã tồn tại (nếu unique) |
|
| Phone | Chỉ số · Prefix hợp lệ (ví dụ: +84, 0) · Min/Max length · Chữ cái xen lẫn · Dấu -, ., khoảng trắng · Mã vùng không hợp lệ |
| Date / DateTime | Format đúng (dd/MM/yyyy, ISO...) · Ngày không tồn tại (31/02, 30/02) · Năm nhuận (29/02/2024) · Quá khứ / tương lai · Min/max date · Timezone |
| Number / Currency | Min/Max value · Số âm · Số 0 · Số thập phân · Ký tự không phải số · Overflow · Leading zeros · Định dạng currency |
| Dropdown / Select | Giá trị mặc định · Tất cả options hợp lệ · Option disabled · Thay đổi selection · Required validation |
| Checkbox / Radio | Trạng thái mặc định · Check/Uncheck · Required validation · Nhóm radio (chỉ chọn 1) |
| File Upload | File type hợp lệ/không hợp lệ · Max size · File rỗng (0 KB) · Tên file ký tự đặc biệt · Multiple files · Kéo thả vs nút chọn |
| Password | Min/Max length · Ký tự đặc biệt · Chữ hoa/thường · Số · Copy-paste bị chặn? · Hiện/ẩn password · Confirm password |
| Textarea | Max length · Line breaks · HTML tags · Resize · Character counter |
| OTP / MFA Code (Mới) | Auto-focus ô tiếp theo · Paste chuỗi OTP · Hết hạn timeout · Vượt số lần nhập sai (retry limit/lockout) · Re-send OTP rate limit |
| Date Range / Time Picker (Mới) | Ngày kết thúc < Ngày bắt đầu · Khung giờ trùng lặp (time conflict) · Giới hạn khoảng ngày (VD: max 30 ngày) · Quá khứ/Tương lai restriction |
| Rich Text Editor (WYSIWYG) (Mới) | Sanitize HTML tags nguy hiểm (<script>, <iframe>) · Paste văn bản kèm format/ảnh · Character counter tính theo text thô vs HTML markup |
| Multi-Select / Tag Input (Mới) | Giới hạn số lượng tag · Tag trùng lặp · Xóa tag bằng Backspace/nút X · Tag có ký tự đặc biệt |
| Range Slider / Stepper (Mới) | Giới hạn min/max · Bước nhảy (step increment violation) · Nhập tay trực tiếp so với kéo slider |
Scenarios Chuyên Sâu & Non-Functional Checklist (Áp dụng nâng cao)
Agent phải tích hợp thêm các tình huống kiểm thử nâng cao khi phân tích module:
- Race Condition & Double Submit:
- Double click liên tiếp nút Save/Submit (ngăn tạo 2 bản ghi trùng)
- Concurrent editing: 2 tabs/users cùng sửa 1 bản ghi đồng thời
- Session & Network Resilience:
- Session timeout / Token hết hạn giữa chừng khi đang điền form
- Network interruption (mất mạng khi submit payload, slow 3G timeout, retry logic)
- Localization & UTF-8 / Emoji:
- Nhập tiếng Việt đầy đủ dấu (
Tiếng Việt có dấu phức tạp ỨỜÁ...) - Nhập emoji (
😀🎉🚀) và ký tự đa ngôn ngữ (RTL, tiếng Trung, Nhật, Ả Rập)
- Nhập tiếng Việt đầy đủ dấu (
- Keyboard Accessibility (A11y):
- Điều hướng bằng phím
Tabtheo thứ tự hợp lý, kích hoạt bằngEnter/Space - Hiển thị viền focus state rõ ràng
- Điều hướng bằng phím
- HTTP Status Codes (Cho API Test Cases):
- Assert đầy đủ các status codes tiêu chuẩn:
200/201 Success,400 Bad Request,401 Unauthorized,403 Forbidden,404 Not Found,409 Conflict,422 Unprocessable Entity,429 Rate Limit,500/503 Server Error.
- Assert đầy đủ các status codes tiêu chuẩn:
Direct Export & Integration Options
Sau khi sinh Test Cases, agent có thể hỗ trợ user xuất hoặc đồng bộ dữ liệu:
- Google Sheets: Tự động ghi test cases vào Google Sheet dự án thông qua script sheet_writer.js.
- Jira Xray / TestRail Export: Định dạng Markdown/CSV chuẩn giúp import 1-click lên các công cụ Quản lý Test.
🛡️ AI Self-Quality Gate (Quy trình Tự Kiểm Định Chất Lượng)
Trước khi xuất kết quả cuối cùng cho user, Agent BẮT BUỘC tự rà soát qua 5 tiêu chí:
- 1. Unique TC ID: Đảm bảo không trùng mã TC ID và đúng quy tắc dự án (
PROJECT_MODULE_TC_001). - 2. 1-to-1 Step-Expected Matching: Các bước
Test Steps(đánh số 1,2,3) khớp 1-1 vớiExpected Result(đánh số 1,2,3). - 3. Concrete Test Data: 100% test data chứa giá trị cụ thể, không còn từ ngữ mơ hồ ("hợp lệ", "dữ liệu đúng").
- 4. Field Validation Coverage: Mọi input field trên UI đều có ít nhất 1 Positive TC và 2+ Negative/Boundary TCs.
- 5. Automation Metadata Ready: 100% test cases được gắn đầy đủ
Automatable,Auto Type, và@Tag.
Anti-Patterns (Mode QUICK)
- ❌ Sinh test data chung chung / placeholder
- ❌ Chỉ có Happy Path, thiếu Negative/Boundary
- ❌ Bỏ qua validation rules trong requirements
- ❌ Test Steps mơ hồ ("nhập dữ liệu" → phải ghi rõ nhập gì, ở đâu)
- ❌ Gộp validation nhiều trường vào 1 test case → mỗi trường phải có TC validation riêng
- ❌ Dùng chung 1 bộ validation cho tất cả fields (mỗi field type có checklist riêng)
- ❌ Bỏ qua security validation (XSS, SQL injection) cho text fieldsKéo thả vs nút chọn | | Password | Min/Max length · Yêu cầu ký tự đặc biệt · Yêu cầu chữ hoa/thường · Yêu cầu số · Copy-paste bị chặn? · Hiện/ẩn password · Confirm password khớp/không khớp | | Textarea | Max length · Line breaks · HTML tags · Resize (nếu UI cho phép) · Character counter (nếu có) |
Nguyên tắc: Mỗi trường có đặc tính riêng → validation riêng. Agent PHẢI phân tích từng field trước khi sinh TCs, không được dùng chung 1 bộ validation cho tất cả fields.
Anti-Patterns (Mode QUICK)
- ❌ Sinh test data chung chung / placeholder
- ❌ Chỉ có Happy Path, thiếu Negative/Boundary
- ❌ Bỏ qua validation rules trong requirements
- ❌ Test Steps mơ hồ ("nhập dữ liệu" → phải ghi rõ nhập gì, ở đâu)
- ❌ Gộp validation nhiều trường vào 1 test case → mỗi trường phải có TC validation riêng
- ❌ Dùng chung 1 bộ validation cho tất cả fields (mỗi field type có checklist riêng)
- ❌ Bỏ qua security validation (XSS, SQL injection) cho text fields
Mode 2: FULL RBT — Quy Trình AI-RBT 6 Bước
Mục đích
Quy trình bài bản, tuần tự cho module phức tạp. Bao gồm phân tích Ambiguity, phân rã hệ thống, Traceability Matrix, đánh giá Risk Level, và sinh test cases chi tiết.
⚠️ QUAN TRỌNG: Quy trình này BẮT BUỘC chạy tuần tự từng bước. KHÔNG được gộp nhiều bước chạy 1 lần. Mỗi bước phải hoàn thành và được user xác nhận trước khi sang bước tiếp.
[!NOTE] 2 luồng sử dụng riêng biệt:
- Luồng Antigravity (slash command): Agent thực hiện theo hướng dẫn tổng quát bên dưới. Agent KHÔNG cần đọc file prompt.txt.
- Luồng Copy-Paste (ChatGPT/Claude): QA team copy nội dung prompt chi tiết từ
plans/manual/01-06/prompt.txtvào chat AI, từng bước một.
Bước 1: Context & Role-play (Khởi tạo ngữ cảnh)
Mục đích: Thiết lập vai trò Senior QA Engineer và nạp bối cảnh dự án.
Agent phải:
- Yêu cầu user cung cấp:
- Tên dự án / tính năng
- Mô tả hệ thống hiện tại
- Mục tiêu kiểm thử MVP
- Tài liệu yêu cầu (Requirements, User Stories, Figma link, PDF...)
- Đọc kỹ tài liệu và xác nhận đã hiểu bối cảnh
- Tóm tắt scope kiểm thử
- Chờ user xác nhận trước khi sang Bước 2
Output: Xác nhận hiểu bối cảnh + tóm tắt scope kiểm thử.
Bước 2: Analysis & QnA (Phân tích yêu cầu)
Mục đích: Phân tích tài liệu để phát hiện điểm mờ, thiếu sót, mâu thuẫn.
Agent phải:
- Xác định các luồng:
- Happy Path (luồng chính)
- Alternate Paths (luồng rẽ nhánh)
- Exception Paths (luồng ngoại lệ)
- Phát hiện Ambiguities:
- Yêu cầu thiếu sót (không quy định độ dài textbox, timeout, hành vi mất kết nối...)
- Yêu cầu mâu thuẫn
- Yêu cầu chưa rõ ràng
- Đặt câu hỏi Q&A có đánh số thứ tự (Q1, Q2...) cho user/PO/BA giải đáp, mỗi câu kèm ngữ cảnh và assumption nếu không được trả lời
- DỪNG LẠI — Chờ user trả lời các câu hỏi trước khi tiếp tục
Output: Danh sách luồng + Ambiguities + Câu hỏi Q&A.
[!IMPORTANT] Đây là điểm nghẽn quan trọng nhất. Nếu agent bỏ qua bước này và tự đoán logic, test cases sẽ sai nghiêm trọng. Agent PHẢI dừng lại và đợi user phản hồi.
Bước 3: Decomposition (Phân rã hệ thống)
Mục đích: Chia tính năng phức tạp thành các Module / Sub-module nhỏ, dễ quản lý.
Agent phải:
- Phân rã theo 1 trong 2 cách:
- Theo UI: Header, Data Table, Form popup, Sidebar...
- Theo luồng: Flow tạo mới, Flow chỉnh sửa, Flow xóa...
- Mô tả ngắn gọn chức năng từng Module
- Chỉ ra Dependencies giữa các Module
Output: Danh sách Modules/Sub-modules + Dependencies.
Bước 4: Traceability (Đảm bảo độ bao phủ)
Mục đích: Thiết lập ma trận truy vết để đảm bảo 100% requirements được phủ test scenarios.
Agent phải:
- Map mỗi Module/Rule với mã Yêu cầu (REQ-01, REQ-02...)
- Cross-check xem có yêu cầu nào bị thiếu trong danh sách phân rã (Gap Analysis)
- Liệt kê High-Level Test Scenarios cho từng Module, tập trung:
- Security / phân quyền
- UI Validation
- Business Logic
- Data Integrity
- Error Handling
- Chờ user review danh sách scenarios trước khi sinh test case chi tiết
Output: Traceability Matrix + High-Level Test Scenarios.
[!WARNING] Human Checkpoint: User cần review danh sách scenarios để bổ sung các trường hợp đặc thù mà AI có thể bỏ sót. Đây là bước đánh giá rủi ro do con người thực hiện.
Bước 5: RBT & TC Generation (Sinh Test Case chi tiết)
Mục đích: Sinh test cases chi tiết theo chiến lược Risk-Based Testing.
Agent phải:
- Đánh giá Risk Level cho mỗi Module:
- High Risk: Test kỹ, nhiều cases (nghiệp vụ quan trọng, liên quan tiền, bảo mật)
- Medium Risk: Test vừa phải
- Low Risk: Test cơ bản, happy path
- Sinh test case với đầy đủ fields:
- Module / Sub-module
- Test Case Title
- Pre-conditions
- Test Steps (đánh số)
- Expected Results (đánh số tương ứng)
- Test Data (phải cụ thể, không dùng placeholder chung chung)
- Priority
- Bao phủ đa dạng:
- Happy Path
- Negative Path (giá trị biên, vượt ký tự)
- Edge Cases (timeout, mất kết nối...)
- Validation chuyên biệt từng trường (Field-Level Validation):
- Liệt kê tất cả input fields trên form/UI đang test
- Sinh validation TCs riêng cho TỪNG trường theo đặc tính riêng
- Tham chiếu Bảng Field-Level Validation ở phần Mode QUICK để chọn validation phù hợp
- KHÔNG gộp validation nhiều trường vào 1 TC
- Áp dụng kỹ thuật thiết kế test case phù hợp:
- Equivalence Partitioning: Chia input thành nhóm tương đương, test đại diện mỗi nhóm
- Boundary Value Analysis (BVA): Test giá trị tại ranh giới (min, min+1, max-1, max)
- Decision Table: Liệt kê tổ hợp điều kiện → kết quả (cho logic nhiều điều kiện)
- State Transition: Test chuyển đổi trạng thái hợp lệ + không hợp lệ (cho workflow)
- Nếu scenarios quá nhiều → sinh từng Module một, hỏi user để tiếp tục
Output: Danh sách Test Cases chi tiết có Risk Level.
Bước 6: Template Mapping (Chuẩn hóa Format & Metadata)
Mục đích: Đóng gói test cases thành bảng Markdown chuẩn đầy đủ metadata cho Automation, sẵn sàng copy sang Excel/Jira hoặc sync vào Google Sheets.
Agent phải:
- Chuẩn hóa toàn bộ test cases vào bảng Markdown:
| TC ID | Module | Risk Level | Test Title | Pre-Condition | Test Steps | Expected Result | Priority | Test Data | Automatable | Auto Type | Tags |
- Quy tắc bảng:
- TC ID theo format thống nhất (ví dụ:
CRM_CUST_TC_001) - Test Steps và Expected Result đánh số, dùng
<br>xuống dòng trong cell - Gắn đầy đủ metadata
Automatable(Yes/No/Partial),Auto Type(UI/API/Unit/N/A), và@Tags(@Smoke,@Regression,@CriticalPath...) - TUYỆT ĐỐI không được bỏ sót bất kỳ test case nào đã sinh ở Bước 5
- Nếu quá dài → chia thành Part 1, Part 2... và hỏi user để tiếp tục
- TC ID theo format thống nhất (ví dụ:
- Chạy Self-Quality Gate: Kiểm định lại 5 tiêu chí chất lượng trước khi xuất Artifact (
test_cases_<module>.md).
Output: Bảng Test Cases Markdown hoàn chỉnh kèm Metadata Automation.
Anti-Patterns (NGHIÊM CẤM — áp dụng cho cả 2 modes)
- ❌ Gộp nhiều bước chạy 1 lần trong FULL RBT (PHẢI tuần tự)
- ❌ Tự đoán business logic khi chưa hỏi user (Bước 2 - FULL RBT)
- ❌ Bỏ qua bước phân tích Ambiguity (FULL RBT)
- ❌ Sinh test data chung chung / placeholder
- ❌ Rút gọn hoặc bỏ sót test case khi mapping sang bảng
- ❌ Sinh tất cả test cases 1 lần cho hệ thống lớn (phải chia module)
- ❌ Chỉ có Happy Path, thiếu Negative/Boundary cases (QUICK)
- ❌ Test Steps mơ hồ, không ghi rõ dữ liệu nhập
- ❌ Gộp validation nhiều trường vào 1 test case → mỗi trường phải có TC validation riêng
- ❌ Dùng chung 1 bộ validation cho tất cả fields (Email ≠ Phone ≠ Date ≠ Text)
- ❌ Bỏ qua security validation (XSS, SQL injection) cho text/textarea fields
- ❌ Không liệt kê danh sách fields trước khi sinh validation TCs
Prompt Templates
Các prompt template mẫu cho quy trình FULL RBT nằm tại:
plans/manual/
├── 01_context_and_roleplay/prompt.txt
├── 02_analysis_and_qna/prompt.txt
├── 03_decomposition/prompt.txt
├── 04_traceability/prompt.txt
├── 05_rbt_and_tc_generation/prompt.txt
└── 06_template_mapping/prompt.txt
Agent cần đọc prompt template tương ứng trước khi thực hiện mỗi bước (FULL RBT mode).
Mode QUICK không yêu cầu đọc prompt templates — agent áp dụng trực tiếp các kỹ thuật EP/BVA/Decision Table.
Output Format
Mode QUICK
| Output | Mô tả |
|---|---|
| Bảng TC Markdown | Test Cases đầy đủ, sẵn sàng copy sang Excel/Jira |
Mode FULL RBT
| Bước | Output |
|---|---|
| 1 | Xác nhận bối cảnh |
| 2 | Luồng + Ambiguities + Câu hỏi Q&A |
| 3 | Module Decomposition + Dependencies |
| 4 | Traceability Matrix + High-Level Scenarios |
| 5 | Test Cases chi tiết (Risk Level + Test Data) |
| 6 | Bảng Markdown chuẩn (Jira/Excel ready) |
Tất cả output phải bằng Tiếng Việt, format Markdown, sử dụng Artifact nếu nội dung dài.