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

?

一種模糊K-means算法在測試用例集約簡中的應(yīng)用

2016-12-07 07:05:25余國清周蘭蓉羅可
關(guān)鍵詞:測試用例用例約簡

余國清, 周蘭蓉, 羅可

(1. 長沙理工大學(xué) 計算機與通信工程學(xué)院, 湖南 長沙 410114;2. 湖南信息職業(yè)技術(shù)學(xué)院 計算機工程學(xué)院, 湖南 長沙 410200)

?

一種模糊K-means算法在測試用例集約簡中的應(yīng)用

余國清1,2, 周蘭蓉2, 羅可1

(1. 長沙理工大學(xué) 計算機與通信工程學(xué)院, 湖南 長沙 410114;2. 湖南信息職業(yè)技術(shù)學(xué)院 計算機工程學(xué)院, 湖南 長沙 410200)

為了提高軟件測試用例集約簡的成效,提出一種基于模糊K-means的軟件測試集用例約簡算法,引入模糊劃分思想,結(jié)合測試需求集,從各個簇中抽取測試用例,盡可能地發(fā)現(xiàn)相似的用例.實驗結(jié)果表明:算法能夠最小化約簡用例集,用例集覆蓋范圍最廣泛,錯誤率檢測較高.

用例約簡; 模糊K-means算法; 復(fù)雜度; 軟件測試

隨著互聯(lián)網(wǎng)、云計算等技術(shù)的快速發(fā)展,軟件功能及規(guī)模也迅速增大,程序開發(fā)潛在的錯誤和漏洞也逐漸增多[1-3].軟件測試可以在軟件開發(fā)完成之后,使用控制數(shù)據(jù)、加工數(shù)據(jù)等用例進行測試,發(fā)現(xiàn)軟件存在的錯誤,保證軟件的完整性、可靠性和準(zhǔn)確性.但是,大規(guī)模軟件需要設(shè)計較多的測試用例,造成人工測試模式定位難度大、耗費時間較長,不能夠快速定位和修改軟件錯誤[4-5].軟件測試用例約簡已經(jīng)成為降低軟件測試用例數(shù)量和提高測試成效的關(guān)鍵技術(shù),許多學(xué)者對其進行了研究[6-11],引入了集合約簡、關(guān)聯(lián)規(guī)則、專家數(shù)據(jù)庫等技術(shù),在保持較高測試準(zhǔn)確度的條件下,大大減少了用例數(shù)量.軟件測試用例約簡仍存在用例集規(guī)模較大、用例重復(fù)出現(xiàn)、錯誤定位精確度小等問題.本文引入隸屬度函數(shù)改進K-means算法,旨在利用模糊數(shù)學(xué)提高軟件測試用例劃分的準(zhǔn)確度.

1 背景理論

1.1 軟件測試用例約簡

測試用例需要全覆蓋軟件的每一個步驟和環(huán)節(jié),針對每一行代碼進行測試.軟件測試用例約簡是指在用例集T中,尋找一個最簡化的子集T′,該子集可以滿足所有的測試任務(wù).

1.2 模糊K-means算法

K-means算法采用硬聚類劃分思想,劃分過程較為武斷,不能夠充分地考慮測試用例的多個屬性,導(dǎo)致聚類結(jié)果與實際情況存在偏差.因此,為了能夠提高K-means算法的準(zhǔn)確度,假設(shè)軟件測試用例共有n個,每一個測試用例使用m個特征進行刻畫,則引入了隸屬度函數(shù),使用隸屬度刻畫測試用例歸屬,提高數(shù)據(jù)對象劃分準(zhǔn)確性,易于解釋和描述.軟件測試用例為

(1)

式(1)中:xi,j表示樣本j的特征i,j=1,2,…,n,i=1,2,…,m.為了能夠更好的保證K-means算法正確執(zhí)行,算法運行之前需要對其檢修歸一化處理,即

(2)

式(2)中: xi,max表示第i個指標(biāo)特征的最大取值;xi,min表示第i個指標(biāo)特征的最小取值;ri,j表示歸一化后xi,j的取值.軟件測試用例集矩陣X歸一化之后為

(3)

軟件測試用例集X假設(shè)存在C個類別,則數(shù)據(jù)集X可以使用模糊識別矩陣進行描述,即

(4)

假設(shè)軟件測試樣本劃分類別h的m個特征向量值作為K-means算法的中心數(shù)據(jù),則一個具有X個類別的軟件測試用例集擁有C個模糊聚類中心,即

(5)

式(5)中:si,h為類別h指標(biāo)i的歸一化特征值,0≤si,h≤1.

