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

基于切片技術的應用軟件集成測試方法研究

2022-06-14 10:06:38
計算機仿真 2022年5期
關鍵詞:程序方法

張 彤

(成都理工大學工程技術學院,四川 樂山 614000)

1 引言

普遍應用的軟件測試方法可分為模塊測試、系統測試和集成測試。模塊測試主要是測試軟件模塊的功能,屬于最低層次的測試。系統測試主要是對軟件、硬件和其它影響因素的功能測試。集成測試又稱組裝測試,是在模塊測試的基礎上,對各個模塊接口進行檢測的一種測試方法,主要是為證明模塊組合后能夠正確且穩定地對接和交互,起到承上啟下的作用,是軟件測試的重要部分。

謝肖飛等人[1]提出基于符號執行與模糊測試的混合測試方法,運用模糊測試方法生成可以大量覆蓋的待測試數據,基于得到的覆蓋信息進行全局搜索,選取標準程序集和實際項目作為評測對象,進行有效性驗證。通過構建虛擬設備的軟件測試環境證明了該方法的可行性,但是該方法在測試的準確度方面還有所欠缺。姜蘋等人[2]提出了一種基于正交試驗法的故障診斷軟件測試方法,該方法對故障診斷軟件測試過程中需要考慮的特征因素進行分析,同時對正交檢測法的理論依據進行了闡述。在軟件測試過程運用正交實驗法來提取代表性推理規則,并且對提取出的規則信息進行測試。根據測試效果可知,該方法解決了測試耗時過長的問題,但測試的可信度較低。

因此,本文提出基于切片技術的應用軟件集成測試方法,在獲取切片的過程中,將可信度和節點同時當作切片生成指標,通過定義網絡拓撲帶權圖、權值矩陣、資源可信判定函數、切片可信度等相關因素,獲得切片數據自動生成器框架。并采用結構驅動集成測試模式,實現應用軟件測試。對比實驗表明,本文方法具有較強的可行性,且測試速度和準確率與現有方法相比具有明顯優勢性。

2 軟件測試范圍與數據選取

程序切片技術是通過程序依賴圖獲取切片的技術,該技術通過程序分解成不同的切片來縮小測試范圍,從而提高軟件測試速度。軟件切片[3]的構造大致可分為三部分,其結構框架如下圖1所示。

定義程序P中的切片S為一個可執行程序。對于S處的變量v而言,S由可能影響變量數值的全部語句構成。可執行程序和程序P具有等效功能。以軟件中數據依賴和控制依賴為基礎,去除無用或重復語句后,獲得切片。則定義集Def(s)和引用集Ref(s)分別為:Def(s)={m},Ref(s)={n}。

變量v滿足v∈def(m)∩ref(n),節點m到節點n的路徑p上的其它節點表示為m′∈p·{m,n},其中v?def(m′)。路徑p上的其它節點表示為m′∈p·{m,n},當n是m的后必經點,n不是m的后必經點時,n控制依賴于m。

在獲取切片的過程中,將可信度[4]和節點同時作為切片生成指標,在構造可信切片時,對各個相關因素作如下定義:

定義1:拓撲帶權圖G=(V,E),其中,V表示節點,E為鏈路。則E的權值w表示m到n之間的鏈路代價,可以表示為

(1)

定義2:權值矩陣[5]M,該矩陣表示帶全無向圖的權值分布。則M可以表示為

(2)

定義3:切片NS={VN,VL.PN,PL},VN={vn1,vn2,…,vnn}代表虛擬節點集合;VL={vl1,vl2,…,vln}代表虛擬鏈路[6]集合;PN={pn1,pn2,…,pnn}代表實際節點集合;PL={pl1,pl2,…,pln}代表實際鏈路集合的映射。

定義4:資源可信判定函數judge_ns_pre(x,y,t)如式(3),其中x是待判定資源集合,y是資源集合可信度,t為切片的可信需求。

(3)

(4)

將切片技術運用到軟件測試的過程中,重點關注程序中特定路徑上的興趣點[7,8],便可以提高測試效率。程序切片測試的基本流程如下:

1)通過黑盒測試確定輸出結果,并檢查是否產生錯誤,對產生的錯誤進行定位,確定其影響區域,從而對錯誤進行排除。

2)在不同層次上對依賴關系進行分析。

3)利用切片算法確定錯誤根源。

4)進行回歸測試排除和修復程序,直到不再發生錯誤為止。

5)生成模塊自動測試數據報告。

其測試數據生成系統框架如圖2所示。

圖2 切片數據自動生成器框架

