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

基于神經網絡的回歸測試用例優化研究

2015-10-22 21:08:22黃偉楊金鳳
現代電子技術 2015年19期

黃偉 楊金鳳

摘 要: 回歸測試是指修改了源代碼后,重新進行測試以確認已發現的缺陷是否修復和檢測修改是否引入了新的錯誤或導致其他代碼產生錯誤,在測試過程中占有很大的工作量比重。通過分析神經網絡的基本原理,并將BP算法的思想引入到回歸測試的用例集選取中,介紹了回歸測試用例包選取的算法,通過樣本訓練,篩選出代碼改動后可能影響到的功能,從而可以篩選出優先級別較高的用例。最后,通過測試實踐的積累,總結了一套高效易行的回歸測試策略。

關鍵詞: 回歸測試; 測試用例; 神經網絡; BP網絡

中圖分類號: TN711?34 文獻標識碼: A 文章編號: 1004?373X(2015)19?0114?03

Abstract: Regression testing means after modifying the source code, re?testing to confirm whether the discovered defect is repaired, and whether detection and modification have brought in a new bug or caused the errors in other codes which possesses a large proportion of the workload during testing procedure. The fundamental principle of neural network is analyzed, and the thought of BP algorithm is introduced into the case set selection of regression testing. The algorithm to select regression testing case package is presented. The functions which may be influenced by code modification are screened out by samples training, and the higher priority use case can be screened out. A set of regression testing strategy with high efficient and easy operation was summed up through the accumulation of testing practice.

Keywords: regression testing; testing case; neural network; BP network

0 引 言

軟件分析,設計過程中難免有各種各樣的錯誤,需要通過測試查找錯誤,以保證軟件的質量。軟件測試是由人工或計算機來執行或評價軟件的過程,驗證軟件是否滿足規定的需求或識別期望的結果和實際結果之間有無差別。大量統計資料表明,軟件測試工作量往往占軟件開發總量的40%以上。而回歸測試作為軟件生命周期的一個組成部分,在整個軟件測試過程中占有很大的工作量比重,軟件開發的各個階段都會進行多次回歸測試。在漸進和快速迭代開發中,新版本的連續發布使回歸測試變得更加頻繁,而在極端編程方法中,更是要求每天都進行若干次回歸測試。因此,研究回歸測試方法,盡可能地將軟件存在的問題找出來,對保證軟件質量和提升測試工作效率都是非常有意義的。

1 相關工作

1.1 回歸測試

回歸測試是指修改了舊代碼后,重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。對于一個軟件開發項目來說,項目的測試組在實施測試的過程中會將所開發的測試用例保存到“測試用例庫”中,并對其進行維護和管理。當得到一個軟件的基線版本時,用于基線版本測試的所有測試用例就形成了基線測試用例庫。在需要進行回歸測試時,就可以根據所選擇的回歸測試策略,從基線測試用例庫中提取合適的測試用例組成回歸測試包,通過運行回歸測試包實現回歸測試。

在軟件生命周期中,即使一個得到良好維護的測試用例庫也可能變得相當大,這使每次回歸測試都重新運行完整的測試包變得不切實際。一個完全的回歸測試包括每個基線測試用例,時間和成本約束可能阻礙運行這樣一個測試,有時測試工作不得不選擇一個縮減的回歸測試包來完成回歸測試。

1.2 相關技術的研究

測試用例的優化技術旨在以小的運行代價盡可能多地發現系統Bug。假設測試用例是能發現缺陷的;測試用例的運行效率是一樣的。測試用例的集合的選取不僅是減少用例的數目,降低用例的執行代價,也需要考慮測試覆蓋能力,即缺陷發現能力。在測試用例選擇優化的問題上,已有很多文獻對此進行了研究,如配對測試法[1]、關系樹模型[2]、蟻群模擬退火算法[3]及一些其他新的理論和方法[4?7]。

2 回歸測試用例集生成方法

2.1 基本原理

神經網絡是通過對人腦的基本單元——神經元的建模和聯接,探索模擬人腦神經系統功能的模型,并研制一種具有學習、聯想、記憶和模式識別等智能信息處理功能的人工系統。

神經網絡的一個重要特性是它能夠從環境中學習,并把學習的結果分布存儲于網絡的突觸連接中。神經網絡的學習是一個過程,在其所處環境的激勵下,相繼給網絡輸入一些樣本模式,并按照一定的規則(學習算法)調整網絡各層的權值矩陣,待網絡各層權值都收斂到一定值,學習過程結束,從而以新的方式響應環境。

2.2 BP神經網絡

