軟件測試中的AI技術(shù)

【譯者注:這是國外一篇介紹軟件測試中應(yīng)用AI技術(shù)的文章匿刮,下一代的軟件測試工具一定是AI技術(shù)賦能的典蜕,全方位的簡化測試過程和提高測試效率笤喳〖湫#】

根據(jù)2019-2020年世界質(zhì)量報(bào)告勺疼,基于人工智能的測試正在興起教寂,為了讓測試變得更“聰明”、更高效执庐,企業(yè)在軟件測試中采用基于AI的工具和過程酪耕。通常情況下,軟件測試中應(yīng)用AI會(huì)使整個(gè)測試過程更快耕肩、更清晰因妇、更容易,以及更省錢猿诸。

測試自動(dòng)化用于支持 “持續(xù)測試” 過程已經(jīng)很多年了婚被,但目前需要更有效的工具和技術(shù),比如在軟件應(yīng)用和測試中嵌入AI梳虽,這是交付高質(zhì)量和確保卓越用戶體驗(yàn)的需要址芯。

1. 什么是基于AI 的測試?

基于AI的測試是一種利用人工智能和機(jī)器學(xué)習(xí)(ML)算法來有效測試軟件產(chǎn)品的測試技術(shù)窜觉,其目標(biāo)是使測試過程更加智能和高效谷炸。在測試中采用人工智能和機(jī)器學(xué)習(xí)進(jìn)行邏輯推理和解決問題,可以改善整個(gè)測試過程禀挫。此外旬陡,在這種測試方法中,AI測試工具使用數(shù)據(jù)和算法來設(shè)計(jì)和執(zhí)行測試语婴,而不需要任何人工干預(yù)描孟。

2. AI在軟件測試中的演進(jìn)

在過去20年里,軟件測試有了很大的進(jìn)步砰左,從手工測試到自動(dòng)化測試匿醒,Selenium被認(rèn)為是最好的測試自動(dòng)化工具之一,測試的發(fā)展歷程令人鼓舞缠导。然而廉羔,在當(dāng)今快節(jié)奏的IT世界中,軟件測試領(lǐng)域也必須在方法方面進(jìn)行創(chuàng)新僻造,提出經(jīng)過充分研究并行之有效的憋他、新的測試方法和技術(shù)孩饼。

AI算法可以完全模擬人類智能,機(jī)器學(xué)習(xí)允許計(jì)算機(jī)在沒有任何人工干預(yù)的情況下自主學(xué)習(xí)竹挡。人工智能和機(jī)器學(xué)習(xí)都涉及到特定的算法捣辆,這些算法可以訪問數(shù)據(jù),通過提取模型從數(shù)據(jù)中學(xué)習(xí)此迅,從而做出決策,并用于軟件測試旧巾。

不少公司爭相開發(fā)能夠利用AI和ML算法有效測試軟件產(chǎn)品的工具耸序。我們還看到,企業(yè)從基于AI的測試中受益良多鲁猩,因?yàn)樗鼘⒅С指旌统掷m(xù)的測試坎怪,完全自動(dòng)化,無需任何人工干預(yù)廓握,還可以改善產(chǎn)品的ROI(投資回報(bào)率)搅窿。

3. 軟件測試中采用AI的好處

視覺驗(yàn)證

AI具有模式識(shí)別和圖像識(shí)別能力,可以對(duì)應(yīng)用程序的界面進(jìn)行視覺測試隙券、檢測視覺方面的缺陷男应。這有助于確保所有的視覺元素都是引人入勝的,并能正常發(fā)揮作用娱仔。不管控件的大小沐飘、形狀如何,利用AI都可以識(shí)別動(dòng)態(tài)UI控件牲迫,并在像素水平上對(duì)它們進(jìn)行分析耐朴。

更準(zhǔn)確的測試結(jié)果

