国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

智能優(yōu)化算法自動(dòng)生成計(jì)算機(jī)軟件測(cè)試數(shù)據(jù)的方法

2018-03-29 03:04:28
關(guān)鍵詞:測(cè)試數(shù)據(jù)軟件測(cè)試度量

任 群

(亳州學(xué)院 電子與信息工程系,安徽 亳州236800)

隨著軟件應(yīng)用規(guī)模越來(lái)越大,復(fù)雜程度越來(lái)越高,軟件的質(zhì)量和可靠性變得尤為重要[1-2],計(jì)算機(jī)軟件的數(shù)據(jù)測(cè)試也成了很多人關(guān)注的焦點(diǎn)[3-4]。在計(jì)算機(jī)軟件的使用過(guò)程中,計(jì)算機(jī)軟件本身的缺陷將會(huì)影響計(jì)算機(jī)的正常使用。計(jì)算機(jī)軟件缺陷在軟件開(kāi)發(fā)的過(guò)程中是客觀存在的[5-6],如果不能及時(shí)發(fā)現(xiàn)軟件的缺陷,就有可能導(dǎo)致計(jì)算機(jī)軟件無(wú)法使用,甚至產(chǎn)生無(wú)法彌補(bǔ)的嚴(yán)重后果[7]。

基于上述問(wèn)題,本文提出了基于智能優(yōu)化算法的計(jì)算機(jī)軟件測(cè)試數(shù)據(jù)自動(dòng)生成方法。該方法能夠在軟件測(cè)試過(guò)程中自動(dòng)生成測(cè)試數(shù)據(jù),并自動(dòng)對(duì)計(jì)算機(jī)軟件測(cè)試數(shù)據(jù)進(jìn)行優(yōu)化測(cè)試。最后,對(duì)提出的方法使用Eclipse標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行數(shù)據(jù)測(cè)試,結(jié)果表明,該方法可以提高計(jì)算機(jī)軟件測(cè)試數(shù)據(jù)的自動(dòng)生成效率,有利于改善軟件的質(zhì)量。

1 智能優(yōu)化算法自動(dòng)生成的測(cè)試數(shù)據(jù)模型

軟件測(cè)試的目的是及時(shí)發(fā)現(xiàn)軟件中存在的缺陷,并對(duì)其進(jìn)行修正。在利用智能算法自動(dòng)生成測(cè)試數(shù)據(jù)的過(guò)程中,需要從軟件模塊中提取度量元數(shù)據(jù)。利用回歸、分類、聚類等方法找出度量元及其測(cè)試數(shù)據(jù)之間的相互聯(lián)系,以相互聯(lián)系為基準(zhǔn),對(duì)其建立測(cè)試數(shù)據(jù)模型,再通過(guò)基本模型對(duì)軟件中的待測(cè)數(shù)據(jù)進(jìn)行測(cè)試(如圖1所示)。本文以智能優(yōu)化算法自動(dòng)生成的加權(quán)測(cè)試數(shù)據(jù)為基準(zhǔn),對(duì)計(jì)算機(jī)軟件測(cè)試數(shù)據(jù)進(jìn)行不同算法的對(duì)比實(shí)驗(yàn)研究。

圖1 計(jì)算機(jī)軟件測(cè)試數(shù)據(jù)模型

2 智能優(yōu)化算法自動(dòng)生成的測(cè)試數(shù)據(jù)方法

2.1 計(jì)算機(jī)軟件測(cè)試數(shù)據(jù)模型

本文中借鑒了Stacking技術(shù),這是一種在行業(yè)中知名的集成推理技術(shù)。在Stacking框架中含有2層分類器,level-0表示的是基分類器,level-1表示的是元分類器。在軟件數(shù)據(jù)測(cè)試中,第一步是對(duì)數(shù)據(jù)集進(jìn)行預(yù)測(cè),第二步是把基分類器中輸出的結(jié)果作為輸入數(shù)據(jù)通過(guò)元分類器進(jìn)行輸入,第三步,將生成的數(shù)據(jù)集作為新推理器的訓(xùn)練數(shù)據(jù)集,再利用數(shù)據(jù)測(cè)試算法對(duì)其進(jìn)行測(cè)試。采用相對(duì)復(fù)雜的智能化算法進(jìn)行計(jì)算機(jī)軟件測(cè)試數(shù)據(jù)模型建立,利用此方法把屬性子集應(yīng)用到軟件測(cè)試數(shù)據(jù)的建模之中,在數(shù)據(jù)丟失最小化的前提下提高模型的性能,以便減少測(cè)試時(shí)間。

定義1:屬性A的數(shù)據(jù)增益率可用IGR(A)=IG(A)/I(A)進(jìn)行表示,其中,IG(A)表示的是屬性A的數(shù)據(jù)增益。IG(A)=entropy(S)-entropy(S,A),表示的是劃分之前數(shù)據(jù)的熵和劃分之后數(shù)據(jù)的熵的差值。

