您的位置:軟件測試 > 軟件項目管理 > 成本管理 >
如何估算測試工作量
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2013/5/8 16:52:32 ] 推薦標簽:

代碼行, 是來源與英文line of code.那么代碼行分析方法是是對軟件產(chǎn)品的源代碼的行數(shù)進行測量.但是仔細想想,可能會有以下疑問:

    是計算物理行數(shù),還是程序的命令數(shù)量?
    空行是否計算?
    注釋是否計算?
    預定義文件是否計算?
    不同版本如何計算?
    這里面是否設計到一系列的規(guī)則定義問題?
    開發(fā)過程種的配置腳本,編譯腳本是否計算?
    共享文件(例如共享的開發(fā)庫文件種的頭部文件)如何計算?

那么現(xiàn)在的一般規(guī)則是計算物理行數(shù),不計算空行,不計算注釋.對于其他選項,一般為計算源文件根目錄下的所有文件.所以代碼行指的是指所有的可執(zhí)行的源代碼行數(shù),包括可交付的工作控制語言 (JCL : job control language) 語句、數(shù)據(jù)定義、數(shù)據(jù)類型聲明、等價聲明、輸入 / 輸出格式聲明等。常使用的單位有: SLOC(single line of code)、KLOC(thousand lines of code)、 LLOC(logical line of code)、PLOC(physical line of code)、NCLOC (non-commented line of code)、DSI(delivered source instruction)。其中SLOC和KLOC比較常用.

代碼行分析方法對技術人員是有意義的,因為它的確從某種程序上反映了軟件的規(guī)模,并且是物理上可測量的.但是這種方法也存在如下諸多問題.

    在需求、計劃、設計階段因為本身沒有代碼行,需要靠估算來解決?傮w上估算準確度不高,除非有多年的類似項目經(jīng)驗。估算的準確程度取決于是否有同類項目的數(shù)據(jù)和估算人員的經(jīng)驗。在編碼、測試、實施階段可以直接數(shù)出來。
    在滿足客戶的要求以及反映進度方面的能力差強人意,對于管理者意義不大.因此項目很難從整體上跟蹤代碼行數(shù)的指標采取行動.
    近來可視化編程工具的大量采用,以及模板庫,類庫的廣泛采用,在程序的結果中有大量自動生成的代碼或者復雜的自動配置腳本或資源文件設置,在采用這些工具的項目中,用代碼行分析方法得到數(shù)值的意義已經(jīng)大大降低.
    對于不同的編程語言來說,代碼行也缺乏可信轉換方式.

盡管代碼行方法有很多缺點,但是由于它容易使用,操作成本低(如果采用適當?shù)闹С止ぞ?,還是推薦使用代碼行作為軟件項目管理的參考和補充手段.
(三) COCOMO模型

代碼行分析方法作為一種度量估計方法,在20世紀80和90年代得到非常廣泛的發(fā)展,在業(yè)界開發(fā)了又許多中估算工作量和進度的參數(shù)模型,其中的COCOMO模型,它的新版本是COCOMO II模型.

COCOMO,英文全稱為constructive cost model,中文為構造性成本模型.它是一種精確、易于使用的,基于模型的成本估算方法,早由勃姆 (Boehm) 于 1981 年提出。從本質上說是一種參數(shù)化的項目估算方法,參數(shù)建模是把下那個目的某些特征作為參數(shù),通過建立一個數(shù)字模型預測項目成本(類似于居住面積作為參數(shù)計算的整體的住房成本).

在COCOMO模型中,工作量調整因子(Effort Adjustment Factor, EAF)代表多個參數(shù)的綜合效果,這些參數(shù)使得項目可以特征化和根據(jù)COCOMO數(shù)據(jù)庫中的項目規(guī)格化.每個參數(shù)可以定位很低,低,正常,高,很高.每個參數(shù)都作為乘數(shù),其值通常在0.5到1.5之間,這些參數(shù)的乘積作為成本方程中的系數(shù).

COCOMO用3個不同層次的模型來反映不同程度的復雜性,他們分別為

    基本模型 (Basic Model). 是一個靜態(tài)單變量模型,它用一個以已估算出來的源代碼行數(shù) (LOC) 為自變量的函數(shù)來計算軟件開發(fā)工作量。
    中間模型 (Intermediate Model). 則在用 LOC 為自變量的函數(shù)計算軟件開發(fā)工作量的基礎上,再用涉及產(chǎn)品、硬件、人員、項目等方面屬性的影響因素來調整工作量的估算。
    詳細模型 (Detailed Model) 包括中間 COCOMO 模型的所有特性,但用上述各種影響因素調整工作量估算時,還要考慮對軟件工程過程中分析、設計等各步驟的影響。

同時根據(jù)不同應用軟件的不同應用領域,COCOMO模型劃分為如下3種軟件應用開發(fā)模式:

    組織模式(Organic Mode).這種應用開發(fā)模式的主要特點是在一個熟悉穩(wěn)定的環(huán)境種進行項目開發(fā),蓋項目與近開發(fā)的其他項目有很多相似點,項目相對較小,而且并不需要許多創(chuàng)新.
    嵌入式應用開發(fā)模式 (Embedded Mode).在這種應用開發(fā)模式種,項目受到接口要求的限制.接口對整個應用的開發(fā)要求非常搞,而且要求項目有很大的創(chuàng)新,例如開發(fā)一種全新的游戲.
    中間應用開發(fā)模式 (Semidetached Mode).這時介于組織模式和嵌入式應用開發(fā)模式之間的類型.

