• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2018-09-20 10:17:18劉東旭吳昊
      無(wú)線互聯(lián)科技 2018年12期
      關(guān)鍵詞:測(cè)試用例軟件測(cè)試遺傳算法

      劉東旭 吳昊

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

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

      1 遺傳算法概述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      (1)將程序的輸入數(shù)據(jù)問題轉(zhuǎn)換為遺傳算法可處理的問題,對(duì)程序的輸入值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)配置好被測(cè)程序的驅(qū)動(dòng)程序一個(gè)driver()和粧程序若干program1(),program2(),program3()…以及之間的接口問題。

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

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

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

      5 結(jié)語(yǔ)

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

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

      [參考文獻(xiàn)]

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

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

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

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

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

      猜你喜歡
      測(cè)試用例軟件測(cè)試遺傳算法
      基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
      基于OBE的軟件測(cè)試課程教學(xué)改革探索
      EXCEL和VBA實(shí)現(xiàn)軟件測(cè)試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      基于混合遺傳算法的回歸測(cè)試用例集最小化研究
      關(guān)于軟件測(cè)試技術(shù)應(yīng)用與發(fā)展趨勢(shì)研究
      基于自適應(yīng)遺傳算法的CSAMT一維反演
      一種基于遺傳算法的聚類分析方法在DNA序列比較中的應(yīng)用
      基于遺傳算法和LS-SVM的財(cái)務(wù)危機(jī)預(yù)測(cè)
      軟件測(cè)試工程化模型及應(yīng)用研究
      基于改進(jìn)的遺傳算法的模糊聚類算法
      德惠市| 高尔夫| 交口县| 东乡县| 吉安县| 华阴市| 大港区| 仙游县| 内丘县| 龙里县| 招远市| 琼中| 鄂尔多斯市| 库车县| 荣成市| 松桃| 房产| 梁平县| 德阳市| 连南| 长丰县| 宣汉县| 阿巴嘎旗| 周口市| 东阳市| 抚宁县| 桂平市| 江山市| 宜章县| 临澧县| 阳城县| 文山县| 木里| 阿鲁科尔沁旗| 茶陵县| 河源市| 龙里县| 泗水县| 都江堰市| 汤阴县| 临海市|