唐海濱
摘要:計算機軟件的質量對其使用效率產生嚴重影響,質量差的軟件會導致高昂的維護成本。同時,軟件質量差會導致許多漏洞,在使用過程中可能會造成重大損失。因此,必須對計算機軟件的開發進行嚴格測試,以最大限度地減少應用程序漏洞,提高軟件應用程序的質量。使用智能優化算法自動執行計算機軟件測試可顯著節約成本,同時提高測試效率。
關鍵詞:智能優化;軟件測試;應用
引言
計算機軟件是信息產業的重要組成部分,在國民經濟、社會發展和國防建設中發揮著至關重要的作用。它們的可靠性一直是學術界和工業界關注的焦點。提高軟件質量的一個主要途徑是在軟件投入使用之前進行大量測試,并及時發現缺陷甚至錯誤。軟件測試包括許多方面,例如測試數據的生成、測試軟件的運行、測試結果的評估等。隨著軟件的大小和復雜性的增加,出現缺陷或錯誤的風險也隨之增加。雖然智能優化可以解決傳統測試方法的一些問題,但在這方面仍有許多挑戰。本文件的主要目的是通過綜合研究結果確定這一領域的主要研究方向和趨勢。
1智能優化算法的概述
所謂智能優化算法是一種基于自然現實某些原理開發的智能搜索計算方法,智能優化算法可以看作是自然規律的參考和仿真。目前應用的智能優化算法除了包括遺傳算法和粒子群算法等傳統算法外,還包括螢火蟲算法和煙花爆震算法等算法。其中,遺傳算法主要是通過模擬自然界的遺傳和生物演化而發明的,其特點是適應性結構和整體優化效果。粒子群算法基于粒子之間的相互作用,可以檢測復雜搜索空間中的最佳區域。這兩種基本智能優化算法在計算機軟件測試中得到廣泛應用。
2軟件測試的基本原理和方法
2.1軟件測試的定義
1979年,Myers將軟件測試定義為:軟件測試是運行程序或系統以檢測錯誤的過程。1983年,IEEE將軟件測試定義為通過手動或自動方式運行或測試軟件系統的過程,以確定其是否滿足要求,或確定預期結果與測試系統的實際結果之間的差異。軟件測試的核心是檢查軟件的功能和非功能特性,以確保軟件的準確性。因此,測試是軟件質量保證的關鍵,也是成功實現軟件開發目標的重要保證。
2.2軟件測試方法
2.2.1游戲測試
游戲的研發過程中,需要通過測試,尋找程序中存在的缺陷和問題,便于及時進行修改。該過程中,應用人工智能測試工具,可以快速收集游戲數據,并對游戲中的各個角色、各個場景進行分析。在游戲的運行過程中,檢測游戲功能。利用人工智能測試工具,針對多個角色、場景,建立測試用例,同步進行測試、分析,保障測試的全面性,提高檢測結果的精準度。應用用戶數據,人工智能可以對用戶的行為進行模擬,可以展現出不同的游戲水平,便于展開大規模測試,充分覆蓋測試場景,獲得真實、準確的反饋。針對測試過程中發現的漏洞問題,做出相應的修改,進而達到完善游戲功能的目的。在游戲測試的過程中,人工智能可以不斷進行自主學習,并實現自我修正,逐步發生進化和升級,進而提高測試功能,為游戲的穩定運行提供良好的保障。
2.2.2性能測試
軟件的性能測試中,應用人工智能技術,在交互方面進行直觀的分析。而在深層次的分析過程中,測試軟件持續運作的穩定性,并關注了解其用戶數量,評價其對于各項業務的處理能力。軟件的性能狀態,會受到硬件條件的限制,與用戶的使用情況密切相關。在軟件測試中,應用人工智能技術,自動化、智能化地完成檢測。通過全方面測試,了解軟件程序的內部結構和內部特性,及時發現性能方面的缺陷,做出相應的調整與改進。基于人工智能的軟件測試,能夠實現性能指標監控、性能調優,同時縮短測試時間,減少軟件投入運行后的性能問題,進而有效改善用戶的使用體驗。
3基于不同智能優化方法的軟件測試研究進展
3.1遺傳算法的應用
在軟件測試數據自動生成過程中應用遺傳算法的第一步是對軟件輸入的數據進行編碼,以方便不同的人的培訓。第二步是產生初始人口。初始人口由n個實體組成,每個實體由n個初始結構鏈數據組成,其生產模式是隨機的。初始種群是反復更新遺傳算法的重要起點。第三步是選擇人口。操作選擇是最適生存原理的遺傳算法模擬。在甄選開始時,將根據可調整的標準從初始人口中挑選一些符合標準的人。選定的實體將成為新父代,并生成下一代實體。步驟4。跨部門行動的主要目的是促進數據信息交流。如果沒有交互作用,算法選擇的父實體將無法獲取下一代實體。第五步是轉移操作。在執行突變操作時,將精英人士排除在突變操作之外。首先,個人是在人口中隨機挑選的,隨機改變個人。第六步是計算擬合特征的值。如果計算結果滿足算法停止條件,則停止算法有效。如果計算結果不滿足停止條件,將重復執行遺傳算法,直到找到滿足停止條件的數據結果。
3.2基于模擬退火算法的測試
模擬退火算法來源于固體退火原理,最早的思想是由Metropolis等人于1953年提出的.針對分支覆蓋測試,了基于模擬退火算法的測試數據通用生成框架.針對路徑覆蓋測試,提出一種自適應遺傳模擬退火算法,并根據目標函數,高效生成覆蓋每一目標路徑的測試數據.運用模擬退火等算法逐一生成覆蓋每一分支的測試數據.針對變異測試,提出了一種基于改進模擬退火算法的軟件測試方法,保證了測試數據的生成效率。
結束語
隨著軟件規模和復雜程度的不斷提高,基于智能優化的軟件測試方法仍然存在很多難題,需要不斷解決.隨著機器學習、大數據等新技術的發展,該方向的研究必然會呈現新的趨勢。
參考文獻:
[1]任群.智能優化算法自動生成計算機軟件測試數據的方法[J].信陽農林學院學報,2018,028(001):P.111-114.
[2]李龍澍,郭紫夢.應用混沌果蠅算法的路徑覆蓋測試用例優化技術研究[J].小型微型計算機系統,2018.