·

Tiếng Việt: Current state of AI in software testing

Current state of AI in software testing

Nếu bạn theo dõi các hội thảo QA hai năm gần đây, sẽ thấy một nghịch lý: slide nào cũng nói AI đang "cách mạng hóa" testing, nhưng khi hỏi thẳng "team bạn đang dùng AI để làm gì, cụ thể?" — phần lớn câu trả lời chỉ dừng ở mức "dùng ChatGPT viết test case cho nhanh". Đó là khoảng cách giữa hype và thực tế mà một QA Lead cần nhìn rõ trước khi quyết định đầu tư thời gian, budget, và uy tín cá nhân vào việc "agentic hóa" quy trình test của team.

Bài này sẽ đi qua ba câu hỏi cốt lõi: AI đang được dùng ở đâu trong vòng đời testing hôm nay, các team đang ở mức độ trưởng thành (maturity) nào trên thang đo từ thủ công đến tự động hoàn toàn, giới hạn kỹ thuật nào đang chặn đà tiến, và xu hướng nào QA Engineer nên theo dõi trong 12 tháng tới. Đây không phải bài lý thuyết — mọi ví dụ dưới đây đều là những việc một QA Engineer có thể áp dụng ngay trong sprint tuần sau.

AI Đang Được Ứng Dụng Thế Nào Trong Software Testing Hiện Nay?

Trước khi nói về agent tự hành, cần hiểu rõ 6 nhóm use case mà AI (ở dạng trợ lý — assistant, hoặc công cụ tích hợp sẵn) đang thực sự tạo ra giá trị đo lường được trong các team QA. Đây không phải là danh sách "có thể làm trong tương lai" — đây là những gì đang chạy trong production ở nhiều công ty tại Việt Nam và trên thế giới.

1. Sinh Test Case (Test Case Generation)

Đây là use case phổ biến nhất và cũng là use case bị đánh giá thấp nhất về độ khó thực sự. Ý tưởng nghe đơn giản: đưa user story hoặc acceptance criteria vào, AI xuất ra bộ test case. Nhưng chất lượng output phụ thuộc gần như hoàn toàn vào chất lượng input và cách bạn ràng buộc (constrain) AI.

Trong thực tế, một QA Engineer giỏi không hỏi AI "viết test case cho tính năng login" một cách trần trụi — họ cung cấp acceptance criteria đầy đủ, business rule, edge case đã biết từ trước, và định dạng output mong muốn (Gherkin, bảng test case theo template công ty, hay checklist).

You are a senior QA engineer. Generate test cases for the following user story.

User Story: As a registered user, I want to reset my password via email so that I can regain access to my account if I forget my credentials.

Acceptance Criteria:
- User enters email on "Forgot Password" screen
- System sends a reset link valid for 15 minutes
- Link can only be used once
- New password must meet the same complexity rules as registration (min 8 chars, 1 uppercase, 1 number)
- User is logged out of all other active sessions after password reset

Constraints:
- Output as a table with columns: ID, Title, Preconditions, Steps, Expected Result, Priority (High/Medium/Low)
- Include positive, negative, boundary, and security-related test cases
- Flag any assumption you had to make due to missing information in the acceptance criteria

Điểm mấu chốt nằm ở dòng cuối: yêu cầu AI flag assumption. Đây là kỹ thuật để lộ ra những chỗ acceptance criteria còn mơ hồ — ví dụ AI có thể hỏi ngược "link reset có work nếu user đổi email sau khi gửi link không?" — một câu hỏi mà chính BA/PO có thể chưa trả lời. AI ở use case này đóng vai trò tăng tốc phần "liệt kê", còn việc thẩm định business logic, độ phủ rủi ro, và loại bỏ test case vô nghĩa vẫn là việc của con người.

2. Test Script Maintenance và Self-Healing

Đây là mảng có ROI (return on investment) rõ ràng nhất với các team đã có automation suite lớn. Vấn đề kinh điển của automation: UI đổi selector, class đổi tên, id bị generate động — và cả suite bỗng đỏ hàng loạt dù app không có bug thật.

