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

100%

Chạy trong VSCode — không cần server hay cloud riêng

1/300

Sửa 1 test case trong 300 case, chỉ sinh lại đúng case đó

Mọi case

Evidence khoanh đỏ cho cả case pass lẫn fail

demo-customer-app — Visual Studio Code
📥 Import🔄 Sync💡 Đề xuất➕ Thêm
IDTên test caseLoạiSCRIPTROUND 18
TC-001Đăng ký thành côngUI✅Pass
TC-002Email không hợp lệUI✅Fail
TC-003Tuổi dưới 18API✅Pass
TC-004Xá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.

1

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.

2

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.

3

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.

4

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.

5

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ệ.

running locator.click("Đăng ký")
31 pass2 fail13 đang chờ04:12
⏹ Dừng⏸ Tạm dừng▶ Tiếp tục

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.

Beta · Command Palette

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ó

  1. 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.

  2. 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.

  3. 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.

  4. 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.

300 test case
chỉ TC-015 thay đổi
1 lần gọi AI cho TC-015
299 script còn lại giữ nguyên
Tiêu chíCách thông thườngCó RelGuard
Dữ liệu gửi cho AIĐọc lại phần lớn file test caseChỉ phần thay đổi
Chi phí AITăng theo kích thước fileTăng theo số case thay đổi
Script không đổiCó thể bị AI viết lạiGiữ nguyên
Công sức reviewReview lại nhiều thay đổiChỉ 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 Review

Xem 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ạiCó RelGuardKỳ vọng
Viết test + script~60–90 phút/ 100 cases~20–30 phút/ 100 casesGiảm ~75%
Rà soát khi có thay đổiRà soát nhiều phầnTập trung vào phần thay đổiGiảm ~80%
Bỏ sót edge-casePhụ thuộc nhiều vào kinh nghiệmAI hỗ trợ gợi ýGiảm ~50%
Số test thực thi/ngày~50 case~150 caseTă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.

  1. 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.

  2. 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.

  3. 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ó.

  4. 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ật

Mộ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ộ.

VSCode ≥ 1.85Node.js ≥ 18Claude Code CLI đã loginChromium của Playwright
  1. 1Tải file .vsix bằng nút bên dưới.
  2. 2Trong VSCode, mở Extensions (Ctrl+Shift+X) → menu ⋯ ở góc trên → Install from VSIX…
  3. 3Chọn file vừa tải, VSCode cài xong sẽ hỏi Reload — bấm Reload.
  4. 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.

Bướ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.
Tải RelGuard Test 0.1.0 (.vsix)

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