Using AI for testing software for tester

khanhnn851 2 views 14 slides Oct 31, 2025
Slide 1
Slide 1 of 14
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14

About This Presentation

Ứng dụng AI cho kiểm thử phần mềm.


Slide Content

SửdụngAI hỗtrợ kiểmthử
phầnmềm
Email:[email protected]

Các vấnđềthườnggặp
•Tốnthờigian: Viết testcase, tạodata, test lặplai => Rấtlâu.
•Khôngbắtkịpthayđổi: Khi giao diệnthayđổi, cácphầnauto test
sẽphảithayđổi.
•Bỏsóttest case: Khóbao trùmcácTH phứctạpảnhhưởnglớn.
•Phântíchpháthiệnlỗi: Thường sẽlâudo cáclỗikhônggiốngnhau.
Cầncôngcụhỗtrợ choTester nhằmmụcđíchtăngtốccôngviệc,
nângcaochấtlượngsản phẩm.
AI khôngthaythếTester màgiúpTester hoànthànhcôngviệctốt
hơn, nângcaohiệusuấtlàmviệc.

Các côngviệcthườngxuyêncủaTester
•Phântíchyêucầu.
•Lập kếhoạchkiểmthử.
•Thiết kếtestcase
•Tạo dữliệukiểmthử
•Viết kịchbảntựđộng
•Thay đổiChương trìnhtest tựđộng
•Kiểmthửgiao diện

1. Phântíchyêucầu
-Công việc:ĐọcUser Story (US) hoặctàiliệuđặctả(SRS) đểhiểuvàtìmrađiểmchưarõràng.
-Ứng dụngAI (Vídụcụthể):
-Công cụ:ChatGPT-4, Gemini Advanced, Claude 3.
-Prompt (Câulệnh):"BạnlàmộtBA vàQA chuyênnghiệp. ĐọcUser Story sau… . Hãy:
1.Liệtkêcácđiểmcònmậpmờhoặcthiếuthông tin.
2.ĐềxuấtcácTiêuchíChấpnhận(Acceptance Criteria -AC) cònthiếu.
3.Xácđịnhcácluồngphụ(alternative flows) vàluồnglỗi(exception flows)."
-Lợi ích:Phát hiệnmâuthuẫn/thiếusóttrướccảkhicode đượcviết.

2. Lập kếhoạchkiểmthử
-Công việc:Xácđịnhphạmvi, chiếnlược, vàcáctrườnghợpcầnưutiên.
-Ứng dụngAI (Vídụcụthể):
-Công cụ:GenAI (ChatGPT/Gemini).
-Prompt:"DựatrênUser Story vềtínhnăng'Thanh toánbằngQR Động', hãyđềxuấtmộtchiếnlược
kiểmthửtậptrungvàorủiro, vànhữngảnhhưởng. Nhữngrủironàolàlớnnhất?"
-Kếtquả(AI trảvề):Ưutiênkiểmthử(1) Anninh/Bảo mật(SQL Injection, QR hijacking), (2) Tínhtoàn
vẹndữliệu(thanh toántrùng, mấttiền), (3) Tươngthích(App ngânhàng, phiênbảnHĐH).

3. Thiết kếtestcase
-Công việc:Viết cácbướckiểmthử(test steps) chi tiết.
-Ứng dụngAI (Vídụcụthể):
-Công cụ:GenAI (ChatGPT/Gemini).
-Prompt:"Từ cáctiêuchíchấpnhận(AC) saucủatínhnăngĐăng nhập(cungcấpAC, vídụnhưđộ
dàiusername, độdàivàphứctạpmậtkhẩu, …), hãyviếtcácTest Case (Positive vàNegative) theo
dạngBDD(hướnghànhvi) theocúphápGherkin(Given/When/Then)."
-Kếtquả:AI tựđộngsinhracáckịchbản: (Positive) Đăng nhậpthànhcông, (Negative) Sai mật
khẩu, (Negative) User bịkhóa, (Negative) Đểtrốngusername...

