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

基于遺傳算法的軟件測試用例自動(dòng)生成研究

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

劉東旭 吳昊

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

關(guān)鍵詞:軟件測試;測試用例;遺傳算法

1 遺傳算法概述

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

2 軟件測試及測試用例設(shè)計(jì)

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

(1)編寫軟件測試計(jì)劃方案;(2)利用常用的測試用例設(shè)計(jì)方法編寫測試用例;(3)測試人員逐條執(zhí)行用例,如找出缺陷,標(biāo)記并提交;(4)測試人員追蹤缺陷狀態(tài),進(jìn)行回歸測試;(5)編寫本次測試總結(jié)報(bào)告。

測試用例是測試人員在測試過程中執(zhí)行的最小的一個(gè)單位,是由輸入的數(shù)據(jù)值、測試執(zhí)行的條件和步驟以及對應(yīng)的預(yù)期輸出的數(shù)據(jù)值3部分構(gòu)成[3]。一個(gè)測試用例的好壞,不能體現(xiàn)整個(gè)測試用例集的優(yōu)劣。所以測試用例集的設(shè)計(jì)對

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

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

3 遺傳算法生成測試用例的系統(tǒng)模型

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

4 遺傳算法在軟件測試用例生成中的應(yīng)用研究

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

4.1 遺傳算法生成測試數(shù)據(jù)的思想

遺傳算法是一種高效的自動(dòng)尋優(yōu)搜索算法,對繁冗的軟件測試用例自動(dòng)生成具有指導(dǎo)性作用。利用遺傳算法的原理

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

4.2 利用遺傳算法生成軟件測試用例數(shù)據(jù)

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

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

(3)結(jié)合具體的程序要求和測試要求,設(shè)計(jì)出一個(gè)軟件失效模型,給出相應(yīng)的評價(jià)體系函數(shù)F(x)執(zhí)行測試用例數(shù)據(jù)輸入操作,根據(jù)被測程序的返回?cái)?shù)據(jù)值,對比軟件失效模型的數(shù)據(jù)值F=F[f1(y1,y2,y3,y4,…..yn_), f2(y1,y2,y3,y4,…..yn_),…fn(y1,y2,y3,y4,…..yn_)],評價(jià)測試用例數(shù)據(jù)的優(yōu)劣。所謂的軟件實(shí)現(xiàn)模型亦即評價(jià)函數(shù)或適應(yīng)度函數(shù)。

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

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

5 結(jié)語

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

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

[參考文獻(xiàn)]

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

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

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

[4]彭稷棟.基于改進(jìn)遺傳算法的測試用例自動(dòng)生成應(yīng)用研究[D].南昌:江西理工大學(xué),2012.

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

主站蜘蛛池模板: 天堂成人在线| 国产福利在线观看精品| 久久亚洲日本不卡一区二区| 五月婷婷亚洲综合| 色妞永久免费视频| 丰满人妻被猛烈进入无码| 国产熟睡乱子伦视频网站| 中文字幕人成人乱码亚洲电影| 久久综合干| 亚洲永久视频| 免费国产好深啊好涨好硬视频| 亚洲性一区| 国产欧美视频一区二区三区| 久久免费视频6| 国产麻豆永久视频| 看国产毛片| 国产精品yjizz视频网一二区| 九九免费观看全部免费视频| 国产精品亚欧美一区二区| 中国一级特黄视频| 国产精品对白刺激| 综合久久五月天| yjizz国产在线视频网| 男人天堂亚洲天堂| 青青青伊人色综合久久| 久久久久免费精品国产| 精品国产成人a在线观看| 久久特级毛片| 波多野结衣中文字幕一区| 伊人激情综合| 国产精品自在在线午夜| 国产视频一二三区| 色婷婷视频在线| 91视频青青草| 黄色网址手机国内免费在线观看| 中文字幕乱妇无码AV在线| 国产精品99久久久久久董美香 | 思思热精品在线8| P尤物久久99国产综合精品| 综合色88| 亚洲男人在线| 亚洲最大综合网| 亚洲精品手机在线| 啪啪国产视频| 黄色国产在线| 国产免费a级片| 奇米精品一区二区三区在线观看| AV天堂资源福利在线观看| av大片在线无码免费| 九九视频免费在线观看| 国产精品毛片一区视频播| 欧美精品一二三区| 日韩在线播放中文字幕| 麻豆精品在线视频| 欧洲欧美人成免费全部视频| 欧美狠狠干| 97超级碰碰碰碰精品| 国产午夜小视频| 亚洲精品波多野结衣| 亚洲天堂网视频| 麻豆国产在线观看一区二区| 亚洲天堂网站在线| aaa国产一级毛片| 国产午夜福利在线小视频| 国产伦片中文免费观看| 中文字幕1区2区| 老司机午夜精品视频你懂的| 亚洲最黄视频| 色综合婷婷| 色亚洲成人| 婷婷五月在线视频| 日韩免费成人| 国内老司机精品视频在线播出| 黄网站欧美内射| 99精品免费在线| 久久综合伊人 六十路| 日韩中文精品亚洲第三区| 在线综合亚洲欧美网站| 香蕉国产精品视频| 狠狠色狠狠综合久久| 在线不卡免费视频| 国产精品亚洲五月天高清|