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

基于遺傳算法的軟件測試用例自動生成研究

2018-09-20 10:17:18劉東旭吳昊
無線互聯科技 2018年12期

劉東旭 吳昊

摘要:測試用例由測試輸入數據以及與之對應的輸出結果組成,測試用例設計的好壞直接決定了測試的效果和結果,所以說在軟件測試活動中最關鍵的步驟就是設計有效的測試用例。文章闡述了一種尋優搜索算法來自動生成軟件測試用例數據,即遺傳算法,利用遺傳算法原理的模型圖結合測試用例設計需求,介紹了遺傳算法自動生成測試用例數據的思想和步驟,并在此基礎上研究了基于遺傳算法在測試用例自動生成上的技術。利用此方法產生的測試用例數據可以產生較好的測試結果。

關鍵詞:軟件測試;測試用例;遺傳算法

1 遺傳算法概述

遺傳算法(Genetic Algorithm,GA)是在20世紀70年代由美國科學家提出的,是模擬自然界的生物物種的進化和遺傳機制原理用來尋找最優解的自組織、自適應搜索算法。軟件測試與軟件質量是成正比的關系。測試工作的質量決定了軟件的質量,而測試用例的優劣又決定了測試工作的質量,人工的用例設計耗時耗力且存在主官片面性,因此,要設計出最優最少的用例找出軟件中盡可能多的缺陷是測試人員需要解決的問題。本文在闡述了軟件測試的特點及測試用例設計之后,結合軟件測試與遺傳算法各自的特點,分析利用遺傳算法自動生成軟件測試用例數據的應用,研究用于軟件測試用例數據自動生成的遺傳算法。

2 軟件測試及測試用例設計

軟件測試是由測試人員獲取需求規格說明書,設計文檔及源程序清單等資料,結合測試用例設計方法有針對性地設計出大量的測試用例,測試用例執行人員執行設計出的用例找出軟件中存在的問題[2]。因此軟件測試的目的找出程序在設計過程中的問題(或者叫缺陷)。所以軟件測試是在軟件開發整個周期中找出軟件中存在的缺陷,而并不是為了驗證軟件的正確。軟件測試團隊在進行測試時主要包括以下幾個步驟。

(1)編寫軟件測試計劃方案;(2)利用常用的測試用例設計方法編寫測試用例;(3)測試人員逐條執行用例,如找出缺陷,標記并提交;(4)測試人員追蹤缺陷狀態,進行回歸測試;(5)編寫本次測試總結報告。

測試用例是測試人員在測試過程中執行的最小的一個單位,是由輸入的數據值、測試執行的條件和步驟以及對應的預期輸出的數據值3部分構成[3]。一個測試用例的好壞,不能體現整個測試用例集的優劣。所以測試用例集的設計對

測試人員有著很高的要求,不僅能找出潛在的缺陷,還能節省軟件開發的成本。

測試用例在設計過程中的輸入數據值的范圍很廣,如有一個程序F,有兩個輸入量X,Y,一個輸出量Z,在字長為64位的計算機上運行。若X,Y取整數,按用例設計方法可設計出:264×264=2 128條測試用例。這是一個非常龐大的數據,在實際的測試中這種數據量的測試是不可行的,因此窮舉法在測試中是不能實現的,我們需要在大量的數據中選擇一些具有代表性的值作為測試用例。這要求在測試人員在設計測試用例時利用一些方法并考慮到額外的一些因素。測試方法主要包括兩大類:黑盒測試法主要著重與功能和特性,白盒測試法主要著重與程序的邏輯結構。黑盒測試和白盒測試主要方法如表1所示。

3 遺傳算法生成測試用例的系統模型