COCOMO 模型具有估算精確、易于使用的特點。在該模型中使用的基本量有以下幾個: (1)DSI( 源指令條數(shù) ) ,定義為代碼行數(shù),包括除注釋行以外的全部代碼。若一行有兩個語句,則算做一條指令。 (2)MM( 度量單位為人月 ) 表示開發(fā)工作量。 (3)TDEV( 度量單位為月 ) 表示開發(fā)進度,由工作量決定。 (4)COCOMO 模型重點考慮 15 種影響軟件工作量的因素,并通過定義乘法因子,從而準確、合理地估算軟件的工作量。

但是COCOMO也存在一些很嚴重的缺陷,例如分析時的輸入時優(yōu)先的,不能處理意外的環(huán)境變換,得到的數(shù)據(jù)往往不能直接使用,需要校準,只能得到過去的情況總結,對于將來的情況無法進行校準等.

(四)功能點分析方法之一-原理篇

功能點分析法 (FPA:function point analysis) 是一種相對抽象的方法,是一種”人為設計”出的度量方式,主要解決如何客觀,公正,可重復地對軟件地規(guī)模進行度量的問題.

FPA 法由 IBM 的工程師艾倫 · 艾爾布策 (Allan Albrech) 于 20 世紀 70 年代提出,隨后被國際功能點用戶協(xié)會 (IFPUG:The International Function Point Users' Group) 提出的 IFPUG 方法繼承,從系統(tǒng)的復雜性和系統(tǒng)的特性這兩個角度來度量系統(tǒng)的規(guī)模,其特征是: “ 在外部式樣確定的情況下可以度量系統(tǒng)的規(guī)模 ” , “ 可以對從用戶角度把握的系統(tǒng)規(guī)模進行度量 ” 。功能點可以用于 “ 需求文檔 ” 、 “ 設計文檔 ” 、 “ 源代碼 ” 、 “ 測試用例 ” 度量,根據(jù)具體方法和編程語言的不同,功能點可以轉換為代碼行。經(jīng)由 ISO 組織已經(jīng)有多種功能點估算方法成為國際標準,如: ① 加拿大人艾倫 · 艾布恩 (Alain Abran) 等人提出的全面功能點法 (full function points) ; ② 英國軟件度量協(xié)會 (UKSMA : United Kingdom Software Metrics Association) 提出的 IFPUG 功能點法 (IFPUG function points) ; ③ 英國軟件度量協(xié)會提出的 Mark II FPA 功能點法 (Mark II function points) ; ④ 荷蘭功能點用戶協(xié)會 (NEFPUG:Netherlands Function Point Users Group) 提出的 NESMA 功能點法,以及軟件度量共同協(xié)會 (COSMIC:the Common Software Metrics Consortium) 提出的 COSMIC-FFP 方法,這些方法都屬于艾爾布策功能點方法的發(fā)展和細化。

功能點分析方法具體包括兩部分,一部分是測量的具體步驟和方法,通常稱為功能點規(guī)模測量方法(Functional Size Measurement, FSM),另一部分則是功能點分析方法的具體應用.除非特別說明,通常的情況下并不分開討論,而是統(tǒng)稱為功能點分析方法(Functional Point Analysis, FPA),包括對應用軟件的規(guī)模測量活動和后續(xù)應用測量結果進行適當?shù)捻椖抗芾砘顒?

功能點分析方法有一些相對完整的,自成體系的概念,主要包括基礎功能部件(Base Function Component, BFC), BFC類型,邊界,用戶,本地化,功能領域,功能規(guī)模,功能點規(guī)模測量的范圍,功能點規(guī)模測量過程,功能點規(guī)模測量方法,功能性需求,質量需求,技術性需求,數(shù)值調整以及調整因子等15個關鍵概念.

功能點分析的基本計數(shù)是依據(jù)標準計算出的系統(tǒng) ( 或模塊 ) 中所含每一種元素的數(shù)目:

① 外部輸入數(shù) (EI : external input) :計算每個用戶輸入,它們向軟件提供面向應用的數(shù)據(jù)。輸入應該與查詢區(qū)分開來,分別計算。

② 外部輸出數(shù) (EO : external output) :計算每個用戶輸出,它們向軟件提供面向應用的信息。這里,輸出是指報表、屏幕、出錯信息,等等。一個報表中的單個數(shù)據(jù)項不單獨計算。

③ 外部查詢數(shù) (EQ : external query) :一個查詢被定義為一次聯(lián)機輸入,它導致軟件以聯(lián)機輸出的方式產(chǎn)生實時的響應。每一個不同的查詢都要計算。

④ 內部邏輯文件 (ILF : internal logical file) :計算每個邏輯的主文件,如數(shù)據(jù)的一個邏輯組合,它可能是某個大型數(shù)據(jù)庫的一部分或是一個獨立的文件。

⑤ 外部接口文件 (EIF : external interface file) :計算所有機器可讀的接口,如磁帶或磁盤上的數(shù)據(jù)文件,利用這些接口可以將信息從一個系統(tǒng)傳送到另一個系統(tǒng)。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd