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

評論