使用McCabe IQ提高測(cè)試質(zhì)量的研究
2.1.2 通過(guò)McCabe IQ的覆蓋分析可以提升功能測(cè)試
?。?)McCabe IQ覆蓋分析可以指出未測(cè)試的分支,并突出為測(cè)試的分支,隱含功能和明確的功能需求將同樣被突出出來(lái)。
(2)McCabe IQ覆蓋分析可以識(shí)別出高風(fēng)險(xiǎn)模塊塊,然后使用更為苛刻的路徑覆蓋進(jìn)行分析。
使用路徑覆蓋分析可以遍歷所有的關(guān)鍵功能組合,包括隱含的功能和明確的功能。使用圖復(fù)雜度路徑作為危險(xiǎn)模塊的測(cè)試程度的索引,可以追蹤記錄可累加的分支和路徑執(zhí)行的次數(shù),通過(guò)基于累加的分支和圈復(fù)雜度覆蓋率決定可以接受的測(cè)試程度,從而解決以上兩個(gè)問(wèn)題。
2.2 McCabe IQ提升單元測(cè)試
單元測(cè)試是針對(duì)軟件的最小模塊進(jìn)行正確性檢驗(yàn)的測(cè)試工作,是代碼正確性驗(yàn)證的重要措施。這些最小模塊是隔離出來(lái)的代碼段,稱為單元。單元測(cè)試的最大挑戰(zhàn)在于識(shí)別出需要運(yùn)行的最小的測(cè)試的集合,理想情況下,每一個(gè)可能路徑都要被測(cè)試,但是這通常是不可能的。挑戰(zhàn)在于分離出路徑的子集來(lái)提供所有可測(cè)試路徑的覆蓋分析,并且使得路徑子集最小,并且沒(méi)有單元級(jí)的冗余[4]。
McCabe IQ路徑圖精確的被設(shè)計(jì)為單元級(jí)的覆蓋管理,McCabe IQ識(shí)別出的最小路徑集合可以測(cè)試到所有的代碼單元,提供所有可測(cè)試路徑的覆蓋分析,至少確認(rèn)最危險(xiǎn)模塊已經(jīng)被覆蓋。
2.3 McCabe IQ提升回歸測(cè)試
回歸測(cè)試是指測(cè)試程序開(kāi)發(fā)過(guò)程中的修訂版本,這種測(cè)試驗(yàn)證新增的功能必須按照預(yù)期運(yùn)行,所做的修改達(dá)到了預(yù)定的目的,錯(cuò)誤得到改正,未變更的功能沒(méi)有被修改或變更所影響[5]。
2.3.1 回歸測(cè)試需要解決問(wèn)題
?。?)程序修改后要找出程序中被變更影響的模塊。這樣,需要做回歸測(cè)試的只是受變更影響的模塊,提高了效率。
?。?)驗(yàn)證修改過(guò)的功能已經(jīng)被測(cè)試。程序的變更通常會(huì)引入新的隱含功能,沒(méi)有黑盒測(cè)試的技術(shù),驗(yàn)證所有變更已經(jīng)被測(cè)試是不可能的。
(3)驗(yàn)證新的功能已經(jīng)被測(cè)試。當(dāng)做完全功能測(cè)試的時(shí)候,測(cè)試新的功能,要驗(yàn)證完整性測(cè)試,隱含功能的測(cè)試及功能組合的測(cè)試[6]。
2.3.2 通過(guò)McCabe IQ的覆蓋分析可以提升回歸測(cè)試
McCabe IQ覆蓋分析能精確指出程序中已經(jīng)變更的分支和模塊。覆蓋分析可以限制在這個(gè)區(qū)域,聚焦那些需要測(cè)試的地方。McCabe IQ隔離出那些被變更影響的程序區(qū)域,允許聚焦在需要做回歸測(cè)試的部分,而忽略那些和變更的程序無(wú)關(guān)聯(lián)的模塊。對(duì)于修改過(guò)的功能和新功能,McCabe IQ與新的功能測(cè)試一樣去對(duì)待。
軟件的功能測(cè)試根據(jù)需求來(lái)驗(yàn)證軟件功能的實(shí)現(xiàn)情況,單元測(cè)試主要認(rèn)證代碼的正確性,回歸測(cè)試保證新做的修改不影響原有的功能需求,McCabe IQ的覆蓋率分析在這些方面都能提供很好的幫助。靈活運(yùn)用McCabe IQ測(cè)試工具可以提高測(cè)試效率和測(cè)試質(zhì)量,挖掘出軟件的潛在錯(cuò)誤,保證軟件產(chǎn)品的質(zhì)量。
參考文獻(xiàn)
[1] 朱鴻,金凌紫。軟件質(zhì)量與保證[M]。北京:科學(xué)出版社,1997.
評(píng)論