Bí Mật Cuối Cùng: Biến AI Kiểm Thử Thành "Siêu Đặc Vụ" Với UI-Tars và RAG!
Lê Lân
0
Ứng Dụng Thực Tiễn của AI Trong Tự Động Hóa Kiểm Thử: Tích Hợp UI-Tars với RAG Cho Hệ Thống Phức Tạp
Mở Đầu
Trong bối cảnh tự động hóa kiểm thử ngày càng phát triển, việc ứng dụng trí tuệ nhân tạo (AI) đã mở ra nhiều tiềm năng cải tiến hiệu suất và độ chính xác. Đặc biệt, sự kết hợp giữa các mô hình AI tiên tiến như UI-Tars và hệ thống RAG (Retrieval-Augmented Generation) đang tạo nên bước đột phá trong kiểm thử tự động.
Bài viết này là phần cuối cùng trong chuỗi bài về áp dụng AI vào tự động hóa kiểm thử. Tại đây, chúng ta sẽ cùng khám phá ví dụ thực tiễn về cách tích hợp hệ thống system-reasoning 2 của UI-Tars với RAG được xây dựng cục bộ bằng Ollama và LangChain. Mục tiêu là thiết lập một hệ thống hiểu và thực thi các chỉ dẫn người dùng mức cao dựa trên ảnh chụp màn hình trình duyệt ở từng bước.
Nội dung hướng đến những người quan tâm ứng dụng AI trong kiểm thử phần mềm, đặc biệt là các kỹ sư QA và nhà phát triển muốn tăng cường tự động hóa và giảm thiểu sai sót trong quy trình kiểm thử.
1. Demo Toàn Bộ Quy Trình
1.1 Ý tưởng tổng quan
Demo sử dụng nền tảng Miro làm ví dụ minh họa cho khả năng xử lý các hệ thống phức tạp không mang tính B2C. AI Agent nhận một câu lệnh duy nhất từ người dùng:
"Tạo một bảng mới với 2 sticky notes và nối 2 sticky notes này bằng một đường thẳng."
Đây là một nhiệm vụ phức tạp đòi hỏi AI phải lập kế hoạch và thực thi nhiều hành động xen kẽ dựa trên nhận dạng hình ảnh trình duyệt.
1.2 Điều kiện và lưu ý quan trọng
⚠️ Lưu ý quan trọng: Demo sử dụng tài khoản Free Plan của Miro, đã xác nhận hoạt động ổn định dưới 10 lần chạy thử. Tài khoản sử dụng là cá nhân và không khuyến khích áp dụng cho sản phẩm thương mại nếu không tuân thủ chính sách của Miro.
1.3 Các bước chính trong demo
Bước
Mô tả
1
Xác thực người dùng, lưu trạng thái xác thực vào file cục bộ bằng Playwright.
2
Truyền duy nhất một chỉ lệnh mức cao cho hàm
ai()
, cho phép AI tự lập kế hoạch và thực hiện.
3
Dùng hàm
aiAssert()
để kiểm tra trạng thái cuối cùng của hệ thống sau khi thực hiện.
2. Cách Thức Triển Khai Hệ Thống
2.1 Triển khai UI-Tars 7B-SFT
Triển khai mô hình UI-Tars 7B-SFT trên Hugging Face hoặc nền tảng có GPU hỗ trợ như L40S 1 x GPU theo hướng dẫn chính thống từ Notion Guide.
Các biến trên giúp chuyển đổi Midscene sử dụng mô hình UI-Tars, bật tính năng gỡ lỗi và gửi trace dữ liệu sang Langsmith.
2.3 Xây dựng RAG cục bộ với Ollama và LangChain
Tạo môi trường Ollama + LangChain cục bộ, sử dụng bộ nhúng nomic-embed-text cho việc lập chỉ mục embeddings.
Tích hợp RAG chứa tài liệu cấu trúc chặt chẽ để hỗ trợ reasoning.
3. Kết Quả Và Nhận Xét
3.1 Khả năng System-2 Reasoning
Theo nghiên cứu System-2 reasoning (arXiv 2501.12326), system-1 thường trực tiếp phản hồi hành động, trong khi system-2 đòi hỏi quá trình suy luận chi tiết trước hành động.
Trong chuỗi bài, UI-Tars đã chứng minh vượt trội hơn GPT-4o về khả năng sử dụng chain-of-thought reasoning thông qua kết hợp RAG với reasoning tự nhiên.
Điểm quan trọng: UI-Tars đạt hiệu quả reasoning cao hơn khi có dữ liệu RAG cấu trúc tốt hoặc khi được fine-tune với dữ liệu thực tế của sản phẩm.
3.2 Các sản phẩm và ngữ cảnh áp dụng
Có thể hỗ trợ tốt cho tự động kiểm thử hồi quy (regression E2E) cho các website B2C mà không cần xây dựng RAG riêng.
Phù hợp với kiểm thử khám phá tự động (exploratory testing) khi kết hợp với RAG hoặc fine-tuning UI-Tars.
Thay thế phần kiểm tra giao diện người dùng (GUI) và nhận dạng ký tự quang học (OCR) cho các đoạn kiểm tra chụp màn hình trong Playwright/Puppeteer (nếu mục đích không phải so sánh kiểu dáng UI).
3.3 Các vấn đề và rủi ro tiềm ẩn
Khó khăn trong tin cậy kết quả kiểm thử khi AI có thể ra quyết định sai, chuyển từ trạng thái "kiểm thử lỗi do kịch bản" thành "test AI không đáng tin cậy".
HIện tại, UI-Tars + RAG chạy ổn định với phiên bản 7B-SFT, nhưng phiên bản 7B-DPO còn nhiều hạn chế và ít ổn định.
Tốc độ và độ chính xác khi chạy các bài kiểm tra phức tạp, ví dụ SaaS, còn bị ảnh hưởng do sử dụng quá nhiều reasoning kiểu system-2, có thể dẫn đến nhảy bộ nhớ cache sai.
Thách thức trong tích hợp vào chu trình phát triển phần mềm (SDLC), đặc biệt về khi nào và như thế nào để AI thực hiện kiểm thử tự động tin cậy.
4. Tổng Kết và Hướng Đi Tương Lai
Ứng dụng UI-Tars kết hợp với RAG cục bộ đã mở ra khả năng tạo ra những AI agent kiểm thử với cả khả năng suy luận logic sâu sắc (system-2 reasoning) và tự động thực thi lệnh người dùng phức tạp qua giao diện Web. Điều này thể hiện tiềm năng nâng cao chất lượng và tự động hóa trong QA.
Tuy nhiên, để áp dụng rộng rãi trong môi trường sản xuất cần đảm bảo các vấn đề về độ tin cậy, tính ổn định và hiệu suất. Ngoài ra, việc xây dựng dữ liệu RAG chuyên biệt cho từng sản phẩm hoặc fine-tuning UI-Tars với dữ liệu doanh nghiệp là những bước cần thiết để tăng khả năng chính xác.
Bạn đọc đam mê phát triển tự động hóa kiểm thử có thể bắt đầu thử nghiệm với các công cụ như Midscene, Ollama, LangChain và UI-Tars để tạo ra những quy trình kiểm thử AI linh hoạt, hiện đại, tiết kiệm thời gian và nguồn lực.