Back?Propagation Network,由于其權值的調整采用反向傳播(Back Propagation)的學習算法,因此被稱為BP網絡。網絡中心思想是梯度下降法,通過梯度搜索技術,使網絡實際輸出值與期望輸出值的誤差均方值最小。網絡的學習過程是一種誤差邊向后傳播邊修正權系數的過程。一般分三層:輸入層(Input Layer),隱層(Hide Layer),輸出層(Out Layer),也可以有2層或更多個隱層。層與層之間采用全互聯方式,同一層單元之間不存在相互連接,如圖1所示。endprint

由于神經網絡具有自學習、自組織和并行處理等特征,并具有很強的容錯能力和聯想能力,因此,神經網絡具有模式識別能力。在神經網絡識別中,根據標準的輸入輸出模式對,采用神經網絡學習算法,以標準的模式作為學習樣本進行訓練,通過學習調整神經網絡的連接權值。當訓練滿足要求后,得到知識庫,如圖2所示。

BP算法的具體步驟如下:

(1) 用小的隨機數對每一層的權值[W]初始化,以保證網絡不被大的加權輸入飽和;

(2) 計算網絡各層輸出矢量以及網絡誤差[E;]

(3) 計算各層反傳的誤差變化并計算各層權值的修正值以及新權值;

(4) 再次計算權值修正后誤差的平方和;

(5) 檢查誤差是否小于給定誤差,若是,訓練結束;否則繼續。

輸入信號[Xi]通過中間節點(隱藏層節點)作用于輸出節點,經過非線性變換,產生輸出信號[Yk,]網絡訓練的每個樣本包括輸入向量[X]和期望輸出量[t](類別),網絡輸出值[Y]和期望輸出值(真值)[t]之間的偏差,通過調整輸入節點與隱藏層節點的連接強度取值和隱藏層節點與輸出節點之間的連接強度以及閾值,使誤差沿梯度的方向下降,經過反復學習訓練,確定與最小誤差項對應的網絡參數(權值和閾值),訓練即告停止。學習樣本的數量和質量影響學習效果和學習速度。

為了訓練一個BP網絡,需要計算網絡加權輸入矢量以及網絡輸出和誤差矢量,然后求得誤差平方和。當所訓練矢量的誤差平方和小于誤差目標,訓練則停止;否則在輸出層計算誤差變化,且采用反向傳播學習規則調整權值,并重復此過程。當網絡完成訓練后,對網絡輸入一個不是訓練集合中的矢量,網絡將給出輸出結果。

2.3 回歸測試用例包選取

基于全量的測試用例庫,回歸測試包的選擇策略可遵循下述基本算法進行:

(1) 識別出軟件中被修改的部分。

(2) 從原基線測試用例庫[T]中,排除所有不再適用的測試用例,確定那些對新的軟件版本依然有效的測試用例,其結果是建立一個新的基線測試用例庫[T0。]

(3) 依據一定的策略從[T0]中選擇測試用例測試被修改的軟件。

(4) 如果必要,生成新的測試用例集[T1,]用于測試[T0]無法充分測試的軟件部分。

(5) 用[T1]執行修改后的軟件。

在上述步驟中,第(2)和第(3)步測試驗證修改是否破壞了現有的功能,第(4)和第(5)步測試驗證修改工作本身。第(3)步中,將神經網絡知識結合到測試領域,通過對樣本的學習,確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。

其主要思想為:對于[q]個輸入學習樣本:[P1,P2,…,Pq,]已知與其對應的輸出樣本為:[T1,T2,…,Tq。]通過網絡的實際輸出[A1,A2,…,Aq]與目標矢量[T1,T2,…,Tq]之間的誤差來修改其權值,使[Al (l=1,2,…,q)]與期望的[Tl]盡可能地接近,使網絡輸出層的誤差平方和達到最小。

3 回歸測試實踐的優化

在項目測試過程中,不僅需要應用高新的測試技術,也要從宏觀上制定可行的測試策略,解決在有限的時間中使測試覆蓋率最優化。本文從項目實踐角度出發,提出以下的回歸測試策略:

(1) 對所有已修復Bug進行驗證;

(2) 對新增功能進行全量重點測試;

(3) 對原有功能,按優先級進行測試。基于一定的風險標準從基線測試用例庫中選擇回歸測試包。首先運行最重要、關鍵和可疑的測試,而跳過那些非關鍵、優先級別低或者高穩定的測試用例,這些用例即便可能測試到缺陷,這些缺陷的嚴重性也較低,不影響系統的功能。一般而言,測試從主要特征到次要特征。

(4) 對修復的Bug可能會引入新的Bug的功能模塊重點測試,可采用本文介紹的神經網絡進行樣本訓練和用例篩選。將回歸測試局限于被改變的模塊和它的接口上。通常,一個回歸錯誤一定涉及一個新的、修改的或刪除的代碼段。在允許的條件下,回歸測試盡可能覆蓋受到影響的部分。

