国产丁香婷婷妞妞基地-国产人人爱-国产人在线成免费视频麻豆-国产人成-91久久国产综合精品-91久久国产精品视频

公務員期刊網 論文中心 正文

人工智能下軟件測試發展與應用

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了人工智能下軟件測試發展與應用范文,希望能給你帶來靈感和參考,敬請閱讀。

人工智能下軟件測試發展與應用

人工智能是指由人制造出來的能夠將只有人所具備的智慧表現出來的機器。幾十年來,軟件測試逐漸從小型化、本地化向智能化、復雜化的大規模開發和維護轉變。因此本文提出研究人工智能時代下軟件測試的發展應用,來對人工智能技術對軟件測試的影響進行深入的研究,通過研究可以更加深刻的理解人工智能技術對軟件測試的發展的重大影響。

1研究背景和意義

1.1研究背景

軟件測試是一種用來描述、促進和鑒定軟件的正確性、完整性、安全性和質量的過程,它是一種將實際輸出與期望輸出進行審核或者比較的過程,因此通過軟件測試可以更快速的發現軟件開發過程中的各種問題,幫助人們更加高效率的對軟件進行完善,使得軟件的性能逐步提高。現今社會,隨著大數據和云計算的飛速發展,傳統的軟件測試技術很難支撐現代軟件的發展,軟件測試技術如今面對著新的挑戰。

1.2研究意義機器學習、深度學習、NLP等

AI領域被認為是我們身邊大多數技術的前沿。如今,隨著人工智能技術的發展,人工智能技術也開始逐步成熟,人工智能技術逐步滲透到工業和生活中的各個領域,作為與程序密切相關的軟件測試,也深受人工智能技術的影響。

2軟件測試發展史

2.1程序員和測試人員的時代

在程序員和測試人員的時代,開發和測試被視為相互獨立的活動,軟件準備就緒后,將其傳遞給測試團隊進行驗證。測試人員在需求分析階段的參與不是很積極,與業務涉眾的互動也很有限。他們在很大程度上依賴于通過設計和開發過程中完成的文檔或從編寫代碼的開發人員那里收集的知識來獲取信息。因此在這個時代,測試人員缺乏對客戶需求和期望的洞察力,進而導致軟件測試策略的有限性。

2.2探索和手動測試的時代

90年代末期,各種軟件測試方法的問世,例如探索性測試、敏捷測試等。在這個階段,軟件測試人員使用詳細的測試用例和測試計劃手動進行測試。探索性測試通過在測試章程范圍內探索軟件,從而使測試人員可以自由地以本機方式測試軟件。并且在這個時期,軟件開發工程量逐步增加,軟件開發過程的廣泛而密集的增長需要更全面的測試方法,敏捷測試采用的增量和迭代方法有助于實現此目標。

2.3自動化時代

隨著21世紀的到來,更多的新方法浮出水面,從而徹底改造了軟件測試。在軟件開發各個階段的質量保證和控制都變得越來越重要,測試都被視為軟件開發過程中不可或缺的一部分。自動化使測試達到了完全不同的水平,通過大量的自動化測試框架,使得測試人員能夠以更高的效率執行其任務。云測試的出現可以幫助企業以更快的速度和更少的資金管理產品的測試。

2.4持續測試的時代

持續測試時期業務動態開始發生變化,客戶期望看到最終產品的模型,因此測試需求逐步增加。現階段出現的改進網絡基礎架構為開發和測試提供了高連接性,并提高了跨多個平臺的部署和測試的速度。DevOps和CI/CD的興起導致軟件整個開發周期縮短,實時進行仔細的風險評估成為了當務之急。同時,在軟件開發生命周期的所有階段都必須進行風險評估和處理,進而降低軟件開發的風險。為了跟上這些需求,需要不斷進行測試以提高效率,人們開始嘗試應用人工智能技術進行測試。

2.5人工智能時代

簡而言之,人工智能是機器通過感知,理解和學習模仿人類行為的能力。人工智能的算法是基于數據的預測分析,這也意味著AI測試在很大程度上取決于數據。當今有許多可用AI驅動的測試工具,可幫助進行單元測試、API測試、UI測試等,其中最經典的示例是可視化測試。

3人工智能技術在軟件測試中的應用及挑戰

3.1AI系統的測試