遺傳算法作為一種在大量數據中尋優的搜索算法,它是在大量搜索數據中隨機選取數據,按照一定的評價函數對搜索出的每個數據進行評估,并對遺傳算子進行優化,直到找出最合理最優的數據值,利用遺傳算法原理自動生成測試用例數據的系統模型如圖1所示。從圖1中我們可看出其由兩大塊組成:(1)遺傳算法設計與執行模塊;(2)數據個體評優模塊。其中遺傳算法設計與執行模塊是用例生成的核心算法,第一步給定初始數據值,隨機初始化第一代種群,第二步按照設計好的編碼規則將初始化的數據值轉換成驅動程序的實參值,通過參數傳遞給被測程序的形參,運行被測程序。而個體評價部分主要是在被測程序中插入評價函數,產生相應的函數值傳遞給遺傳算法。利用個體評優模塊的評價函數對遺傳算法設計與執行模塊產生的大量數據值優勝劣汰,再結合遺傳算子的選擇、交叉、突變操作改變個體數據值的結構,形成更優一代的種群,反復循環,直至找出測試用例需求數據的最優解[4]。

4 遺傳算法在軟件測試用例生成中的應用研究

軟件測試過程中測試用例的設計起著至關重要的作用,人工設計軟件測試用例是不可或缺的,但是龐大的數據量讓人工設計測試用例舉步維艱,因此自動化生成測試用例是測試人員設計用例的未來發展方向。測試用例數據自動生成大大縮短軟件開發的生命周期、提高了軟件測試的效率。測試用例數據的自動生成就是在大量數據值的范圍中,利用設計好的算法規則選出一些具有代表性的數據成為用例的輸入值。而遺傳算法又作為一種尋找最優解的搜索算法,因此將遺傳算法融入測試用例設計中去,很大程度上優化了測試用例的數據值,提高了測試用例的質量。

4.1 遺傳算法生成測試數據的思想

遺傳算法是一種高效的自動尋優搜索算法,對繁冗的軟件測試用例自動生成具有指導性作用。利用遺傳算法的原理

得出一組最優的測試用例數據集,在每一次種群迭代過程中,不斷生成新的群體,并繼續自動生成測試用例傳遞給被測試程序執行,測試人員在每一次對被測程序執行測試之后都將記錄執行路徑追蹤測試數據,并形成一個日志文件,以路徑覆蓋度的最大化作為評價函數的評價標準,得出新一代的群體;經過多次迭代,使用遺傳和變異的方式更新種群中的個體,當算法達到之前設定的循環結束條件或者產生出最優最適合的測試用例集。軟件測試過程中,利用遺傳算法搜索最優解的特點,自動生成數值型測試用例數據,產生測試用例集。使用遺傳算法自動生成軟件測試用例數據的思想是:(1)數據值輸入問題轉化為數據值優化問題;(2)設計出合理有效的評價函數,評價生成數據值的優劣。

4.2 利用遺傳算法生成軟件測試用例數據

(1)將程序的輸入數據問題轉換為遺傳算法可處理的問題,對程序的輸入值f1(x1,x2,x3,x4,…..xn_),進行編碼,一般可利用二進制編碼形式,編碼后數據值為f1(y1,y2,y3,y4,…..yn_)每個數據均視為一個個體,利用隨機函數生成初始化種群。

(2)配置好被測程序的驅動程序一個driver()和粧程序若干program1(),program2(),program3()…以及之間的接口問題。

(3)結合具體的程序要求和測試要求,設計出一個軟件失效模型,給出相應的評價體系函數F(x)執行測試用例數據輸入操作,根據被測程序的返回數據值,對比軟件失效模型的數據值F=F[f1(y1,y2,y3,y4,…..yn_), f2(y1,y2,y3,y4,…..yn_),…fn(y1,y2,y3,y4,…..yn_)],評價測試用例數據的優劣。所謂的軟件實現模型亦即評價函數或適應度函數。

(4)根據軟件失效模型的數據值對每個輸入值的個體利用遺傳算子進行選擇、交叉和變異操作,形成新一代的種群。

(5)重復(2)—(4),利用遺傳算法直至找出測試用例數據的最優解或依據程序規則設置合適的終止條件。如可定義一個整型變量count。測試用例輸入值每輸入一次count++。當count值達到設定的范圍時,終止此次算法。依據評價函數的數據值和實際數據值比較形成測試用例數據值。

5 結語

利用算法為軟件測試生成高效率的測試用例是測試人員必須面臨和急需解決的問題。而遺傳算法由于其本身強大的全局搜索能力和魯棒性,因而能夠很好地應用于測試用例數據的自動化生成中[1]。

