本文中的人工智能指的是其現(xiàn)代狀態(tài),而不是理想目標(biāo)。我們生活在一個(gè)狹隘或弱人工智能的世界中,它在個(gè)別任務(wù)上擊敗了人類,例如比開發(fā)人員更快地嘗試基本的故障排除選項(xiàng)。我們距離真正強(qiáng)大的人工智能還有幾年或幾十年的時(shí)間,它幾乎可以做人類能做的任何事情。這意味著人工智能測試不會(huì)在沒有人工輸入的情況下進(jìn)行,但您可以最大限度地減少工作量。

AI 實(shí)施如何改進(jìn)軟件測試過程?
軟件測試中的人工智能是自動(dòng)化 QA 的自然演變。人工智能測試自動(dòng)化比模擬手動(dòng)工作更進(jìn)了一步。“機(jī)器”還首先決定何時(shí)以及如何運(yùn)行測試。
創(chuàng)新不止于此。人工智能測試已經(jīng)成為現(xiàn)實(shí)。根據(jù)實(shí)現(xiàn)的不同,測試將被修改和/或從頭開始創(chuàng)建而無需任何人工輸入。如果項(xiàng)目的復(fù)雜性讓你想知道如何測試,這是一個(gè)很好的解決方案——人工智能很可能是答案。
人工智能的好處
根據(jù)定義等因素,僅本節(jié)就有一系列文章。讓我們堅(jiān)持人工智能測試的好處以及人工智能在 QA 中的其他用途。
- AI 自動(dòng)化測試可以節(jié)省時(shí)間。我們已經(jīng)介紹了使用測試自動(dòng)化工具來實(shí)現(xiàn)調(diào)度奇跡,但讓我們更上一層樓。如果你也可以只維護(hù)有用的測試呢?例如,您可以自動(dòng)取消或暫停測試,以調(diào)查它們是否確實(shí)是在浪費(fèi)時(shí)間。
- 測試一致性可以提高很多。偶爾會(huì)遇到無緣無故失敗的片狀測試是很自然的??梢宰詣?dòng)標(biāo)記此類測試以供人工智能審查,以識別編碼問題或指出在多個(gè)測試中發(fā)現(xiàn)的概念缺陷。
- 測試維護(hù)變得不那么麻煩。這對于經(jīng)常每天(如果不是更頻繁地)調(diào)整用戶界面以實(shí)現(xiàn) A/B 目的的 B2C 解決方案尤其重要。對于模擬用戶旅程的測試,這樣的小變化仍然可能是破壞性的,例如,按鈕根本不再存在。結(jié)合人工智能 + 測試自動(dòng)化意味著您的測試無需人工輸入即可針對 UI 更改進(jìn)行調(diào)整。
最佳實(shí)踐
以下是來自處于人工智能測試前沿的公司的反復(fù)試驗(yàn)的一些建議。
- 知道你在做什么。在沒有充分準(zhǔn)備的情況下推動(dòng)測試自動(dòng)化是一個(gè)巨大的時(shí)間消耗。就像自動(dòng)化測試一樣,缺乏能夠帶路的高級專家是災(zāi)難性的。
- 整理好你的測試套件。缺少或不正確的標(biāo)簽、拼寫錯(cuò)誤和遺留數(shù)據(jù)庫都可能會(huì)扭曲人工智能將用于改進(jìn)測試的數(shù)據(jù)。
- 寫下實(shí)施人工智能的目標(biāo)。這包括您希望解決的業(yè)務(wù)目標(biāo)(例如,通過更流暢的 UX 顯著提高留存率)、驗(yàn)證您的 AI 努力值得付出努力的 QA 目標(biāo),以及一些用于查看您是否走在正確軌道上的 AI 測試基準(zhǔn)。
- 提醒你的同事。將人工智能納入測試是一個(gè)漫長的過程,它可能會(huì)在最短的時(shí)間內(nèi)影響 QA 專家的可用性及其輸出。您的項(xiàng)目經(jīng)理、產(chǎn)品負(fù)責(zé)人和高層管理人員會(huì)很高興提前通知這種劇烈的變化。當(dāng)然,開發(fā)人員也應(yīng)該知道,特別是如果他們處理項(xiàng)目的單元測試。
- 確保您的測試管理同樣具有創(chuàng)新性。如果您的團(tuán)隊(duì)仍然堅(jiān)持在 Excel 上進(jìn)行 QA,那么 AI 測試幾乎沒有用處。您需要一個(gè)對第三方人工智能工具友好的專用測試管理解決方案。
基于人工智能的軟件測試自動(dòng)化方法
將人工智能融入軟件測試的方法主要來自最流行的人工智能技術(shù)。它們是機(jī)器學(xué)習(xí)、自然語言處理 (NLP)、自動(dòng)化/機(jī)器人和計(jì)算機(jī)視覺。以下是這些技術(shù)如何用于 QA 的一些示例。
- 模式識別采用機(jī)器學(xué)習(xí)來查找測試和/或測試執(zhí)行中的模式,這些模式可以轉(zhuǎn)化為可操作的見解。如果同一個(gè)類的問題導(dǎo)致多個(gè)測試失敗,您的 AI 解決方案將要求團(tuán)隊(duì)重新查看可能有問題的代碼。模式識別還可用于您的軟件代碼本身,以發(fā)現(xiàn)和預(yù)測潛在漏洞。
- 如果自動(dòng)化測試開始令人頭疼,自我修復(fù)可以糾正它們。不穩(wěn)定的測試最終可以追溯到問題的路徑??此撇豢芍噩F(xiàn)的缺陷將被捕獲并解決。隨著您的項(xiàng)目變得越來越大,自我修復(fù)的測試將真正改變游戲規(guī)則。
- 視覺回歸測試使您的軟件和測試都保持正常工作。這就是前面提到的 UI 調(diào)整示例。良好的自我修復(fù)消除了許多多余的工作,使產(chǎn)品團(tuán)隊(duì)對 A/B 測試更加雄心勃勃,并幫助他們快速響應(yīng)趨勢。
- 數(shù)據(jù)生成與主要的軟件測試工具一起非常有用??梢允褂萌斯ぶ悄軐Ω笠?guī)模的測試進(jìn)行參數(shù)化,例如,生成大量具有稀有分辨率和元數(shù)據(jù)的個(gè)人資料圖片,以查看用戶是否可以正常上傳它們。
人工智能軟件測試的最佳測試工具
讓我們看一些使用上述方法的工具。
Launchable
Launchable使用模式識別來查看測試失敗的可能性。此信息可用于切斷測試套件并消除一些明顯的冗余。此外,您可以對測試進(jìn)行分組,例如,在部署修補(bǔ)程序之前只運(yùn)行最有問題的測試。Launchable 最受認(rèn)可的客戶是寶馬。
Percy
Percy是一個(gè)視覺回歸測試工具。它非常適合保持 UI 測試的相關(guān)性,并幫助您在不同瀏覽器和設(shè)備之間保持用戶界面的一致性。Google、Shopify 和 Canva 都在 Percy 的客戶組合中。
mabl
mabl是一個(gè)簡潔的測試自動(dòng)化平臺,具有自我修復(fù)功能。它宣揚(yáng)一種低代碼方法,但可以以傳統(tǒng)方式完美使用。Riot Games、JetBlue 以及 Stack Overflow 和 Splunk 等 IT 公司作為客戶出現(xiàn)在 mabl 的網(wǎng)站上。
Avo測試數(shù)據(jù)管理
Avo有一個(gè)用于管理測試數(shù)據(jù)的專用工具,該功能還包括 AI 數(shù)據(jù)生成。該解決方案聲稱可以大規(guī)模模擬真實(shí)世界的數(shù)據(jù),并在頂部進(jìn)行一些數(shù)據(jù)發(fā)現(xiàn)。Avo 被索尼、普華永道以及 aqua 的客戶之一——Tech Mahindra 使用。
結(jié)論
軟件測試中的人工智能方法是一種真正強(qiáng)大的工具,它比常規(guī)自動(dòng)化更能提高效率。一些子集可能看起來有點(diǎn)過分(例如,數(shù)據(jù)生成是人們開始將所有東西標(biāo)記為“AI”之前的事情),但自我修復(fù)測試和模式識別是不小的壯舉。只要您制定適當(dāng)?shù)哪繕?biāo)并找到合適的人員,在您的質(zhì)量保證程序中實(shí)施 AI 肯定是值得的。
但是,如果沒有好的測試管理解決方案,將 AI 引入您的軟件測試是沒有意義的。你需要一個(gè)堅(jiān)實(shí)的測試組織來涉足人工智能,任何認(rèn)真的努力都會(huì)增加使用多個(gè)人工智能 QA 工具的復(fù)雜性。在開始軟件測試 AI 之旅之前,請確保您找到了一個(gè)好的多合一測試管理解決方案。