Các công cụ self-healing (tự phục hồi) — như Testim, mabl, Healenium, hay tính năng AI-powered locator trong Playwright/Katalon — dùng nhiều tín hiệu (text nội dung, vị trí tương đối trong DOM, thuộc tính ARIA, ảnh chụp trước đó) để suy luận "element này có khả năng cao chính là nút Submit cũ, dù id đã đổi từ btn-submit-v1 thành btn-submit-v2-final". Khi phát hiện độ tương đồng cao, framework tự cập nhật locator và tiếp tục chạy, đồng thời log lại thay đổi để reviewer duyệt sau.

Analyze the following failing Playwright test and the current DOM snapshot of the page. The test was passing last week; the selector may have changed due to a recent UI refactor.

Failing test code:
[paste test code with selector: page.locator('#btn-submit-v1')]

Current DOM snapshot around the submit area:
[paste relevant HTML]

Task:
1. Identify the most likely replacement selector based on text, role, and structural similarity.
2. Explain your confidence level (high/medium/low) and why.
3. Propose the updated locator using a resilient strategy (prefer role/text-based over CSS id where possible).
4. Do NOT change any assertion logic — only propose selector fixes.

Lưu ý quan trọng: self-healing chữa triệu chứng (selector fragility — độ dễ vỡ của selector), không chữa nguyên nhân. Nếu team viết locator dựa vào class CSS dễ đổi thay vì data-testid ổn định, self-healing chỉ là băng cứu thương che đi một thói quen viết test tệ. Dùng self-healing đúng cách là dùng nó làm lưới an toàn tạm thời, đồng thời vẫn refactor locator về chuẩn bền vững.

3. Kiểm thử hồi quy giao diện (Visual Regression Testing)

Visual regression truyền thống (Percy, Applitools Eyes, Chromatic) so sánh pixel-by-pixel giữa baseline và bản mới, rồi báo "khác biệt" cho con người duyệt — vấn đề là nó quá nhạy: một pixel anti-aliasing khác, font-rendering khác giữa hai lần chạy CI cũng bị flag là "regression".

AI-powered visual testing (ví dụ Applitools Ultrafast Grid với Visual AI) thay đổi cách so sánh: nó hiểu ngữ nghĩa của layout thay vì so pixel thô — phân biệt được "đây là khác biệt về nội dung/layout thực sự" với "đây chỉ là do render engine khác 1-2px do font hinting". Điều này giảm đáng kể false positive khiến QA phải review hàng trăm ảnh mỗi build.

Ví dụ thực tế: một team frontend chạy visual test trên 40 trang, mỗi build đổi library React version patch nhỏ khiến toàn bộ 40 ảnh baseline bị flag khác biệt — dù giao diện nhìn y hệt bằng mắt người. AI visual diff nhận diện đây là "layout shift dưới ngưỡng nhận thức" (sub-perceptual shift) và tự động approve, chỉ đẩy lên cho người review 2 trang có thay đổi màu nút CTA thực sự.

4. Log Analysis và Failure Triage

Đây là use case mang lại giá trị tức thì rõ nhất cho QA làm việc với CI/CD pipeline lớn: khi 200 test fail trong một lần chạy nightly, việc đầu tiên không phải là "fix", mà là "phân loại" (triage) — bao nhiêu case là do 1 nguyên nhân gốc chung (ví dụ: server staging down), bao nhiêu là flaky test đã biết, bao nhiêu là bug thật cần escalate ngay.

You are triaging a batch of 180 failed CI test logs from last night's regression run. I'm pasting a condensed summary (test name, error message, stack trace snippet) for each failure.

[paste condensed failure list]

Task:
1. Group the failures into clusters by likely root cause (e.g., "network timeout to service X", "assertion mismatch on price formatting", "test data conflict").
2. For each cluster, estimate the number of tests affected and give a confidence score (1-5) that they share the same root cause.
3. Flag any cluster that looks like a genuine new regression versus known flaky infrastructure issues (cross-reference with this list of known flaky test IDs: [paste list]).
4. Output as a prioritized table: Cluster, Affected Tests Count, Likely Root Cause, Confidence, Recommended Action (investigate now / monitor / known flaky - ignore).