本文主要闡述了目前測試用例數據自動生成技術的普遍性和重要性,軟件測試的目的和測試用例設計的主要方法,并利用遺傳算法建立了測試用例自動生成的系統模型,介紹了遺傳算法生成測試用例數據的思想以及利用遺傳算法自動生成測試用例數據的算法步驟[5]。綜上所述,遺傳算法在生成數據時受到適應性函數的制約,由此產生的數據值既高效又具有代表性。因此,結合遺傳算法自動生成測試用例,它不僅能保證高質量的測試用例數據,而且還在很大程度上縮短了開發周期,提高了軟件質量降低軟件使用過程中受到的風險。

[參考文獻]

[1]姚堯.一種基于遺傳算法的軟件測試用例生成新方法[J].計算機與數字工程,2009(1):18-21.

[2]陳明.軟件工程實用教程[M].北京:清華大學出版社,2005.

[3]易禹,廖年冬.軟件測試簡明教程[M].武漢:武漢大學出版社,2012.

[4]彭稷棟.基于改進遺傳算法的測試用例自動生成應用研究[D].南昌:江西理工大學,2012.

[5]李柱.基于自適應遺傳算法的軟件測試用例自動生成[J].計算機系統應用,2016(1):192-196.

主站蜘蛛池模板: 美美女高清毛片视频免费观看| AV不卡无码免费一区二区三区| 好久久免费视频高清| 国产成人精品亚洲77美色| 狠狠ⅴ日韩v欧美v天堂| 国产欧美日韩精品综合在线| 精品国产一区91在线| 99精品在线看| 91久久偷偷做嫩草影院电| 亚洲视频一区| 国产亚洲一区二区三区在线| av无码一区二区三区在线| 色综合天天操| 国产丰满成熟女性性满足视频| 99久久精品国产综合婷婷| 欧美日韩国产精品va| 国产精品美女自慰喷水| 国产福利在线观看精品| 91精品久久久久久无码人妻| 自拍欧美亚洲| 亚洲中文字幕23页在线| AV网站中文| 色AV色 综合网站| 一级毛片基地| 中文字幕丝袜一区二区| 国产99视频精品免费视频7| 激情无码视频在线看| 欧美午夜视频在线| 97视频免费在线观看| 国产欧美另类| 国产成人AV综合久久| 日韩成人高清无码| 丝袜国产一区| 在线看片免费人成视久网下载| 日韩一级毛一欧美一国产| 久草视频精品| 福利小视频在线播放| 2021精品国产自在现线看| jizz亚洲高清在线观看| 精品人妻一区二区三区蜜桃AⅤ| 久久免费精品琪琪| 丁香六月激情综合| 国产你懂得| 成人在线天堂| 午夜毛片福利| 亚洲一区黄色| 精品午夜国产福利观看| 丁香五月亚洲综合在线| 91青青草视频| 欧美亚洲国产精品久久蜜芽| 日韩精品亚洲人旧成在线| 亚洲女同一区二区| 国产成人精品2021欧美日韩| 久久综合丝袜日本网| 日韩国产 在线| 天堂va亚洲va欧美va国产| 国产成人精品高清不卡在线| 天天躁夜夜躁狠狠躁躁88| 美女国内精品自产拍在线播放 | 日韩大片免费观看视频播放| 久久青草免费91线频观看不卡| 国产午夜无码片在线观看网站| 国产凹凸一区在线观看视频| 国产成年无码AⅤ片在线| 国产精品女同一区三区五区| 真实国产乱子伦高清| 九九九九热精品视频| 香蕉精品在线| 欧美视频在线观看第一页| av午夜福利一片免费看| 国产一区二区网站| 婷婷亚洲最大| 97se亚洲综合在线韩国专区福利| 欧美.成人.综合在线| 国产欧美日韩综合在线第一| 91精品国产福利| 一区二区在线视频免费观看| 欧美成在线视频| 香蕉视频在线观看www| 亚洲综合中文字幕国产精品欧美| 特级aaaaaaaaa毛片免费视频| 欧美一区国产|