設(shè)訓(xùn)練集S={S1,S2,L,SN},在表達(dá)式中,Si含有一個(gè)屬性向量,該向量可以表示為Xi=(xi1,xi2,L,xip),同時(shí)Si還含有一個(gè)分類標(biāo)簽,該分類標(biāo)簽可以表示為ci∈C={c1,c2,L,cm}。式中,Xi表示的是含有度量向量的測(cè)試數(shù)據(jù)是否存在缺陷的標(biāo)記,ci則對(duì)測(cè)試數(shù)據(jù)是否存在缺陷進(jìn)行標(biāo)記。如果設(shè)pi是S中屬于類別i的比例,數(shù)據(jù)熵則用下式表示:

任何一個(gè)屬性都有幾個(gè)不同的取值,設(shè)Values(A)表示的是A中取不同值的集合,Sv表示的是集合S中所有屬性A取值為v的集合,則可以得到:

本式表示的是基于按A劃分后對(duì)S的元組準(zhǔn)確分類還需要的數(shù)據(jù)量。

引入內(nèi)在數(shù)據(jù)I表示的是訓(xùn)練集S用屬性A進(jìn)行劃分后的數(shù)據(jù)集S',若進(jìn)一步劃分,數(shù)據(jù)總量用下式表示:

數(shù)據(jù)增益率本質(zhì)上是一種補(bǔ)償措施,它可以有效解決數(shù)據(jù)增益中存在的問(wèn)題。

2.2 用智能優(yōu)化算法生成測(cè)試數(shù)據(jù)

獲取計(jì)算機(jī)軟件的測(cè)試數(shù)據(jù)時(shí),應(yīng)該確定合適的映射規(guī)則。二進(jìn)制編碼就是比較好的映射形式,它具有表達(dá)簡(jiǎn)潔、操作方便等諸多優(yōu)點(diǎn),可以提高智能優(yōu)化算法的計(jì)算效率。根據(jù)數(shù)據(jù)類型的不同,所對(duì)應(yīng)的編碼映射也是不一樣的。在進(jìn)行計(jì)算機(jī)軟件數(shù)據(jù)測(cè)試時(shí)可能會(huì)對(duì)其他參數(shù)產(chǎn)生影響。因此,需要將每個(gè)輸入?yún)?shù)獨(dú)立的編碼,使其成為一個(gè)二進(jìn)制位的參數(shù),之后再將全部的參數(shù)連接起來(lái),組成一個(gè)獨(dú)立的個(gè)體,此處稱之為多參數(shù)級(jí)聯(lián)編碼。具體如下:

級(jí)連之前:X1,X2,……,XN

b11b12…b1m,b21b22…b2m,……,bn1bn2…bnm

級(jí)連之后:b11b12…b1m,b21b22…b2m,bn1bn2… bnm

在進(jìn)行解碼時(shí)應(yīng)該先從總碼中切取n段,每段長(zhǎng)度為m的數(shù)據(jù)鏈,再分別進(jìn)行解碼。

在本文中,采用智能優(yōu)化轉(zhuǎn)化公式:

式中,θ為旋轉(zhuǎn)角。

采用智能優(yōu)化算法生成測(cè)試數(shù)據(jù)的步驟如下:

(1)初始化個(gè)體:掃描給定的路徑,找出需要生成測(cè)試數(shù)據(jù)的變量,并為每個(gè)變量賦隨機(jī)的0,1串,按照多參數(shù)級(jí)聯(lián)編碼原則,組成個(gè)體。

(2)計(jì)算適值函數(shù)值:根據(jù)構(gòu)造的適值函數(shù),分別計(jì)算每組變量的適值函數(shù)值,若滿足終止條件,則轉(zhuǎn)(4)步。

(3)改進(jìn)個(gè)體:若沒(méi)有滿足條件的個(gè)體,則進(jìn)行以下運(yùn)算:

①按適值函數(shù)值選擇下一代個(gè)體。

②解的交叉:從產(chǎn)生的個(gè)體中隨機(jī)選擇兩個(gè)個(gè)體進(jìn)行單點(diǎn)交叉,得到新個(gè)體,重復(fù)該步驟,直到所有個(gè)體均被選中為止。

③解的變異:在交叉后的個(gè)體中隨機(jī)加入一些變異,產(chǎn)生新個(gè)體。

④轉(zhuǎn)到第(2)步。

(4)拆分滿足條件的個(gè)體:把每個(gè)變量對(duì)應(yīng)的0,1串轉(zhuǎn)換成十進(jìn)制數(shù),這些數(shù)據(jù)即為生成的測(cè)試數(shù)據(jù)。

(5)算法結(jié)束。