Trong thực tế, AI làm việc này tốt nhờ khả năng nhận diện pattern trong text lỗi mà con người phải đọc từng dòng mới thấy — ví dụ 60 test khác nhau đều fail vì cùng một ConnectionTimeoutException tới cùng một service, dù tên test hoàn toàn không liên quan nhau. Việc AI làm trong 2 phút, con người scroll log cả buổi mới nhận ra.

5. Coverage Analysis và Gap Detection

AI có thể đọc test suite hiện tại (tên test, assertion, tag) song song với requirement document hoặc code diff, rồi chỉ ra "vùng nào của tính năng chưa có test nào chạm tới". Đây khác với code coverage truyền thống (line/branch coverage) — nó nhắm vào coverage theo business scenario, tức là những nhánh logic nghiệp vụ, không chỉ nhánh code.

Ví dụ: một tính năng "áp dụng mã giảm giá" có 15 unit test, coverage tool báo 92% line coverage — nhìn có vẻ ổn. Nhưng khi đưa cả 15 test case và business rule (mã giảm giá không cộng dồn, có ngày hết hạn, có giới hạn theo user tier) vào AI phân tích, nó chỉ ra: không có test nào kiểm tra trường hợp áp 2 mã cùng lúc, không có test nào kiểm tra mã hết hạn đúng vào thời điểm submit order (race condition theo thời gian). 92% line coverage nhưng gap nghiệp vụ vẫn còn nguyên.

6. Hỗ trợ kiểm thử thăm dò (Exploratory Testing)

Đây là mảng còn non nhất về mặt công cụ hóa nhưng phát triển nhanh: AI đóng vai "cặp đôi" (pairing partner) trong session exploratory testing — gợi ý hướng khám phá tiếp theo, đề xuất charter (mục tiêu phiên test), hoặc — với các agent có khả năng vision/computer-use — tự điều khiển trình duyệt để dò các luồng bất thường mà không cần script định trước.

I'm about to run a 60-minute exploratory testing session on the new "bulk export" feature in our admin dashboard. Here is the feature description and the areas I've already covered in the last session: [paste notes].

Act as my exploratory testing pairing partner:
1. Suggest 5 testing charters I haven't covered yet, prioritized by risk (e.g., large dataset performance, concurrent export requests, permission edge cases).
2. For each charter, suggest 2-3 specific "what if" probes I should try.
3. Ask me one clarifying question about the feature that would change your risk prioritization.

Điểm khác biệt so với 5 use case trên: exploratory testing đòi hỏi trực giác và khả năng "ngạc nhiên" trước hành vi lạ của hệ thống — thứ AI hiện tại vẫn yếu vì nó không thực sự "thấy" ứng dụng chạy như con người trải nghiệm, trừ khi được trang bị khả năng vision/screenshot. Đây là lý do use case này vẫn đứng ở vị trí "hỗ trợ" chứ chưa "thay thế".

Mẹo: Đừng đánh giá một công cụ AI-testing chỉ qua demo trên tính năng đơn giản (login, form). Hãy tự test nó trên tính năng phức tạp nhất, nhiều business rule nhất của sản phẩm bạn — đó mới là nơi lộ ra giới hạn thật, và cũng là nơi bạn cần quyết định có đầu tư công cụ đó hay không.

Thang Đo Mức Độ Trưởng Thành Của AI Testing — Từ Hỗ Trợ Đến Tự Hành

Không có team nào "nhảy cóc" từ thủ công lên tự động hoàn toàn. Có một thang đo 5 mức khá rõ ràng để bạn tự chấm điểm team mình đang ở đâu — và quan trọng hơn, để nhận ra khi nào một bước nhảy lên mức tiếp theo là hợp lý về ROI, và khi nào chỉ là chạy theo trend.

Level 0: Manual-only (Hoàn toàn thủ công)

Không dùng AI ở bất kỳ khâu nào trong quy trình test — từ viết test case, viết script, đến phân tích log. Mọi quyết định, mọi dòng code test đều do con người viết ra từ đầu. Ví dụ: một team viết test case trong Excel, tự tay viết từng dòng Selenium, tự đọc log Jenkins bằng mắt.

