• <menu id="w2i4a"></menu>
  • logo Parasoft 案例研究(一)

    文檔首頁>>Parasoft 案例研究(一)>>什么是軟件測試中的人工智能?

    什么是軟件測試中的人工智能?


    當(dāng)我們談?wù)揂I 及其姊妹術(shù)語機(jī)器學(xué)習(xí)時(shí),我們是什么意思?我以為我會清理我們的用法,所以很清楚我們?nèi)绾问褂肁I和機(jī)器學(xué)習(xí)來推進(jìn)軟件測試的最新技術(shù)。

    image.png

    如何在測試自動(dòng)化中實(shí)現(xiàn)AI(不僅僅是嗡嗡聲)

    人工智能是市場上最繁瑣的流行語之一?!?AI”讓人聯(lián)想到功能強(qiáng)大的超級計(jì)算機(jī)之類的圖像,這些圖像深深地被人類摧毀。通過Alexa或Siri的語音控制幫助;電腦象棋對手;或自動(dòng)駕駛汽車。

    維基百科定義人工智能研究作為“ ...的研究‘智能代理’:任何設(shè)備感知到它的環(huán)境,并采取最大限度地發(fā)揮其成功地實(shí)現(xiàn)其目標(biāo)的機(jī)會的行動(dòng)。 ”但是,這是一個(gè)有點(diǎn)抽象我喜歡把AI的作為。在計(jì)算機(jī)程序或機(jī)器思考(自己的理由)和學(xué)習(xí)(以有益的方式收集數(shù)據(jù)并修改未來行為)的能力在這種定義下,我們開始在人工智能對軟件的意義范圍內(nèi)看到更有意義的東西開發(fā)工具和技術(shù)。

    同樣重要的是要認(rèn)識到“ AI”的范圍會隨著時(shí)間而變化。例如,曾經(jīng)有一次,光學(xué)字符識別(OCR)被認(rèn)為是AI中的最新技術(shù)?;蛟?jīng)被認(rèn)為是最先進(jìn)的Siri和Alexa的問答式回答,現(xiàn)在在很大程度上被認(rèn)為是理所當(dāng)然的,并不總是被視為AI。軟件測試工具也將發(fā)生同樣的事情-隨著新功能的發(fā)展,當(dāng)今自動(dòng)化領(lǐng)域的創(chuàng)新將是可望的。但是現(xiàn)在,讓我們考慮一下2019年軟件測試自動(dòng)化中的AI。慧都科技是parasoft一級授權(quán)代理商,如果您想購買parasoft產(chǎn)品,請咨詢 慧都客服~

    2019年軟件測試自動(dòng)化中的AI

    人工智能在軟件開發(fā)中的使用仍處于起步階段,其自主性水平遠(yuǎn)低于自動(dòng)駕駛系統(tǒng)或語音輔助控制等更發(fā)達(dá)的領(lǐng)域,盡管它仍在朝著自主的方向發(fā)展測試。AI在軟件測試工具中的應(yīng)用旨在簡化軟件開發(fā)生命周期。通過推理,問題解決以及在某些情況下的機(jī)器學(xué)習(xí)的應(yīng)用,人工智能可用于幫助自動(dòng)化和減少開發(fā)和測試中的繁瑣任務(wù)。

    “不測試自動(dòng)化工具已經(jīng)這樣做了嗎?” 你可能會問。

    答案當(dāng)然是:“是!他們愿意!” ...但是它們有局限性。

    人工智能在軟件開發(fā)中大放異彩的地方就是它被應(yīng)用來消除那些限制,以使軟件測試自動(dòng)化工具能夠?yàn)殚_發(fā)人員和測試人員提供更多價(jià)值。AI的價(jià)值來自減少開發(fā)人員或測試人員直接參與最普通的任務(wù)。(在應(yīng)用業(yè)務(wù)邏輯等方面仍然非常需要人類智能。)

    例如,考慮到大多數(shù)(如果不是全部)測試自動(dòng)化工具為您運(yùn)行測試并提供結(jié)果。大多數(shù)人不知道要運(yùn)行哪些測試,因此它們會運(yùn)行所有測試或某個(gè)預(yù)定的測試集。那么,如果啟用AI的機(jī)器人可以查看測試狀態(tài)的當(dāng)前狀態(tài),最近的代碼更改,代碼覆蓋率和其他指標(biāo),確定要運(yùn)行的測試,然后再運(yùn)行它們,該怎么辦?引入基于更改數(shù)據(jù)的決策是應(yīng)用AI的一個(gè)示例(順便說一下,Parasoft做到了)。該軟件可以有效地在決策過程中替代開發(fā)人員/測試人員。將其應(yīng)用于CI / CD管道的好處顯而易見。

    人工智能和機(jī)器學(xué)習(xí)

    那么,機(jī)器學(xué)習(xí)呢?機(jī)器學(xué)習(xí)可以通過應(yīng)用算法來增強(qiáng)AI,算法允許工具通過收集測試產(chǎn)生的大量數(shù)據(jù)來自動(dòng)改進(jìn)。

    機(jī)器學(xué)習(xí)研究是整個(gè)AI研究的一個(gè)子集,其重點(diǎn)是基于先前觀察到的數(shù)據(jù)進(jìn)行決策。這是整個(gè)AI的重要方面,因?yàn)殡S著學(xué)習(xí)的改善,智能需要修改決策。但是,在軟件測試工具中,機(jī)器學(xué)習(xí)并非總是必要的-有時(shí),最好手動(dòng)微調(diào)支持AI的工具以適合使用該工具的組織,然后無論何時(shí)都可以應(yīng)用相同的邏輯和推理。結(jié)果。

    在其他情況下,數(shù)據(jù)收集是決策過程的關(guān)鍵,并且機(jī)器學(xué)習(xí)可能非常有價(jià)值,首先需要一些數(shù)據(jù),然后隨著收集更多數(shù)據(jù)而進(jìn)行改進(jìn)或調(diào)整。例如,隨著時(shí)間的流逝,代碼覆蓋率,靜態(tài)分析結(jié)果,測試結(jié)果或其他軟件指標(biāo)可將有關(guān)軟件項(xiàng)目狀態(tài)的信息告知AI。

    深度學(xué)習(xí)

    機(jī)器學(xué)習(xí)有其自己的名為“深度學(xué)習(xí)”的子集,該子集建立在處理大量數(shù)據(jù)以供學(xué)習(xí)的基礎(chǔ)上。在大多數(shù)情況下,此類數(shù)據(jù)由多層神經(jīng)網(wǎng)絡(luò)表示-它們是受人類神經(jīng)元網(wǎng)絡(luò)啟發(fā)的模型,可幫助計(jì)算機(jī)獲取新知識并高度智能地推理。

    深度學(xué)習(xí)與機(jī)器學(xué)習(xí)與人工智能

    深度學(xué)習(xí)的關(guān)鍵方面是以神經(jīng)網(wǎng)絡(luò)為代表的大量信息, 以驅(qū)動(dòng)決策過程。如此大量的數(shù)據(jù)并不總是可用或不適用于軟件測試–也許這就是為什么我們在這些領(lǐng)域還沒有看到很多深度學(xué)習(xí)案例的原因。一個(gè)可能的示例是從數(shù)千萬行代碼中“學(xué)習(xí)”,以了解不同類型的安全沖突,并基于這種深度學(xué)習(xí)模型來實(shí)現(xiàn)靜態(tài)分析引擎?;鄱伎萍际?span style="font-size: 18px;">parasoft一級授權(quán)代理商,如果您想購買parasoft產(chǎn)品,請咨詢 慧都客服~

    軟件測試中AI和機(jī)器學(xué)習(xí)的真實(shí)示例

    這是Parasoft的重要研發(fā)領(lǐng)域。令人興奮的是,我們當(dāng)前的產(chǎn)品僅僅是開始,而我們對AI和ML的持續(xù)研究繼續(xù)為將這些技術(shù)集成到我們的產(chǎn)品中帶來新的方式。我們已經(jīng)采用了以下幾種方法。

    使用人工智能自動(dòng)執(zhí)行單元測試的生成和參數(shù)化

    第一個(gè)示例在Parasoft Jtest(我們的Java開發(fā)人員軟件測試解決方案)中,其中包括靜態(tài)分析,單元測試,覆蓋率和可追溯性等。在這里應(yīng)用AI,我們發(fā)布了自動(dòng)測試用例生成,可幫助開發(fā)人員填補(bǔ)空白。從稀疏的JUnit工具開始。

    Parasoft Jtest的IDE插件通過簡單的一鍵式操作即可創(chuàng)建,擴(kuò)展和維護(hù)單元測試,從而為單元測試實(shí)踐增加了有用的自動(dòng)化。通過使用支持AI的Jtest,用戶可以實(shí)現(xiàn)更高的代碼覆蓋率,同時(shí)將構(gòu)建全面而有意義的Junit測試用例套件所需的時(shí)間和精力減少一半。

    實(shí)現(xiàn)此目的的一種方法是使創(chuàng)建存根和模擬程序更容易以隔離測試中的代碼。底層的AI使Jtest能夠觀察被測單元以確定其對其他類的依賴關(guān)系,并且在創(chuàng)建這些依賴關(guān)系的實(shí)例時(shí),建議將其模擬給用戶以創(chuàng)建更多隔離的測試。自動(dòng)創(chuàng)建必要的模擬和存根可以減少測試創(chuàng)建中最耗時(shí)的部分之一的工作量。

    Parasoft Jtest還可以自動(dòng)檢測現(xiàn)有測試套件未涵蓋的代碼,并遍歷源代碼的控制路徑,以找出需要將哪些參數(shù)傳遞給被測方法,以及如何初始化sub / mocks才能達(dá)到此目的。該代碼。通過啟用此AI,Jtest可以自動(dòng)生成新的單元測試,并應(yīng)用修改后的參數(shù)來增加整個(gè)項(xiàng)目的總體代碼覆蓋率。

    使用AI和機(jī)器學(xué)習(xí)自動(dòng)執(zhí)行API測試的生成和維護(hù)

    另一個(gè)很好的例子是Parasoft SOAtest的Smart API Test Generator,它增加了機(jī)器學(xué)習(xí)功能,它超越了記錄和回放測試,它利用AI和機(jī)器學(xué)習(xí)將手動(dòng)UI測試轉(zhuǎn)換為完整的自動(dòng)化API測試方案。

    智能API測試生成器使用推理來理解在執(zhí)行UI時(shí)進(jìn)行的不同API調(diào)用中的模式和關(guān)系。通過該分析,構(gòu)造了一系列API調(diào)用,這些API調(diào)用表示在UI流期間進(jìn)行的基礎(chǔ)接口調(diào)用。然后,它通過觀察有關(guān)不同API資源的功能并將其作為模板存儲在  專有數(shù)據(jù)結(jié)構(gòu)中來應(yīng)用機(jī)器學(xué)習(xí)。 通過檢查用戶庫中的其他測試用例,可以在學(xué)習(xí)API時(shí)學(xué)習(xí)不同類型的行為(例如,聲明或在正確的位置添加特定的標(biāo)頭)來更新此內(nèi)部結(jié)構(gòu)。

    此處AI的目標(biāo)是創(chuàng)建更高級的測試(不僅僅是重復(fù)用戶所做的事情,就像通過簡單的記錄和播放測試一樣)。該工具可以識別流量內(nèi)部的模式,創(chuàng)建觀察參數(shù)的全面數(shù)據(jù)模型,生成自動(dòng)化的API測試,并能夠?qū)W(xué)習(xí)到的模式應(yīng)用于其他API測試以增強(qiáng)它們,并幫助用戶創(chuàng)建更高級的自動(dòng)化測試場景。由此產(chǎn)生的自動(dòng)化API測試具有更完整的可重用性,可伸縮性和更改彈性。

    使用機(jī)器學(xué)習(xí)自我修復(fù)Selenium測試的執(zhí)行

    自動(dòng)驗(yàn)證UI層是測試策略的另一個(gè)關(guān)鍵組成部分,以確保產(chǎn)品在投入生產(chǎn)之前已得到完全驗(yàn)證。Selenium框架已被廣泛用于UI測試,這是用戶的明確選擇,但用戶仍然難以應(yīng)對常見的Selenium測試在可維護(hù)性和穩(wěn)定性方面的挑戰(zhàn)。AI技術(shù)(尤其是機(jī)器學(xué)習(xí))可以在此提供幫助,在運(yùn)行時(shí)提供自我修復(fù)功能,以解決與UI測試執(zhí)行相關(guān)的常見可維護(hù)性問題。

    我們通過Parasoft Selenic提供此功能,它可以在定期執(zhí)行Selenium測試期間“了解”內(nèi)部數(shù)據(jù)結(jié)構(gòu)。Selenic引擎監(jiān)視每次運(yùn)行,并捕獲有關(guān)被測應(yīng)用程序的Web UI內(nèi)容的詳細(xì)信息。它提取DOM元素,它們的屬性,定位符等,并將它們與UI驅(qū)動(dòng)的測試執(zhí)行的操作相關(guān)聯(lián)。Selenic采用Parasoft專有的數(shù)據(jù)建模方法,將該信息存儲在其AI引擎中,并且該模型會不斷更新,分析所有測試的歷史執(zhí)行以繼續(xù)變得“更智能”。

    如果網(wǎng)頁的UI元素被顯著移動(dòng)或修改而導(dǎo)致測試失敗,則這是至關(guān)重要的時(shí)間節(jié)省。借助Selenic,引擎使用的AI啟發(fā)式算法可以將那些更改的元素與模型表示的歷史數(shù)據(jù)“匹配”,并自動(dòng)生成可抵抗更改的“智能定位器”,以在運(yùn)行時(shí)恢復(fù)Selenium測試的執(zhí)行。有關(guān)這些更改的信息會自動(dòng)通過模型傳播,并且會根據(jù)這些更改來調(diào)整未來的新定位器。

    人工智能和機(jī)器學(xué)習(xí)的未來

    那么接下來呢?我們正在這一領(lǐng)域積極研發(fā),繼續(xù)追求人工智能和機(jī)器學(xué)習(xí)的進(jìn)一步應(yīng)用,以擴(kuò)大我們的軟件測試工具套件。有許多研究途徑,但最終目標(biāo)很明確:幫助團(tuán)隊(duì)更有效地開發(fā)和測試代碼,快速創(chuàng)建更高質(zhì)量的軟件。


    想要了解Parasoft、Parasoft SOAtest、Parasoft Virtualize更多信息或資源的朋友,請點(diǎn)擊這里~  

    解決方案專家聯(lián)系,以了解如何在組織中部署Parasoft的自動(dòng)化軟件測試解決方案。

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();