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