Trong thời đại AI đang trở thành một “đồng nghiệp số” đáng tin cậy, việc khai thác hiệu quả sức mạnh của các mô hình ngôn ngữ như Chat GPT không còn là lợi thế phụ, mà là kỹ năng thiết yếu. Tuy nhiên, điều tạo nên sự khác biệt không nằm ở việc bạn có dùng AI, mà ở cách bạn ra lệnh cho AI – hay còn gọi là “prompt”.
Giữa hàng trăm phương pháp và lời khuyên về cách viết prompt hiệu quả, công thức RACEF nổi bật như một khuôn khổ đơn giản, logic nhưng cực kỳ mạnh mẽ. RACEF giúp bạn xây dựng lời nhắc (prompt) chặt chẽ theo 5 bước: Role – Action – Context – Expectation – Format, đảm bảo AI hiểu đúng vai trò, mục tiêu, ngữ cảnh và hình thức đầu ra bạn cần.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu chi tiết từng bước trong công thức RACEF, cách áp dụng thực tế trong lĩnh vực kiểm thử phần mềm, và những lưu ý để biến AI thành trợ lý đúng nghĩa – thông minh, hiểu ý, và hiệu quả.
1/ Giới thiệu về công thức RACEF
Công thức RACEF là một phương pháp giúp tối ưu hóa câu lệnh (prompt) khi làm việc với trí tuệ nhân tạo (AI), đặc biệt là các công cụ như Chat GPT. RACEF là viết tắt của:
Cấu trúc prompt | Định nghĩa/ Yêu cầu | Ví dụ |
Role (Vai trò) | Xác định vai trò của Chat GPT, bạn muốn nó đóng vai trò gì? | – Hãy đóng vai là một chuyên gia kiểm thử phần mềm. – Bạn là trưởng nhóm kiểm thử trong một dự án phát triển phần mềm Agile – Bạn là một chuyên viên kiểm thử thủ công với 3 năm kinh nghiệm |
Action (Hành động) | Nêu rõ hành động Chat GPT cần thực hiện | – Phân tích tài liệu để xây dựng bộ câu hỏi – Xây dựng bộ test case – Review bộ test case |
Context (Bối cảnh) | Cung cấp thông tin về hệ thống, nghiệp vụ, tính năng cần test. | – File test case – Tài liệu nghiệp vụ (.pdf hoặc mô tả chi tiết về yêu cầu, luồng xử lý, rule logic) – Môi trường hệ thống |
Expectation (Kỳ vọng) | Định rõ yêu cầu về chất lượng, độ chi tiết.. | – Ngôn ngữ trình bày ngắn gọn, dễ hiểu, từ ngữ chuyên môn chính xác. – Làm rõ mục tiêu và phạm vi tính năng – Phân loại câu hỏi theo luồng chính, luồng phụ và các trường hợp ngoại lệ. – Hỏi về các điều kiện thực thi, logic nghiệp vụ và quy tắc xử lý cụ thể. – Xác nhận yêu cầu về dữ liệu đầu vào, dữ liệu đầu ra và trạng thái hệ – thống liên quan. – Làm rõ ảnh hưởng của tính năng đến các hệ thống khác (nếu có). – Đề xuất các câu hỏi kiểm thử tập trung vào điều kiện biên, dữ liệu giới hạn và các hành vi bất thường. – Rà soát toàn bộ tài liệu để phát hiện các điểm mâu thuẫn, chưa rõ – ràng hoặc có khả năng hiểu sai, kèm theo vị trí cụ thể nếu có. – Đưa ra hướng xử lý hoặc câu hỏi để làm rõ khi tài liệu thiếu hoặc không rõ thông tin. – Phân loại hoặc đánh dấu mức độ ưu tiên câu hỏi theo mức quan trọng. – Tránh trùng lặp và đảm bảo bao phủ đầy đủ nghiệp vụ. – Bao phủ đầy đủ các tính năng, điều kiện lọc, hành vi giao diện và logic xử lý dữ liệu – Với các hệ thống có thống kê dữ liệu hoặc báo cáo: cần kiểm thử đầy đủ tất cả các chỉ số, công thức tính, logic tổng hợp dữ liệu – Tạo test data đa dạng, bao gồm dữ liệu hợp lệ (valid), dữ liệu sai (invalid) và dữ liệu biên (edge cases) – Kiểm tra logic của từng test case: các bước kiểm thử có hợp lý, đúng trình tự và phản ánh đúng nghiệp vụ. – Đảm bảo Test Objective cần rõ ràng, đúng trọng tâm. – Kết quả mong đợi (Expected Result) phải rõ ràng, kiểm chứng được. – Xác định và đánh dấu các test case bị thiếu, trùng hoặc chưa tối ưu. |
Format (Định dạng) | Chỉ định định dạng mong muốn đầu ra của Chat GPT | – Trình bày dưới dạng bảng tiêu chuẩn gồm các cột: ID, … – Trình bày dưới dạng câu hỏi có đánh STT,… |
2/ Cách áp dụng công thức RACEF
Dưới đây là cách sử dụng công thức RACEF kèm theo ví dụ cụ thể cho một số nghiệp vụ nhằm tối ưu hóa quy trình và công việc kiểm thử phần mềm.
Yêu cầu 1: Phân tích nghiệp vụ và xây dựng bộ câu hỏi nhằm làm rõ logic trong các buổi refinement.
- R (Vai trò): Hãy đóng vai là một chuyên gia kiểm thử phần mềm
- A (Hành động): Phân tích kỹ lưỡng tài liệu nghiệp vụ được cung cấp để xây dựng bộ câu hỏi đầy đủ, logic
- C (Bối cảnh): Trong buổi refinement làm rõ yêu cầu từ PO/ BA, tài liệu nghiệp vụ (.pdf hoặc mô tả chi tiết về yêu cầu, luồng xử lý, rule logic)
- E (Kỳ vọng): Câu hỏi rõ ràng, ngắn gọn, dễ hiểu, Làm rõ mục tiêu và phạm vi tính năng, Rà soát toàn bộ tài liệu để phát hiện các điểm mâu thuẫn, chưa rõ ràng hoặc có khả năng hiểu sai, kèm theo vị trí cụ thể nếu có, v.v…
- F (Định dạng): Trình bày bộ câu hỏi dưới dạng danh sách có đánh số
→ Câu lệnh hoàn chỉnh:
Hãy đóng vai là một chuyên gia kiểm thử phần mềm. Nhiệm vụ của bạn là phân tích kỹ lưỡng tài liệu nghiệp vụ được cung cấp bên dưới {đính kèm} để xây dựng bộ câu hỏi đầy đủ, logic, dễ hiểu, nhằm làm sáng tỏ tất cả các khía cạnh nghiệp vụ trong buổi họp refinement.
Yêu cầu khi xây dựng bộ câu hỏi
- Câu hỏi rõ ràng, ngắn gọn, dễ hiểu, không gây hiểu nhầm.
- Làm rõ mục tiêu và phạm vi tính năng: hỏi chi tiết về các chức năng, giới hạn và mục tiêu sử dụng.
- Phân loại câu hỏi theo luồng chính, luồng phụ và các trường hợp ngoại lệ.
- Hỏi về các điều kiện thực thi, logic nghiệp vụ và quy tắc xử lý cụ thể.
- Xác nhận yêu cầu về dữ liệu đầu vào, dữ liệu đầu ra và trạng thái hệ thống liên quan.
- Làm rõ cách tích hợp hoặc ảnh hưởng của tính năng đến các hệ thống khác (nếu có).
- Đề xuất các câu hỏi kiểm thử tập trung vào điều kiện biên, dữ liệu giới hạn và các hành vi bất thường.
- Phân loại hoặc đánh dấu mức độ ưu tiên câu hỏi theo mức quan trọng.
- Rà soát toàn bộ tài liệu để phát hiện các điểm mâu thuẫn, chưa rõ ràng hoặc có khả năng hiểu sai, kèm theo vị trí cụ thể nếu có.
- Đưa ra hướng xử lý hoặc câu hỏi để làm rõ khi tài liệu thiếu hoặc không rõ thông tin.
Trình bày bộ câu hỏi dưới dạng danh sách có đánh số, mỗi câu hỏi tập trung vào một vấn đề nghiệp vụ cụ thể.
Bây giờ, chúng ta sẽ áp dụng câu prompt đã xây dựng vào dự án thực tế tại Ecomobi. Giả sử bạn được giao task tạo công cụ tự động ghim sản phẩm trong phiên livestream để hỗ trợ vận hành hiệu quả hơn.
Và đây là mô tả yêu cầu mà bạn nhận được
Nhiệm vụ tiếp theo của bạn là nhập câu prompt hoàn chỉnh cùng với phần mô tả yêu cầu vào Chat GPT, và cùng theo dõi kết quả thu được.
Thật bất ngờ với những gì Chat GPT trả về, đúng không nào? Lúc này, bạn chỉ cần rà soát lại nội dung, tự trả lời các câu hỏi mà Chat GPT đã gợi ý, đồng thời ghi chú lại những điểm còn chưa rõ để làm rõ thêm với BA trong buổi refinement.
Mình tin chắc rằng, sau bước này, bạn sẽ có được một cái nhìn rõ ràng, chi tiết và tự tin hơn khi tiếp cận task được giao.
Yêu cầu 2: Viết test case dựa vào tài liệu mô tả
- R (Vai trò): Bạn là trưởng nhóm kiểm thử trong một dự án phát triển phần mềm Agile
- A (Hành động): Phân tích kỹ lưỡng tài liệu đầu vào được cung cấp bên dưới để xây dựng bộ test case đầy đủ
- C (Bối cảnh): Sau buổi refinement, đã hiểu rõ yêu cầu, tài liệu nghiệp vụ (.pdf hoặc mô tả chi tiết về yêu cầu, luồng xử lý, rule logic) mô tả chức năng cần test
- E (Kỳ vọng): Ngắn gọn, súc tích nhưng đầy đủ nội dung trong tài liệu, Bao phủ đầy đủ các tính năng, điều kiện lọc, hành vi giao diện và logic xử lý dữ liệu, Tạo test data đa dạng, bao gồm dữ liệu hợp lệ (valid), dữ liệu sai (invalid) và dữ liệu biên (edge cases) để kiểm thử đầy đủ, v..v…
- F (Định dạng): Trình bày dưới dạng bảng bao gồm các cột: STT, Precondition, Test Objective, Test Steps, Expected Result, Priority, Test Data.
→ Câu lệnh hoàn chỉnh:
Bạn là trưởng nhóm kiểm thử trong một dự án phát triển phần mềm Agile. Sau khi tham gia buổi refinement và nắm rõ yêu cầu từ tài liệu mô tả nghiệp vụ. Nhiệm vụ của bạn là xây dựng bộ test case đầy đủ, logic, dễ hiểu, đảm bảo bao phủ toàn bộ các yêu cầu của tài liệu {đính kèm}.
Yêu cầu khi viết test case:
- Ngắn gọn, súc tích nhưng đầy đủ nội dung trong tài liệu
- Ngôn ngữ rõ ràng, dễ hiểu
- Sắp xếp logic, ưu tiên theo các luồng: chính – phụ – ngoại lệ
- Ưu tiên viết test case cho luồng chính trước, sau đó là luồng phụ và các trường hợp biên
- Phân loại mức độ ưu tiên để tập trung kiểm thử trọng tâm (High / Medium / Low)
- Phân tách test case rõ ràng theo từng nhánh xử lý khi tác vụ có nhiều luồng
- Bao phủ đầy đủ các tính năng, điều kiện lọc, hành vi giao diện và logic xử lý dữ liệu
- Tạo test data đa dạng, bao gồm dữ liệu hợp lệ (valid), dữ liệu sai (invalid) và dữ liệu biên (edge cases) để kiểm thử đầy đủ
- Các loại kiểm thử cần lưu ý khi xây dựng test case: Functional testing (kiểm thử chức năng), Non-functional testing như hiệu năng (performance), bảo mật (security), tương thích (compatibility), usability…
- Nếu có nghi vấn hoặc thiếu thông tin, cần liệt kê các câu hỏi để làm rõ
Trình bày dưới dạng bảng test case tiêu chuẩn bao gồm các cột:
- STT: Số thứ tự tăng dần
- Precondition: Điều kiện tiên quyết để bắt đầu test (nếu có)
- Test Objective: Mục đích kiểm thử (kiểm tra logic gì, trường hợp nào)
- Test Steps: Các bước thực hiện chi tiết
- Expected Result: Kết quả mong đợi
- Priority: Mức độ ưu tiên (High / Medium / Low)
- Test Data: Dữ liệu kiểm thử cụ thể (nếu có)
Vẫn tiếp tục với mô tả yêu cầu ở trên nhé. Bây giờ chúng ta sẽ nhập câu prompt hoàn chỉnh ở trên cùng với mô tả yêu cầu vào Chat GPT, và chờ xem hệ thống sẽ gợi ý bộ test case như thế nào.
Bạn có thấy kết quả Chat GPT trả về rất tuyệt vời không? Lúc này, bạn hãy rà soát lại bộ test case được tạo ra, điều chỉnh câu từ cho phù hợp với chuẩn của team, đồng thời bổ sung thêm các trường hợp còn thiếu (nếu có). Đừng quên đối chiếu lại với logic nghiệp vụ và ghi chú lại những điểm cần trao đổi với BA. Mình tin rằng, với sự hỗ trợ từ AI và tư duy phân tích của bạn, việc viết test case sẽ trở nên nhanh chóng, bao phủ đầy đủ và đảm bảo chất lượng cao.
Yêu cầu 3: Review test case
- R (Vai trò): Bạn là một senior tester
- A (Hành động): Review bộ test case được cung cấp dựa trên tài liệu nghiệp vụ đã được phân tích
- C (Bối cảnh): Thành viên trong team đã hoàn thành file test case (được trình bày dưới dạng bảng) dựa trên tài liệu nghiệp vụ (.pdf hoặc mô tả chi tiết về yêu cầu, luồng xử lý, rule logic)
- E (Kỳ vọng): Đảm bảo test case bao phủ đầy đủ các yêu cầu được mô tả trong tài liệu (bao gồm cả chức năng chính, phụ và các trường hợp ngoại lệ), Kiểm tra logic của từng test case: các bước kiểm thử có hợp lý, đúng trình tự và phản ánh đúng nghiệp vụ, Đảm bảo test case đa dạng: dữ liệu đúng (valid), sai (invalid) và biên (edge case), v..v…
- F (Định dạng): Trình bày bộ câu hỏi dưới dạng danh sách có đánh số
→ Câu lệnh hoàn chỉnh:
Bạn là một senior tester. Nhiệm vụ của bạn là review bộ test case của thành viên trong team được cung cấp bên dưới {đính kèm}, dựa trên tài liệu nghiệp vụ đã được phân tích {đính kèm}, nhằm đảm bảo test case đầy đủ, logic, rõ ràng và không mâu thuẫn với yêu cầu.
Yêu cầu khi review test case:
- Đảm bảo test case bao phủ đầy đủ các yêu cầu được mô tả trong tài liệu (bao gồm cả chức năng chính, phụ và các trường hợp ngoại lệ).
- Kiểm tra logic của từng test case: các bước kiểm thử có hợp lý, đúng trình tự và phản ánh đúng nghiệp vụ.
- Đảm bảo Test Objective cần rõ ràng, đúng trọng tâm.
- Kết quả mong đợi (Expected Result) phải rõ ràng, kiểm chứng được.
- Ngôn ngữ trình bày ngắn gọn, dễ hiểu, từ ngữ chuyên môn chính xác.
- Kiểm tra việc phân loại mức độ ưu tiên của test case (High / Medium / Low) hợp lý.
- Đảm bảo test case đa dạng: dữ liệu đúng (valid), sai (invalid) và biên (edge case).
- Xác định và đánh dấu các test case bị thiếu, trùng hoặc chưa tối ưu.
- Nếu phát hiện vấn đề hoặc điểm chưa rõ, cần đề xuất hướng xử lý hoặc câu hỏi làm rõ.
Trình bày bộ câu hỏi dưới dạng danh sách có đánh số:
- Góp ý chi tiết cho từng test case cần sửa, thiếu hoặc chưa rõ.
- Gợi ý cải tiến về logic hoặc cách trình bày.
- Đề xuất test case bổ sung nếu cần thiết để bao phủ nghiệp vụ..
Trong quá trình đảm bảo chất lượng phần mềm, việc review test case đóng vai trò quan trọng giúp phát hiện sớm các thiếu sót hoặc sai sót. Để hỗ trợ bước này, bạn sẽ sử dụng câu prompt vừa được xây dựng, kết hợp với hai nguồn thông tin quan trọng là tài liệu mô tả yêu cầu và bộ test case.
Bằng cách upload cùng lúc hai file này vào Chat GPT cùng câu prompt, chúng ta sẽ nhận được những phản hồi, phân tích và gợi ý chi tiết để rà soát lại bộ test case hiện tại. Chat GPT sẽ giúp phát hiện các trường hợp chưa bao phủ, logic chưa hợp lý hoặc những điểm cần làm rõ thêm với BA.
Qua những phân tích chi tiết và ví dụ minh họa thực tế, có thể thấy công thức RACEF không chỉ là một cách viết prompt có cấu trúc, mà còn là cầu nối giúp bạn giao tiếp hiệu quả hơn với AI – đặc biệt trong những nghiệp vụ đòi hỏi logic rõ ràng và độ chính xác cao như kiểm thử phần mềm.
Việc áp dụng RACEF vào các tình huống như viết test case, phân tích nghiệp vụ, hỗ trợ báo cáo test hay chuẩn bị câu hỏi cho buổi refinement giúp tiết kiệm đáng kể thời gian, tăng chất lượng đầu ra và giảm tải công việc lặp lại cho tester. Quan trọng hơn, nó mở ra một hướng tiếp cận mới để AI đồng hành cùng bạn trong từng bước kiểm thử.