?

基于影響域分析的軟件回歸測試設計

2018-01-03 02:14王德敏
電子測試 2017年22期
關鍵詞:控制流測試用例軟件測試

王德敏

(公安部第一研究所,北京,100048)

基于影響域分析的軟件回歸測試設計

王德敏

(公安部第一研究所,北京,100048)

本文就軟件回歸測試開展分析,并對基于控制流和數據流的影響域分析、影響域重定位、基于影響域的回歸測試設計進行了詳細論述,希望由此能夠為相關業內人士帶來一定啟發。

影響域;回歸測試;數據流;控制流

1 軟件回歸測試分析

1.1 回歸測試的關鍵點

作為軟件工程的重要組成,軟件測試屬于保證軟件質量的重要手段,本文研究的回歸測試便是軟件測試的重要組成,其與首輪測試均在軟件工程中占據著較為重要的地位。首輪測試主要采用追蹤法保證測試需求覆蓋率,回歸測試則將開展的重點放在了更改內容的確認與影響方面,而這便需要回歸測試開展中相關測試人員對更改后的軟件開展更改影響域分析。為了實現高質量的回歸測試并設計針對性較強的測試用例,高水準的更改影響域估計和確定必不可缺,可以說更改影響域估計和確定直接關系著軟件回歸測試的成敗,很多回歸測試難度大、風險高便是由于軟件更改影響域在確定階段出現了問題。值得注意的是,長期以來學界提出了“Link”算法、基于概念格軟件修改分析等多種回歸測試的更改影響域確定方法,不過這類方法多局限于理論層次,很多軟件因此開展的軟件回歸測試往往較為容易出現問題[1]。

1.2 更改影響域

軟件工程更改影響域超出實際范圍往往會導致測試用例冗余較高、浪費測試資源、降低測試效率等問題的出現,而如果不能完全覆蓋實際范圍,則會導致軟件升級后出現的缺陷漏測,軟件回歸測試的意義自然難以實現最大化發揮。在筆者的實際調查中發現,我國當下軟件工程更改影響域分析存在著三種分析方法,即經驗判斷法、直觀分析法、完全覆蓋法,三種方法的詳細介紹如下所示:(1)經驗判斷法。軟件測試人員長期從業積累的經驗是經驗判斷法的主要依據,這一分析方法的高質量應用需要測試人員較為深入了解被測試軟件,同時自然也需要擁有較為豐富的從業經驗,由此基于更改報告開展的分析質量才能夠得到保證。(2)直觀分析法。結合設計人員提供的更改報告將更改內容對應到具體模塊屬于直觀分析法應用的主要流程,應用簡單是這一分析方法的優勢,但只能應用于邏輯簡單軟件是其不足,否則漏測出現的幾率將大大提升。(3)完全覆蓋法。完全基于首輪測試用例開展分析是完全覆蓋法的應用理念,不過這一方法僅能服務于軟件規模小、軟件功能單一的軟件項目[2]。

2 基于控制流和數據流的影響域分析

2.1 原理

考慮到業界在回歸測試領域存在的不足,本文提出了基于控制流和數據流的影響域分析方法,這一方法的原理如下所示。

2.1.1 基于控制流的影響域分析原理

假設某軟件系統全域集合為R,更改后n個更改點對程序的影響范圍為Rn,由此便可以確定關系式,而考慮到軟件的程序更處于程序控制流的某個分支之中,便可以應用圖1開展分析,本文將圖1中處理過程A所在模塊稱作過程模塊A,而如果處理過程中過程模塊A發生變化,便能夠確定出更改結果的類型,即:①程序執行時序不發生變化、②過程模塊A執行時序發生變化、③過程模塊A輸出數據結構發生變化、④同時出現②和③的變化,由此情況①的更改影響域可以確定為過程模塊A的內部,而情況②、③、④則存在著更改影響域向外擴散的情況,開展時序和全局資源被改變后的使用情況分析便顯得較為重要[3]。

圖1 控制流示意圖

圖 2 數據流示意圖

2.1.2 基于數據流的影響域分析原理

