(一)常規(guī)的估算測試工作量的方法
作為一個管理者,你是否被詢問到某個項(xiàng)目要花多少時間,多少人力測試;或是作為一個普通的測試員,你是否被詢問到要花多少時間來完成某個任務(wù)或是一次回歸測試?我想大多數(shù)在軟件行業(yè)的人或多或少都會碰到這樣的關(guān)于工作量估計(jì)的詢問。那么你是怎么回答的呢?你對你自己的回答有信心嗎?你是否終發(fā)現(xiàn)實(shí)際上花去的時間和原本估計(jì)的時間大相徑庭呢?
不同的人會使用許多不同的方法來估算及安排他們的測試工作量。不同的組織根據(jù)項(xiàng)目的類型,項(xiàng)目的內(nèi)在風(fēng)險,涉及的技術(shù)等而使用不同的方法。但是大多數(shù)時候測試工作量是和開發(fā)工作量合在一起的,沒有一個單獨(dú)的數(shù)字。
首先讓我們來看看一些常規(guī)的估算測試工作量的方法:
1. Ad-hoc方法
這種方法下的測試工作量不基于任何確定的期限。工作一直繼續(xù)直到達(dá)到一些由管理或市場人員預(yù)先定下的時間表;蛘,一直到用完了預(yù)算的經(jīng)費(fèi)。
這種情況普遍存在于非常不成熟的組織,并且時常有100%的錯誤差數(shù)。
2.開發(fā)時間的百分比法Percentage of development time
.這個方法的基本前提是測試工作量依賴于開發(fā)時間/開發(fā)工作量。首先,開發(fā)工作量使用例如LOC或FP方法被估算出來,然后使用一些探索性的方法來限制測試的工作量。這種方法變化比較大而且通;谝郧暗慕(jīng)驗(yàn)。
通常預(yù)留項(xiàng)目的總花費(fèi)時間的35%給測試。
5-7%給組件和集成測試
18-20%給系統(tǒng)測試
10%給接收測試(或回歸測試等)
3.類比法(經(jīng)驗(yàn)值法或歷史數(shù)據(jù)法)
根據(jù)以前或相似項(xiàng)目(主要在項(xiàng)目性質(zhì),領(lǐng)域,規(guī)模上有相似)所積累的經(jīng)驗(yàn)或歷史數(shù)據(jù)來估算工作量。類比法估計(jì)結(jié)果的精確度取決于歷史項(xiàng)目數(shù)據(jù)的完整性和準(zhǔn)確度,因此,用好類比法的前提條件之一是組織建立起較好的項(xiàng)目后評價與分析機(jī)制,對歷史項(xiàng)目的數(shù)據(jù)分析是可信賴的。需要收集以下相關(guān)的歷史數(shù)據(jù):
在設(shè)計(jì)和實(shí)現(xiàn)階段花費(fèi)的時間
測試工作的規(guī)模,例如用戶需求的數(shù)量,頁面數(shù),功能點(diǎn)
數(shù)據(jù)樣式,例如實(shí)體,字段的數(shù)量
屏幕或字段數(shù)量
測試對象的規(guī)模,例如KLOC
4.WBS(work breakdown structure)估算法
將項(xiàng)目或產(chǎn)品分解為具體的工作,然后分別對各個工作進(jìn)行時間估算,終求和得出項(xiàng)目或產(chǎn)品的測試工作量/時間。
5.Delphi 法
Delphi法是流行的專家評估技術(shù),在沒有歷史數(shù)據(jù)的情況下,這種方式可以減輕估算的偏差。Delphi法鼓勵參加者問題相互討論。這個技術(shù),要求有多種相關(guān)經(jīng)驗(yàn)人的參與,互相說服對方。
Delphi法的步驟是:
1、協(xié)調(diào)人向各專家提供項(xiàng)目規(guī)格和估計(jì)表格;
2、協(xié)調(diào)人召集小組會各專家討論與規(guī)模相關(guān)的因素;
3、各專家匿名填寫迭代表格;
4、協(xié)調(diào)人整理出一個估計(jì)總結(jié),以迭代表的形式返回專家;
5、協(xié)調(diào)人召集小組會,討論較大的估計(jì)差異;
6、專家復(fù)查估計(jì)總結(jié)并在迭代表上提交另一個匿名估計(jì);
7、重復(fù)4-6, 直到達(dá)到一個低和高估計(jì)的一致。
6.PERT估計(jì)法
PERT對各個項(xiàng)目活動的完成時間按三種不同情況估計(jì):一個產(chǎn)品的期望規(guī)模,一個低可能估計(jì),一個高可能估計(jì)。用這三個估計(jì)用來得到一個產(chǎn)品期望規(guī)模和標(biāo)準(zhǔn)偏差的Pert 統(tǒng)計(jì)估計(jì)。Pert 估計(jì)可得到代碼行的期望值E, 和標(biāo)準(zhǔn)偏差SD。
(二) 代碼行分析方法
測試工作量的估計(jì)往往和軟件開發(fā)的規(guī)模是緊密相關(guān)的.很多軟件公司往往是在估計(jì)了即將要開發(fā)的軟件規(guī)模后才做測試工作量的估計(jì),然后求和得出項(xiàng)目的終工作量估計(jì).這種方法比較適用于有經(jīng)驗(yàn)積累,測試和開發(fā)模式穩(wěn)定的公司或項(xiàng)目,提供了一個比較準(zhǔn)確,有參考的數(shù)字.但同時由于其完全依賴其前提-開發(fā)工作量的估計(jì),顯得比較脆弱,如果開發(fā)工作量出現(xiàn)較大偏差,測試工作量也變得毫無用處.在加之代碼行本身存在著許多問題和局限,所以在選擇其做為項(xiàng)目估算方法時需要好好了解它的原理,優(yōu)缺點(diǎn)進(jìn)而有選擇性的使用.