Ở Việt Nam, mức này vẫn tồn tại nhiều ở các công ty outsourcing nhỏ, dự án legacy không có budget cải tiến tool, hoặc các đội đang trong giai đoạn "làm cho xong" hơn là đầu tư dài hạn.

Cấp 1: AI hỗ trợ (AI-Assisted / Copilot mode)

QA Engineer chủ động mở ChatGPT/Claude/Copilot trong tab riêng, copy-paste nội dung qua lại để xin gợi ý — không có tích hợp vào workflow, không có context tự động. Ví dụ: paste một đoạn requirement vào ChatGPT, xin vài test case, rồi tự tay copy vào Jira hoặc TestRail.

Đây là mức phổ biến nhất hiện nay ở đa số team QA tại Việt Nam. Giá trị thực có nhưng bị giới hạn bởi việc con người vẫn phải làm "cầu nối" thủ công giữa AI và công cụ — mất thời gian copy-paste, dễ quên cập nhật, và AI không có ngữ cảnh (context) về codebase hay lịch sử dự án ngoài những gì được dán vào.

Cấp 2: AI tăng cường (AI-Augmented / dùng có cấu trúc)

AI được tích hợp có cấu trúc vào công cụ QA sẵn có — plugin AI trong TestRail/Xray, AI code review gợi ý test case ngay trong pull request, AI-powered locator trong framework automation. Có prompt template được chuẩn hóa cho team dùng chung, có review process rõ ràng cho output AI.

Ví dụ: team dùng một prompt template cố định (như ví dụ Test Case Generation ở trên) được lưu trong repo, mọi thành viên dùng chung để đảm bảo output đồng nhất, và có bước review bắt buộc trước khi merge test case vào suite chính thức.

Cấp 3: AI dẫn dắt (AI-Driven / workflow có agent hỗ trợ)

Đây là mức bắt đầu có agent thực sự — không chỉ trả lời một câu hỏi, mà tự thực hiện một chuỗi hành động: đọc code diff, tự sinh test, tự chạy test, tự báo cáo kết quả, có thể tự sửa selector lỗi — với một vài checkpoint con người can thiệp. Ví dụ: một agent trong CI pipeline tự động đọc PR, sinh thêm test case cho phần code mới, chạy test, và chỉ tạo comment xin review nếu confidence thấp.

Đây là mức mà "agentic QA" — chủ đề chính của khóa học này — thực sự bắt đầu có ý nghĩa, vì có sự tự chủ (autonomy) nhất định trong việc ra quyết định của AI, không chỉ là trả lời theo yêu cầu.

Cấp 4: QA tự chủ (Autonomous QA / con người chỉ giám sát)

AI tự vận hành toàn bộ vòng lặp test — từ phân tích requirement, sinh test, chạy test, phân tích lỗi, báo cáo, đến đề xuất fix — con người chỉ đóng vai trò giám sát và phê duyệt ở các điểm rủi ro cao (ví dụ: trước khi release production). Đây là mức lý tưởng được các vendor marketing nhắm tới, nhưng thực tế production hoàn chỉnh ở mức này còn rất hiếm, đặc biệt với hệ thống có business logic phức tạp.

Các Team QA Trưởng Thành Nhất Hiện Nay Đang Ở Đâu?

Đánh giá thẳng: phần lớn team QA giỏi nhất mà tôi quan sát — cả ở Việt Nam và các công ty công nghệ lớn toàn cầu — đang dao động ở Level 2 đến đầu Level 3. Rất ít team đạt Level 3 ổn định trên toàn bộ suite, và Level 4 gần như chỉ tồn tại ở phạm vi hẹp (ví dụ: chỉ tự động hoàn toàn cho một loại test cụ thể như visual regression trên trang tĩnh, không phải toàn bộ vòng đời QA).

Lý do team không nhảy nhanh lên Level 3-4 không phải vì thiếu công cụ, mà vì thiếu: (1) context engineering đủ tốt để AI hiểu đúng business rule (chủ đề Module 2 của khóa này), (2) niềm tin đã được kiểm chứng — tức là track record đủ dài để business tin tưởng giao quyền quyết định cho AI, và (3) quy trình rollback/audit rõ ràng khi AI ra quyết định sai.