為了滿足不同的聚類用戶處理需求,在模糊聚類執(zhí)行過程中,可以針對不同的劃分設(shè)置不同的特征權(quán)值,以便能夠突出某些特征屬性的貢獻度,即

(6)

模糊K-means算法的目標(biāo)函數(shù)形式為

(7)

2 在測試用例機約簡中的應(yīng)用

在模糊K-means算法中,假設(shè)軟件測試用例集為T={t1,t2,…,tn},數(shù)據(jù)集擁有的類別數(shù)目為K個,mi為第i個簇的中心,i=1,2,…k.模糊K-means的目標(biāo)函數(shù)為

(8)

式(8)中:b為一個常數(shù),可以控制模糊K-means隸屬度.通過對模糊K-means的隸屬度函數(shù)求導(dǎo)數(shù),可以獲取模糊K-means算法的最優(yōu)解,最優(yōu)解的求解過程分別為

(9)

(10)

模糊K-means算法使用程序,迭代執(zhí)行最優(yōu)化求解式(9),(10),可以針對軟件測試用例集進行劃分.具體的算法偽代碼流程如下.算法輸入:軟件測試用例約簡類簇數(shù)目K,隸屬度控制常數(shù)參數(shù)b,N個數(shù)據(jù)對象的軟件測試用例集.算法輸出:軟件測試用例約簡后的K個簇.算法有以下4個步驟.

步驟1 隨機化的將N個軟件測試用例分配到K個簇中,分派每一個簇的中心特征向量為mi.

步驟2 使用式(10)準(zhǔn)確計算獲取軟件測試用例的隸屬度函數(shù).

步驟3 使用式(9)重新計算軟件測試用例簇的中心值mi.

步驟4 計算每一個數(shù)據(jù)對象的隸屬度,直到隸屬度不再變化,終止算法運行;否則,返回步驟2.

由于在K-means算法基礎(chǔ)上,引入模糊控制b,可以根據(jù)模糊控制因子的取值經(jīng)驗.當(dāng)b=0.75時,能夠取得較好的約簡效果.基于此,可以分析測試用例的屬性相近程度.

3 實驗結(jié)果分析

3.1 數(shù)據(jù)集

采用SiemensCorporateResearch提供的軟件測試公共數(shù)據(jù)集,數(shù)據(jù)集1,2,3包含的用例數(shù)為30;數(shù)據(jù)集4,5,6,7包含的用例數(shù)為32.

3.2 評價標(biāo)準(zhǔn)

約簡算法的評價標(biāo)準(zhǔn)有算法約簡率(SR)、軟件錯誤檢測率(FDE)、軟件錯誤檢測丟失率(FL)3個方法,分別表示為

圖1 3種算法約簡率Fig.1 Three algorithms reduction rate

其中:|T|為軟件測試用例集的元素數(shù);|T′|為約簡算法約簡后的軟件測試用例集中的元素數(shù);|F|為未約簡的用例集測試軟件功能時檢測出來的錯誤數(shù);|F′|為約簡后的用例集檢測出來的軟件功能錯誤數(shù).

3.3 結(jié)果分析

1) 約簡率比較.3種算法約簡率,如圖1所示.模糊K-means算法引入了模糊控制因子,可以動態(tài)地調(diào)整隸屬度特征權(quán)重,將概率值較為接近的軟件測試用例劃分到一起,在保證全覆蓋的條件下,可以有效提高K-means算法的約簡率,降低軟件測試的復(fù)雜度和工作量.

2) 軟件錯誤檢測率比較.3種算法檢錯率,如圖2所示.模糊K均值算法約簡后的測試用例能夠檢測出更多軟件錯誤數(shù),表明文中算法約簡后的依然可以保持全覆蓋能力.另外兩種算法約簡后,把一些測試功能不同的用例劃分到一個簇中,這樣造成約簡后的用例無法全覆蓋軟件功能,錯誤檢測率較低.

3) 錯誤檢測丟失率比較.3種算法的錯誤檢測丟失率,如圖3所示.由圖3可知:矩陣行列變換算法、關(guān)聯(lián)模式約簡算法非常容易將不同覆蓋類型的用例約簡掉,因此,漏檢率較低,算法約簡效果不好.

圖2 3種算法檢錯率 圖3 3種算法錯誤檢測丟失率Fig.2 Three algorithms error rate Fig.3 Three algorithms error detection loss rate

4 結(jié)束語

在K-means算法中引入了隸屬度函數(shù),采用模糊數(shù)學(xué)思想提高K-means算法劃分軟件測試用例集,可以提高用例約簡數(shù)量,并且保持用例集檢測軟件錯誤的可靠性.未來研究工作包括兩個關(guān)鍵內(nèi)容:引入模擬退火理論,實現(xiàn)模糊控制因子的自動化確定;針對軟件測試用例集進行泛化,提高算法的穩(wěn)定性和魯棒性.