2.3 軟件測(cè)試數(shù)據(jù)評(píng)價(jià)指標(biāo)

對(duì)于本文設(shè)計(jì)的計(jì)算機(jī)軟件測(cè)試數(shù)據(jù)評(píng)價(jià)指標(biāo)主要有(area under ROC cure)、F-度量、精確度等。對(duì)于測(cè)試的結(jié)果可以采用表1所示的矩陣進(jìn)行表示:

表1 評(píng)價(jià)指標(biāo)

(1)精確度:precision=TP/(TP+FP);

(2)召回率:recall=TP/(TP+FN);

(3)F度量:F_measure=2×precision×recall/(precision+recall);

(4)AUC:ROC曲線下面積。ROC曲線最初是用來(lái)對(duì)收益與成本之間的權(quán)衡關(guān)系進(jìn)行描述的。AUC在區(qū)間[0,1]中波動(dòng),若模型越好,則面積越大(即AUC的值越大)。針對(duì)文中的軟件測(cè)試數(shù)據(jù),使用成本優(yōu)化速度(Cost optimization speed, COS)作為評(píng)價(jià)指標(biāo),利用運(yùn)算效率(Operational efficiency,OE)進(jìn)行指標(biāo)評(píng)價(jià)。

3 實(shí)驗(yàn)結(jié)果與分析

3.1 實(shí)驗(yàn)準(zhǔn)備

本實(shí)驗(yàn)PC機(jī)的硬件條件是:Intel Core i3-4130 3.40GHzCPU,4GB內(nèi)存。使用計(jì)算機(jī)軟件為Eclipse,外部依賴項(xiàng)是weka.jar。實(shí)驗(yàn)數(shù)據(jù)主要來(lái)源于Eclipse標(biāo)準(zhǔn)數(shù)據(jù),在這些文件中,有6個(gè)是ARFF格式的文件,這些文件不但收集了度量元,還收集了缺陷數(shù)目,在數(shù)據(jù)中,所包含的度量元包括以下四種:

(1)Name:表示的是數(shù)據(jù)對(duì)應(yīng)的包名或文件名;

(2)Pre-release Defects:表示的是版本發(fā)布前半年內(nèi)收集的缺陷數(shù)目;

(3)Post-release Defects:表示的是版本發(fā)布后半年內(nèi)收集的缺陷數(shù)目;

(4)復(fù)雜性度量:指的是CK度量元與面向?qū)ο蠖攘吭?/p>

(5)抽象語(yǔ)法樹(shù)結(jié)構(gòu)——抽象語(yǔ)法樹(shù)的結(jié)點(diǎn)度量。

File級(jí)別與Package級(jí)別的數(shù)據(jù),在結(jié)構(gòu)上是有差異的。正因?yàn)檫@樣,F(xiàn)ile級(jí)別的數(shù)據(jù)就只能測(cè)試File級(jí)別數(shù)據(jù)訓(xùn)練的模型,Package級(jí)別的亦是如此。我們使用File/Package中的數(shù)據(jù)進(jìn)行測(cè)試。

3.2 實(shí)驗(yàn)結(jié)果

表2 不同的智能優(yōu)化算法軟件性能檢測(cè)對(duì)比

先對(duì)數(shù)據(jù)進(jìn)行一次測(cè)試,因?yàn)閷?shí)驗(yàn)的結(jié)果太多,同時(shí)效果特別相似,因此只列出了一部分實(shí)驗(yàn)結(jié)果,見(jiàn)表2。為了方便表示,本文算法使用AGIOA表示,決策樹(shù)算法使用RF來(lái)表示,邏輯回歸使用LR表示,神經(jīng)網(wǎng)絡(luò)使用NN表示。

觀察表2可知,邏輯回歸算法的主要優(yōu)勢(shì)是測(cè)試精度高,但劣勢(shì)也比較明顯,就是召回率過(guò)低。決策樹(shù)算法相對(duì)來(lái)說(shuō)召回率比較高,但是測(cè)試精度并不高。神經(jīng)網(wǎng)絡(luò)算法在測(cè)試精度、召回率都不是很理想。而與其他三種算法相比,AGIOA算法在各方面均表現(xiàn)出了優(yōu)越性。通常,測(cè)試數(shù)據(jù)模型越復(fù)雜,其綜合指標(biāo)越讓人滿意,但其耗費(fèi)的時(shí)間也將越多。對(duì)于簡(jiǎn)單的測(cè)試,18次的實(shí)驗(yàn),只要幾分鐘就能搞定;如果是算法過(guò)于復(fù)雜,18次實(shí)驗(yàn)則需要幾個(gè)小時(shí)才能完成。這恰恰可以證實(shí)評(píng)價(jià)指標(biāo)不同,算法也不會(huì)相同。

