30+ promt mau viet test case

30+ Prompt mẫu viết test case bằng AI (ChatGPT/Claude) (Phiên bản 2026)

Bài viết này tổng hợp 30+ prompt mẫu viết test case được chọn lọc và kiểm thử thực tế, phân loại theo từng mục đích: từ unit test, API test, UI/E2E cho đến security, performance, regression và nhiều loại khác.

Mỗi prompt đều được trình bày sẵn, bạn chỉ cần thay phần trong dấu [ ] bằng thông tin dự án của mình.

Bài này dành cho bạn nếu:

  • Bạn là QA/Tester muốn dùng AI để tăng tốc viết test case.
  • Bạn đã thử prompt nhưng output chưa đủ chất lượng.
  • Bạn cần bộ prompt có cấu trúc, bao phủ nhiều loại test khác nhau.
30+ promt mau viet test case

Cấu trúc một prompt mẫu viết test case

Generative AI rất mạnh, nhưng nó không tự biết bạn muốn gì nếu bạn không nói rõ.

Prompt tốt = truyền đạt rõ ràng = kết quả tốt hơn

Thành phần

Vai trò

Ví dụ

Vai trò (Role/Persona)

Giao vai trò cho AI

Bạn là Senior QA Engineer 7 năm kinh nghiệm

Nhiệm vụ (Instruction/Task)

Xác định AI cần làm gìPhân tích các trường hợp kiểm thử cho màn hình đăng nhập

Ngữ cảnh (Context)

Cung cấp bối cảnh, thông tin nền để AI hiểu chính xác tình huống

Ứng dụng React + Node.js. Người dùng đăng nhập thành công sẽ được chuyển tới /dashboard

Dữ liệu đầu vào (Input Data)

Nguồn dữ liệu AI sử dụng để xử lý

Email hợp lệ, mật khẩu hợp lệ, yêu cầu nghiệp vụ đăng nhập

Định dạng đầu ra (Output Format)

Xác định mục tiêu đầu ra để AI đưa đúng kết quả bạn cần

Bảng Markdown gồm ID, Test Case, Expected Result

Prompt nền - Dùng cho mọi loại test case

Khi bắt đầu session mới, bạn nên sử dụng 2 prompt nền để thiết lập “tư duy QA” cho AI trước khi đưa ra yêu cầu cụ thể.

#1 System prompt: Khai báo vai trò QA

Bạn là một Senior QA Engineer với 7 năm kinh nghiệm, chuyên về Agile/Scrum.

Nhiệm vụ: viết test case đầy đủ, bao gồm positive, negative và edge case.

Format mặc định: bảng Markdown với cột: Test ID | Title | Precondition | Steps | Expected Result | Priority.

Hỏi lại nếu thông tin chưa đủ để viết test case chính xác.

Không bịa expected result – nếu không chắc, hãy đặt câu hỏi.

#2 Template cung cấp context – Dùng cho mọi user story

User Story:

[Paste đầy đủ user story vào đây]

Acceptance Criteria:

[Paste AC dạng checklist — càng cụ thể càng tốt]

Tech stack: [VD: React 18, Node.js 20, PostgreSQL 15]

Môi trường test: [VD: Chrome 120, Windows 11, 1920×1080]

Yêu cầu: Viết test case đầy đủ cho user story này.

Prompt mẫu viết test case: Nhóm A: Functional Testing

3.1 Authentication & Authorization

#3 Đăng nhập (Login)

Viết test case đầy đủ cho tính năng đăng nhập:

– Email + mật khẩu

– Remember me (duy trì session 30 ngày)

– Google OAuth

– Tính năng “Quên mật khẩu”

Bao gồm: positive, negative, edge case.

Bảo mật cơ bản: brute force (khóa tài khoản sau 5 lần sai),

SQL injection attempt. Format: bảng Markdown.

#4 Đăng ký tài khoản (Register)

Viết test case cho form đăng ký với các trường:

– Họ tên: bắt buộc, 2-100 ký tự, chỉ chữ cái và dấu cách

– Email: bắt buộc, format chuẩn, unique trong hệ thống

– Số điện thoại: tùy chọn, format Việt Nam (09x, 03x, 07x…)

– Mật khẩu: ≥8 ký tự, chữ hoa + số + ký tự đặc biệt

– Confirm password: phải khớp với mật khẩu

Tập trung: boundary value, ký tự đặc biệt, unicode tiếng Việt.

#5 Phân quyền (RBAC)

Hệ thống có 3 role: Admin, Manager, User.