圖2中,切片獲取模塊主要用于計算軟件中的各類切片,該過程包括對詞法和語法進行分析,檢測軟件中詞法或語法錯誤,并生成抽象語法樹,根據語法樹構建依賴關系圖,最后利用切片生成器產生切片;測試模塊是基于切片結果的測試過程,其中包括測試用例生成模塊、靜態分析模塊和動態測試模塊。靜態分析主要的方法如下:對數據流和控制流的分析和研究;對程序中各種依賴關系的分析;對函數的靜態調用關系及全局變量的分析;動態測試模塊主要是通過程序動態切片技術,根據程序的數據結構合理性來測試各個模塊的實際功能性,從而檢測模塊組合形成后的較大模塊;錯誤處理主要是從各個模塊中發現錯誤、然后通過后向切片技術將錯誤定位,最后利用前切片技術判定錯誤會影響的范圍,將錯誤排除并且對程序進行修復[9]。

以上述步驟為基礎,實現回歸測試。回歸測試是在程序修改后進行的,由于在程序修改過程中,很可能又發生了新的錯誤,用前期使用的測試用例對軟件程序進行回歸測試更有利于檢測出修改后產生的新錯誤。反復進行回歸測試,直至檢測不出錯誤為止[10]。

3 軟件集成測試實現

切片測試只保證了軟件局部的準確性,但是組裝后不能保證其整體協調性,影響軟件的正常運行。因此,在程序切片測試后,需要根據設計要求對軟件進行集成測試,來檢測各模塊接口之間的故障。傳統的集成測試方法把模塊結合后的程序作為一個整體來進行測試。但是當在檢測中發現錯誤時,難以準確定位具體的錯誤位置,由于在改正錯誤的同時可能會出現新的錯誤,導致新舊錯誤混合,增加了判定錯誤位置和原因的難度,因此不被廣泛應用。

針對該問題,本文根據獲取的軟件測試范圍和數據,對軟件進行集成測試[11,12]。對軟件進行集成測試的最終目的是能夠保證各個單元組合后能夠按設計要求運行,并且保證在運行過程中存在正常的增量運行。軟件測試模型如圖3所示。

圖3 軟件測試模型

集成測試的主要針對內容為各單元間的接口和軟件集成后的功能性。在測試過程中,首先度量軟件的動態復雜度,運用式(5)進行描述

(5)

式中,?表示軟件組件的失效概率;f表示組件復雜度總和。通過軟件的動態復雜度衡量軟件組件之間的動態耦合度,得到下式

(6)

式中,q表示軟件組件的使用頻率;Ia表示使用頻較高的組件;Ir表示使用頻較低的組件。對軟件中的組件進行層次劃分,并對每個組件進行排序,從使用概率最高的組件開始集成測試,并在集成測試之前將已經集成過的組件進行剔除,具體可以通過下面的公式實現

(7)

式中,c0表示高風險組件;p表示剔除無效組件后的測試集;t表示時間變量。

在結構驅動模式下,軟件組件的集成是建立在固定功能線程基礎上的。因為軟件中各個模塊的質量和開發周期會有明顯的差異,導致集成測試是一個漫長的漸進過程。為了減少測試時間,本文將集成測試與切片測試同時進行。測試過程中,需要人員和機器同時運作,程序員需要對檢測過程中出現的錯誤類型和數量進行分析,總結出發生錯誤的原因和具體位置,提高應用軟件集成測試結果的精準度。

4 實驗分析

實驗以軟件版本升級測試為例,以分析軟件實際問題、問題的修改以及其它關聯性問題為基礎,驗證基于符號執行與模糊測試的混合測試方法(方法1)、基于正交試驗法的故障診斷軟件測試方法(方法2)和基于切片技術的應用軟件集成測試方法的性能。

4.1 實驗環境與軟件測試特征分析

實驗環境為MATLAB R2012a,計算機配置為:32位Windows7系統,Pentium雙核2.8GHz,運行內存8GB。軟件基本規模為124M字節,在升級過程中,修改和新增功能約占軟件的10%,測試組需要修改的測試大綱大約占總體的13%。表1給出了各測試版在測試周期中產生的錯誤數量分布。

表1 軟件問題分類及其數量

由于軟件修正問題的延遲時間與問題數量、問題修改用時、問題提交密度等成正比。因此,想要對軟件進行有效的測試,不僅需要明確軟件問題分類及其數量,還必須有效解決測試中存在的大量程序錯誤問題。

在測試過程中,軟件的穩定性和問題及時間曲線的波峰成反比,主要有以下幾點:

1)軟件升級后新加功能的起始集成時間離散度。

2)軟件的測試過程和產品開發過程的并行度。

3)被檢測的各項功能域檢測時間的離散度。該因素與測試計劃相關,常規的操作方法會產生較多問題的功能域,對其進行優先強化測試。

4)修改程序的波及效應。測試組測試時應及時發現程序引入的修改錯誤,并將其拒絕,從而防止產品質量發生波動。

在本實驗中,解決軟件問題的平均延遲時間如圖4所示。

圖4 軟件問題發現及解決曲線

回歸測試的總時長受問題曲線波峰和平均周期長度影響,并且與二者成正比。由圖4可以看出在回歸測試的過程中,每個測試周期發現的程序錯誤數量普遍較低,改正問題的延遲時間較短。