基于智能優(yōu)化算法自動(dòng)生成測(cè)試數(shù)據(jù),將測(cè)試結(jié)果從大到小地進(jìn)行加權(quán)計(jì)算,從而繪制出COS曲線與OE曲線,如圖2所示。在COS評(píng)價(jià)中,計(jì)算機(jī)軟件測(cè)試模型由于加入了回歸度量,因此數(shù)據(jù)測(cè)試能力得到了提高。OE指標(biāo)與單個(gè)算法測(cè)試比較相似,但以后的優(yōu)化比較困難,原因是3種案例所使用的軟件測(cè)試數(shù)據(jù)的自動(dòng)生成算法原理幾乎一致,因此很難為加權(quán)模型的數(shù)據(jù)測(cè)試提供有價(jià)值的數(shù)據(jù)。凡是采用智能優(yōu)化算法自動(dòng)生成算法的OE曲線,其斜率都接近1,換句話說(shuō),就是接近隨機(jī)加權(quán)的結(jié)果。

圖2 智能優(yōu)化算法自動(dòng)生成的軟件數(shù)據(jù)部分測(cè)試結(jié)果

4 總結(jié)

本文提出了基于智能優(yōu)化算法的自動(dòng)生成計(jì)算機(jī)軟件測(cè)試數(shù)據(jù)的方法,該方法對(duì)所采集到的數(shù)據(jù)進(jìn)行快速測(cè)試,將測(cè)試的結(jié)果與樣本數(shù)據(jù)相結(jié)合,從而形成新的度量元,經(jīng)過(guò)度量元處理后得到新數(shù)據(jù)。再利用智能優(yōu)化算法對(duì)新的數(shù)據(jù)進(jìn)行模型構(gòu)建,所得的測(cè)試模型,經(jīng)試驗(yàn)表明:該方法提高了軟件測(cè)試數(shù)據(jù)生成效率,是一種較為理想的軟件測(cè)試數(shù)據(jù)生成算法。

[1] Jiang, Z. M., & Hassan, A. A survey on load testing of large-scale software systems[J].IEEE Transactions on Software Engineering, 2015,41(11):1091-1118.

[2] Wang, M., Jia, H., Sugumaran, V., Ran, W., & Liao, J. A web-based learning system for software test professionals[J].IEEE Transactions on Education, 2011,54(2):263-272.

[3] Cotroneo, D., Pietrantuono, R., & Russo, S. Relai testing: a technique to assess and improve software reliability[J].IEEE Transactions on Software Engineering, 2016,42(5):452-475.

[4] Bohme, M., & Paul, S. A probabilistic analysis of the efficiency of automated software testing[J].IEEE Transactions on Software Engineering, 2016,42(4):345-360.

[5] Carlo, S. D., Prinetto, P., & Savino, A. Software-based self-test of set-associative cache memories[J].IEEE Transactions on Computers, 2011,60(7):1030-1044.

[6] Garousi, V., & Felderer, M. Worlds apart: industrial and academic focus areas in software testing[J].IEEE Software, 2017,34(5):38-45.

[7] Xu, J., & Xu, P. The research of memory fault simulation and fault injection method for bit software test[J]. IEEE, 2012,7(1):718 - 722.

猜你喜歡
測(cè)試數(shù)據(jù)軟件測(cè)試度量
有趣的度量
模糊度量空間的強(qiáng)嵌入
基于OBE的軟件測(cè)試課程教學(xué)改革探索
迷向表示分為6個(gè)不可約直和的旗流形上不變愛(ài)因斯坦度量
測(cè)試數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
EXCEL和VBA實(shí)現(xiàn)軟件測(cè)試記錄管理
電子制作(2018年16期)2018-09-26 03:27:18
關(guān)于軟件測(cè)試技術(shù)應(yīng)用與發(fā)展趨勢(shì)研究
基于自適應(yīng)粒子群優(yōu)化算法的測(cè)試數(shù)據(jù)擴(kuò)增方法
軟件測(cè)試工程化模型及應(yīng)用研究
空間co-location挖掘模式在學(xué)生體能測(cè)試數(shù)據(jù)中的應(yīng)用
體育科技(2016年2期)2016-02-28 17:06:21
龙泉市| 曲松县| 建瓯市| 桐城市| 文化| 富顺县| 河池市| 廊坊市| 遵义县| 中阳县| 湘潭县| 嵩明县| 佛坪县| 乌拉特后旗| 镇巴县| 寿阳县| 万全县| 潜山县| 凤台县| 长宁区| 博乐市| 宁乡县| 长兴县| 阜新| 甘泉县| 宾阳县| 仙桃市| 永吉县| 吴旗县| 明溪县| 商洛市| 义马市| 裕民县| 古田县| 武功县| 临西县| 阿鲁科尔沁旗| 惠来县| 南漳县| 建湖县| 衡水市|