手工測試中出現(xiàn)人為錯(cuò)誤的幾率很高,特別是在執(zhí)行重復(fù)性任務(wù)的情況下盹憎。自動(dòng)化測試有助于消除這些人為錯(cuò)誤筛峭。但是,隨著AI在自動(dòng)化測試中的出現(xiàn)陪每,可以更有效的處理重復(fù)的任務(wù)影晓,更準(zhǔn)確地記錄測試結(jié)果。因此奶稠,AI有助于消除微小的錯(cuò)誤機(jī)會(huì)俯艰,并提高測試的整體準(zhǔn)確性。

更高的測試覆蓋率

測試中的AI有助于提高測試覆蓋率锌订,因?yàn)樗梢詿o縫地檢查文件內(nèi)容竹握、數(shù)據(jù)表、內(nèi)存和內(nèi)部程序狀態(tài)辆飘。它還有助于確定程序是否按預(yù)期工作并保證有效的測試覆蓋率啦辐。

節(jié)省時(shí)間谓传、金錢和精力

每當(dāng)源代碼發(fā)生變更時(shí),都需要重復(fù)執(zhí)行測試芹关。如果采用手工測試续挟,會(huì)非常耗時(shí),并且需要測試人員付出大量精力侥衬。在AI驅(qū)動(dòng)的測試中诗祸,重復(fù)的測試任務(wù)可以被正確、快速和有效地執(zhí)行轴总。

更快的產(chǎn)品上市時(shí)間

AI驅(qū)動(dòng)的測試支持持續(xù)測試直颅,因此產(chǎn)品發(fā)布速度更快,可以更早進(jìn)入市場怀樟。

更少的產(chǎn)品缺陷

軟件測試中的AI有助于在研發(fā)早期快速發(fā)現(xiàn)缺陷功偿,從而減少缺陷,提高產(chǎn)品的可靠性往堡。

4. AI測試中的四項(xiàng)關(guān)鍵技術(shù)

差異測試:對(duì)軟件版本之間的差異進(jìn)行分類并比較械荷。

視覺測試:視覺測試是一種軟件測試技術(shù),通過基于圖像的學(xué)習(xí)和界面比較來測試UI和進(jìn)行用戶體驗(yàn)測試虑灰。

聲明性測試:它的目的是用一種自然的或特定領(lǐng)域的語言來定義測試的意圖吨瞎,由測試系統(tǒng)來決定如何進(jìn)行測試。

自我修復(fù):當(dāng)軟件的UI更改時(shí)瘩缆,會(huì)在測試執(zhí)行過程中自動(dòng)更正頁面元素的選擇关拒。

5. AI測試工具分類

差分測試工具(Differential Tools)

利用AI和ML算法來識(shí)別代碼相關(guān)問題、安全漏洞庸娱、回歸等着绊,是通過代碼掃描、單元測試自動(dòng)化等實(shí)現(xiàn)的熟尉。這一類工具包括:

Launchable:基于ML算法归露,根據(jù)歷史測試結(jié)果和軟件源代碼的變更預(yù)測每個(gè)測試用例失敗的可能性。該工具允許用戶記錄測試套件斤儿,先運(yùn)行可能會(huì)失敗的測試剧包。人們可以用這個(gè)工具動(dòng)態(tài)選擇有失敗可能性的測試用例集合,從而讓測試在幾分鐘內(nèi)快速完成往果。

谷歌OSS-Fuzz:是一個(gè)模糊測試工具疆液,旨在使通用開源軟件更加安全、穩(wěn)定和可靠陕贮。這個(gè)工具結(jié)合了現(xiàn)代模糊技術(shù)和可伸縮的分布式執(zhí)行堕油,支持C/ c++、Rust、Go和Python代碼

視覺測試工具(Visual?Tools)

隨著各種屏幕大小和配置的平臺(tái)數(shù)量的不斷增加掉缺,如何有效地進(jìn)行UI測試已經(jīng)成為測試工程師和開發(fā)人員的一項(xiàng)乏味的任務(wù)卜录。此外,為了提供更好的用戶體驗(yàn)眶明,產(chǎn)品的UI層會(huì)不斷變更艰毒,迫切需要視覺AI測試工具有效地測試UI的所有變體。這一類的工具包括:

