999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于改進遺傳算法的軟件測試數據自動生成系統研究

2020-04-10 10:58:09孫德剛
現代信息科技 2020年1期

摘? 要:隨著軟件測試自動化水平的進一步提升,其對自動準確生成軟件測試數據的要求也逐漸提高。但由于以往常用的遺傳算法存在一定的局限性,難以令軟件測試數據始終保持較快的自動生成速度與數據高質量。因此需要對該遺傳算法進行優化改進,在這一背景下,本文將從闡明改進遺傳算法的必要性入手,分別從算法設計與系統設計兩方面,重點針對基于改進遺傳算法的軟件測試數據自動生成系統進行簡要分析研究。

關鍵詞:改進遺傳算法;軟件測試數據;自動生成系統

中圖分類號:TP311.53;TP18? ? ? 文獻標識碼:A 文章編號:2096-4706(2020)01-0023-02

Abstract:With the further improvement of the level of software test automation,its requirements for automatically and accurately generating software test data have gradually increased. However,due to the limitations of the commonly used genetic algorithms in the past,it is difficult to keep the software test data always at a relatively fast automatic generation speed and high quality. Therefore,the genetic algorithm needs to be optimized and improved. In this context,this article will start by clarifying the necessity of improving the genetic algorithm,from the aspects of algorithm design and system design,this paper focuses on the automatic generation system of software test data based on improved genetic algorithm.

Keywords:improved genetic algorithm;software test data;automatic generation system

0? 引? 言

雖然國內外目前有許多研究人員加入到遺傳算法及其優化改進的研究隊伍中,并經過多年努力也取得了一定研究成果。但有關改進遺傳算法在軟件測試數據自動生成中的實際應用等,相關研究還相對較少。因此本研究不僅能夠有效豐富該領域的理論研究,同時也可以為實現軟件測試數據自動生成系統的優化設計提供相應的實踐依據。

1? 改進遺傳算法設計軟件測試數據自動生成系統的必要性

標準遺傳算法中,對于群體p(t)一般需要運用遺傳算子,經過選擇、交叉以及變異運算,生成群體p(t+1)并在此基礎上依次進行解碼與解集合處理,最后進入個體評價環節,當T即遺傳算法終止迭代次數比t值小時,直接選取當前群體當中的最優個體作為最終解即可[1]。因此采用遺傳算法實現軟件測試數據自動生成,即便無任何外界信息,也無需確定規則,只憑借迭代次數最大值開展循環搜索,便能夠達到并行搜索的效果,進而使得數據自動生成具有較高靈活性。但由于在標準遺傳算法當中,交叉與變異概率完全固定,在算法執行的整個過程中,無論是交叉還是變異算法執行次數期望值并不發生變化,但種群進化后期,如果交叉與變異算法多次被執行,將會破壞優秀的測試用例。且在算法中止時,其有可能產生早熟現象,并直接將局部最優解作為全局最優解,由此難以保障軟件測試數據是自動生成的穩定性以及數據生成質量,故而有必要對標準遺傳算法進行優化改進。

2? 改進遺傳算法下的軟件測試數據自動生成系統設計分析

2.1? 算法設計

2.1.1? 算法流程

針對傳統遺傳算法存在的局限性,本文在繼續使用遺傳算法的基礎上,設計采用模擬退火算法對遺傳算法進行有效改進。改進后的遺傳算法在自動生成軟件測試數據時,首先將在個體編碼中使用二級制,由此形成個體集后再運用二級制編碼對多參數級聯編碼問題進行有效解決。然后在完成參數初始化操作后,直接將初始測試數據準確輸入其中,自動計算適應值,此時需要根據初始輸入測試數據反饋,運用遺傳算法中的選擇、交叉與變異運算生成新的種群。對生成的新種群使用模擬退火算法進行最優迭代,直至其出現迭代次數最大值,即需要降低初始設定穩定,令T初=aT初,此時如果達到終止條件,則通過比較分析新種群以及初始種群的適應值,結合最終得到的比較結果自動輸出最優數據集即可結束算法。否則需要持續進行模擬退火降溫操作,直至其與終止條件相符合。

2.1.2? 優化用例