Mẹo: Khi tự chấm điểm team mình trên thang đo này, đừng chấm chung cho cả team — chấm riêng theo từng loại test (unit, API, E2E, exploratory, visual). Rất bình thường khi team ở Level 3 cho API test tự sinh nhưng vẫn Level 1 cho exploratory testing — đó là bức tranh thực tế hơn một con số trung bình vô nghĩa.

Giới Hạn Thực Tế Của AI Trong QA Hiện Nay Là Gì?

Phần này là phần quan trọng nhất để giữ bạn tỉnh táo giữa làn sóng marketing "AI sẽ thay thế QA". Mọi giới hạn dưới đây là giới hạn kỹ thuật có thật, không phải "AI còn non, chờ vài năm sẽ hết" — một số trong đó là giới hạn cấu trúc (structural), khó biến mất chỉ bằng việc chờ model tốt hơn.

1. Giới hạn Context Window

Mọi LLM có một giới hạn cứng về lượng text nó xử lý được trong một lần gọi — gọi là context window (đo bằng token, đơn vị nhỏ hơn từ, ví dụ 1 token ~ 0.75 từ tiếng Anh). Ngay cả với model có context window lớn (128K–1M token), một test suite thực tế của sản phẩm doanh nghiệp có thể có hàng chục nghìn test case, hàng trăm nghìn dòng log CI, hàng nghìn file source code liên quan.

Ví dụ cụ thể: một suite regression 3.000 test case, mỗi test case trung bình 150 token (tên, bước, expected result) đã chiếm 450.000 token — vượt quá context window của nhiều model phổ biến nếu bạn muốn AI "nhìn toàn cảnh" cả suite để tìm gap coverage hay test trùng lặp. Kết quả là AI buộc phải xử lý theo từng phần (chunk), và mất khả năng nhìn thấy mối liên hệ xuyên suite — ví dụ không phát hiện được rằng test case #45 và #2890 đang test đúng một luồng nghiệp vụ theo hai cách khác nhau.

2. Assertion bịa đặt (Hallucinated Assertions)

Hallucination (ảo giác — AI tự "bịa" ra thông tin nghe hợp lý nhưng sai sự thật) trong ngữ cảnh testing thể hiện rõ nhất ở assertion sai nhưng nhìn qua rất thuyết phục. Ví dụ cụ thể: bạn yêu cầu AI viết test cho API GET /users/{id}, AI generate assertion:

expect(response.status).toBe(200);
expect(response.body.user.role).toBe("admin");

Nghe rất "đúng chuẩn", có cấu trúc test tốt — nhưng AI không hề biết role mặc định thực tế của user test trong hệ thống của bạn là "member", không phải "admin". Nó suy luận "admin" từ pattern phổ biến trong dữ liệu huấn luyện (training data), không từ dữ liệu thật của bạn. Nếu QA không kiểm tra kỹ và merge thẳng, test này sẽ luôn fail (tốt, ít nhất báo lỗi rõ) — nhưng nguy hiểm hơn là trường hợp AI hallucinate một assertion lỏng hơn cần thiết (ví dụ chỉ check status code mà bỏ qua check business field quan trọng), khiến test pass giả tạo (false positive) và bug lọt qua.

3. Không hiểu business rule

AI không có khả năng "biết" luật nghiệp vụ ẩn (tacit knowledge) mà không được viết thành văn bản — những thứ chỉ tồn tại trong đầu BA, trong Slack thread cũ, hoặc trong kinh nghiệm "à cái này hồi trước từng bug vì...". Ví dụ: một sàn e-commerce có luật ngầm "không áp dụng free shipping cho đơn hàng có sản phẩm từ kho miền Trung do chi phí logistics", nhưng luật này không nằm trong bất kỳ document chính thức nào — AI không thể sinh ra test case cho case này, và một QA Engineer thiếu kinh nghiệm domain cũng dễ bỏ sót tương tự.

4. Dynamic UI và Selector Fragility

