Mmaiqai.com
🧪 QA / Test

Dùng AI sinh bộ test case từ user story — tổ chức theo màn hình, phủ đủ kỹ thuật thiết kế test

10 phút đọcTác giả: maiqai.com
📌

Đặt vấn đề

Viết test case thủ công vừa lâu vừa dễ bỏ sót — nhất là các dạng negative và giá trị biên. AI đọc user story và tiêu chí nghiệm thu rồi sinh bộ test case đầy đủ, tổ chức theo từng nhóm (UI, validate, logic nghiệp vụ, trạng thái, phân quyền, bảo mật...) dựa trên các kỹ thuật thiết kế test bài bản như phân vùng tương đương, giá trị biên, bảng quyết định. Kết quả đã tổ chức sẵn theo nhóm/màn hình nên chuyển sang script automation cũng dễ hơn hẳn.

🚀 Thiết lập trong 4 bước

Mất khoảng 10-15 phút lần đầu, sau đó chỉ việc dùng.

  1. 1
    Chọn cách tổ chức + chuẩn bị đầu vào
    Quyết định tổ chức test case theo: • THEO MÀN HÌNH — chia nhóm: UI / Validate / Logic nghiệp vụ / Trạng thái / Phân quyền / Tích hợp / Bảo mật. Hợp khi test 1 màn hình, và DỄ chuyển thành script automation sau (map đúng cấu trúc màn hình, kiểu Page Object). • THEO STORY / LUỒNG — bám luồng nghiệp vụ xuyên nhiều màn hình (end-to-end). Rồi gom: mô tả màn hình/story, tiêu chí nghiệm thu, ràng buộc dữ liệu (độ dài, định dạng, giới hạn). Story càng rõ, case càng chuẩn — 'rác vào rác ra'.
  2. 2
    Dán prompt sinh test case (xem bên dưới)
    Mở AI (ChatGPT/Claude/Gemini), dán Prompt 1 + user story → ra bộ case theo màn hình (đã có cột Loại + Độ ưu tiên). Nếu chức năng đi qua nhiều bước/hệ thống → dùng thêm Prompt 2 viết case luồng E2E/tích hợp. Cuối cùng dùng Prompt 3 để rà & bổ sung case còn thiếu (tất cả cùng format, dán chung 1 file Excel). Story nằm trong file/Confluence → dùng Claude Code đọc thẳng thay vì copy.
  3. 3
    Rà, cắt & format theo template
    AI ra nhiều và đôi khi sai — đây là bước QUAN TRỌNG NHẤT: cắt case trùng/chung chung, sửa 'kết quả mong đợi' cho đúng nghiệp vụ, đối chiếu tiêu chí nghiệm thu. Dùng cấu trúc bảng chuẩn ở Kho Template QA để thống nhất với team.
    Lấy mẫu Test Case ở Kho Template QA
  4. 4
    Giữ format cố định cho các lần update sau
    Test case update liên tục — đừng dặn lại format mỗi lần. Lưu quy tắc cột vào Claude Code (CLAUDE.md / lệnh tắt / skill / #) để nó tự nhớ, lần update thứ 10 vẫn ra y format lần đầu. Xem hướng dẫn chi tiết ở bài riêng:
    Cách để Claude Code luôn nhớ format & quy tắc QA

🔍 3 prompt — kèm chỗ AI hay sai cần bắt

AI sinh kết quả chỉ trong vài giây — việc của bạn là kiểm lại. Mỗi prompt kèm ví dụ kết quả và 🔍 Góc soi lỗi của Tester (chỗ AI hay sai, nên xem trước khi dùng). Bấm Copy → dán vào Claude Code / ChatGPT.

1
Prompt 1 — Sinh test case theo màn hình + kỹ thuật thiết kế test
Mục tiêu

Biến 1 màn hình/story thành MỘT bảng test case đầy đủ (phủ mọi khía cạnh, đã gán ưu tiên) — đổ thẳng vào 1 file Excel.

Bạn là QA giàu kinh nghiệm, thiết kế test case bài bản. Từ mô tả màn hình / user story + tiêu chí nghiệm thu dưới đây, sinh bộ test case ĐẦY ĐỦ.

Phải phủ đủ các khía cạnh (để không sót): UI/Hiển thị, Validate từng trường nhập, Logic nghiệp vụ, Luồng & trạng thái, Phân quyền, Tích hợp & ngoại lệ (API lỗi/timeout/dữ liệu rỗng), Bảo mật (XSS/SQLi, truy cập trái phép).
Áp dụng kỹ thuật thiết kế test để không sót case: phân vùng tương đương, giá trị biên (min/max/dưới/trên), bảng quyết định cho tổ hợp điều kiện — nhưng KHÔNG cần ghi tên kỹ thuật vào bảng.

Trả về MỘT BẢNG DUY NHẤT (không tách thành nhiều bảng), gồm các cột: ID | Tiêu đề | Loại | Tiền điều kiện | Các bước | Dữ liệu test | Kết quả mong đợi | Độ ưu tiên.
- Cột 'Loại': UI / Validate / Logic / Trạng thái / Phân quyền / Tích hợp / Bảo mật (để lọc trong Excel).
- Cột 'Độ ưu tiên' (Cao/Trung bình/Thấp) theo rủi ro: ảnh hưởng TIỀN, BẢO MẬT, LUỒNG CHÍNH → Cao.
- CHỈ dựa trên thông tin có; chỗ chưa rõ ghi 'cần xác nhận', KHÔNG tự suy đoán.
- Trả về dạng bảng để tôi copy / tải thẳng vào 1 file Excel.

[DÁN MÔ TẢ MÀN HÌNH / USER STORY + TIÊU CHÍ NGHIỆM THU]

Lưu bảng test case của màn hình này thành một file riêng (vd test-cases/<ten-man-hinh>.md hoặc .xlsx), gom cả bộ vào thư mục test-cases/ — để dễ lưu lại và review từng màn hình sau.
🔍
Góc soi lỗi của Tester

AI phủ nhanh nhiều khía cạnh, nhưng: (1) phần LOGIC nhiều điều kiện dễ thiếu tổ hợp — tự liệt kê ma trận điều kiện để đối chiếu đủ chưa; (2) hay BỊA 'kết quả mong đợi' hoặc giá trị biên khi story không nói rõ → để 'cần xác nhận' rồi hỏi BA, đừng tin số AI tự bịa. Coi là bản nháp, rà rồi mới dùng.

2
Prompt 2 — Viết test case luồng tích hợp end-to-end (E2E)
Mục tiêu

Kiểm thử sự PHỐI HỢP giữa nhiều màn hình/module/hệ thống — không chỉ từng màn hình lẻ.

Bạn là QA giàu kinh nghiệm. Từ mô tả LUỒNG NGHIỆP VỤ end-to-end dưới đây (đi qua nhiều màn hình / module / hệ thống), viết bộ test case kiểm thử TÍCH HỢP — tập trung sự PHỐI HỢP giữa các bước, không phải từng màn hình lẻ.

Phải phủ:
- Luồng chính chạy thông suốt từ đầu đến cuối (happy path E2E).
- Bàn giao dữ liệu giữa các bước: dữ liệu tạo ở bước trước hiển thị/dùng ĐÚNG ở bước sau.
- Điểm tích hợp với dịch vụ ngoài (thanh toán, gửi mail, kho, API...): thành công, thất bại, timeout.
- Tính nhất quán dữ liệu: một bước lỗi giữa chừng → trạng thái các bên có đồng bộ không (rollback?).
- Luồng thay thế & ngoại lệ: hủy giữa chừng, quay lại bước trước, làm lại.

Trả về MỘT BẢNG DUY NHẤT, cùng cột với bộ test case chức năng: ID | Tiêu đề | Loại | Tiền điều kiện | Các bước | Dữ liệu test | Kết quả mong đợi | Độ ưu tiên. Đặt ID dạng E2E-01... và cột 'Loại' ghi 'E2E' hoặc 'Tích hợp'. Chỗ chưa rõ ghi 'cần xác nhận'.

[DÁN MÔ TẢ LUỒNG END-TO-END / SƠ ĐỒ NGHIỆP VỤ]
🔍
Góc soi lỗi của Tester

AI viết tốt phần 'luồng' nhưng dễ bỏ qua ĐIỂM TÍCH HỢP THẬT của hệ thống bạn (webhook xác nhận thanh toán, hàng đợi/queue, job nền chạy sau). Tự bổ sung theo kiến trúc thực tế. Lưu ý: chạy E2E cần MÔI TRƯỜNG có đủ hệ thống thật hoặc mock — case AI viết có thể chưa chạy được nếu thiếu. Cảnh giác case 'happy' che mất lỗi đồng bộ dữ liệu giữa các bên — đây mới là chỗ E2E hay bắt được bug.

3
Prompt 3 — Thách AI tìm case còn thiếu
Mục tiêu

Review bộ case đã có xem CÒN THIẾU dạng nào — trả về cùng format bảng để bổ sung thẳng vào file Excel.

Đóng vai một QA khó tính, review bộ test case dưới đây cho chức năng [TÊN] xem CÒN THIẾU case nào. Tập trung các dạng dễ sót: edge case hiếm, tổ hợp nhiều điều kiện, lỗi xảy ra đồng thời (race condition), trạng thái dữ liệu bất thường, vấn đề thời gian/múi giờ, phân biệt hoa/thường, bảo mật.

Chỉ liệt kê case CÒN THIẾU (ĐỪNG lặp lại case đã có). Trả về theo ĐÚNG format bảng như bộ hiện có, các cột: ID | Tiêu đề | Loại | Kết quả mong đợi | Độ ưu tiên — để tôi bổ sung thẳng vào cùng file Excel. Đánh ID dạng ADD-01, ADD-02... để biết là case bổ sung. Chỗ chưa rõ ghi 'cần xác nhận'.

Đọc file test case của màn hình [TÊN] trong thư mục test-cases/ (vd test-cases/[ten-man-hinh].md). Ghi các case bổ sung vào CUỐI chính file đó để không thất lạc.
🔍
Góc soi lỗi của Tester

AI gợi ý dạng case rất hay để mở rộng coverage, NHƯNG có thể nêu case không khả thi với hệ thống của bạn (vd nhắc 'đa thiết bị' trong khi app chỉ chạy 1 phiên). Lọc theo kiến trúc thực tế: giữ case hợp lý, bỏ case không áp dụng được. Mấy dòng 'cần xác nhận' là chỗ mang đi hỏi BA.

📌 Tóm lại

Sinh test case là việc AI hỗ trợ hiệu quả nhất cho QA — nhanh và bao phủ đủ dạng. Nhưng 'sinh ra' khác với 'đúng' và 'đủ': AI đảm nhiệm phần liệt kê, áp kỹ thuật và định dạng; còn bạn chịu trách nhiệm tính đúng nghiệp vụ, kiểm tra tổ hợp trong bảng quyết định và xác định ưu tiên. Lưu ý: tổ chức theo màn hình ngay từ đầu sẽ giúp bước viết script automation về sau thuận lợi hơn nhiều.

Bài viết liên quan