隨著人工智能技術的發展,目前出現了各類有關人工智能技術的應用,然而由于人工智能技術是一個新興技術,傳統的軟件測試無法與人工智能技術相匹配,因此在人工智能時代軟件測試技術的更新成為一件重要的事情。由于人工智能技術所開發的系統其功能具有動態性,并且開發出來的系統擁有自我學習的能力,因此在對人工智能系統進行測試時,應當充分考慮時間范圍。人工智能系統的學習能力應該是不斷增強、動態性的,因此,針對此類測試過程,需要大規模、長時間的進行測試。例如,Google的AlphaGo存在所使用的黑盒測試規模龐大、測試周期長,并且有自動化測試難的問題。然而AlphaGo是一種功能相對簡單的系統,人工智能技術所開發的智能語音響應系統在測試時會更加困難。智能語音響應系統需要模擬不同的場景進行測試,因此小規模的測試數據集,很難判斷系統的反應能力,也無法對系統提出具有重大意義的改善。深度神經網絡學習算法通常被認為是黑盒模型,但是隨著訓練的數據集不同,其測試結果具有不穩定的特性。因此針對深度神經網絡測試需要大規模的數據集,這種測試方法與傳統的測試方法相差甚遠。在傳統的測試過程中可以使用等價類劃分和其他方法來減小所需測試的樣本規模,但是對于人工智能系統來說,必須依賴于大量的數據才可以達到測試的效果。

3.2大數據的測試

大數據的測試并不比人工智能系統測試容易,其很難確定判斷其測試預測測試結果的標準,因為無法對數據處理結果的大小進行判定。在數據收集、存儲、檢索和分析之后,軟件測試人員需要開發適當的工具以從大容量、多樣性、快速變化和實時表征方面對數據的一致性和完整性進行校驗。

3.3云服務測試

現階段云服務主要包括私有云、公共云、混合云和各種其他形式的云,云服務的測試面臨著復雜的系統架構、復雜的配置、復雜的計算和存儲節點,盡管可以通過使用兩個或三個的組合來減少組合的數量,但是這種方法覆蓋率相對較低,并且在云服務的測試中存在著較高的風險。同時,云服務的性能測試也非常困難,主要包括云質量壓力模擬需要承擔較高的成本,甚至花費大量的資金也無法對測試進行模擬。而且,云服務作為新興的技術,傳統的測試工具很難與計算機平臺的云性能測試相匹配。

3.4區塊鏈測試

區塊鏈主要包括公共網絡、私有鏈和聯盟網絡等不同類型的網絡,這些網絡在許多方面都大有不同,例如在區塊鏈的管理、使用者的用戶身份驗證、區塊鏈的節點數、網絡的共識機制和智能合約等方面。因此,不同的區塊鏈面臨的測試挑戰也是不同的。同時區塊鏈也存在一些共性的的挑戰,如安全測試非常困難。安全始終是矛與盾的問題,現階段不存在絕對受保護的技術、系統或平臺,因此對于區塊鏈來說,很難對其安全質量進行測試。同時區塊鏈還包括基礎結構安全性、加密算法保護、網絡協議保護、共識機制安全性和合同安全性等合同安全性又包括身份驗證和身份驗證。而且區塊鏈擁有眾多的網絡節點,對于區塊鏈的測試不僅僅只是某個區塊鏈節點。

3.5物聯網測試

在工業4.0和5G時代,網絡成為人們生活中不可缺少的東西。物聯網是指萬物互聯,它不僅僅只是將計算機相連接,還包括工業設備、家用電器等,物聯網旨在讓每一個物品等能夠連接到網絡。然而網絡的融合需要創建一個更大的系統,因此這也給軟件測試帶來新的挑戰。同時物聯網需要更多的物理設備才可以進行測試,這會耗費大量的時間和精力。其次物聯網系統需要具有實時性,物聯網設備對時間十分的敏感,它需要實時數據收集,并且需要實同步數據的傳輸。此外,物聯網測試還面臨著檢查系統規模、可伸縮性、協作感知、大數據處理性能和智能特性等挑戰。

4應用人工智能技術的軟件測試

4.1測試規范和測試套件細化

在開源開發或軟件進化的背景下,開發人員經常面對開發時沒有明顯理由的測試套件,這些測試套件可能需要增加或改進以確保足夠的可靠性,甚至需要減少以滿足緊迫的截止日期,我們稱這個過程為測試規范和測試套件的重新設計。同時在實踐中,測試規范可能一開始就不存在,尤其是如果沒有使用黑盒策略來識別測試用例的情況。在這種情況下,測試規范必須被逆向工程或者從高級系統規范創建。因此,軟件測試重要的是提供方法和工具支持,幫助人們理解測試套件的局限性及其可能的冗余,以便能夠以經濟高效的方式對其進行改進。因此,基于機器學習的方法可以解決黑盒測試中的這個問題。

4.2調試、故障定位

使用機器學習來識別可疑語句,如測試期間觀察到的相關故障,這可在調試期間幫助故障定位。RUBAR技術解決了軟件測試的主要缺陷,但該方法難以處理多個故障的存在,因為它隱含地假設失敗的測試用例執行相同的故障。同時使用C4.5決策樹來學習各種基于測試用例輸入和輸出信息的故障條件,在相似條件下執行的失敗測試用例被認為是由于相同的錯誤而失敗,如果語句被在相似條件下執行的大量失敗測試用例覆蓋,那么它們就被認為是需要重點關注的。同時,由C4.5決策樹建模的故障條件可以準確預測故障,因此可以用于幫助調試,由該樹建模的故障條件總體上準確描述了實際故障條件。

