王德敏
(公安部第一研究所,北京,100048)
基于影響域分析的軟件回歸測(cè)試設(shè)計(jì)
王德敏
(公安部第一研究所,北京,100048)
本文就軟件回歸測(cè)試開展分析,并對(duì)基于控制流和數(shù)據(jù)流的影響域分析、影響域重定位、基于影響域的回歸測(cè)試設(shè)計(jì)進(jìn)行了詳細(xì)論述,希望由此能夠?yàn)橄嚓P(guān)業(yè)內(nèi)人士帶來(lái)一定啟發(fā)。
影響域;回歸測(cè)試;數(shù)據(jù)流;控制流
作為軟件工程的重要組成,軟件測(cè)試屬于保證軟件質(zhì)量的重要手段,本文研究的回歸測(cè)試便是軟件測(cè)試的重要組成,其與首輪測(cè)試均在軟件工程中占據(jù)著較為重要的地位。首輪測(cè)試主要采用追蹤法保證測(cè)試需求覆蓋率,回歸測(cè)試則將開展的重點(diǎn)放在了更改內(nèi)容的確認(rèn)與影響方面,而這便需要回歸測(cè)試開展中相關(guān)測(cè)試人員對(duì)更改后的軟件開展更改影響域分析。為了實(shí)現(xiàn)高質(zhì)量的回歸測(cè)試并設(shè)計(jì)針對(duì)性較強(qiáng)的測(cè)試用例,高水準(zhǔn)的更改影響域估計(jì)和確定必不可缺,可以說(shuō)更改影響域估計(jì)和確定直接關(guān)系著軟件回歸測(cè)試的成敗,很多回歸測(cè)試難度大、風(fēng)險(xiǎn)高便是由于軟件更改影響域在確定階段出現(xiàn)了問(wèn)題。值得注意的是,長(zhǎng)期以來(lái)學(xué)界提出了“Link”算法、基于概念格軟件修改分析等多種回歸測(cè)試的更改影響域確定方法,不過(guò)這類方法多局限于理論層次,很多軟件因此開展的軟件回歸測(cè)試往往較為容易出現(xiàn)問(wèn)題[1]。
軟件工程更改影響域超出實(shí)際范圍往往會(huì)導(dǎo)致測(cè)試用例冗余較高、浪費(fèi)測(cè)試資源、降低測(cè)試效率等問(wèn)題的出現(xiàn),而如果不能完全覆蓋實(shí)際范圍,則會(huì)導(dǎo)致軟件升級(jí)后出現(xiàn)的缺陷漏測(cè),軟件回歸測(cè)試的意義自然難以實(shí)現(xiàn)最大化發(fā)揮。在筆者的實(shí)際調(diào)查中發(fā)現(xiàn),我國(guó)當(dāng)下軟件工程更改影響域分析存在著三種分析方法,即經(jīng)驗(yàn)判斷法、直觀分析法、完全覆蓋法,三種方法的詳細(xì)介紹如下所示:(1)經(jīng)驗(yàn)判斷法。軟件測(cè)試人員長(zhǎng)期從業(yè)積累的經(jīng)驗(yàn)是經(jīng)驗(yàn)判斷法的主要依據(jù),這一分析方法的高質(zhì)量應(yīng)用需要測(cè)試人員較為深入了解被測(cè)試軟件,同時(shí)自然也需要擁有較為豐富的從業(yè)經(jīng)驗(yàn),由此基于更改報(bào)告開展的分析質(zhì)量才能夠得到保證。(2)直觀分析法。結(jié)合設(shè)計(jì)人員提供的更改報(bào)告將更改內(nèi)容對(duì)應(yīng)到具體模塊屬于直觀分析法應(yīng)用的主要流程,應(yīng)用簡(jiǎn)單是這一分析方法的優(yōu)勢(shì),但只能應(yīng)用于邏輯簡(jiǎn)單軟件是其不足,否則漏測(cè)出現(xiàn)的幾率將大大提升。(3)完全覆蓋法。完全基于首輪測(cè)試用例開展分析是完全覆蓋法的應(yīng)用理念,不過(guò)這一方法僅能服務(wù)于軟件規(guī)模小、軟件功能單一的軟件項(xiàng)目[2]。
考慮到業(yè)界在回歸測(cè)試領(lǐng)域存在的不足,本文提出了基于控制流和數(shù)據(jù)流的影響域分析方法,這一方法的原理如下所示。
2.1.1 基于控制流的影響域分析原理
假設(shè)某軟件系統(tǒng)全域集合為R,更改后n個(gè)更改點(diǎn)對(duì)程序的影響范圍為Rn,由此便可以確定關(guān)系式,而考慮到軟件的程序更處于程序控制流的某個(gè)分支之中,便可以應(yīng)用圖1開展分析,本文將圖1中處理過(guò)程A所在模塊稱作過(guò)程模塊A,而如果處理過(guò)程中過(guò)程模塊A發(fā)生變化,便能夠確定出更改結(jié)果的類型,即:①程序執(zhí)行時(shí)序不發(fā)生變化、②過(guò)程模塊A執(zhí)行時(shí)序發(fā)生變化、③過(guò)程模塊A輸出數(shù)據(jù)結(jié)構(gòu)發(fā)生變化、④同時(shí)出現(xiàn)②和③的變化,由此情況①的更改影響域可以確定為過(guò)程模塊A的內(nèi)部,而情況②、③、④則存在著更改影響域向外擴(kuò)散的情況,開展時(shí)序和全局資源被改變后的使用情況分析便顯得較為重要[3]。
圖1 控制流示意圖
圖 2 數(shù)據(jù)流示意圖
2.1.2 基于數(shù)據(jù)流的影響域分析原理
假設(shè)圖2為圖1處理過(guò)程A更改過(guò)程數(shù)據(jù)流圖,該圖中的數(shù)據(jù)處理A便與圖1的處理過(guò)程A相對(duì)應(yīng),考慮到數(shù)據(jù)處理A的更改,便能夠得出數(shù)據(jù)流變化的三層含義,即:①數(shù)據(jù)流“DATA2.1”不再流向數(shù)據(jù)處理C、②“DATA2.1”數(shù)據(jù)流向不變但結(jié)構(gòu)發(fā)生變化、③“DATA2.1”結(jié)構(gòu)發(fā)生變化,其中①和②的情況將對(duì)后續(xù)數(shù)據(jù)流造成影響,而③的情況帶來(lái)的影響則需要結(jié)合實(shí)際環(huán)境展開分析。
基于控制流和數(shù)據(jù)流的影響域分析在具體操作中存在著較大差別,具體操作如下所示:(1)基于控制流的影響域分析操作步驟。步驟流程可概括為:“確定更改類型→獲得受影響控制流→獲得更改影響域”,這一過(guò)程需要結(jié)合軟件更改情況等信息,而如果設(shè)軟件存在n處更改,則可以結(jié)合公式完成影響域的求得,該公式中的i≥0且i≤n。(2)基于數(shù)據(jù)流的影響域分析步驟。步驟流程可以概括為:“獲得變化數(shù)據(jù)流集合→獲得數(shù)據(jù)流影響集合→獲得更改影響域”,這一過(guò)程同樣需要開展軟件更改情況分析,而結(jié)合公式這一公式支持下完成更改影響域計(jì)算。
在基于控制流和數(shù)據(jù)流分析的支持下,即可實(shí)現(xiàn)高質(zhì)量的軟件更改影響域求得,而隨后結(jié)合軟件具體情況開展的影響域重定位也不能被忽視,這是由于影響域重定位能夠通過(guò)縮小或擴(kuò)大軟件更改影響域進(jìn)一步提升其精度,本文對(duì)一般情況下需要增加和縮小軟件修改影響域范圍的情況進(jìn)行了總結(jié),具體內(nèi)容如下所示:(1)增加影響域范圍的情形。不在軟件修改和升級(jí)的更改影響范圍內(nèi),不過(guò)需要重新確認(rèn)以保證測(cè)試質(zhì)量;處于被更改點(diǎn)前,但軟件的修改和升級(jí)對(duì)其造成了影響;軟件修改和升級(jí)涉及的控制流和數(shù)據(jù)流路徑與其不接觸,但同時(shí)帶來(lái)的時(shí)序改變對(duì)其造成了影響。(2)縮小影響域范圍的情形。處于軟件修改和升級(jí)涉及的控制流和數(shù)據(jù)流路徑上,由于可以直觀確定其處于更改影響域內(nèi),故無(wú)需再次開展測(cè)試;對(duì)于軟件的特殊流程,雖然其處于軟件修改和升級(jí)涉及的影響域中,但無(wú)需進(jìn)行再次測(cè)試。
完成最終意義上的軟件修改和升級(jí)后的軟件更改影響域確定后,即可真正開展基于影響域的回歸測(cè)試設(shè)計(jì),這一設(shè)計(jì)需要結(jié)合影響域和測(cè)試范圍的映射關(guān)系,以此實(shí)現(xiàn)影響域映射在測(cè)試范圍上,這正是保證軟件回歸測(cè)試質(zhì)量的關(guān)鍵點(diǎn)。
基于控制流和數(shù)據(jù)流分析的軟件回歸測(cè)試設(shè)計(jì)具備較高實(shí)用性。而在此基礎(chǔ)上,本文涉及的影響域重定位、基于影響域的回歸測(cè)試設(shè)計(jì)等具體內(nèi)容,則證明了研究的價(jià)值。因此,在相關(guān)領(lǐng)域的理論研究和實(shí)踐探索中,本文內(nèi)容便能夠發(fā)揮一定程度的參考作用。
[1]夏同飛,鄭浩.大型軟件回歸測(cè)試用例選擇優(yōu)化策略[J].測(cè)試技術(shù)學(xué)報(bào),2016,30(02):106-113.
[2]吳川,鞏敦衛(wèi),姚香娟.基于分支覆蓋的回歸測(cè)試路徑選擇[J].軟件學(xué)報(bào),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月--),女,河南信陽(yáng)人,碩士研究生,工程師,研究方向軟件測(cè)試。