Quyền truy cập:

– /admin/users: chỉ Admin

– /reports: Admin + Manager, User bị redirect về /403

– Nút “Xóa”: chỉ Admin

– Nút “Chỉnh sửa”: Admin + Manager

Viết test case cho tất cả combination Role × Resource × Action.

Cột: Role | URL/Resource | Hành động | Expected Result | Priority.

3.2 Form & Validation

#6 Form nhập liệu phức tạp

Viết test case validation cho form [tên form] gồm:

– [Tên trường 1]: [loại, bắt buộc/tùy chọn, rule validation]

– [Tên trường 2]: [loại, bắt buộc/tùy chọn, rule validation]

– …

Bao gồm:

1. Happy path: điền đúng tất cả trường → submit thành công

2. Validation từng trường: trống, sai format, vượt giới hạn

3. Boundary value: min, max, min-1, max+1

4. Ký tự đặc biệt: <script>, SQL injection, emoji, tiếng Việt có dấu

#7 Date picker & Time input

Viết test case cho trường chọn ngày/giờ:

– Định dạng hiển thị: DD/MM/YYYY

– Giới hạn: không chọn ngày quá khứ (với booking)

– Giới hạn: không chọn ngày quá 1 năm tương lai

Edge case: ngày 29/02 (năm nhuận và không nhuận), 31/01,

chuyển múi giờ UTC+7 sang UTC, đổi giờ mùa hè (DST).

#8 Upload file

Viết test case cho chức năng upload file:

– Định dạng cho phép: [JPG, PNG, PDF, DOCX — điền theo dự án]

– Kích thước tối đa: [5MB]

– Số file tối đa mỗi lần: [3 file]

Edge case: file 0 byte, file đổi extension giả (exe → jpg),

upload đồng thời vượt limit, ảnh EXIF rotation, mất kết nối giữa chừng, file tên có ký tự đặc biệt.

3.3 Search, Filter & Sort

#9 Tìm kiếm (Search)

Viết test case cho thanh tìm kiếm [tên module]:

– Full-text search, không phân biệt hoa thường

– Hiển thị kết quả: [X kết quả / trang, có phân trang]

– Thời gian phản hồi: ≤ 2 giây