4.2 實驗結果分析

為了驗證本文軟件集成測試的有效性,將程序的響應時間和測試準確率作為評價指標,對比不同方法的響應時間,對比結果如圖5所示。

圖5 不同方法的響應時間對比

從圖5可以看出,針對不同的拓撲結構,本文方法的響應時間均低于基于符號執行與模糊測試的混合測試方法和基于正交試驗法的故障診斷軟件測試方法,其最高用時不到6ms,說明該方法測試運行速度較快,能夠做到測試結果的及時獲取。這是由于該方法為了減少測試時間,通過切片技術縮小測試范圍,并將集成測試與切片測試同時進行,從而達到了提升測試效率的目的。

三種方法的數據丟包率對比結果如圖6所示。

圖6 數據丟包率測試結果對比圖

分析圖6可知,本文方法在應用軟件集成測試過程中的數據丟包率明顯低于現有方法,其最高值僅為22%,而當實驗次數達到200次時,方法1的數據丟包率達到了最高值,為90%,方法2的數據丟包率達到了最高值,為70%。上述數據說明本文方法有效抑制了數據丟包率,提升了軟件測試的可信度。得出的測試結果更加可靠,準確性更高。這是由于該方法在考慮節點的同時將可信度作為切片的生成指標,從而提高降低了數據丟包率。

上述實驗證明了本文方法測試結果更準確,檢測速度較快,具有較強的可行性。

5 結論

為解決現有方法存在的檢測效率不高和結果可信度不高的問題,本文提出的一種基于切片技術的應用軟件集成測試方法,該方法通過切片技術縮小測試范圍、提高應用軟件集成測試效率。通過將可信度作為切片的生成指標,提高測試結果的準確性。在實驗條件下,首先進行測試的特征分析,然后通過與現有方法的集成測試對比結果分析可知,本文方法的測試速度和測試結果準確度比傳統方法更高,可以廣泛用于應用軟件的集成測試中。

雖然該方法有效提升了應用軟件的測試效果,但是存在持續性不足的問題,同時,在面向路徑的測試數據自動生成方面同樣存在不足,因此需要進一步優化該方法,為軟件測試研究領域提供更全面的測試方法。

猜你喜歡
程序方法
學習方法
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 一级毛片在线直接观看| 谁有在线观看日韩亚洲最新视频| 欧美区一区| 色偷偷男人的天堂亚洲av| 91精品啪在线观看国产60岁| 欧美一级大片在线观看| 日韩东京热无码人妻| 老司机午夜精品视频你懂的| 欧美午夜一区| 一本一道波多野结衣一区二区 | 国产精品一老牛影视频| 波多野结衣的av一区二区三区| 黄色一及毛片| 久久国产精品波多野结衣| 日韩在线第三页| 日韩在线中文| 国产美女在线观看| 国产成人h在线观看网站站| 亚洲最大综合网| 日韩av资源在线| 精品国产电影久久九九| 亚洲人成人伊人成综合网无码| 国产99热| 中文字幕无码电影| 国产精品第一区在线观看| 国产精品免费久久久久影院无码| 99视频国产精品| 国内精品久久久久鸭| 99国产在线视频| 久久人搡人人玩人妻精品| 六月婷婷激情综合| 好吊色妇女免费视频免费| 91尤物国产尤物福利在线| 欧美成人综合在线| 欧美日韩在线第一页| 亚洲二区视频| 一级毛片a女人刺激视频免费| 啪啪啪亚洲无码| 在线网站18禁| 精品伊人久久久久7777人| 国产色婷婷视频在线观看| 亚洲精品无码AV电影在线播放| 精品国产三级在线观看| 无码 在线 在线| 青青极品在线| 亚洲Aⅴ无码专区在线观看q| 午夜不卡视频| 亚洲色图欧美激情| 69免费在线视频| 日韩精品一区二区三区大桥未久 | 久热re国产手机在线观看| 亚洲香蕉伊综合在人在线| 99视频在线精品免费观看6| 日韩一级二级三级| 亚洲第一区在线| 91在线精品麻豆欧美在线| 国产成人精品日本亚洲| 欧美特级AAAAAA视频免费观看| 亚洲天堂2014| 四虎免费视频网站| 亚洲高清在线播放| 亚洲成人动漫在线| 日韩国产亚洲一区二区在线观看| 国产靠逼视频| 国产日韩欧美精品区性色| 国内精品久久久久鸭| 国产精品成人不卡在线观看| 成人精品免费视频| 成人免费一级片| 亚洲av日韩综合一区尤物| 亚洲伊人久久精品影院| 国产在线精彩视频论坛| 热这里只有精品国产热门精品| 亚洲日本韩在线观看| 91久久偷偷做嫩草影院免费看| 91色国产在线| 婷婷丁香在线观看| 欧美视频在线第一页| 色首页AV在线| 国产麻豆福利av在线播放| 青青草原偷拍视频| 亚洲人成亚洲精品|