Thiết kếtestcase
-Công việc:TốiưuhóabộTest Case đãcó.
-Ứng dụngAI (Vídụcụthể):
-Công cụ:GenAI (ChatGPT/Gemini).
-Prompt:"Tôicó100 test case chomodule X [cóthểdánfile CSV/Excel]. Hãyphântíchvà
tìmracáctest case bịtrùnglặp(redundant) hoặccóthểgộplại(optimize)."
•Lợi ích:Giảmthờigianchạybộkiểmthửhồi quy.

4. Tạo dữliệukiểmthử
-Công việc:Chuẩnbịdata (CSV, JSON, SQL) chonhiềukịchbản(vídụ: 100 tênngườidùng, địa
chỉ, số điệnthoại, số thẻgiả...).
-Ứng dụngAI (Vídụcụthể):
-Công cụ:GenAI hoặccáctool chuyêndụng
-Prompt (choGenAI):"Hãytạo10 bộdữliệutest dạngJSON choAPI createUser, bao gồmcác
trườnghợp: (1) Dữliệuchuẩn, (2) Tênquádài, (3) Email saiđịnhdạng, (4) Số điệnthoạitrùnglặp."

5. Viết kịchbảntest tựđộng
•Công việc:Viết code Selenium/Playwright/Cypress...
•Ứng dụngAI (Vídụcụthể):
•Công cụ:GitHub Copilot, Tabnine(tíchhợpvàoVSCode/IDE).
•Cáchlàm:Tester chỉcầngõcomment(chúthích).
•Vídụ(Tester gõ):// Viết hàm(function) dùngPlaywright đểtìmbutton 'Login' vàclick vàonó.
•Kếtquả(AI tựsinhcode):async function login() { await page.click('button:has-text("Login")'); }
•Lợi ích:Tăngtốcđộviếtscript lên50-70%.

6. Tựđộngcậpnhậttest tựđộng
•Công việc:Locator (ID, XPath, CSS) củaelement bịthayđổisaumỗilầncode deploy -> Script fail.
•Ứng dụngAI (Vídụcụthể):
•Công cụ:KatalonAI, Testim.io, Mabl, Functionize.
•Cáchlàm:Các côngcụnàykhôngchỉdựavào1 locator. ChúngdùngAI đểhọctấtcảcácthuộctính
củaelement (vịtrí, text, label, cấutrúcDOM xungquanh).
•Kếtquả:Khi ID bịthayđổi, AI tựđộngtìmkiếmcácthuộctínhkhác(vídụ: "À, đâyvẫnlàcáibutton
'Submit' vìnónằmdướiô 'Password'"). Kịchbảntựđộngchạyđúngmàkhôngcầnsửacode.
•Lợi ích:Giảm90% thờigianbảotrì(đâylàlợiích lớnnhấtcủaAI trongautomation).

7. Kiểmthửgiao diện
•Công việc:ĐảmbảoUI khôngbị"vỡ" (broken layout), lệch, mấtchữ... trêncácthiếtbị, trìnhduyệt
khácnhau.
•Ứng dụngAI (Vídụcụthể):
•Công cụ:Applitools(Visual AI).
•Cáchlàm:AI sẽ"nhìn" vàso sánhảnhchụpmànhình(screenshot) củabản(baseline) vớibản
(mới).
•ĐiểmmạnhAI:Nóđủthông minh đểbỏquacácthayđổiđộng(dynamic content) nhưngàygiờ,
số liệudashboard, màchỉtậptrungvàocáclỗithựcsự(vídụ: nút"Mua ngay" bịlệchsang trái).
•Lợi ích:Phát hiệnlỗiUI màmắtthườnghoặccode automation truyềnthốngbỏsót.

TổnghợpcáccôngcụAI
•Trợ lý Đa năng(GenAI):ChatGPT, Gemini, GitHub Copilot. (Dùngcho: Test Case, Test
Data, Viết Bug Report, GiảithíchCode).
•Automation "Thông minh":KatalonAI, Testim.io, Mabl. (Dùngcho: Tựhồi phụcscript, Tự
độngtạotest).
•KiểmthửTrựcquan(Visual):Applitools, Percy. (Dùngcho: Phát hiệnlỗiUI).
•Phântích& Báo cáo:ReportPortal, Các nềntảngTestOps. (Dùngcho: Phânloạilỗi, RCA).