Module đầu tiên của RelGuard — Quality Guard for Relipa
Test case là của bạn.
Script, lần chạy và báo lỗi để RelGuard lo.
RelGuard Test là extension VSCode đọc đúng bộ test case Markdown team bạn đang viết, dùng AI phân loại case nào tự động hoá được rồi viết script Playwright cho case đó, tự chạy, chụp bằng chứng cho từng case và tạo issue Backlog khi có lỗi. Không phải học công cụ mới, không phải đổi format tài liệu.
VSCode ≥ 1.85 · Node.js ≥ 18 · Claude Code CLI đã login · Chưa phát hành lên Marketplace
Chạy trong VSCode — không cần server hay cloud riêng
Sửa 1 test case trong 300 case, chỉ sinh lại đúng case đó
Evidence khoanh đỏ cho cả case pass lẫn fail
RELGUARD TEST
| ID | Tên test case | Loại | SCRIPT | ROUND 18 |
|---|---|---|---|---|
| TC-001 | Đăng ký thành công | UI | ✅ | Pass |
| TC-002 | Email không hợp lệ | UI | ✅ | Fail |
| TC-003 | Tuổi dưới 18 | API | ✅ | Pass |
| TC-004 | Xác nhận bằng thiết bị vật lý | Manual | 🖐 | — |
4 test case · 2 script đã tạo · 1 thủ công
Vì sao có RelGuard
Một màn hình đăng ký, một field Tuổi, một rule "phải từ 18 trở lên". Tester phải tự đọc yêu cầu, tự nghĩ ra từng trường hợp, tự viết test case, rồi tự viết thêm chương trình để chạy nó — và làm lại toàn bộ ở cả tầng API lẫn tầng UI.
API: Tuổi tối thiểu = 20
UI: "Tuổi phải từ 18 trở lên"
Backend đã đổi rule, UI chưa cập nhật theo. Từng tầng chạy vẫn "đúng", nhưng người dùng đang đọc thông tin sai — và hiện không có cơ chế nào tự đối chiếu hai tầng này.
Tốn thời gian
~30–45 phút cho một test case, từ lúc nghĩ ra case tới lúc script chạy được.
Lặp đi lặp lại
Cùng một khuôn bỏ trống / sai định dạng / vượt biên, viết lại cho từng field, từng màn hình.
Dễ bỏ sót edge case
Số lượng case phụ thuộc vào việc hôm đó người viết nghĩ ra được bao nhiêu.
Không biết cần chạy lại gì
Rule đổi từ 18 → 20, phải tự lần tìm những test case nào có liên quan tới field Tuổi.
UI và API lệch nhau âm thầm
Lỗi phổ biến, khó phát hiện bằng test thủ công, và thường chỉ lộ ra khi khách hàng nhìn thấy.
RelGuard không thay thế Tester hay Developer. RelGuard nhận phần việc lặp đi lặp lại, để con người tập trung vào phần cần suy nghĩ và đánh giá chất lượng.
Tính năng: đủ cho cả vòng đời một lần kiểm thử
Từ lúc import test case tới lúc issue nằm trên Backlog, mọi bước đều ở trong cùng một cửa sổ VSCode.
AI viết script, không bịa test case
Import file test case Markdown 7 cột chuẩn của team. AI không được thêm, bớt hay đổi tên bất kỳ case nào — chỉ làm đúng hai việc: phân loại case đó tự động hoá được hay phải test tay, và viết đúng một script Playwright cho case tự động hoá được. Case phải test tay vẫn nằm nguyên trong danh sách kèm ghi chú lý do, để bộ test case luôn đầy đủ chứ không chỉ còn phần chạy máy được.
Chỉ sinh lại đúng phần đã đổi
Mỗi test case có một hash riêng. Sửa TC-015 trong bộ 300 case thì chỉ TC-015 được gửi cho AI; 299 script còn lại giữ nguyên, không bị viết lại, không tốn token. Case bị xoá hoặc đổi loại thì script cũ được chuyển vào thư mục _stale — loại khỏi lần chạy nhưng vẫn lấy lại được.
Dashboard sống khi đang chạy
Run Tests mở trình duyệt thật và tường thuật trực tiếp từng thao tác Playwright đang diễn ra (page.goto, locator.click, expect…). Có nút Dừng / Tạm dừng / Tiếp tục ngay giữa lần chạy. Nếu tiến trình crash hay bị dừng giữa chừng, kết quả đã chạy vẫn được cứu lại và lưu thành một round hợp lệ.
Evidence cho mọi case, không chỉ khi fail
Mỗi test case đều có ảnh chụp khoanh đỏ đúng phần tử được assert kèm chú thích — case pass cũng có. Với API test, request và response được render thành trang HTML rồi khoanh đỏ đúng field đang kiểm tra. Đây là bằng chứng đã kiểm thử để nộp kèm báo cáo, không chỉ là ảnh debug.
Phân tích lỗi bằng AI
Một test fail, bấm "Phân tích lỗi": AI trả về nguyên nhân gốc, hướng xử lý, việc cần làm và ước tính công — đồng thời phân biệt lỗi do script test viết sai hay lỗi thật của ứng dụng.
Log bug thẳng lên Backlog
Tạo issue Backlog (Nulab) kèm ảnh evidence và file bug report, description dựng đúng template log bug của team, có sẵn cả tỉ lệ tái hiện dạng "2/5 round (40%)". Upload lại lần nữa là cập nhật đúng issue cũ, không tạo trùng.
Đề xuất test case còn thiếu
AI rà bộ case hiện có và gợi ý case bổ sung theo 4 nhóm: functional, non-functional, hiệu năng quan sát được và security — mỗi gợi ý kèm lý do. Bạn tick chọn case nào muốn giữ, chúng được ghi ngược vào chính file Markdown gốc.
Lịch chạy test
Đặt lịch một lần / hàng ngày / hàng tuần / hàng tháng cho từng function, tự khớp ngày cuối tháng. Nếu function đó đang có round chạy dở, lượt tới giờ được bỏ qua chứ không xếp hàng chồng lên nhau.
Sinh test song song
Nhiều tiến trình AI chạy đồng thời, số job song song và số case gộp mỗi job đều chỉnh được. Một job lỗi không kéo theo job khác — job xong tới đâu ghi ra đĩa tới đó.
Chọn model theo việc
Ba lựa chọn cố định: Haiku 4.5 (mặc định, rẻ nhất), Sonnet 5 và Opus 5. Đặt mặc định cho cả workspace, hoặc chọn riêng cho từng lượt Sync Test của từng function.
Lane Function Spec — sinh test từ tài liệu yêu cầu
Đưa vào tài liệu User Requirement + System Requirement dạng Markdown, AI sinh cả API test lẫn UI test cùng lúc cho toàn bộ function. Trước khi viết script UI, tool còn mở màn hình thật bằng Chromium để đọc DOM và nhận đúng loại widget của từng field (select gốc, combobox tuỳ biến, checkbox, radio, date) thay vì đoán theo mô tả. Luồng này hiện tạm ẩn khỏi sidebar, chỉ gọi qua Command Palette — code vẫn giữ nguyên, sẵn sàng bật lại.
Bốn bước, vẫn dùng đúng file test case team bạn đang có
- 01
Import test case
Trong sidebar RelGuard, mở Test Case của function rồi bấm 📥 Import. Chọn file Markdown viết theo template 7 cột chuẩn: Test Case ID · Test Case Name · Severity · Pre-condition · Steps · Data Test · Expected Result. Header sai cột thì tool báo đúng số dòng và từ chối import, chứ không âm thầm đọc lệch.
- 02
Sync Test
Bấm 🔄 Sync Test, khai báo URL màn hình / base URL API / auth header, chọn model AI. RelGuard tính hash từng case, chỉ gửi case mới hoặc đã đổi cho AI, rồi ghi ra script Playwright — case có ID bắt đầu bằng API thì sinh API test, còn lại sinh UI test.
- 03
Run Tests
Một round chạy cả UI lẫn API của function đó cùng lúc, mở trình duyệt thật để mắt người theo kịp. Chọn số worker, tốc độ chạy, hoặc ghi đè base URL để trỏ sang môi trường staging mà không cần sinh lại script.
- 04
Xem kết quả và log bug
Report từng round có Pass/Fail/Untested, thời gian, evidence từng case; báo cáo tổng hợp nhiều round có KPI, biểu đồ pass rate và bảng Test Execution Summary. Case fail thì mở chi tiết, nhờ AI phân tích rồi bắn thẳng lên Backlog.
Lần sau chỉ cần sửa file test case rồi Sync lại — RelGuard tự biết case nào đã đổi.
Sửa một test case, không phải trả giá cho 299 case còn lại
Change detection ở mức từng test case là điểm khác biệt lớn nhất của RelGuard khi bộ test case lớn dần.
| Tiêu chí | Cách thông thường | Có RelGuard |
|---|---|---|
| Dữ liệu gửi cho AI | Đọc lại phần lớn file test case | Chỉ phần thay đổi |
| Chi phí AI | Tăng theo kích thước file | Tăng theo số case thay đổi |
| Script không đổi | Có thể bị AI viết lại | Giữ nguyên |
| Công sức review | Review lại nhiều thay đổi | Chỉ review phần mới |
Cơ chế này hoạt động ở mức từng test case cho luồng chính. Ở lane Function Spec, khi một rule đổi thì cả function được xử lý lại — vì các rule hiển thị chéo giữa các field liên quan tới nhau, diff quá nhỏ dễ bỏ sót case liên đới.
Khi một test fail, RelGuard đi tiếp thay vì dừng ở chữ "Failed"
Test fail
Evidence tự động
AI phân tích
Issue Backlog
Test fail
Bug report .md được ghi ra ngay lúc chạy, kèm error output và đường dẫn ảnh evidence.
Evidence tự động
Ảnh chụp toàn trang, khoanh đỏ đúng phần tử được assert, có nhãn chú thích.
AI phân tích
Nguyên nhân gốc · Hướng xử lý · Việc cần làm · Ước tính công — và nói rõ đây là lỗi script hay lỗi ứng dụng.
Issue Backlog
Issue type Bug, summary [TC-ID] tên case, description theo đúng template log bug của team, đính kèm ảnh và file bug report.
# Log bug (tester, reporter)
## Test Environment
## Preconditions
## Steps
## Actual results
## Expected results
## Tỉ lệ phát sinh bug → 2/5 round đã chạy (40%) — fail ở round 3, 5
## Evidence
# Phân tích tự động (RelGuard AI)
## Nguyên nhân / Hướng xử lý / Việc cần làm / Ước tính công
# Fix bug (Developer)
## Nguyên nhân / Nội dung sửa / Phạm vi ảnh hưởng / Merge Request / Self ReviewXem trước toàn bộ nội dung sẽ upload ngay trong VSCode trước khi bấm gửi.
Kỳ vọng tác động
Các con số dưới đây là mục tiêu RelGuard hướng tới, dựa trên khảo sát quy trình kiểm thử hiện tại.
| Tiêu chí | Hiện tại | Có RelGuard | Kỳ vọng |
|---|---|---|---|
| Viết test + script | ~60–90 phút/ 100 cases | ~20–30 phút/ 100 cases | Giảm ~75% |
| Rà soát khi có thay đổi | Rà soát nhiều phần | Tập trung vào phần thay đổi | Giảm ~80% |
| Bỏ sót edge-case | Phụ thuộc nhiều vào kinh nghiệm | AI hỗ trợ gợi ý | Giảm ~50% |
| Số test thực thi/ngày | ~50 case | ~150 case | Tăng ~200% |
Đây là con số ước tính trong proposal Hackathon. Số liệu thực tế sẽ được đo trong giai đoạn pilot Q1/2027.
Roadmap
RelGuard đi theo thứ tự Test → Process → Security. Guard sau chỉ bắt đầu khi Guard trước đã pilot trên dự án thật và có kết quả đánh giá rõ ràng.
- Q4/2026Đang làm
Hoàn thiện để sẵn sàng pilot
Chuyển toàn bộ secret sang SecretStorage · dựng CI chạy typecheck + unit test đa nền tảng · giải bài toán scheduler phụ thuộc VSCode mở · build .vsix tự động theo tag · chọn kênh phân phối nội bộ · chọn 1–2 project pilot.
- Q1/2027Kế hoạch
Pilot và đo hiệu quả thật
Chạy trên 1–2 project thật, ghi nhận bug chỉ lộ ra trong môi trường thực tế, đo lại toàn bộ số liệu ở bảng trên bằng dữ liệu thật, rồi quyết định go/no-go cho rollout rộng.
- Q2/2027Kế hoạch
Mở rộng + khởi động RelGuard Process
Rollout thêm project nếu pilot thành công. Bắt đầu thiết kế và làm MVP RelGuard Process — quality gate cho Requirement và Code Review, tái sử dụng Core Engine, Report Renderer và sidebar sẵn có.
- Q3/2027Định hướng
Khởi động RelGuard Security
Xác định phạm vi cụ thể (SAST, dependency scan, DAST…), làm MVP và pilot. Mốc này hiện là định hướng — cần UC Spec và phạm vi kỹ thuật trước khi implement.
RelGuard — Quality Guard for Relipa
├── RelGuard Test → Test case có sẵn · Function Spec
├── RelGuard Process → Quality gate Requirement / Code Review
└── RelGuard Security → Quét lỗ hổng bảo mậtMột điểm còn mở ở cấp quản lý: dữ liệu spec và test case thật của khách hàng có được phép đi qua Claude API trong giai đoạn pilot hay không. Chưa có quyết định này thì mốc Q1/2027 có thể bị lùi.
Cài đặt
Khoảng 5 phút nếu máy bạn đã có Node và Claude Code CLI.
RelGuard Test chưa được phát hành lên VSCode Marketplace. Bạn cài bằng file .vsix tải trực tiếp ở đây — VSCode có thể hiện cảnh báo về extension chưa ký, đây là điều bình thường với extension nội bộ.
- 1Tải file .vsix bằng nút bên dưới.
- 2Trong VSCode, mở Extensions (Ctrl+Shift+X) → menu ⋯ ở góc trên → Install from VSIX…
- 3Chọn file vừa tải, VSCode cài xong sẽ hỏi Reload — bấm Reload.
- 4Icon hình khiên xuất hiện trên activity bar. Bấm vào, sidebar có 5 mục: Project · Functions · Testing · Lịch chạy test · Cài đặt.
# 1. Cài extension từ file .vsix vừa tải
code --install-extension relguard-test-0.1.0.vsix
# 2. Cài Chromium cho Playwright (chạy trong project sẽ được test)
npx playwright install chromium
# 3. Xác nhận Claude Code CLI đã login
claude --versionBước đầu tiên sau khi cài
- Chạy claude tương tác một lần ngay trong thư mục project để accept trust dialog — RelGuard gọi Claude qua CLI nên cần bước này.
- Sidebar → Functions → ➕ tạo function đầu tiên (một màn hình hoặc một chức năng = một function).
- Sidebar → Testing → Test Case → 📥 Import file test case Markdown, rồi 🔄 Sync Test.
Dung lượng ~4,4 MB · Cập nhật cho VSCode ≥ 1.85
Câu hỏi thường gặp
Không. RelGuard gọi Claude qua Claude Code CLI có sẵn trên máy bạn, dùng lại chính phiên đăng nhập đó. Không có API key nào bị hardcode hay lưu trong extension.
Có — prompt gửi cho Claude bao gồm test case, tài liệu yêu cầu, thông tin DOM và nội dung bug report, nên phần dữ liệu đó đi qua Claude API. Đây là lý do việc dùng RelGuard trên dữ liệu khách hàng thật đang chờ quyết định về data governance ở cấp quản lý. Riêng Backlog API Key thì được lưu bằng vscode.SecretStorage do hệ điều hành mã hoá.
Ở luồng chính thì không. AI không được thêm, bớt hay đổi tên bất kỳ case nào trong file bạn import — chỉ được phân loại tự động hoá được / phải test tay và viết script. Nếu bạn muốn AI gợi ý case mới thì có nút riêng "Đề xuất testcase còn thiếu", và mọi gợi ý đều phải bạn tick chọn mới được lưu.
Vẫn nằm nguyên trong danh sách test case, gắn nhãn manual kèm ghi chú lý do (thao tác vật lý trên thiết bị, quan sát bằng mắt, giả lập mất mạng…). Bộ test case của bạn vẫn đầy đủ, không bị cắt còn mỗi phần máy chạy được.
Không. Bộ đếm lịch nằm trong chính tiến trình extension nên chỉ hoạt động khi VSCode đang mở — không phải cron của hệ điều hành, và hiện chưa có cảnh báo khi một lượt bị bỏ lỡ. Việc tách phần này ra chạy độc lập nằm trong kế hoạch Q4/2026.
Được. Chỉ có nút Tạm dừng giữa lúc chạy test là không hỗ trợ trên Windows (cần signal POSIX) — nút Dừng vẫn hoạt động bình thường.
Hiện tại không. RelGuard đã đổi hướng thiết kế: đầu vào bây giờ là file test case Markdown theo template chuẩn của team, hoặc tài liệu yêu cầu dạng Markdown ở lane Function Spec. Việc hỗ trợ thêm định dạng khác vẫn nằm ngoài phạm vi hiện tại.
Chromium (Desktop Chrome) qua Playwright. Chưa có Firefox, WebKit hay thiết bị mobile, và cũng chưa có kiểm thử responsive hay so sánh giao diện.
Sẵn sàng để AI viết phần script thay bạn?
Tải extension, import đúng file test case bạn đang có, bấm Sync Test một lần và xem kết quả.
VSCode ≥ 1.85 · Node.js ≥ 18 · Claude Code CLI · Playwright Chromium