[1] KUMAR G,BHATIA P K.Software testing optimization through test suite reduction using fuzzy clustering[J].Csi Transactions on Ict,2013,1(3):253-260.

[2] PAKINAM N B,NAGWA L B,MOHAMED H,et al.Test case generation and test data extraction techniques[J].International Journal of Electrical and Computer Sciences,2011,24(5):112-119.

[3] SUN F,TONG X H,XUE S F.A study of relative redundancy in test-suite reduction while retaining or improving fault-localization effectiveness[C]∥Proceedings of the 2010 ACM Symposium on Applied Computing.[S.l.]:ACM,2010:2229-2236.

[4] HAO D,XIE T,ZHANG L,et al.Test input reduction for result inspection to facilitate fault localization[J].Automated Software Engineering,2010,17(1):5-31.

[5] GONG Hongfang,LI Junyi.Generating test cases of cluster-level based on classes dependencies reduction[J].Jouranl of Central South University: Science and Technology,2010,41(1):238-244.

[6] GU Qing,TANG Bao,CHEN Daoxu.A test suite reduction technique for partial coverage of test requirements[J].Chinese Journal of Computers,2011,34(5):879-888.

[7] CHEN Jing,YANG Meihong,WANG Lu,et al.Regression test case reduction model based on association mode[J].Computer Engineering,2011,37(2):63-65.

[8] ZHOU Chongbo,LOU Jungang,CHENG Long.Test suites reduction based on matrix transformation[J].Application Research of Computer,2013,30(3):779-782.

[9] CHEN Yangmei,DING Xiaoming.Test suite reduction methods based on K-medoids[J].Computer Science,2012,39(6):422-424.

[10] SU Xiaohong,GONG Dandan,WANG Tiantian,et al.Automatic fault localization approach combining test case reduction and joint dependency probabilistic model[J].Journal of Software,2014,25(7):1492-1504.

[11] 劉竹松,陳潔.考慮數(shù)據(jù)不確定性的非均勻挖掘算法[J].華僑大學(xué)學(xué)報(自然科學(xué)版),2016,37(3):308-311.

(責(zé)任編輯: 陳志賢 英文審校: 吳逢鐵)

FuzzyK-Means Algorithm of Software Testing Using Case Reduction

YU Guoqing1,2, ZHOU Lanrong2, LUO Ke1

(1. Deptment of Computer and Communication Engineering,Changsha University of Science and Technology, Changsha 410114, China;2. School of Computer Engineering, Hunan College of Information Technology, Changsha 410200, China)

To improve the effectiveness of the software test set reduction, a software test set case reduction algorithm based on fuzzyKmeans is proposed. The fuzzy partition idea is introduced. The test suite is extracted from each cluster, finded similar cases. Experimental results showed that the algorithm can minimize the reduction case set, covers the most extensive and highly detect the error rate.

case reduction; fuzzyK-means software testing; complexity; software testing

10.11830/ISSN.1000-5013.201606024

2016-10-20

余國清(1971-),男,副教授,主要從事人工智能、智能控制、數(shù)據(jù)挖掘的研究.E-mail:yuguoqing@mail.hniu.cn.

湖南省科學(xué)技術(shù)計劃項目(2011FJ3086)

TP 311

A

1000-5013(2016)06-0778-04

猜你喜歡
測試用例用例約簡
UML用例模型中依賴關(guān)系的比較與分析
基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
基于二進制鏈表的粗糙集屬性約簡
聯(lián)鎖軟件詳細設(shè)計的測試需求分析和用例編寫
從出土文獻用例看王氏父子校讀古書的得失
基于混合遺傳算法的回歸測試用例集最小化研究
實值多變量維數(shù)約簡:綜述
基于模糊貼近度的屬性約簡
基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
一種改進的分布約簡與最大分布約簡求法
河南科技(2014年7期)2014-02-27 14:11:29
贵阳市| 万年县| 定西市| 隆林| 昂仁县| 丰城市| 博乐市| 盐亭县| 康乐县| 阜新市| 瑞昌市| 肇庆市| 元谋县| 麟游县| 霍城县| 民勤县| 三河市| 榆社县| 南皮县| 长子县| 盐池县| 古丈县| 肥东县| 嵊州市| 周宁县| 天镇县| 确山县| 吉木乃县| 宁明县| 射阳县| 会泽县| 鄂伦春自治旗| 靖远县| 赣州市| 龙里县| 安新县| 洱源县| 灵丘县| 西吉县| 岳池县| 青阳县|