應用

技術

物聯(lián)網世界 >> 物聯(lián)網新聞 >> 物聯(lián)網熱點新聞
企業(yè)注冊個人注冊登錄

AI會“偷走”軟件測試員的工作嗎?

2020-08-17 08:42 讀芯術

導讀:人工智能對于我們生活的影響越來越顯著,改變著多個行業(yè)多個領域,影響到日常生活的方方面面。尤其在人工流程自動化領域中,人工智能發(fā)揮了突出的作用。

人工智能對于我們生活的影響越來越顯著,改變著多個行業(yè)多個領域,影響到日常生活的方方面面。尤其在人工流程自動化領域中,人工智能發(fā)揮了突出的作用。因此,本文將研究人工智能如何影響軟件測試領域,尤其是自動化測試領域。

現(xiàn)存挑戰(zhàn)

什么是軟件測試?軟件測試是對開發(fā)的程序的性能進行評估的過程,以檢查其是否符合客戶的要求,并在投入使用前檢測它是否存在錯誤從而加以完善。

每當開發(fā)人員添加新代碼,都必須進行新的測試。質量監(jiān)管人員(QAs)需要耗費大量時間來確認新代碼不會破壞現(xiàn)有代碼庫。而人工執(zhí)行回歸測試非常耗時,并且會在很大程度上增加QAs的負擔。

傳統(tǒng)的QA檢測方法包括檢查一個任務列表,以確保軟件按預期的方式工作。一開始只需要測試幾個功能時,這還是一個可行的任務;但隨著功能的增加,QAs面臨著在截止日期前完成全面測試的困難。一個應用程序越復雜,就越難確保它得到完整的測試覆蓋。

隨著人工智能的出現(xiàn),簡化測試過程成為可能。此外,新軟件和產品在競爭壓力下必須加快發(fā)布,延長測試周期并不是智舉。因此,只能測試得更聰明而不是更難,別無選擇。

人工智能如何克服這些挑戰(zhàn)

人工智能在軟件測試工具中的應用集中在簡化軟件開發(fā)生命周期(SDLC)上。通過應用推理、問題解決和機器學習,人工智能可以在開發(fā)和測試階段中促進自動化并減輕冗雜的工作任務。

例如,假設你正在運行一個自動化框架來測試自己的項目。大多數(shù)情況下,你不知道要運行哪些測試,因此會運行所有測試或預定的一組測試。

那么,如果一個支持AI的機器人可以檢查當前的測試狀態(tài)、最近的代碼更改、代碼覆蓋率和其他指標,決定要運行哪些測試,然后再運行它們呢?這樣的軟件可以有效地代替開發(fā)人員/測試人員參與決策過程。

人工智能和機器學習應用推理和問題解決方案來自動化和改進測試。軟件測試中使用人工智能有助于減少耗時的手動測試,使團隊得以專注于更復雜的任務,例如創(chuàng)建創(chuàng)新性的功能。以下是利用人工智能優(yōu)化軟件測試過程的幾個方面:

增強的準確性——我們必須承認,即使是最有經驗的質量檢查工程師也可能犯錯。數(shù)據量太大了,測試人員難免會在軟件質量檢測時分心,忽略了一些重要的缺陷。這就是AI和機器學習技術發(fā)揮作用的地方。

他們教系統(tǒng)學習源分析并在將來應用知識。通過這種方式,AI測試在不斷重復中得出更準確的結果。因此,使用人工智能技術進行數(shù)據分析降低了人為錯誤概率。

加快進程——AI無需像測試人員那樣手動處理成千上萬的代碼,而是快速地對日志文件進行排序,在幾秒鐘內掃描代碼并在更短的時間內檢測到錯誤。通過將人工智能納入重復測試中,質量檢查工程師可以專注于測試新功能或關注軟件的重要部分。更加自動化——人工智能程序可以隨著代碼的更改而發(fā)展。他們可以適應并學會識別新功能。當AI機器人識別了代碼的修正后,他們就可以被編程來判斷這是一個新功能還是代碼更改中出現(xiàn)的某些缺陷。正確理解客戶需求——軟件開發(fā)過程中,最重要的是能夠了解客戶的實際需求。AI可以檢測類似的網站和應用程序,以確定哪些因素能幫助贏得目標受眾,也可以幫助研究大量競爭產品以確定其優(yōu)勢。通過正確理解客戶的需求,他們可以創(chuàng)建測試用例,以確保產品在實現(xiàn)這些特定目標時不會損壞。

基于人工智能的軟件測試現(xiàn)狀

目前,實踐中已經開始使用自主和智能代理(稱為“測試機器人”)來自動化諸如應用程序發(fā)現(xiàn)、建模、測試生成和故障檢測等活動,并結合機器學習技術來實現(xiàn)測試機器人,包括但不限于決策樹學習、神經網絡和強化學習。

與傳統(tǒng)的測試自動化工具和框架不同,機器學習允許測試機器人在不確定的條件下運行。過去十年形成的人工智能驅動的測試方法包括以下示例:

差異測試——比較應用程序版本,對差異進行分類并從分類的反饋中學習。視覺測試——利用基于圖像的學習和屏幕比較來測試應用程序的外觀。聲明式測試——以自然語言或特定領域的語言明確測試的意圖,并讓系統(tǒng)確定如何執(zhí)行該測試。自我修復自動化——當UI更改時,在測試中自動更正元素選擇。

2014年以來,提供AI驅動的測試服務的供應商數(shù)量激增。這些工具供應商中的大多數(shù)是初創(chuàng)公司,他們主要針對移動應用程序系統(tǒng)級測試,這一主題在業(yè)界引起了廣泛關注。

觀察AI功能最簡單的方法是使用各種工具和框架,以下是一些很受歡迎的AI驅動的測試工具:

人工智能會“偷走”你的工作嗎?

關于此問題的當前比較流行的觀點是,人工智能不會取代人,但會幫助人進行QA測試。支持這種觀點主要理由是,人工智能在軟件開發(fā)中的使用仍處于起步階段,其在更先進的領域中自主水平遠低于所見,如人類仍在主導的自動駕駛系統(tǒng)領域。但是可以肯定的是,AI協(xié)助人類的下一步就是讓AI掌握整個運作過程。這只是時間問題。

眾所周知,技術的增長,尤其是AI和機器學習的增長是指數(shù)級的,要預測未來的AI能力并不容易。AI接管測試工作的那一天可能比預期到來的要早,在此之前,你得做好準備。