Dù self-healing đã cải thiện đáng kể (như đã nói ở phần 1.2), AI vẫn gặp khó với UI thay đổi cấu trúc mạnh — ví dụ ứng dụng dùng virtual scrolling (chỉ render phần tử đang hiển thị trên viewport), canvas-based rendering (game, dashboard vẽ bằng WebGL/Canvas không có DOM element thật), hoặc shadow DOM lồng nhiều cấp. Trong các trường hợp này, tín hiệu mà AI dựa vào để "đoán" element (text, cấu trúc DOM, vị trí) trở nên không đáng tin hoặc không tồn tại, khiến tỷ lệ self-healing sai tăng vọt.

5. Security và Privacy Constraints

Đưa dữ liệu test — đặc biệt log production, dữ liệu user thật, hay source code nội bộ — vào một LLM public API là rủi ro compliance thật, không phải lý thuyết. Nhiều tổ chức tài chính, y tế bị ràng buộc bởi quy định (GDPR, hoặc quy định nội bộ về dữ liệu khách hàng) cấm gửi dữ liệu nhạy cảm ra ngoài hạ tầng công ty. Ví dụ thực tế: một log lỗi production vô tình chứa số thẻ hoặc email khách hàng — nếu QA Engineer paste thẳng đoạn log đó vào ChatGPT public để xin AI phân tích root cause, đó đã là một sự cố rò rỉ dữ liệu cần báo cáo, dù vô ý.

6. Chi phí khi mở rộng quy mô (Cost at Scale)

Chi phí gọi API LLM tính theo token, và ở quy mô lớn con số này cộng dồn nhanh hơn nhiều người nghĩ. Thử làm phép tính đơn giản: một team chạy CI 50 lần/ngày, mỗi lần có trung bình 30 test fail cần AI triage, mỗi lần triage tốn khoảng 3.000 token input (log + context) và 500 token output. Với mức giá phổ biến hiện nay khoảng 3 USD/triệu token input và 15 USD/triệu token output cho model tầm trung-cao, một lần triage tốn khoảng (3.000 × 0.000003) + (500 × 0.000015) ≈ 0.0165 USD. Nhân với 50 lần/ngày × 22 ngày làm việc/tháng ≈ 18 USD/tháng — nghe có vẻ nhỏ. Nhưng nếu áp dụng AI cho toàn bộ test generation, self-healing, và exploratory assistance ở quy mô nhiều team, nhiều product, con số dễ leo lên hàng nghìn USD/tháng, và ban lãnh đạo sẽ hỏi ROI cụ thể — điều mà nhiều team chưa đo lường được vì chưa có baseline "chi phí thời gian con người" để so sánh.

Mẹo: Trước khi pitch một công cụ AI testing mới lên sếp, hãy tự tay thử "phá" nó bằng chính 3 giới hạn dễ kiểm chứng nhất: đưa vào một business rule ngầm không có document, đưa vào một test suite lớn để xem nó có bị cắt ngữ cảnh không, và thử một UI có canvas/shadow DOM. Kết quả từ 3 phép thử này giá trị hơn bất kỳ case study nào vendor đưa cho bạn.

Những Xu Hướng AI Testing Nào QA Engineer Cần Theo Dõi Trong 12 Tháng Tới?

1. Test Agent thuần thị giác (Vision-Native Test Agents)

Thế hệ agent mới không còn dựa hoàn toàn vào DOM/selector — chúng "nhìn" màn hình qua screenshot hoặc video giống con người, rồi tự quyết định click vào đâu dựa trên hiểu biết thị giác (visual understanding), giống cách một tester mới join dự án nhìn màn hình mà thao tác, không cần biết code phía sau. Điều này quan trọng với QA vì nó giải quyết đúng giới hạn ở phần trước (canvas, shadow DOM, ứng dụng không có DOM ổn định) — những nơi automation truyền thống dựa vào selector luôn yếu.

2. Pipeline QA đa agent (Multi-Agent QA Pipelines)