假設圖2為圖1處理過程A更改過程數據流圖,該圖中的數據處理A便與圖1的處理過程A相對應,考慮到數據處理A的更改,便能夠得出數據流變化的三層含義,即:①數據流“DATA2.1”不再流向數據處理C、②“DATA2.1”數據流向不變但結構發生變化、③“DATA2.1”結構發生變化,其中①和②的情況將對后續數據流造成影響,而③的情況帶來的影響則需要結合實際環境展開分析。

2.2 操作步驟

基于控制流和數據流的影響域分析在具體操作中存在著較大差別,具體操作如下所示:(1)基于控制流的影響域分析操作步驟。步驟流程可概括為:“確定更改類型→獲得受影響控制流→獲得更改影響域”,這一過程需要結合軟件更改情況等信息,而如果設軟件存在n處更改,則可以結合公式完成影響域的求得,該公式中的i≥0且i≤n。(2)基于數據流的影響域分析步驟。步驟流程可以概括為:“獲得變化數據流集合→獲得數據流影響集合→獲得更改影響域”,這一過程同樣需要開展軟件更改情況分析,而結合公式這一公式支持下完成更改影響域計算。

3 影響域重定位與基于影響域的回歸測試設計

3.1 影響域重定位

在基于控制流和數據流分析的支持下,即可實現高質量的軟件更改影響域求得,而隨后結合軟件具體情況開展的影響域重定位也不能被忽視,這是由于影響域重定位能夠通過縮小或擴大軟件更改影響域進一步提升其精度,本文對一般情況下需要增加和縮小軟件修改影響域范圍的情況進行了總結,具體內容如下所示:(1)增加影響域范圍的情形。不在軟件修改和升級的更改影響范圍內,不過需要重新確認以保證測試質量;處于被更改點前,但軟件的修改和升級對其造成了影響;軟件修改和升級涉及的控制流和數據流路徑與其不接觸,但同時帶來的時序改變對其造成了影響。(2)縮小影響域范圍的情形。處于軟件修改和升級涉及的控制流和數據流路徑上,由于可以直觀確定其處于更改影響域內,故無需再次開展測試;對于軟件的特殊流程,雖然其處于軟件修改和升級涉及的影響域中,但無需進行再次測試。

3.2 基于影響域的回歸測試設計

完成最終意義上的軟件修改和升級后的軟件更改影響域確定后,即可真正開展基于影響域的回歸測試設計,這一設計需要結合影響域和測試范圍的映射關系,以此實現影響域映射在測試范圍上,這正是保證軟件回歸測試質量的關鍵點。

4 結論

基于控制流和數據流分析的軟件回歸測試設計具備較高實用性。而在此基礎上,本文涉及的影響域重定位、基于影響域的回歸測試設計等具體內容,則證明了研究的價值。因此,在相關領域的理論研究和實踐探索中,本文內容便能夠發揮一定程度的參考作用。

[1]夏同飛,鄭浩.大型軟件回歸測試用例選擇優化策略[J].測試技術學報,2016,30(02):106-113.

[2]吳川,鞏敦衛,姚香娟.基于分支覆蓋的回歸測試路徑選擇[J].軟件學報,2016,27(04):839-854.

The influence domain analysis software design based on regression test

Wang Demin
(The first Research Institute of the Ministry of public security, Beijing ,100048)

In this paper, the regression test carried out analysis, and the influence of control flow and data flow analysis, based on the domain of the re positioning, regression test design influence based on domain are discussed, the hope can bring some inspiration for the related industry.

Influence domain; regression testing ;data flow ;control flow

王德敏(1982年6月--),女,河南信陽人,碩士研究生,工程師,研究方向軟件測試。

猜你喜歡
控制流測試用例軟件測試
抵御控制流分析的Python 程序混淆算法
工控系統中PLC安全漏洞及控制流完整性研究
抵御控制流分析的程序混淆算法
基于SmartUnit的安全通信系統單元測試用例自動生成
基于OBE的軟件測試課程教學改革探索
EXCEL和VBA實現軟件測試記錄管理
基于混合遺傳算法的回歸測試用例集最小化研究
關于軟件測試技術應用與發展趨勢研究
軟件測試工程化模型及應用研究
基于依賴結構的測試用例優先級技術
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合