Case cần cover: từ khóa 1 ký tự, từ khóa >100 ký tự, ký tự đặc biệt (%, _, #, <, >), tiếng Việt có dấu, không có kết quả, kết quả >1000 items.

#10 Bộ lọc đa điều kiện (Filter)

Tính năng filter sản phẩm với các bộ lọc:

– Danh mục: multi-select checkbox

– Khoảng giá: min-max slider

– Đánh giá: ≥ N sao (1-5)

– Tình trạng: Còn hàng / Hết hàng / Tất cả

Case cần cover: chọn tất cả filter cùng lúc, bỏ chọn từng filter,

min > max, giá âm, reset tất cả filter, URL có chứa filter params.

3.4 E-commerce & Checkout

#11 Giỏ hàng (Cart)

Viết test case cho tính năng giỏ hàng:

– Thêm sản phẩm, thay đổi số lượng, xóa sản phẩm

– Áp mã giảm giá (voucher)

– Tính tổng tiền: giá × số lượng + phí ship – giảm giá

Edge case: thêm sản phẩm hết hàng, số lượng vượt tồn kho, voucher hết hạn / đã dùng / sai điều kiện áp dụng, giỏ hàng của user đã đăng xuất rồi đăng nhập lại.

#12 Quy trình thanh toán (Checkout)

Viết test case cho quy trình checkout 5 bước:

1. Xem giỏ hàng → 2. Nhập địa chỉ → 3. Chọn ship →

4. Chọn thanh toán → 5. Xác nhận → trang thành công

Payment status: success, failed, pending, timeout (30s).

Edge case: sản phẩm hết hàng giữa chừng, mất kết nối khi đang thanh toán, back button giữa các bước, trùng tab (mở 2 tab checkout cùng lúc).

Prompt mẫu viết test case: Nhóm B: API Testing

Muốn thực hành prompt này trên dự án thật của bạn?

Khóa Practical AI for Tester đi sâu hơn với bài tập thực chiến và mentor hỗ trợ trực tiếp khi bạn gặp vướng mắc.

[ Tìm hiểu về khóa Practical AI for Tester]

Cung cấp API spec (endpoint, method, request/response schema) vào prompt để AI tạo test case chính xác nhất.

#13 REST API endpoint đơn

Viết test case cho API endpoint:

[METHOD] [/api/path]

Request:

Headers: Authorization: Bearer {token}

Body: { [các field và kiểu dữ liệu] }

Response thành công: [HTTP status] + [cấu trúc response body]

Response lỗi: [các mã lỗi có thể xảy ra]

Bao gồm: status code, response body, headers, auth.

Edge case: token hết hạn, token sai, thiếu required field,

payload quá lớn, SQL injection trong body.

#14 CRUD API (tất cả endpoints một module)

Viết test case cho toàn bộ CRUD API của module [tên]:

– GET /api/[resource] — danh sách (có phân trang, filter)

– GET /api/[resource]/:id — chi tiết

– POST /api/[resource] — tạo mới

– PUT /api/[resource]/:id — cập nhật toàn bộ

– PATCH /api/[resource]/:id — cập nhật một phần

– DELETE /api/[resource]/:id — xóa (soft delete)

Schema: [paste JSON schema hoặc mô tả các field]

Auth: [JWT / API Key / OAuth]

#15 API từ Swagger/OpenAPI spec

Đây là OpenAPI spec cho endpoint [tên]:

[Paste nội dung YAML/JSON spec hoặc đường dẫn Swagger UI]

Dựa trên spec trên, viết test case đầy đủ bao gồm:

1. Contract test: response đúng schema, đúng status code

2. Business logic test: các rule nghiệp vụ quan trọng

3. Error handling: tất cả mã lỗi được định nghĩa trong spec

4. Auth test: các endpoint yêu cầu authentication

Format: bảng Markdown, nhóm theo endpoint.

#16 GraphQL API

Viết test case cho GraphQL [Query/Mutation] sau:

[Paste GraphQL query/mutation]

Test cần cover:

– Happy path với đầy đủ fields

– Query chỉ lấy một số fields (partial selection)

– Input validation: required args, kiểu dữ liệu sai

– Authorization: user không có quyền

– N+1 query problem (nếu có resolver lồng nhau)

– Introspection disabled (nếu là production)

#17 Webhook & Event-driven

Viết test case cho webhook [tên]:

– Trigger: [sự kiện kích hoạt webhook]

– Payload: [cấu trúc dữ liệu gửi đi]

– Endpoint nhận: [URL của bên thứ ba]

Test cần cover: gửi thành công và nhận ACK 200, retry khi endpoint trả về lỗi (3 lần, exponential backoff), timeout (15s), payload signature validation (HMAC), idempotency (gửi lại sự kiện trùng).

30+ promt mau viet test case

Prompt mẫu viết test case: Nhóm C: Non-functional Testing

5.1 Performance & Load Testing

#18 Performance test scenario

Viết test scenario performance cho tính năng [tên]:

– Concurrent users: [100 / 500 / 1000]

– Thời gian chạy: [30 phút]

– Mục tiêu: response time ≤ 2s với 95th percentile

Tôi dùng [JMeter / k6 / Locust].

Viết:

1. Danh sách test scenario (không phải script)

2. Threshold pass/fail cho từng scenario

3. Data cần chuẩn bị trước khi test

4. Điều kiện dừng sớm (circuit breaker)

5.2 Security Testing

#19 Security checklist theo OWASP Top 10

Viết test case security cho module [tên] dựa trên OWASP Top 10:

– Tech stack: [ngôn ngữ, framework, database]

– Authentication: [JWT / session / OAuth]

– User input: [các form và endpoint nhận input]

Tập trung vào:

A01 – Broken Access Control

A02 – Cryptographic Failures (HTTPS, password hashing)

A03 – Injection (SQL, XSS, Command)

A07 – Authentication Failures

Format: bảng với cột Test ID | Vulnerability | Test Case | Severity.

#20 XSS & Injection test

Viết test case kiểm tra XSS và Injection cho [tên form/API]:

Input test (paste vào từng field):

– XSS: <script>alert(1)</script>, <img src=x onerror=alert(1)>

– SQL Injection: ‘ OR 1=1–, “; DROP TABLE users;–

– Path Traversal: ../../../etc/passwd

– Command Injection: ; ls -la, | whoami

Expected result: hệ thống escape/sanitize đúng, không execute.

Format: bảng, ghi rõ vector tấn công và expected behavior.

5.3 Usability & Accessibility

#21 Responsive & cross-browser

Viết test case responsive cho trang [tên trang]:

Breakpoints: 375px (iPhone SE), 390px (iPhone 14),

768px (iPad), 1024px (iPad landscape), 1280px, 1920px

Browsers: Chrome, Firefox, Safari, Edge (phiên bản mới nhất)

Kiểm tra: layout không vỡ, text không tràn, ảnh đúng tỷ lệ, nút bấm được ngón tay (≥44px touch target), modal hiển thị đúng, horizontal scroll không xuất hiện trên mobile.

#22 Accessibility (WCAG 2.1 AA)

Viết test case accessibility cho trang [tên] theo WCAG 2.1 Level AA:

Kiểm tra:

– Keyboard navigation: Tab, Shift+Tab, Enter, Space, Arrow keys

– Screen reader: NVDA + Chrome, VoiceOver + Safari

– Color contrast: ≥4.5:1 cho text thường, ≥3:1 cho heading

– Alt text: tất cả ảnh có ý nghĩa phải có alt text

– Form labels: mọi input phải có label liên kết

– Error messages: thông báo lỗi rõ ràng, không chỉ dùng màu

Prompt mẫu viết test case: Nhóm D: Nâng cao & Đặc thù

6.1 Regression & Smoke Test

#23 Regression test từ bug report

Bug report #[ID]:

“[Mô tả bug — copy từ Jira/GitHub Issues]”

Steps to reproduce: [các bước tái hiện]

Environment: [OS, Browser, version]

Severity: [Critical/High/Medium/Low]

1. Viết test case regression để verify bug đã được fix.

2. Viết thêm 3-5 test case liên quan để tránh regression tương tự.

3. Đề xuất test case nào nên thêm vào smoke test suite.

#24 Smoke test suite cho release

Viết bộ smoke test (≤20 test case) cho release [version]:

Tính năng core của ứng dụng:

1. [Tính năng 1 — mô tả ngắn]

2. [Tính năng 2 — mô tả ngắn]

3. […]

Tiêu chí: smoke test phải chạy xong trong ≤15 phút, cover các happy path quan trọng nhất.

Ưu tiên: tính năng mang lại giá trị kinh doanh cao nhất trước.

6.2 Integration & System Test

#25 Tích hợp third-party (Payment gateway)

Viết test case tích hợp payment gateway [Stripe/MoMo/VNPay]:

Test environment: sandbox với test cards/accounts.

Scenario cần cover:

– Thanh toán thành công (các loại thẻ/ví khác nhau)

– Từ chối thanh toán (thẻ hết tiền, hết hạn, CVV sai)

– 3D Secure challenge

– Refund / partial refund

– Webhook confirmation nhận đúng và xử lý idempotent

– Network timeout giữa chừng

#26 Email notification

Viết test case cho hệ thống gửi email tự động:

Trigger events:

– Đăng ký → email xác nhận (có link verify, hết hạn 24h)

– Đặt hàng → email xác nhận đơn hàng

– Giao hàng thành công → email đánh giá

– Reset password → email link (hết hạn 1h, dùng 1 lần)

Kiểm tra: trigger đúng, nội dung đúng, link hoạt động, không gửi trùng, xử lý bounce/invalid email, unsubscribe link có trong mỗi email.

6.3 Database & Data Integrity

#27 Data integrity test

Viết test case kiểm tra data integrity cho module [tên]:

Database: [PostgreSQL / MySQL / MongoDB]

Các ràng buộc:

– Foreign key: [bảng A liên kết bảng B qua field nào]

– Unique constraint: [field nào phải unique]

– Not null: [field nào bắt buộc]

– Cascade: [xóa A có xóa B không]

Test case cần cover: tạo bản ghi vi phạm constraint,

concurrent insert (race condition), rollback khi lỗi giữa chừng.

6.4 Mobile Testing

#28 Mobile app — iOS & Android

Viết test case cho tính năng [tên] trên mobile app:

– Platform: iOS [version] + Android [version]

– Devices: [danh sách thiết bị test]

Test case đặc thù mobile:

– Interrupt: gọi điện đến, tin nhắn, thông báo giữa chừng

– Background/Foreground: app về background rồi quay lại

– Orientation: xoay dọc ↔ ngang giữa luồng

– Offline mode: mất kết nối, phục hồi kết nối

– Deep link: mở app từ link bên ngoài

– Permission: camera, location, notification bị từ chối

6.5 Localization & Internationalization

#29 i18n / L10n testing

Viết test case localization cho [tên ứng dụng]:

– Ngôn ngữ hỗ trợ: [vi, en, ja, …]

– Locale: [ngày giờ, tiền tệ, số điện thoại]

Kiểm tra:

– Không có hardcoded string (tất cả text qua i18n key)

– Text không bị cắt/tràn khi dịch sang ngôn ngữ dài hơn

– Format ngày: DD/MM/YYYY (vi) vs MM/DD/YYYY (en-US)

– Đơn vị tiền: VND (không có decimal) vs USD (2 decimal)

– Right-to-left layout (nếu hỗ trợ Arabic/Hebrew)

6.6 Prompt đặc biệt — Edge Case & Boundary

#30 Tự động sinh edge case từ spec

Đây là specification của tính năng [tên]:

[Paste spec hoặc mô tả chi tiết]

Nhiệm vụ: Chỉ viết edge case và boundary value test case.

KHÔNG viết happy path (đã có rồi).

Tập trung vào:

– Giá trị biên (min, max, min-1, max+1, 0, -1)

– Trạng thái đặc biệt (empty, null, undefined)

– Timing issue (race condition, concurrent request)

– Data đặc thù: emoji, RTL text, very long string (10,000 chars)

#31 Follow-up: Bổ sung edge case cho bộ test đã có

Tôi đã có bộ test case sau:

[Paste bộ test case hiện tại]

Nhiệm vụ:

1. Phân tích bộ test case trên và chỉ ra các loại test còn thiếu.

2. Viết bổ sung các edge case chưa được cover.

3. Đề xuất test case nào nên prioritize là Critical/High.

Không lặp lại test case đã có. Đánh số tiếp nối.

6.7 Prompt chuyển đổi format

#32 Chuyển test case sang Gherkin (BDD)

Chuyển đổi các test case sau sang format Gherkin:

[Paste test case dạng bảng]

Yêu cầu:

– Feature file name: [feature_name].feature

– Mỗi test case = 1 Scenario

– Dùng Scenario Outline + Examples cho test có nhiều data set

– Bước Given/When/Then viết rõ ràng, có thể tái sử dụng (reusable steps)

– Ghi chú @tag phù hợp: @smoke, @regression, @critical

#33 Chuyển test case sang automation code

Chuyển test case sau thành code automation:

[Paste test case]

Framework: [Playwright / Cypress / Selenium / pytest]

Ngôn ngữ: [JavaScript/TypeScript / Python / Java]

Fixtures/setup:

– [Tên fixture 1]: [mô tả]

– [Tên fixture 2]: [mô tả]

Yêu cầu: dùng Page Object Model, thêm comment cho từng step,

dùng data-testid thay class/id không ổn định.

Nguyên tắc vàng để prompt hiệu quả

  • Cung cấp đầy đủ context cần thiết.
  • Nói rõ role của AI (Act as Senior QA…)
  • Chỉ định chính xác task & requirement/input cụ thể
  • Chỉ rõ output format (Table, JSON, BDD…)
  • Quy định constraint để giảm hallucination
  • Chia task lớn thành nhiều bước nhỏ & reasoning
  • Iterate nhiều lần, review kỹ output
  • Nhấn mạnh: “Không tự suy luận ngoài requirement”

Thực hành có mentor — tiến nhanh hơn học một mình

Khóa Practical AI for Tester hướng dẫn bạn tư duy đúng khi sử dụng AI và làm chủ kỹ thuật AI Promting – kỹ thuật giúp làm làm chủ các công cụ AI. 

[ Tìm hiểu về khóa Practical AI for Tester → ]

Bạn đang có băn khoăn nào cần được giải đáp?

Cả hai đều tốt cho viết test case. Claude có lợi thế với context window 200K token — phù hợp khi cần paste tài liệu dài (PRD, Swagger spec). ChatGPT mạnh hơn ở code generation. Trong thực tế, nhiều team dùng song song: ChatGPT cho automation code, Claude cho tài liệu spec dài.

Có. Tất cả prompt đã được thiết kế để copy-paste ngay — chỉ cần thay phần trong dấu [ ] bằng thông tin dự án thực tế của bạn. Prompt #1 (System prompt) và #2 (Context template) nên dùng đầu tiên ở mọi session.

Có. Dùng Prompt #33 để chuyển test case sang code automation (Playwright, Cypress, pytest...). Cung cấp tên fixture, framework, và ngôn ngữ để AI tạo code sát nhất với project của bạn.

Ba yếu tố quan trọng nhất: (1) User story rõ ràng với Acceptance Criteria cụ thể, (2) Tech stack và môi trường test, (3) Format output mong muốn. Thiếu bất kỳ yếu tố nào, AI sẽ phải đoán và output sẽ kém chính xác.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Các tin tức khác