新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 使用McCabe IQ提高測試質量的研究

        使用McCabe IQ提高測試質量的研究

        作者: 時間:2013-11-29 來源:網絡 收藏

        隨著軟件產業的急速發展,應用軟件系統規模不斷增大,企業對軟件質量的的重視程度越來越高,軟件企業對軟件測試的投入也逐漸增加。目前的商業環境下,商業應用軟件的測試著重考慮如下問題:

          (1)效益。怎樣確保每個測試都有時間和經濟方面的效益。(2)徹底。測試到達怎樣的程度可以合理地認為程序已經沒有錯誤了。(3)資源分配。測試資源的分配是否合理,是否聚焦在軟件的高危模塊上,核心功能部分是否得到足夠的測試。

          軟件測試中,覆蓋率分析的方法越來越多地為測試人員使用。覆蓋率是軟件測試的一項重要指標,通過達到良好的測試覆蓋率,可以保證軟件測試的質量。

          1 測試工具

           是美國 Software公司的軟件質量管理解決方案,McCebe 是一款基于McCabe圈復雜度進行質量度量和測試的工具,為用戶提供軟件質量度量、軟件結構分析及動態結構化測試的全面支持。McCabe IQ提供客觀的方法評估測試覆蓋率,具有一致性、重復性、客觀解釋、質量評估、優化測試及分配資源等強大功能,能真正保證測試每個獨立路徑,可以確定測試過的路徑和沒測試過的路徑。

          圈復雜度是用來衡量一個模塊判定結構的復雜程度,數量上表現為獨立現行路徑條數,即合理的預防錯誤所需測試的最少路徑條數[1]。圈復雜度高說明代碼質量可能很差,難于測試和維護。根據經驗,程序的可能錯誤和圈復雜度高有著很大關系。圈復雜度顯示了在測試一個單元時,為保證軟件質量而需要測試的基本路徑的最小數目[2]。McCabe IQ建議將圈復雜度不超過10,因為更高的復雜度使測試變得復雜并且可能會發生更多的錯誤。

          2 使用McCabe IQ做覆蓋率分析

          McCabe IQ的度量基于軟件結構數學化的嚴格分析,這種分析以McCebe圖復雜度為基礎,明確地確定了高風險區域。McCebe IQ就是一款基于McCabe圈復雜度進行質量度量和測試的工具。McCabe IQ覆蓋率分析使用了源代碼插裝技術,能生成分支和路徑覆蓋報告。對于給定的程序,所有的可測試路徑的數目通常非常巨大,找到一個有意義的可測試路徑子集非常重要。被MeCabe IQ標識出的路徑雖不能代表程序中所有可能路徑,但最小的測試路徑子集至少遍歷每個一次判定,將使McCabe IQ的“圈復雜度”路徑分析技術成為可能。

          McCabe IQ可以很方便地做到如下分析:

          (1)復雜度分析:McCabe IQ提供了復雜度信息的即時訪問,測量不同的源代碼特性,標識出相關的復雜度信息和程序不同模塊的結構化程度,特別復雜或非結構化代碼部分可以在覆蓋率報告中突出出來,使得測試工程師更容易識別出有缺陷的代碼。

          (2)軟件變更分析:當一個程序被修改,測試需要聚焦在修改的代碼上,以及那些被修改代碼影響的代碼,McCabe IQ的軟件變更分析不但可以標識出變更過的代碼,而且還可以標識出被修改所影響的模塊。

          2.1 McCabe IQ提升功能測試

          在功能測試中,McCabe IQ從程序的需求中得到要測試的功能,然后執行測試用例以驗證程序是否按照預期運行。功能測試的目的是為了識別缺失的功能、不能正確運行的功能,以及功能缺陷[3]。

          2.1.1 功能測試在執行過程中要解決如下問題:

          (1)隱含功能的丟失。由于需求定義隱含缺陷,從需求文檔得到的功能測試會丟失隱含功能。這樣,功能測試很難確保測試的完全性,而且功能測試在功能合并階段也會導致有問題的行為。

          (2)停止測試的時機。在功能測試中,可測試功能組合的數量相當巨大,最糟糕的情況是功能組合的數量將是2的功能需求次冪的形式,顯然測試所有的功能組合是不


        上一頁 1 2 3 下一頁

        關鍵詞: McCabe IQ 測試質量

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鄂温| 平顶山市| 仁寿县| 尚志市| 阿拉善盟| 芒康县| 长泰县| 五华县| 台中市| 乡宁县| 宁都县| 宿松县| 奉新县| 通山县| 丽水市| 炎陵县| 嘉黎县| 营山县| 东阳市| 汾阳市| 巫山县| 池州市| 馆陶县| 南投县| 驻马店市| 望奎县| 巫山县| 赞皇县| 湟源县| 汉源县| 同江市| 临桂县| 临西县| 章丘市| 昭觉县| 浪卡子县| 阳原县| 灯塔市| 通化县| 方正县| 乐亭县|