Thay vì một AI làm tất cả, xu hướng đang dịch sang mô hình nhiều agent chuyên biệt phối hợp: một agent chuyên sinh test case, một agent chuyên review chất lượng test case đó, một agent chuyên chạy và một agent chuyên phân tích kết quả — mỗi agent có "vai" riêng, kiểm tra chéo lẫn nhau (giống code review giữa người với người). Với QA, đây là hướng giải quyết trực tiếp vấn đề hallucination: agent review đóng vai "second pair of eyes" tự động trước khi test case tới tay con người.

3. Nền tảng quản lý test AI-native

Các công cụ quản lý test truyền thống (TestRail, Xray, Zephyr) đang được thiết kế lại từ đầu với AI là công dân hạng nhất (first-class citizen) — không phải plugin gắn thêm, mà AI tham gia vào toàn bộ luồng: gợi ý test case khi tạo requirement, tự động link test case với code coverage, tự phân loại mức độ rủi ro. QA Engineer cần theo dõi hướng này vì việc chọn công cụ quản lý test cho 3-5 năm tới sẽ ảnh hưởng trực tiếp đến việc team có tận dụng được AI hay không.

4. Test suite tự chữa lành (Self-Healing) trong CI/CD

Self-healing đang dịch chuyển từ "tính năng riêng lẻ trong 1 framework" thành "một layer tích hợp thẳng vào pipeline CI/CD" — tự động phát hiện, tự sửa, tự tạo PR đề xuất fix locator, và tự log lại để audit, không cần con người can thiệp thủ công ở bước đầu. Với QA, điều này nghĩa là công việc "bảo trì test" (test maintenance) — vốn chiếm 30-50% thời gian của nhiều automation engineer — sẽ giảm tỷ trọng đáng kể, dịch chuyển focus của QA sang thiết kế test chiến lược hơn là vá lỗi vụn vặt.

5. On-Premise và Private LLM Deployments

Để giải quyết đúng giới hạn Security/Privacy đã nói ở trên, ngày càng nhiều tổ chức (đặc biệt fintech, healthtech, hoặc công ty có yêu cầu bảo mật cao) chuyển sang chạy LLM mã nguồn mở (open-weight, như Llama, Qwen, DeepSeek) trên hạ tầng riêng, hoặc dùng private endpoint của cloud provider lớn với cam kết không dùng dữ liệu để train. QA Engineer nên theo dõi vì điều này mở khóa việc dùng AI cho dữ liệu nhạy cảm mà trước đây bị cấm hoàn toàn — nhưng đổi lại, chất lượng model on-premise hiện tại vẫn thường kém hơn model đóng (closed) tốt nhất, nên cần đánh giá trade-off giữa privacy và chất lượng output.

6. Kiểm thử accessibility có AI hỗ trợ

Accessibility testing (kiểm tra khả năng truy cập cho người khuyết tật — tuân thủ chuẩn WCAG) truyền thống đòi hỏi kiến thức chuyên sâu mà nhiều QA Engineer không có, và các tool tự động cũ (axe-core, Lighthouse) chỉ phát hiện được vi phạm có thể kiểm tra bằng luật cứng (ví dụ thiếu alt text). AI đang mở rộng khả năng này sang việc đánh giá ngữ nghĩa — ví dụ AI có thể đọc thứ tự tab, mô tả trải nghiệm dùng screen reader qua một luồng thực tế, và phát hiện những vấn đề "kỹ thuật thì đúng chuẩn nhưng trải nghiệm thực tế vẫn tệ" (ví dụ alt text tồn tại nhưng vô nghĩa như "image1.png"). Đây là mảng đáng theo dõi vì áp lực pháp lý về accessibility đang tăng ở nhiều thị trường xuất khẩu phần mềm.

Mẹo: Đừng chạy theo tất cả 6 xu hướng cùng lúc. Chọn đúng 1 xu hướng khớp với điểm đau lớn nhất của team hiện tại (ví dụ: nếu team đang tốn quá nhiều giờ vá selector, ưu tiên xu hướng #4 và #1 trước; nếu team bị chặn bởi chính sách bảo mật dữ liệu, ưu tiên #5) — đầu tư dàn trải vào xu hướng chưa cấp thiết là cách nhanh nhất để một sáng kiến AI thất bại trong mắt ban lãnh đạo.