一般情況下,采用代價測試覆蓋率的最小值優化數據測試用例。考慮到代價和覆蓋率相互制約,因此本文提出在使用改進的遺傳算法下優化軟件測試數據用例,如果用ti代表各測試用例,用代表軟件測試數據集Test ={t1,t2,…,tn},用取值為正數的Costj代表和各測試用例一一對應的測試代價。且測試代價主要由系統運行所需內存空間、CPU時間等共同構成。通過轉化軟件測試數據是指成為一個Tests的真子集MinTS,其測試覆蓋與Tests測試覆蓋度相一致。利用改進后的遺傳算法,在最優化測試集合當中加入測試代價最下用例,隨后直接刪除覆蓋測試需求,對該過程進行多次重復操作直至同時出現完全一樣的兩個測試用例[2]。此時將同樣的兩個測試用例加入最優測試結合當中,在用例與全部測試需求相符合的情況下即可終止算法。此時所得到的即為最優軟件測試數據用例。但值得注意的是,在優化測試數據用例時,其數據庫及測試數據均需要對左右執行程序當中,任意一個分支及其所使用的數據進行全覆蓋,每一個數據測試用例均能夠對各個CPU運行進行全程完整記錄。

2.2? 系統設計

2.2.1? 新建算法動態鏈接庫

為使運用改進后的遺傳算法能夠有效增強軟件測試數據自動生成算法的適用性,使其具有更高的移植性,首先,本文通過將改進后的遺傳算法封裝成動態鏈接庫,便于系統根據自身實際需要隨時進行調取使用。為提升算法封裝的有效性,本文首先直接利用專業的工具軟件,應用其中自動的應用程序新建一個空算法動態鏈接庫,在對其進行重新命名后直接存儲至和主程序一致的目錄下[3]。其次,新建有關于算法的類,主要添加包括bianmadll.h與bainmadll.cpp以及yichuanxiliedll.cpp等在內的各種頭文件,根據被添加的各頭文件,完成定義遺傳算法二進制編碼、初始化改進后遺傳算法的參數定義等操作。例如使用bianmadll.h定義遺傳算法二進制編碼,使用bainmadll.cpp這一頭文件進行編碼化執行操作。頭文件diedaicaozuodll.h被用于定義迭代操作,其編碼化執行操作時需要使用的頭文件為diedaicaozuodll.cpp。最后,自動生成Gaijin.dll即對應的解決方案,由主程序根據其實際需要隨時進行調取使用,完成單元測試用例的自動生成與準確移植。

2.2.2? 系統層次架構的設計

在完成遺傳算法的優化改進后,本文通過充分考慮軟件測試數據自動生成需求,在積極參考其他相關研究資料的基礎上,選擇使用分層設計理念,將整個軟件測試數據自動生成系統分成三大層,分別為數據訪問層、業務邏輯層、頁面顯示層。數據訪問層作為整個基于改進遺傳算法的軟件測試數據自動生成系統最底層,占據著絕對的基礎性地位,該層中通過運用專業的數據庫,并采用具有良好通用性的ADO.NET數據接口,負責完成各項軟件測試數據的采集與傳輸。業務邏輯層作為系統中間層,分別與數據訪問層和頁面顯示層相互連接,發揮著承上啟下的重要作用。數據訪問層中的ADO.NET數據接口與業務邏輯層當中由各個業務組件共同構成的工作流組件中的數據接口相互連接,實現軟件測試數據的高效共享傳輸。所有采集得到的有關工作流組件的數據,將統一傳輸至業務邏輯層中的ASPX當中,而ASPX則直接與頁面顯示層當中的工作流客戶端,即.aspx網頁相互連接,負責在該頁面中直接自動顯示獲取的各項軟件測試數據,最終達到軟件測試數據快速、準確自動生成的目的。

2.3? 運行成效

在改進遺傳算法中,將種群設定為300,將終止迭代次數統一設定為25,將交叉概率分布設定為0.7與0.4,將變異概率分別設定為0.04和0.02。在標準遺傳算法中,其他參數不變,只將交叉概率與變異概率固定設置為0.8與0.02,分別各自運行標準遺傳算法與改進遺傳算法下的軟件測試數據自動生成系統共計50次,每五次為一組取均值。根據最終的運行結果可知,改進遺傳算法的執行速度更快,具有更好的收斂性。如同樣在系統運行10次的情況下,標準遺傳算法中,系統每組平均執行時間不足80 ms,但改進遺傳算法中系統每組平均執行時間仍然保持90 ms以上。除此之外,基于標準遺傳算法的軟件測試數據自動生成系統每次生成的數據結果并不完全相同,但改進遺傳算法下系統運行具有較高的穩定性,生成測試數據范圍較大,具有較高的數據生成效率。