Applitools:是一個(gè)AI驅(qū)動(dòng)的視覺測試和監(jiān)控平臺(tái)搜囱,被定義為一個(gè)由視覺AI賦能的下一代自動(dòng)化測試平臺(tái)丑瞧,主要功能包括Applitools

Eyes,有助于提高測試覆蓋率和減少測試維護(hù)成本蜀肘。超快網(wǎng)格有助于跨瀏覽器和跨設(shè)備的測試嗦篱,并將功能和視覺測試速度提高了30倍。這個(gè)Applitools平臺(tái)可以集成目前所有的現(xiàn)代測試框架幌缝,并與許多現(xiàn)有的測試工具(如Selenium、Appium诫欠、Cypress等)協(xié)同工作涵卵。

Percy:BrowserStack公司的Percy是一個(gè)一體化的視覺審查平臺(tái),具有驚人的功能荒叼,如像素-像素之間的差異檢查轿偎,響應(yīng)時(shí)間的差異檢查,快照(snapshot)穩(wěn)定性檢查被廓。該工具允許跨瀏覽器渲染坏晦、高速渲染,并具有并行測試的功能嫁乘。Percy幫助團(tuán)隊(duì)進(jìn)行自動(dòng)化視覺測試昆婿。它可以捕獲屏幕截圖,并將其與基準(zhǔn)截圖進(jìn)行比較蜓斧,顯示視覺方面的差異仓蛆。它增加了視覺測試的覆蓋率,增強(qiáng)團(tuán)隊(duì)發(fā)布代碼變更的信心挎春。

聲明式測試工具(Declarative?Tools)

這類工具旨在提高測試自動(dòng)化的效率和穩(wěn)定性看疙,利用AI和ML,并具備基于機(jī)器人過程自動(dòng)化(RPA)直奋、自然語言處理(NLP)能庆、基于模型的測試自動(dòng)化(MBTA)和自主測試方法(Autonomous

Testing

Methods,AT)等方法的各項(xiàng)功能脚线。這些方法的主要目的是通過智能的自動(dòng)化來消除繁瑣搁胆、容易出錯(cuò)、重復(fù)的任務(wù)。這一類的工具包括:

Tricentis: AI驅(qū)動(dòng)的下一代自動(dòng)化測試工具丰涉,允許敏捷和DevOps團(tuán)隊(duì)快速實(shí)現(xiàn)測試自動(dòng)化目標(biāo)和基于AI的持續(xù)測試拓巧。這個(gè)工具對(duì)軟件應(yīng)用進(jìn)行端到端的自動(dòng)化測試,支持測試用例設(shè)計(jì)一死、測試自動(dòng)化肛度、測試數(shù)據(jù)設(shè)計(jì)和創(chuàng)建,以及測試分析等多個(gè)方面投慈,從業(yè)務(wù)角度進(jìn)行UI和API測試承耿。

UiPath Test Suite:用于測試自動(dòng)化和測試過程的集成,幫助啟動(dòng)彈性機(jī)器人(resilient

robots)伪煤,并確保測試自動(dòng)化的質(zhì)量加袋。UiPath Test Suite由UiPath Studio Pro、UiPath Test

Managers抱既,和UiPath Orchestrator三部分組成职烧。UiPath Studio Pro通過拖放界面開發(fā)自動(dòng)化腳本;UiPath

Test Manager用來管理測試任務(wù)防泵;UiPath Orchestrator用來執(zhí)行測試任務(wù)蚀之。UiPath Test

Suite全方位的提供測試支持,并幫助RPA開發(fā)人員開發(fā)更多的測試自動(dòng)化捷泞,更好的執(zhí)行測試任務(wù)足删,而且無需修復(fù)測試腳本。

自我修復(fù)測試工具(Self-healing?Tools)

在自動(dòng)化測試中锁右,測試的穩(wěn)定性失受、可靠性和腳本維護(hù)的問題一直存在,這也是在測試自動(dòng)化中引入AI和ML的主要原因之一咏瑟。為了解決這些問題拂到,有些公司已經(jīng)開發(fā)出基于錄制-回放機(jī)制的自我修復(fù)工具,ML引擎用于被錄制腳本的自我修復(fù)码泞。這一類的工具包括:

Mabl:是為CI/CD(持續(xù)集成/持續(xù)交付)構(gòu)建的領(lǐng)先的智能測試自動(dòng)化平臺(tái)谆焊。Mabl抓取應(yīng)用程序屏幕,并開始運(yùn)行大多數(shù)應(yīng)用程序常見的默認(rèn)測試浦夷。它還使用ML算法來改進(jìn)測試執(zhí)行和缺陷檢測辖试。

Testim:使用AI和ML算法來實(shí)現(xiàn)測試的自動(dòng)化。AI被用來加快測試腳本編寫劈狐、執(zhí)行和維護(hù)的速度罐孝。Testim基于ML實(shí)現(xiàn)自動(dòng)化測試腳本的自主維護(hù),能夠快速編寫穩(wěn)定性高的測試腳本肥缔。

5. 結(jié)論

隨著技術(shù)的進(jìn)步莲兢,越來越多的企業(yè)開始采用敏捷和DevOps實(shí)踐。但是,隨著這些方法的采用改艇,對(duì)支持持續(xù)測試和持續(xù)發(fā)布的健壯工具的需求也在增加收班。于是,基于AI的測試自動(dòng)化工具應(yīng)運(yùn)而生谒兄。AI驅(qū)動(dòng)的測試自動(dòng)化工具不僅支持DevOps實(shí)踐摔桦,還帶來了和人類相似的決策能力,最終有助于在更短的時(shí)間內(nèi)發(fā)布高質(zhì)量的軟件承疲。

本文轉(zhuǎn)發(fā)自軟件測試中的AI技術(shù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末邻耕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子燕鸽,更是在濱河造成了極大的恐慌兄世,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啊研,死亡現(xiàn)場離奇詭異御滩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)党远,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門艾恼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人麸锉,你說我怎么就攤上這事∮呱” “怎么了花沉?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長媳握。 經(jīng)常有香客問我碱屁,道長,這世上最難降的妖魔是什么蛾找? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任娩脾,我火速辦了婚禮,結(jié)果婚禮上打毛,老公的妹妹穿的比我還像新娘柿赊。我一直安慰自己,他們只是感情好幻枉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布碰声。 她就那樣靜靜地躺著,像睡著了一般熬甫。 火紅的嫁衣襯著肌膚如雪胰挑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音瞻颂,去河邊找鬼豺谈。 笑死,一個(gè)胖子當(dāng)著我的面吹牛贡这,可吹牛的內(nèi)容都是我干的茬末。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼藕坯,長吁一口氣:“原來是場噩夢啊……” “哼团南!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起炼彪,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤吐根,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后辐马,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拷橘,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年喜爷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冗疮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡檩帐,死狀恐怖术幔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情湃密,我是刑警寧澤诅挑,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站泛源,受9級(jí)特大地震影響拔妥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜达箍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一没龙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缎玫,春花似錦硬纤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至煞躬,卻和暖如春肛鹏,著一層夾襖步出監(jiān)牢的瞬間逸邦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來泰國打工在扰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缕减,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓芒珠,卻偏偏與公主長得像桥狡,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子皱卓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 夜鶯2517閱讀 127,718評(píng)論 1 9
  • 版本:ios 1.2.1 亮點(diǎn): 1.app角標(biāo)可以實(shí)時(shí)更新天氣溫度或選擇空氣質(zhì)量裹芝,建議處女座就不要選了,不然老想...
    我就是沉沉閱讀 6,887評(píng)論 1 6
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月娜汁,有人笑有人哭嫂易,有人歡樂有人憂愁,有人驚喜有人失落掐禁,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,535評(píng)論 28 53
  • 兔子雖然是枚小碩 但學(xué)校的碩士四人寢不夠 就被分到了博士樓里 兩人一間 在學(xué)校的最西邊 靠山 兔子的室友身體不好 ...
    待業(yè)的兔子閱讀 2,601評(píng)論 2 9