(5) 如果情況允許,測試全部用例的策略是最安全的策略。但已經運行過許多次的回歸測試不太可能揭示新的錯誤,而且很多時候,由于時間、人員、設備和經費的原因,不允許選擇再測試全部用例的回歸測試策略,此時,可以選擇適當的策略進行縮減的回歸測試。

4 結 語

將神經網絡知識引入到測試領域是一個比較新的研究,本文就此方向進行了研究,并給出了實例說明。然而,BP神經網絡需要大量的樣本數據用來訓練和測試,當樣本數量不夠時,預測的誤偏差可能會較大,回歸測試開始時,由于數據樣本不足,可能會存在預測的偏差,所以下一步的研究方向將是如何克服這一問題。

參考文獻

[1] 廖劍鋒,蔡賢濤.組合測試中用例集的選擇策略[J].計算機工程與應用,2012,48(11):65?70.

[2] 鈕鑫濤,聶長海,CHAN Alvin.組合測試故障定位的關系樹模型[J].計算機學報,2014,37(12):2505?2518.

[3] 聶長海,徐寶文,史亮.一種基于組合測試的軟件故障診斷方法[J].東南大學學報:自然科學版,2003,33(6):681?684.

[4] 徐寶文,聶長海,史亮,等.一種基于組合測試的軟件故障調試方法[J].計算機學報,2006,29(1):132?138.

[5] YILMAZ C. Covering arrays for efficient fault characterization in complex configuration space [J]. IEEE Transaction on Software Engineering, 2006, 32(1): 20?34.

[6] 鄭燕妮,李志蜀,李奇.蟻群模擬退火算法在測試用例約簡中的應用[J].計算機工程,2009,35(2):197?199.

[7] 于秀山,于洪敏.軟件測試新技術與實踐[M].北京:電子工業出版社,2006.endprint

主站蜘蛛池模板: 日本a级免费| 亚洲乱码视频| 亚洲欧美精品在线| 日韩小视频在线观看| 3D动漫精品啪啪一区二区下载| 国产乱子伦精品视频| 色老二精品视频在线观看| 久久婷婷五月综合色一区二区| 夜夜爽免费视频| 伊人色婷婷| 国产精品欧美在线观看| 超清无码熟妇人妻AV在线绿巨人| 亚洲午夜片| 超碰aⅴ人人做人人爽欧美 | 国产成人免费手机在线观看视频| 黄色三级网站免费| 中文字幕色在线| 国产毛片片精品天天看视频| 蝴蝶伊人久久中文娱乐网| 国产精品视频猛进猛出| 成AV人片一区二区三区久久| 欧美精品亚洲精品日韩专区| 最新国产精品鲁鲁免费视频| 亚洲欧美不卡中文字幕| 亚洲三级视频在线观看| 免费一级无码在线网站| 天天操精品| 爽爽影院十八禁在线观看| 亚洲欧美自拍中文| 亚洲国产精品无码AV| 欧美国产日韩在线| 国产乱视频网站| 国产成人AV男人的天堂| 激情影院内射美女| 婷婷色中文| 99热这里只有精品在线播放| 亚洲国产成人综合精品2020 | 日韩精品无码一级毛片免费| 国产性猛交XXXX免费看| 久久人搡人人玩人妻精品| 久久亚洲国产最新网站| 99视频精品在线观看| 亚洲精品国产乱码不卡| 欧美无专区| 国内精自线i品一区202| 久久精品国产在热久久2019| 高清无码一本到东京热| 在线观看亚洲成人| 久久一级电影| a毛片在线播放| 久久精品国产亚洲AV忘忧草18| 欧美日韩久久综合| 国产精品七七在线播放| 一级毛片免费观看久| 国产精品亚洲一区二区三区z | 欧美视频免费一区二区三区| 亚洲一区无码在线| 国产在线观看91精品| 97精品久久久大香线焦| 中文字幕自拍偷拍| 国产人成乱码视频免费观看| 国产你懂得| 国产精品久久久久久久伊一| 手机在线免费毛片| 免费全部高H视频无码无遮掩| 欧美自慰一级看片免费| 亚洲狼网站狼狼鲁亚洲下载| 欧美国产日韩在线播放| 久久久久国产精品免费免费不卡| 精品自拍视频在线观看| 九色91在线视频| 国产男人天堂| 国产三级韩国三级理| 亚洲色图综合在线| 日本一区中文字幕最新在线| 91网红精品在线观看| 人妻无码一区二区视频| 亚洲国产日韩视频观看| 毛片在线区| 国内精品九九久久久精品| 久久一色本道亚洲| 亚洲天堂日韩av电影|