3? 結? 論

根據本文的分析研究,可知運用深入融合模擬退火算法,與自適應交叉與變異算子的方式,對遺傳算法進行優化改進。并運用改進后的遺傳算法設計軟件測試數據自動生成系統,能夠在保障軟件測試數據具有更廣闊的搜索生成范圍的基礎上,進一步提升數據生成速度,并確保數據始終具有較高的質量水平。因此證明,改進遺傳算法在軟件測試數據自動生成系統中具有較高的應用價值。

參考文獻:

[1] 姬峰.基于改進遺傳算法的軟件測試自動化機制研究 [J].信息技術,2019(10):88-93.

[2] 韓霄漢,葉方彬,竇健,等.基于改進遺傳算法的接口測試數據集的生成方法 [J].濟南大學學報(自然科學版),2019,33(1):56-60.

[3] 王佩佩.基于自適應遺傳算法的測試數據自動生成理論與方法 [D].徐州:中國礦業大學,2018.

作者簡介:孫德剛(1978.04-),男,漢族,山東德州人,高級工程師,學士學位,研究方向:教育信息化、軟件開發。

主站蜘蛛池模板: 亚洲无码37.| 国产超碰一区二区三区| 国产乱人伦AV在线A| 国产成人精品2021欧美日韩| 国产香蕉97碰碰视频VA碰碰看 | 欧美一区国产| yy6080理论大片一级久久| 色综合成人| 亚洲精品无码不卡在线播放| 欧美日韩高清在线| 999精品色在线观看| 日韩欧美网址| 国产91高清视频| 亚洲精品国偷自产在线91正片| 亚洲永久精品ww47国产| 强奷白丝美女在线观看| AV不卡无码免费一区二区三区| 91香蕉国产亚洲一二三区| 亚洲一区二区无码视频| 国产传媒一区二区三区四区五区| 小13箩利洗澡无码视频免费网站| 色视频久久| 午夜视频免费一区二区在线看| 91久久偷偷做嫩草影院电| 欧美www在线观看| 中文一区二区视频| 国产va在线观看| 免费a级毛片视频| 又粗又大又爽又紧免费视频| 2020久久国产综合精品swag| 九九久久99精品| 亚洲国产亚洲综合在线尤物| 日韩少妇激情一区二区| 亚洲成人在线网| 在线五月婷婷| 亚洲国产中文欧美在线人成大黄瓜| 国产成人亚洲毛片| 狠狠亚洲婷婷综合色香| 香蕉色综合| 72种姿势欧美久久久久大黄蕉| 欧美另类第一页| 91探花国产综合在线精品| 久久黄色毛片| 亚洲欧美日韩另类在线一| 九九香蕉视频| 久久精品丝袜高跟鞋| 尤物精品视频一区二区三区| 青青草原国产av福利网站| 手机精品福利在线观看| 久久久久久国产精品mv| 国产香蕉在线| 伊人久久青草青青综合| 亚洲色图另类| 国产在线第二页| 好久久免费视频高清| 亚洲中文制服丝袜欧美精品| 福利视频一区| 青草免费在线观看| 呦女精品网站| 亚洲欧美精品一中文字幕| 国产女人18毛片水真多1| 538国产视频| 亚洲国产看片基地久久1024| 亚洲无码熟妇人妻AV在线| a级毛片在线免费| v天堂中文在线| 99久久国产综合精品2020| 国产免费怡红院视频| 欧美在线一二区| 国产中文在线亚洲精品官网| 久久中文电影| 亚洲swag精品自拍一区| 欧美日韩中文字幕二区三区| 欧美日本在线播放| 在线观看免费黄色网址| 黄片一区二区三区| 日韩精品少妇无码受不了| 国产精品无码影视久久久久久久| 国产激情国语对白普通话| 92精品国产自产在线观看| 广东一级毛片| 国产免费一级精品视频|