4.3風險驅動測試

無論采用何種測試策略,實際上很少有足夠的人力資源和時間來徹底測試系統的每個部分,達到令人滿意的程度。測試團隊必須集中精力并優先考慮他們的測試工作,通常這是通過分析與功能或系統組件相關的“風險”來完成的,這取決于測試級別。風險通常被定義為故障概率和它們可能造成損害的組合,目前軟件測試中有各種各樣的方法來解決這個問題,構建預測文件或類中錯誤位置的模型是一個可行的方案。在許多利用機器學習算法訓練的模型中,通常不需要與統計模型相關聯的嚴格假設類型,對于實踐者來說更容易解釋和理解。人們也越來越認識到要獲得合理準確的預測模型,還需要考慮其他因素。盡管在軟件測試中輸入使用的數據各不相同,但它通常包括組件的結構復雜性度量、來自最近發布的組件變更信息、與組件相關聯的歷史數據,以及開發人員關于例如他們對被變更的系統的體驗的信息。因此一旦開發了故障預測模型,就可以根據系統組件包含故障的可能性對它們進行排序,結果也可以用樹形圖更容易地可視化。并且從經濟的角度出發,建立和利用故障預測模型也具有很高的經濟效應。

4.4測試預言

測試預言的自動化可能是軟件測試中最困難的問題之一,雖然沒有普遍適用的自動化測試預言的解決方案,但是在很多情況下機器學習可以提供幫助。例如,在圖像和語音處理領域有許多這樣的情況。圖像分割是從圖像中提取感興趣的特定結構的行為,為了評估圖像分割算法花費了大量的時間和精力,卻并不能提供足夠準確的結果,技術專家需要修改算法并重新運行整個測試套件來驗證它。該過程大多是手工完成的,因此非常耗時,也需要可靠的專家在場。在初始學習階段,使用機器學習算法來學習一個模型,一旦學習了有效的機器學習模型,由測試中圖像分割算法的任何新版本產生的分割將自動認定其正確地性,此時也不需要任何人工專家的干預,所以在分割的重新測試期間可以獲得大量時間和人工的節省。在人工智能時代,作為軟件工程師所面臨問題的工程特性,例如部分定義和不明確的應用領域,具有多個相互競爭、相互沖突和不斷變化的目標,正把我們從完美的烏托邦拖向更現實的工程世界。當代的軟件性質變化迫使我們改變開發和部署測試技術。人工智能技術被證明非常適合這個不斷變化的是時代。本文通過研究人工智能時代下軟件測試的發展與應用,對人工智能技術對軟件測試的影響進行深入的研究,通過對人工智能時代下軟件測試得研究現狀、軟件測試發展史、人工智能技術在軟件測試中的應用及挑戰、應用人工智能技術的軟件測試以及軟件測試的未來發展等進行論述,更加深刻的理解人工智能技術對軟件測試的發展的重大影響。

作者:胡中奇 植賜佳 單位:工業和信息化部 電子第五研究所

主站蜘蛛池模板: 成人自拍网站 | 日本久久久久久久久久 | 成年人黄色免费网站 | 国内精品一区二区三区最新 | 亚洲色欧美 | 一级大黄美女免费播放 | 97在线观看视频免费 | 在线播放亚洲美女视频网站 | 一级做a爰片性色毛片视频图片 | 欧美日韩视频在线第一区二区三区 | 97在线视频观看 | 欧美顶级毛片在线播放 | a毛片视频免费观看影院 | 日韩亚洲欧美综合一区二区三区 | 九九精品视频在线播放8 | 国产成人欧美视频在线 | 国产成年人视频 | 亚洲高清在线观看 | 中文字幕第9页 | 欧美激情第一欧美在线 | 午夜免费的国产片在线观看 | 日韩精品久久久免费观看夜色 | 国产高清久久 | 在线欧美不卡 | 亚洲国产精品一区二区首页 | 九九在线免费视频 | 色综合精品久久久久久久 | 伊人色综合久久天天网蜜月 | 久久黄色网址 | 亚洲国产欧美在线人成精品一区二区 | 免费观看成人久久网免费观看 | 亚洲一级毛片免观看 | 一级毛片牲交大片 | 国产下药迷倒白嫩丰满美女j8 | 欧美a大片 | 免费在线观看黄色毛片 | 久久久久久免费一区二区三区 | 乱人伦中文字幕视频 | 亚洲精品欧洲一区二区三区 | 97国产精品视频观看一 | 亚洲国产成人久久综合一 |