(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)基于經(jīng)驗(yàn)的軟件測(cè)試執(zhí)行工作量估算模型.pdf_第1頁
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)基于經(jīng)驗(yàn)的軟件測(cè)試執(zhí)行工作量估算模型.pdf_第2頁
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)基于經(jīng)驗(yàn)的軟件測(cè)試執(zhí)行工作量估算模型.pdf_第3頁
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)基于經(jīng)驗(yàn)的軟件測(cè)試執(zhí)行工作量估算模型.pdf_第4頁
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)基于經(jīng)驗(yàn)的軟件測(cè)試執(zhí)行工作量估算模型.pdf_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)基于經(jīng)驗(yàn)的軟件測(cè)試執(zhí)行工作量估算模型.pdf.pdf 免費(fèi)下載

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

浙江大學(xué)碩士學(xué)位論文 摘要 摘要 隨著軟件產(chǎn)品在整個(gè)社會(huì)中的作用越來越重要 公司在生產(chǎn)和交付軟件產(chǎn)品 及服務(wù)上的競(jìng)爭(zhēng)進(jìn)一步加劇 使得在短時(shí)間內(nèi)有效地開發(fā)出離質(zhì)量的軟件成為必 須 其中 測(cè)試是保證軟件質(zhì)量最重要和最常用的手段 對(duì)測(cè)試工作量進(jìn)行合理 準(zhǔn)確的估算是制定測(cè)試計(jì)劃并順利完成測(cè)試工作的重要前提 一個(gè)好的測(cè)試工作 量估算模型可以幫助測(cè)試經(jīng)理更加合理地計(jì)劃和安排測(cè)試進(jìn)度與資源 以此來進(jìn) 一步提高機(jī)構(gòu)軟件產(chǎn)品的競(jìng)爭(zhēng)力 麗事實(shí)上 到目前為止對(duì)軟件測(cè)試執(zhí)行工作量 估算的研究非常匱乏 并且這些模型通常具有時(shí)間開銷較大 主觀性較強(qiáng)等缺陷 基于此 本文首先對(duì)現(xiàn)有常用的軟件估算模型和方法進(jìn)行了全面麗詳細(xì)的研 究 并對(duì)當(dāng)前僅有的一些軟件測(cè)試執(zhí)行工作量估算方法進(jìn)行了重點(diǎn)討論 然后 在此基礎(chǔ)上 本文提出了 個(gè)基予經(jīng)驗(yàn)的軟件測(cè)試執(zhí)行工作量估算模型s t e e m 本模型將測(cè)試套件特征化為一個(gè)包含了測(cè)試用例數(shù)量 測(cè)試執(zhí)行復(fù)雜度和測(cè)試人 員熟練程度的三維矢量 朗測(cè)試套件執(zhí)行矢量 并定義了關(guān)于這三個(gè)矢量的度量 標(biāo)準(zhǔn) 然后建立經(jīng)驗(yàn)數(shù)據(jù)庫 基于回歸分析的思想 模型通過收集機(jī)構(gòu)項(xiàng)目的經(jīng) 驗(yàn)數(shù)據(jù)來分析翻研究測(cè)試套間矢量中的三個(gè)參數(shù)與執(zhí)行完該測(cè)試套件所需要的 工作量時(shí)間之間的關(guān)系 并使用機(jī)器學(xué)習(xí)方法對(duì)該關(guān)系進(jìn)行建模 以此來實(shí)現(xiàn)對(duì) 執(zhí)行給定的測(cè)試套件所需要工作量的估算 本文在某金融軟件公司內(nèi)部使用該模 型進(jìn)行了實(shí)例分析 以此來評(píng)估該模型 根據(jù)公司的實(shí)際情況配置測(cè)試套件執(zhí)行 矢量的三個(gè)元素 并依此來收集公司內(nèi)部項(xiàng)目的歷史數(shù)據(jù) 然后利髑支持向量楓 方法進(jìn)行訓(xùn)練得到最終的模型 取得了較好的估算效果 并在該公司中某具體項(xiàng) 霉的實(shí)際測(cè)試周期中使用該模型 從而幫助了測(cè)試經(jīng)理更好地完成制定測(cè)試計(jì)劃 和資源分配等測(cè)試管理工作 關(guān)鍵詞 軟件測(cè)試 工作量估算 機(jī)器學(xué)習(xí) 測(cè)試套件執(zhí)行矢量 浙江大學(xué)碩士學(xué)位論文a b s t r a c t a b s t r a c t a st h er o l eo fs o f t w a r ep r o d u c t sb e c o m e sm o r ea n dm o r ei m p o r t a n ti nt h ew h o l e s o c i e t y j o i n t l yw i t ht h ec o m p e t i t i o no np r o d u c i n ga n dd e l i v e r i n gs o f t w a r ep r o d u c t s a n ds e r v i c e si n c r e a s e s i ti sv e r yn e c e s s a r yt op r o d u c el o wc o s th i g hq u a l i t ys o f t w a r ei n as h o r tp e r i o d s o f t w a r et e s t i n gi so n eo ft h em o s ti m p o r t a n tw a y si nt h eq u a l i t y a s s u r a n c e m a k i n gt h er e a s o n a b l ea n da c c u r a t ee s t i m a t i o no l ls o f t w a r et e s te x e c u t i o n e f f o r ti st h ec r u c i a lp r e c o n d i t i o no fd e s i g n i n gs o f t w a r ep l a na n df i n i s h i n gt e s t i n g s u c c e s s f u l l y ag o o ds o f t w a r et e s te x e c u t i o ne f f o r te s t i m a t i o nm o d e lc a nh e l pt e s t m a n a g e r sp l a nt h e i rs c h e d u l e sa n dr e s o u r c e sm o r ep r o p e r l ya n dm u c he a s i e r a n dt h e n i m p r o v et h e 祥蘸移o ft h e i rs o f t w a r ep r o d u c t s b u ta c t u a l l y t h er e s e a r c ho ns o f t w a r e t e s te x e c u t i o ne f f o r te s t i m a t i o ni sv e r ys h o r tu pt on o w a n da l s ot h ee x i s t i n gm o d e l s h a v es o m es e v e r ed i s a d v a n t a g e s e g t i m ec o n s u m i n g s t r o n gs u b j e c t i v i t ya n ds oo n b a s e do i lt h i s f i r s t t h i sp a p e rf u l l yi n t r o d u c e st h ee x i s t i n gs o f t w a r ee s t i m a t i o n m e t h o d s a n da l s od i s c u s s e st h ee x i s t i n gs o f t w a r et e s te x e c u t i o ne f f o r te s t i m a t i o n m o d e l si nd e t a i l t h e nt h i sp a p e rp r o p o s e sa ne x p e r i e n c e b a s e dm o d e lf o rs o f t w a r et e s t e x e c u t i o ne s t i m a t i o ne f f o r t i nt h i sm o d e l w e c h a r a c t e r i z eat e s ts u i t ea sa 3 d i m e n s i o n sv e c t o rc a l l e dt e s ts u i t ee x e c u t i o nv e c t o rw h i c hi n c l u d e st e s tc a s en u m b e r t e s te x e c u t i o nc o m p l e x i t ya n di t st e s t e rr a n k b a s e do nt h ed e f i n i t i o na n d m e a s u r e m e n t so nt e s ts u i t ee x e c u t i o nv e c t o r w es e tu pa ne x p e r i e n c ed a t a b a s e a c c o r d i n gt or e g r e s s i o na n a l y s i sc o n c e p t w eu s em a c h i n el e a r n i n ga l g o r i t h mt ot r a i n t h ee x p e r i e n c ed a t as e t st of i n dt h er e l a t i o n s h i pb e t w e e nt e s ts u i t ee x e c u t i o nv e c t o ra n d t e s te x e c u t i o ne f f o r t a n dt h e ne s t i m a t ee f f o r t sf o rag i v e nt e s ts u i t ee x e c u t i o nv e c t o r w ee v a l u a t et h i sm o d e lt h r o u g ha l le m p i r i c a ls t u d yi naf m a n c i a ls o f t w a r ec o m p a n y a n dg e tag o o de s t i m a t i o nr e s u l t t h e nw eu s et h i sm o d e li nar e a lq ac y c l ef o ra p r o j e c ti nt h i sc o m p a n y w h i c hh e l p st e s tm a n a g e r sf i n i s hs o f t w a r et e s tm a n a g e m e n t w o r km u c hb e t t e r s u c ha sd e s i g n i n gt e s tp l a n a l l o c a t i n gt e s tr e s o u r c e sa n ds o0 1 1 k e y w o r d s s o f t w a r et e s t i n g e f f o r te s t i m a t i o n m a c h i n el e a r n i n g t e s ts u i t e 浙江丈學(xué)碩士學(xué)傲論文 圖髓袋 圖目錄 黧l ls t a n d i s h 綴織對(duì)軟件頊蠹完成情況的統(tǒng)計(jì)數(shù)據(jù) 2 睡2 1 軟件測(cè)試工作流程圖 8 圖2 2 功能點(diǎn)復(fù)雜度權(quán)重對(duì)應(yīng)表 l o 圖2 3 訂單處理系統(tǒng) 系統(tǒng)級(jí)用例圖 1 5 圈2 霹 訂單處理系統(tǒng) 涵蓋的一部分事 簪流 熏6 閣2 5 系統(tǒng)的技術(shù)復(fù)雜度因子及權(quán)垂分布 1 8 圖2 6 項(xiàng)磊組豹環(huán)境復(fù)雜度因子及權(quán)重分布 1 8 圖2 7 神經(jīng)網(wǎng)絡(luò)示例圖 2 l 圖2 8v 模型 2 3 瑟2 9 估算執(zhí)行一綴測(cè)試套件鰉工 鍪量 2 6 圖2 1 0 為某個(gè)測(cè)試用例計(jì)算e p 數(shù) 2 7 圖2 ll 使用e p 和c f 來計(jì)算測(cè)試執(zhí)行工作量 2 8 圖3 1 測(cè)試套件結(jié)構(gòu)圖 3 0 圈3 2s t e 曬蓮模型整體結(jié)翰圈 3 2 圖3 3 一個(gè)典型的測(cè)試組成結(jié)構(gòu)鬻 3 4 圖3 4 度量測(cè)試套件測(cè)試執(zhí)行復(fù)雜度的影響因索及衡量標(biāo)準(zhǔn) 3 5 圖3 5 測(cè)試人員熟練程度度量圖 3 7 圖3 6s t e e m 模型儲(chǔ)算流程圖 3 9 圈3 7s t e e m 模型建立過程圖 碡薹 圈4 1 影響測(cè)試效率閼素分類圖 4 3 圖4 2 測(cè)試執(zhí)行復(fù)雜度闋卷 稻 圖4 3w e k a 輸入文件 5 0 瑟4 4w e k ae x p l o r e r p r e p r o c e s s 51 豳4 5w e k a 測(cè)試方式選擇 5 2 圖4 6w e k a 訓(xùn)練結(jié)果 5 3 圖5 lf i x r o u t i n g 系統(tǒng)功熊圖 5 6 匿5 2f i x r o u t i n g 系統(tǒng)結(jié)構(gòu)鶩 5 7 霆5 3t 零u p g r a d eq ac y c l e 各測(cè)試套斧執(zhí)行復(fù)雜度 釃 圖5 4t tu p g r a d eq a c y c l ew b s 圖 6 3 i i i 浙江大學(xué)碩士學(xué)位論文表目錄 表目錄 表2 l 功能點(diǎn)分析法中的功能類型定義及示例 l o 表2 2 基本模型中不同軟件項(xiàng)目類型對(duì)應(yīng)的系數(shù)表 1 2 表2 3 中等模型所涵蓋的四種開銷驅(qū)動(dòng)及子屬性 1 3 表2 4 中等模型中不同項(xiàng)目類型對(duì)應(yīng)的系數(shù)表 1 4 表2 5a c t o r 各類型權(quán)重分布 一1 6 表2 6 基于事務(wù)的用例權(quán)重分布 1 7 表2 7u c p 在測(cè)試工作量估算中的a c t o r 類型權(quán)重分布 2 4 表2 8u c p 方法中對(duì)于影響測(cè)試的技術(shù)和環(huán)境因素列表 2 4 表4 1 測(cè)試輸入各影響因素 4 4 表4 2 系統(tǒng)處理過程各影響因素 4 4 表4 3 輸出檢查各影響因素0 4 5 表4 4 測(cè)試環(huán)境各影響因素 4 5 表4 5 測(cè)試執(zhí)行復(fù)雜度問卷調(diào)查統(tǒng)計(jì)結(jié)果 4 7 表4 6 測(cè)試執(zhí)行復(fù)雜度度量g u i d e l i n e 4 8 表4 7s t e e m 模型實(shí)驗(yàn)結(jié)果分析表 5 5 表5 1t tg u ir e g r e s s i o n 測(cè)試工作量估算值 6 0 表5 2r t d m 測(cè)試工作量估算值 6 l 表5 3o m 測(cè)試工作量估算值 6 l 表5 4b v 測(cè)試工作量估算值 6 l 表5 5a m i 測(cè)試工作量估算值 6 1 表5 6f xo v e rf i xn g 測(cè)試工作量估算值 6 2 表5 7f xo v e rf i xl e g a c y 測(cè)試工作量估算值 6 2 表5 8 測(cè)試工作分配結(jié)果 6 2 i v 浙江大學(xué)研究生學(xué)位論文獨(dú)創(chuàng)性聲明 本人聲明所呈交的學(xué)位論文是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的 研究成果 除了文中特別加以標(biāo)注和致謝的地方外 論文中不包含其他人已經(jīng)發(fā) 表或撰寫過的研究成果 也不包含為獲得逝鎏盤鱟或其他教育機(jī)構(gòu)的學(xué)位或 證書而使用過的材料 與我一同工作的同志對(duì)本研究所做的任何貢獻(xiàn)均已在論文 中作了明確的說明并表示謝意 學(xué)位論文作者簽名 泵私 簽字日期 諞8 年b 月 l 日 學(xué)位論文版權(quán)使用授權(quán)書 本學(xué)位論文作者完全了解逝鎏盤堂 有權(quán)保留并向國家有關(guān)部門或機(jī) 構(gòu)送交本論文的復(fù)印件和磁盤 允許論文被查閱和借閱 本人授權(quán)逝望盤堂 可以將學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索和傳播 可以采用影 印 縮印或掃描等復(fù)制手段保存 匯編學(xué)位論文 保密的學(xué)位論文在解密后適用本授權(quán)書 學(xué)位論文作者簽名 諏私 簽字日期 伽2 年b 月b 日 導(dǎo)師簽名巾小霧乙 簽字日期 7 插年 廠月 日 浙江大學(xué)碩士學(xué)位諗文第l 囂緒論 1 1 研究意義 第1 章緒論 計(jì)算梳軟件和硬件持續(xù)不斷地發(fā)展 加上軟件產(chǎn)舞在整個(gè)社會(huì)中的作饜越來 越重要饅褥公靄在生產(chǎn)秘交囂軟件產(chǎn)羆及鼴務(wù)土豹競(jìng)爭(zhēng)進(jìn) 步加捌 慰霾時(shí)闋蠹 開發(fā)出低成本高質(zhì)量的軟件的需求變得越來越遙切 在這些競(jìng)爭(zhēng)健的市場(chǎng) 例如 金融軟件系統(tǒng)市場(chǎng) 擻晶低質(zhì)量產(chǎn)晶的公司會(huì)很快地失去健稍的客戶 因此 公 司應(yīng)該確保產(chǎn)蘸露客戶的期望一鼗 其中 測(cè)試怒保證軟釋質(zhì)量最重要和最常震 的手段 軟搏測(cè)試涵盞了太量的活動(dòng)來確保最終的產(chǎn)品達(dá)到一定的質(zhì)量標(biāo)準(zhǔn) 軟件測(cè)試是人們利用自己所能想烈的方法 來嘗試發(fā)現(xiàn)軟件產(chǎn)晶中可霸逡存在 戇錯(cuò)誤幫不是熬過程 箕囂蠢是要撩涯拔測(cè)試熬較釋產(chǎn)墨辮瑰麓與靄求翔簿 達(dá) 到客戶的需求 軟件測(cè)試的重要性使得公司一般都會(huì)安排專門的綴和人員來進(jìn)行 測(cè)試潘動(dòng) 有報(bào)遴顯示 在所調(diào)查麓6 5 家軟件楓擒孛 4 4 家郝育獨(dú)立熬軟件測(cè) 試組l 疆 對(duì)于這些測(cè)試組來說 如何能夠?qū)y(cè)試z 作進(jìn)行更好的計(jì)劃和安排 對(duì) 測(cè)試的順剩完成起到了舉足輕重靛簿用 箍對(duì)測(cè)試王作量進(jìn)行會(huì)理和準(zhǔn)確的健算 是安排測(cè)試進(jìn)度和分配測(cè)試資源的重要前提 圭 重 薹工作量估算 制造業(yè)和軟件業(yè)最大的不同可能在于 前者大部分時(shí)間都能符含時(shí)間襲的進(jìn) 度安攆 箍燾囂剝不然 在1 9 9 5 年 s t a n d i s h 組織薄8 0 0 0 多個(gè)較簧頊曩進(jìn)行了 調(diào)查 發(fā)現(xiàn)這些項(xiàng)目中只有1 6 2 是成功的 即沒有超過預(yù)算和最后完成期限 有3 1 1 筏是失敗的 朗頒匿被取消或者來完成 謝5 2 確稱為被震疑的 即燕然 完成毽是超出 詩劃私預(yù)算 藤其中平均超過計(jì)劃預(yù)算的9 濺 超過時(shí)潤表鰒 2 2 2 所有完成的頊露辮中有5 0 多都只實(shí)現(xiàn)了最初需求的不到5 0 t 麓 之精在 2 0 0 4 年 該組織的統(tǒng)計(jì)調(diào)查項(xiàng)豳擴(kuò)充到了5 0 0 0 0 多 結(jié)果表明有2 9 的項(xiàng)目是 成功懿 霹孬德毒s 3 籬煎壤基屬予被質(zhì)疑的范圍l 羹 其體懿圈1 1 蕨示 1 浙江大學(xué)磷 b 學(xué)位論文瓣l 索綣論 黼輟躐 麴矚嘲 嘲錨蚓 霪蠊囂藩墨纛霧嘲燃澈謄霸霪謄霪翻翳 鬣鎣款辮嘲 囂 i 囂 謄暌凄 楚l 1s t a n d i s h 綴織對(duì)軟件頸翻完成憤況躲纜計(jì)數(shù)攘蜉羽 軟件工終量估算是對(duì)開發(fā)軟件產(chǎn)燕掰需的入力的髏算 是耀寒確定頌霹開發(fā) 時(shí)闖和開發(fā)成本的過程 舶 這是任何軟件項(xiàng)圈所共有的主要成本 通常以人小時(shí) 人天 人屆 人年翳形式來衡量 并怠有轉(zhuǎn)換系數(shù)在不弱單位之閹進(jìn)行轉(zhuǎn)換 工 作量估算是國軟件規(guī)模和與項(xiàng)譽(yù)有關(guān)的因素所驅(qū)動(dòng)的 如團(tuán)隊(duì)的技術(shù)和能力 陵 歐麴穩(wěn)定性 所使潮麓語言和平臺(tái) 平臺(tái)的可用性與適震性 頊蔽中酶基動(dòng)純程 度等 對(duì)軟件頊鏊進(jìn)行工終鱉售算歷來是斃較復(fù)雜的攀愫 因勢(shì)軟件本身的復(fù)雜 性 歷史經(jīng)驗(yàn)的缺乏 估算模型翻方法的缺乏以及一些人為錯(cuò)誤等 導(dǎo)致軟件項(xiàng) 露戇估算往往秘實(shí)際情況相差甚遠(yuǎn) 可鼓說 對(duì)軟件工作量?jī)?chǔ)算的不足是造戒這 種糟糕髑面 即5 3 以上的軟件項(xiàng)鯔遠(yuǎn)遠(yuǎn)越避計(jì)劃的重要原因之一 王 董 2 測(cè)試工作量估算重要性 眾所周知 軟件測(cè)試占了軟件開發(fā)總工作量中的相當(dāng)大的一部分比例 測(cè)試 執(zhí)行工彳乍量估算是對(duì)完成測(cè)試軟件產(chǎn)品的入力和時(shí)間開銷的估算 通常以人小時(shí) 為單位 在大型的軟件公司中 測(cè)試組的工作總是超負(fù)荷的 在這種情況下 測(cè)試經(jīng) 理就必須能夠合理地計(jì)劃和安攤測(cè)試進(jìn)度和資源 必須能夠估算出執(zhí)行 定量的 測(cè)試所需要的工作量 從而麓夠據(jù)此來申請(qǐng)更多的資源或者延長最終的完成期限 等 麗時(shí)對(duì)于已處在維護(hù)期的軟件項(xiàng)羈 每一次舨本舞級(jí)都需要進(jìn)行 定量的回 歸測(cè)試 麗在實(shí)際中測(cè)試所能有的殲銷都燕有限的 因此對(duì)所要執(zhí)行的測(cè)試工作 浙江大學(xué)碩士學(xué)位論文第1 章緒論 量的估算也是回歸測(cè)試范匿選擇的一個(gè)額外標(biāo)準(zhǔn) 而在大部分的公司中 測(cè)試執(zhí)行工作量很少被好好地計(jì)劃 使得測(cè)試執(zhí)行時(shí) 間經(jīng)常超出之前安排的進(jìn)度 有時(shí)候甚至到了交付的最終期限還沒有完成測(cè)試 從而導(dǎo)致沒有被充分測(cè)試過的產(chǎn)品進(jìn)入市場(chǎng) 產(chǎn)生了大量的客戶負(fù)面反應(yīng) 破壞 了公司形象等 為了避免這些 測(cè)試經(jīng)理必須能夠較精確的估算出軟件測(cè)試執(zhí)行 的工作量 并以此來制定測(cè)試計(jì)劃和安排測(cè)試資源 但是 對(duì)于之前從沒有執(zhí)行 過的測(cè)試用例來說 如何能夠較精確的估算其工作璧 這對(duì)于測(cè)試經(jīng)理來說仍然 是一個(gè)很大的挑戰(zhàn) 贊對(duì)軟件測(cè)試工作量估算的重要性 我們非常有必要尋找一種更好的方法或 模型來解決當(dāng)前在估算中存在的種種問題 以此來進(jìn)一步地提高機(jī)構(gòu)軟件產(chǎn)晶的 競(jìng)爭(zhēng)力 1 1 3 估算方法研究現(xiàn)狀 軟件項(xiàng)目需要進(jìn)行詳細(xì)的計(jì)劃 這包括進(jìn)行一系列的活動(dòng) 而其中對(duì)工作量 進(jìn)行準(zhǔn)確估算是最基本和最重要的 因?yàn)楣浪銥槠渌幕顒?dòng)提供了方向 而根據(jù) 2 0 0 1 年的一份最新研究表明 只有4 5 7 的項(xiàng)目完成了軟件工作量估算 弱 雖然 并沒有一個(gè)具體的研究來分析進(jìn)行軟件估算率低的原因 但是缺少可靠的模型來 進(jìn)行估算應(yīng)該是其中一個(gè)重要的影響因素 在早期 瀑布模型多應(yīng)用于軟件開發(fā)中 在該模型中 軟件測(cè)試僅被當(dāng)作整 個(gè)開發(fā)生命周期中的一個(gè)非常小的階段 在過去的幾十年中 已經(jīng)產(chǎn)生了幾種模 型和方法用來估算軟件開發(fā)的工作量 復(fù)雜度和開銷 但是由于軟件開發(fā)工作量 估算模型是基于軟件的規(guī)模和開發(fā)復(fù)雜度的 而非是測(cè)試規(guī)模和測(cè)試執(zhí)行復(fù)雜 度 所以并不適合來估算執(zhí)行一定量測(cè)試用例的工作量開銷 事實(shí)上 對(duì)于占軟 件項(xiàng)目總工作量4 0 以上的軟件測(cè)試工作f 6 來說 其估算方法和模型卻經(jīng)常被忽 略掉 到現(xiàn)在為止對(duì)軟件測(cè)試執(zhí)行工作量估算的研究也只有很少的幾個(gè) 并且這 些模型通常具有時(shí)間開銷較大 主觀性較強(qiáng)等缺陷 浙江大學(xué) 頤士學(xué)位論文第1 章緒論 1 2 研究工作 基于軟件測(cè)試對(duì)于出品高質(zhì)量軟件產(chǎn)鼎的重要性及軟件測(cè)試執(zhí)行工作量估算 模型匱乏等現(xiàn)狀 本文蓄先對(duì)現(xiàn)有常用的軟件估算模型和方法進(jìn)行了詳細(xì)兩全面 的研究 介紹了功能點(diǎn)分析法 c o c o m o 模型 用例點(diǎn)分析法 回歸分析和機(jī)器學(xué) 習(xí)等估算方法的基本概念和原理 并對(duì)當(dāng)前已有的 些專門針對(duì)軟件測(cè)試執(zhí)行工 作量的估算方法進(jìn)行了重點(diǎn)討論 在此基礎(chǔ)上 本文提出了一個(gè)基于經(jīng)驗(yàn)的軟件功能性測(cè)試執(zhí)行正作量估算模 型 該模型引入了測(cè)試套件執(zhí)行矢量的概念 涵蓋了測(cè)試用例數(shù)量 測(cè)試執(zhí)行復(fù) 雜度及測(cè)試人員熟練程度等三個(gè)對(duì)測(cè)試執(zhí)行效率影響巨大的元素 并定義了關(guān)于 這三個(gè)元素的度量標(biāo)準(zhǔn) 基于回歸分析的思想 模型通過收集機(jī)構(gòu)項(xiàng)目的經(jīng)驗(yàn)數(shù) 據(jù)來分析和研究測(cè)試套間執(zhí)行矢量中的三個(gè)參數(shù)與執(zhí)行完該測(cè)試套件所需要的 工作量時(shí)間 以m a n h o u r 為單位 之間的關(guān)系 并使用機(jī)器學(xué)習(xí)中的支持向量機(jī) 方法對(duì)該關(guān)系進(jìn)行建模 以期達(dá)到較好的估算效粟 本文在某金融軟件公司內(nèi)部使用該模型進(jìn)行了實(shí)例分析 根據(jù)公司實(shí)際的情 況配鬣測(cè)試套件執(zhí)行矢量的三個(gè)元素 并以此來收集公司內(nèi)部多個(gè)項(xiàng)目的歷史數(shù) 據(jù) 然后利用支持向量機(jī)方法進(jìn)彳亍訓(xùn)練得到最終的模型 并在該公司中某具體項(xiàng) 目的實(shí)際測(cè)試周期中使用該模型 幫助了測(cè)試經(jīng)理更好地完成制定測(cè)試計(jì)劃和資 源分配等測(cè)試管理工作 從而提高軟件產(chǎn)品的質(zhì)量 達(dá)到了較好的效果 估算其實(shí)就是根據(jù)過去預(yù)測(cè)未來的過程 只有以可靠準(zhǔn)確的歷史經(jīng)驗(yàn)數(shù)據(jù)作 為基礎(chǔ) 推出來的估算模型才有較好的說服力 該模型的其他使用者可以采用更 符合本機(jī)構(gòu)或者本項(xiàng)目的歷史經(jīng)驗(yàn)數(shù)據(jù)集 或者重新校準(zhǔn)該模型的某些參數(shù) 某 些定義及具體的度量標(biāo)準(zhǔn) 從麗得到更符合本機(jī)構(gòu)的模型公式 對(duì)可知的信息把 握得越充分 了解得越透徹 對(duì)未知的估算才有可能更加準(zhǔn)確和可靠 蔓 3 本文組織結(jié)構(gòu) 根據(jù)以上介紹的研究意義及研究工作 本文其他部分內(nèi)容組織如下 4 浙江大學(xué)碩士學(xué)位論文 第l 章緒論 第2 章主要分三部分 首先對(duì)軟件測(cè)試的相關(guān)理論進(jìn)行了籬單介紹 然后詳 細(xì)闡述了現(xiàn)有常用的一些估算方法的基本概念和原理 最盾對(duì)現(xiàn)有的專門針對(duì)軟 件測(cè)試執(zhí)行工作量的估算模型進(jìn)行了研究和分析 為之后建立估算模型傲鋪墊 第3 章是基于經(jīng)驗(yàn)的軟件測(cè)試執(zhí)行工作量估算模型建立部分 分析了模型建 立所遵循的設(shè)計(jì)原則和基本原理 并詳細(xì)闡述了測(cè)試套件執(zhí)行矢量中三個(gè)元素的 定義及度量標(biāo)準(zhǔn) 最后介紹了模型建立的過程和步驟 第4 章以某金融軟件公司力背景對(duì)本模型徽了實(shí)例研究 結(jié)合該公司特點(diǎn)介 紹了如何配置測(cè)試套件執(zhí)行矢量 以及如何收集數(shù)據(jù)和進(jìn)行訓(xùn)練 并對(duì)最終得到 的模型進(jìn)行了估算精確度分?jǐn)?第5 章主要介紹了如何在某項(xiàng)目的實(shí)際測(cè)試周期中使用該模型的估算結(jié)果來 完成測(cè)試計(jì)劃和資源分配等工作 第6 章對(duì)全文內(nèi)容進(jìn)行了總結(jié) 回顧了本文的主要研究?jī)?nèi)容 對(duì)文中涉及到 的重要問題徽 進(jìn)一步的討論 并指出需要在未來進(jìn)行研究的蠹容 作為下個(gè)階 段研究的重點(diǎn) 浙江大學(xué)碩士學(xué)位論文第2 章軟件測(cè)試栩關(guān)理論和估算常用方法研究 第2 章軟件測(cè)試相關(guān)理論和估算常用方法研究 2 1 軟件測(cè)試知識(shí)概述 在實(shí)際的軟件開發(fā)過程當(dāng)中 軟件測(cè)試對(duì)于整個(gè)項(xiàng)目的成功與否非常的重 要 并且對(duì)軟件的可靠性也起到了關(guān)鍵性的影響作用 在開發(fā)大型軟件系統(tǒng)的漫 長過程中 人們面對(duì)著極端錯(cuò)綜復(fù)雜的問題和狀況 主觀認(rèn)識(shí)不可能完全符合客 觀現(xiàn)實(shí) 與軟件工程各方面工作密切相關(guān)的人員之間的溝通和配合也不可能完美 無缺 因此 在軟件生命周期的各個(gè)階段都不可避免地會(huì)產(chǎn)生一些差錯(cuò) 即使我 們盡量在每個(gè)階段結(jié)束之前都進(jìn)行嚴(yán)格的技術(shù)審查 盡可能早地發(fā)現(xiàn)并糾j e 差 錯(cuò) 但是 經(jīng)驗(yàn)表明審查并不能發(fā)現(xiàn)所有差錯(cuò) 此外在編碼過程中還會(huì)不可避免 地引入新的錯(cuò)誤f 7 1 如果在軟件投入生產(chǎn)運(yùn)行之前 我們沒有及時(shí)發(fā)現(xiàn)并糾正軟 件中的大部分差錯(cuò) 則這些差錯(cuò)早晚會(huì)在產(chǎn)品運(yùn)行過程中暴露出來 那時(shí)不僅改 正這些差錯(cuò)的代價(jià)更高 麗且往往會(huì)造成很惡劣的后果和影響 大量統(tǒng)計(jì)資料表明 軟件測(cè)試的工作量往往占軟件開發(fā)總工作量的4 0 以上 在某些極潰情況下 測(cè)試那種關(guān)系入的生命安全的軟件 測(cè)試所花的成本可能相 當(dāng)于軟件工程其他步驟總成本的三倍到五倍 引 因此 我們必須高度重視軟件測(cè) 試工作 絕不能以為寫如程序之艨軟件舞發(fā)工作就算差不多完成了 實(shí)際上 大 約還有同樣多的開發(fā)工作量需要完成 也就是軟件測(cè)試工作 2 王 羔軟件測(cè)試 首先要清楚什么是測(cè)試 軟件測(cè)試是為了尋找錯(cuò)誤而執(zhí)行一個(gè)程序或系統(tǒng) 的過程1 9 通過評(píng)價(jià)一個(gè)程序或系統(tǒng)的屬性和性能來確定其是否滿足所期望的結(jié) 果 l o 軟件測(cè)試的目標(biāo)既不是要找到軟件中所有的錯(cuò)誤 或者找出某 代碼段里存 在具體錯(cuò)誤的數(shù)量 也不是要證明某個(gè)軟件的設(shè)計(jì)是否正確 而是要保證被測(cè)試 的軟件產(chǎn)品的功能與需求相符 達(dá)到客戶的需求 測(cè)試包括檢查 v e r i f 主c a t i d n 6 浙江大學(xué)碩士學(xué)位論文第2 章軟件測(cè)試相關(guān)理論和估算常用方法研究 和驗(yàn)證 v a l i d a t i o n 兩個(gè)方面 檢查用于評(píng)估軟件產(chǎn)品的計(jì)劃 文檔 代碼 說明書等內(nèi)容中是否存在錯(cuò)誤或者矛盾 驗(yàn)證用于檢驗(yàn)軟件是否滿足軟件說明書 的要求 1 l 從傳統(tǒng)意義上來說 軟件測(cè)試可以從測(cè)試工程師設(shè)計(jì)測(cè)試用例時(shí)的角度來劃 分為 黑盒測(cè)試和自盒測(cè)試 黑盒測(cè)試不考慮軟件的內(nèi)部行為 目標(biāo)是根據(jù)需求 來測(cè)試軟件的功能 1 2 l 而白盒測(cè)試則要求測(cè)試人員必須理解軟件內(nèi)部的數(shù)據(jù)結(jié) 構(gòu) 代碼和算法等 必須包含滿足某些代碼覆蓋率要求的測(cè)試 此外 軟件測(cè)試還可以按照層次關(guān)系劃分成三種不同的測(cè)試 測(cè)試軟件功能 模塊內(nèi)部代碼的單元測(cè)試 測(cè)試功能模塊之間聯(lián)系的集成測(cè)試 針對(duì)整個(gè)軟件產(chǎn) 品整體功能的系統(tǒng)測(cè)試 還萄以按照不圈的要求劃分成許多具體的測(cè)試類型 例如可以根據(jù)軟件具體 的功能要求 進(jìn)行功能測(cè)試 也可以根據(jù)軟件需要滿足的性能需求 來進(jìn)行性能 測(cè)試等 2 1 2 軟件功能測(cè)試 軟件功能測(cè)試 s o f t w a r ef u n c t i o n a lt e s t i n g 是系統(tǒng)測(cè)試中最基本的測(cè)試 與 性能測(cè)試和壓力測(cè)試等其他測(cè)試截然不同 功能測(cè)試與軟件內(nèi)部的實(shí)現(xiàn)邏輯無 關(guān) 主要根據(jù)產(chǎn)品的需求規(guī)格說明書和測(cè)試需求列表 驗(yàn)證產(chǎn)品的功能實(shí)現(xiàn)是否 符合產(chǎn)品的需求規(guī)格 屬于黑盒測(cè)試 功能測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤舊 是否有不正確或者是遺漏了的功能 功能實(shí)現(xiàn)是否滿足用戶需求和系統(tǒng)設(shè)計(jì)的隱藏需求 能否正確地接受輸入 能否正確地輸出結(jié)果 軟件功能測(cè)試要求測(cè)試用例設(shè)計(jì)者非常熟悉產(chǎn)品的需求文檔 需求規(guī)格說明 書 產(chǎn)品業(yè)務(wù)邏輯等 同時(shí)也要對(duì)測(cè)試用例的設(shè)計(jì)方法有一定的了解和掌握 才 能設(shè)計(jì)出好的測(cè)試方案 測(cè)試套件和測(cè)試用例等 高效地進(jìn)行功能測(cè)試 7 浙江大學(xué)碩士學(xué)位論文第2 章軟件測(cè)試桐關(guān)理論和估算常用方法研究 2 王 3 軟件測(cè)試流程和管理 盡管軟件測(cè)試在不同的機(jī)構(gòu)中都會(huì)有所不同 但是一般來講 一個(gè)完整的軟 件測(cè)試工作流糕大都包括以下六個(gè)階段 如圖2 1 所示 需求分?jǐn)仉A段 在軟件汗發(fā)生命周期的需求分析階段就應(yīng)該開始測(cè)試框 關(guān)活動(dòng) 在設(shè)計(jì)階段 測(cè)試人員應(yīng)該同開發(fā)人員 起來決定哪些設(shè)計(jì)是 可測(cè)試的 測(cè)試計(jì)劃階段 剃定測(cè)試計(jì)翅的疆的是依據(jù)需求分析酶結(jié)果來確定測(cè)試 活動(dòng)的范圍 方法 資源和進(jìn)度 明確正在測(cè)試的項(xiàng)目要測(cè)試的特性 要執(zhí)季亍的測(cè)試飪務(wù) 任務(wù)的責(zé)任人以及與計(jì)劃相關(guān)的風(fēng)險(xiǎn) 嘲 設(shè)計(jì)測(cè)試用例階段 測(cè)試需求收集完成之焉 開始測(cè)試用鍘設(shè)計(jì) 執(zhí)行測(cè)試階段 測(cè)試入員基于測(cè)試計(jì)劃和測(cè)試用例來執(zhí)行軟件 將發(fā)現(xiàn) 的任何錯(cuò)誤都告知開發(fā)組 出具測(cè)試分析報(bào)告階段 一旦測(cè)試完成 測(cè)試入員隨睬開始編寫最終酶 測(cè)試報(bào)告 分析所測(cè)軟件是否可以投入使用 缺陷再測(cè)試階段 測(cè)試人員將對(duì)舜發(fā)綴基修復(fù)的缺陷進(jìn)行爵溯試竣絳涯 其滿足客戶的需求 并不是發(fā)現(xiàn)的所有錯(cuò)誤或缺陷都必須被開發(fā)組修復(fù) 一些可能豳手錯(cuò)誤的配趲測(cè)試軟件 些可能在糞實(shí)產(chǎn)晶環(huán)境下可以被 處理 其健的可能會(huì)放在未來的軟件舨本中再進(jìn)行修復(fù) 圖2 1 軟件測(cè)試工作流程圈 8 浙江大學(xué)碩士學(xué)位論文第2 章軟件測(cè)試桐關(guān)理論和估算常用方法研究 2 2 工作量估算常用方法研究 估算 即確定項(xiàng)目開發(fā)時(shí)間和開發(fā)成本的過程 在過去的幾十年中 產(chǎn)生了 凡秸模型幫方法用來褚算軟律的規(guī)模 復(fù)雜度 工作量翻開銷 在一些研究的調(diào) 查實(shí)驗(yàn) 1 5 1 6 11 1 7 中總結(jié)了迄今為止的軟件估算方法 本文詳細(xì)研究丁其中一些比 較著名靜軟件估算方法的基本概念和原理 包括 功麓點(diǎn)分析法 c o c o m o 模 型 用例點(diǎn)分析法 回歸分析和機(jī)器學(xué)習(xí)等方法 以下五節(jié)將分別對(duì)其進(jìn)行介紹 昶分耩 2 2 l 功能點(diǎn)分析法 上個(gè)世紀(jì)7 0 年代 m m 公司試圖開發(fā)一種獨(dú)立于語言的對(duì)軟件開發(fā)工作量 進(jìn)行估算的方法 幫功能點(diǎn)分耩法 f u n c t i o np o i n ta n a l y s i s 籬稱為f p a t a l 功能點(diǎn)分析法從功能性的或者用戶的角度進(jìn)行度量 并獨(dú)立于計(jì)算機(jī)語言 開發(fā)方法 技術(shù)平臺(tái)和項(xiàng)基組的能力等因素 與代碼行數(shù) l i n eo f c o d e 籬稱力 l o c 方法從純開發(fā)的角度出發(fā)進(jìn)行估算截然不同 該方法最初被用來度量計(jì)算 槐應(yīng)蹋軟咎及開發(fā)該軟件的項(xiàng)弱韻攫摸 連弱關(guān)予功箋點(diǎn)計(jì)數(shù)豹援則 其已被多 次修改并優(yōu)化過 功能燾分析法定義了五釋基本鰓功能類型來估算軟磐的怒模 兩種數(shù)據(jù)功能 類型 內(nèi)部邏輯文件 肼 和外部接口文件 e 脬 三種事務(wù)功能類型 外部 輸入 毯量 外部輸窶 酌 和外部查詢 鞠 l s 表2 l 詳纓介綴了各個(gè)功能 類型的定義 功能點(diǎn)分析法現(xiàn)在被國際功能點(diǎn)用戶組 i n t e r n a t i o n a lf u n c t i o np o i n t u s e r sg r o u p 籬稱i f p u g 送行維護(hù)瑟9 1 該組織提出了這5 種基本類型功能點(diǎn)囂 統(tǒng)計(jì)規(guī)則 提供對(duì)功能點(diǎn)計(jì)算人員的培訓(xùn) 并且根據(jù)引入的新開發(fā)語言 不斷更 薪轉(zhuǎn)換表 一般來說 計(jì)算功能點(diǎn)數(shù)目的步驟如下 l 計(jì)算輸入 輸出 查詢 內(nèi)部邏輯文俘 器舞部接口文釋等五種基本類 型的數(shù)目 2 將這些數(shù)據(jù)進(jìn)季亍加投乘 圖2 2 為 個(gè)典型的功麓點(diǎn)復(fù)雜度權(quán)值表 9 浙江大學(xué)碩士學(xué)位論文第2 章軟件測(cè)試相關(guān)理論和估算常用方法研究 3 估算者根據(jù)對(duì)復(fù)雜度的判斷 總數(shù)可以進(jìn)行一定的調(diào)整 表2 1 功能點(diǎn)分析法中的功能類型定義及示例 功能類型定義示例 內(nèi)部邏輯文件 i l f 重要的數(shù)據(jù)結(jié)構(gòu)或內(nèi)部文件一個(gè)系統(tǒng)中由最終用戶來維護(hù) 的數(shù)據(jù)邏輯分組 外部接躁文件 e 臻 重要的配置數(shù)據(jù)或文件其他系統(tǒng)中的僅被用來做引用 的數(shù)據(jù)分組 於部輸入 e i 針對(duì)內(nèi)部邏輯文件 附的界使用戶可以通過添加 修改和 面 對(duì)話框等刪除內(nèi)容來維護(hù)i l f 中的數(shù)據(jù) 外部輸嫩 e 0 輸出表報(bào)或某些視圖等 外部接口文件 e i f 用戶輸入選擇信息來獲取滿足字?jǐn)?shù)多少 查詢結(jié)果或關(guān)于軟 具體標(biāo)準(zhǔn)的數(shù)據(jù)件的狀態(tài)問題等 m e a 湛 u r e d 降m m p e m o d e 蠢蠡r 纛謄 耄矗l 譬a m e t e rr 盞g e n i l l 1 b e to f 3 口 叫 6 口 毫l 霉靜ri n p u t a g k 檄b e ro 董 蠢 口 叫 亨 口 h 囂辟ro u g p u t a k u m b e ro f 3 x 口 蠢 口 8 口 毽蠢e fq u e r t 翎 n u t u b e ro f 7 x 口 1 0 口 1 5 x 口 f i l e s n u m b e ro f5x 口 7 口 重o 口 o u t e ri n t o r f a c e s t o t m l i n g 圖2 2 功能點(diǎn)復(fù)雜度權(quán)重對(duì)應(yīng)表 到現(xiàn)在為止 不斷有基于a l b r e c h t 的功能點(diǎn)分析模型的新的f p a 版本發(fā)表 包括i f p u g 方法 2 0 1 m a r k i i 2 1 1 c o s m i c f f p 2 2 等 對(duì)于一個(gè)軟件產(chǎn)品的開發(fā) 功能點(diǎn)對(duì)項(xiàng)目早期的規(guī)模估算比較有幫助 但是 l o 浙江大學(xué)碩士學(xué)位論文第2 章軟件測(cè)試栩關(guān)理論和估葬常用方法研究 對(duì)于軟件測(cè)試工作量的估算來說 并菲像野發(fā)工作量那樣直觀 此外 在軟件工 程界 功能點(diǎn)分析模型也一直備受爭(zhēng)議 計(jì)算功能點(diǎn)數(shù)目需要繁重的工作量 相 比其對(duì)于開銷估算所帶來的精確性并沒有太多的優(yōu)勢(shì) 也沒有考慮到影響軟件項(xiàng) 目復(fù)雜度的其他很多重要因素 比如需求變化 資源限制和優(yōu)先級(jí)重新定義等 2 2 2 2c o c o m o 模型 1 9 8 1 年b a r r yj b o e h m 在 s o i t w a r ee n g i n e e r i n ge c o n o m i c s 一書中首次發(fā)表 了構(gòu)造性成本模型 c o n s t r u c t i v ec o s tm o d e l 簡(jiǎn)稱為c o c o m o 作為用來估算 軟件項(xiàng)目工作量 開銷和進(jìn)度的模型 該模型基于6 3 個(gè)項(xiàng)目的研究 項(xiàng)目大小 從2 0 0 0 到1 0 0 0 0 0 代碼行不等 這些項(xiàng)目的軟件開發(fā)過程都是以當(dāng)時(shí)非常流行的 瀑布模型為主的 2 4 1 該模型之后被稱為c o c o m 0 8 1 隨著b a r r yj b o e h m 等人 進(jìn)一步的研究 1 9 9 7 年開發(fā)出了c o c o m oi i 并于2 0 0 1 年在 s o t t w a r ec o s t e s t i m a t i o n 謝t hc o c o m oh 一弗中發(fā)表了該模型 c o c o m oi i 對(duì)c o c o m 0 81 做了徹底的更新 更加適合于估算現(xiàn)代軟件開發(fā)項(xiàng)目 在原先的頊髓數(shù)據(jù)庫上進(jìn) 行了擴(kuò)充 對(duì)現(xiàn)代軟件開發(fā)過程也支持的更好 2 5 1 軟件開發(fā)技術(shù)從大型機(jī)和批處 理發(fā)展為桌面開發(fā) 代碼的可重用性和使用非定制的軟件模塊等都使得這個(gè)新模 型出現(xiàn)成為必然 無論是c o c o m 0 8 1 還是c o c o m oi i 都是將功能點(diǎn)f p 和源代碼行數(shù)s l o c 等轉(zhuǎn)換為所開發(fā)系統(tǒng)的王作量估計(jì) 公式利用了工作量乘以比例因數(shù) 該比例因 數(shù)根據(jù)開發(fā)環(huán)境的特征 項(xiàng)目組和項(xiàng)目開發(fā)流程等來定義f 2 6 兩者的基本原理都 是 將軟件開發(fā)所需工作量表示為軟件規(guī)模和一系列成本因子的函數(shù) 通用的c o c o m o 算法模型1 2 4 如下 其中 p m p e r s o nm o n t h s 以人月衡量的工作量 a 從歷史項(xiàng)墨數(shù)攥推導(dǎo)出的常量 2 1 腳 攆n甜 棗 g s 拳 么 l 跗 瀕經(jīng)大攀 黌士學(xué)位諗文第2 鬻較俘測(cè)試糯關(guān)理論和鏈籜鬻兵l 方滾研究 s 源代碼于行數(shù) 黼l o c 也可從功能點(diǎn)或者對(duì)象點(diǎn)轉(zhuǎn)換得到 e 對(duì)預(yù)期正作量存在指數(shù)或者非線性影響的比例因子的總和 e m 成本驅(qū)動(dòng)因予 涵蓋產(chǎn)品 人員 平螽 項(xiàng)目等方面 接下來分別來對(duì)c o c o m 0 8 1 和c o c o m oi i 進(jìn)行簡(jiǎn)單的介紹 2 z z 重c 既礴靜8 王 c o c o m o s l 包含了三個(gè)層次 其詳細(xì)度和精確度呈遞增形式發(fā)展 該模型 中 軟件項(xiàng)目的特征e l j 開發(fā)模式和成本驅(qū)動(dòng)因子來表現(xiàn) 殲發(fā)模式確定了工作量 估算公式中的系數(shù)a 和指數(shù)e 成本驅(qū)動(dòng)因子的影響表現(xiàn)為工作量乘數(shù)e m z t 1 基本模型 b a s i ec o c o m o 第一個(gè)層次 基本模型 b a s i cc o c o m o 對(duì)軟件開鐫可以進(jìn)霉亍快速旱期粗 略的數(shù)量級(jí)估算 但是由予缺少對(duì)不同的項(xiàng)盡屬性進(jìn)彳亍考慮 像硬件限制 個(gè)人 能力和經(jīng)驗(yàn) 瑗代工具和技術(shù)的使用等對(duì)軟件開銷影響巨大的因子 成本驅(qū)動(dòng) 其精確度是非常有限的 基本模型可以應(yīng)用于三種類型的軟件項(xiàng)目 分別為 組 織型 半組織型和嵌入型 基本模型的公式如下 e a b 牽 瓠 轄 勰 其中 e 以人胃雋單位的工作量 k l o c 估算的項(xiàng)圈需要交付的千行代碼數(shù) 系數(shù)鑲 玩見下表 表2 2 基本模型中不同軟件項(xiàng)目類燮對(duì)應(yīng)酶系數(shù)表 軟件頸雪類型 嚷魂 組織型 2 41 0 5 半組織型 3 01 1 2 嵌入型 3 6l 2 0 1 2 浙江太學(xué)碩士學(xué)位論義第2 章軟件測(cè)試相關(guān)理論和估算常用方法研究 2 中等模型 i n t e r m e d i a t ee o c 0 0 中等模型 i n t e r m e d i a t ec o c o m o 將軟件開發(fā)工作量表示為軟件規(guī)模與一 組舞銷驅(qū)動(dòng)因子的邈數(shù) 包括產(chǎn)是的主觀評(píng)估 硬件 人員和項(xiàng)目屬性等四種開 銷驅(qū)動(dòng) 每種都涵蓋了一些予屬鑲 具體覓下表 表2 3 中等模型掰涵蓋的翱耪開鎊驅(qū)動(dòng)及予滿性 產(chǎn)品屬性要求的軟件可靠性 數(shù)據(jù)庫規(guī)模 產(chǎn)品復(fù)雜性 硬件屬性執(zhí)行時(shí)聞約案 主存儲(chǔ)器約束 虛擬機(jī)的易變形 計(jì)算楓周轉(zhuǎn)時(shí)聞 人員屬性分析員能力 程序員能力 應(yīng)用經(jīng)驗(yàn) 虛擬機(jī)經(jīng)驗(yàn) 編程語言經(jīng)驗(yàn) 項(xiàng)蠢屬鏈現(xiàn)代編程趣范 軟件工具的使用 要求的開發(fā)進(jìn)度 上述的1 5 個(gè)屬性 每個(gè)都分為了6 個(gè)等級(jí) 每個(gè)等級(jí)都被賦予了一個(gè)王作量 乘數(shù) 用以體現(xiàn)其對(duì)項(xiàng)霸工作量的影響程度 所有工作量乘數(shù)的乘積即為工作量 調(diào)整因子 e f f o r ta d j u s t m e n tf a c t o r 籬稱為e a f 值一般在0 9 l 瘁之聞 中等模型的公式如下 e a i k l o c b 棗聯(lián)羅罄 3 瀕江大學(xué)磺士學(xué)位論文第2 牽欲俘測(cè)試耨莢毽論窺鑄舞豢躅秀法疆究 其中 e 以人月為單位的工作量 k l o c 估算的項(xiàng)囂需要交付的千行代碼數(shù) e a f 為所有工作量乘數(shù)的乘積 系數(shù)a i 冬凳下表 表2 4 中等模型中不同項(xiàng)謦類黧對(duì)成的系數(shù)表 軟件項(xiàng)目 q 穗 組織型 3 2l 0 5 半組織型 3 ol 1 2 嵌入型 2 81 2 0 3 詳細(xì)模型 d e t a i l e dc o c o 雌o 詳細(xì)模型 d e t a i l e dc o c o m o 在中等模型的基礎(chǔ)上還考慮了這些因子對(duì)單 個(gè)頊露階段的影響 魄如分析 設(shè)計(jì)等階段 2 2 2 2c o c o m 0 1 1 c o c o m oi i 對(duì)c o c a 讎0 s 董散了較大蜉更耨 可以支持更多的開發(fā)過程模 型 比如螺旋模型 r u p 等 針對(duì)不同的軟件過程細(xì)軟件項(xiàng)目開發(fā)階段提供了三 個(gè)模型 應(yīng)用組裝模型 畢期設(shè)計(jì)模型和后體系結(jié)構(gòu)模型吲 可以根據(jù)所迸擇的 軟件過程 項(xiàng)隧目前所處的階段來決定選用哪個(gè)模型來進(jìn)行估算 在軟件規(guī)模估 算上 c o c o m oi i 除了可以以源代碼行為單位外 還可以通過功麓點(diǎn)估算方法 模型可以蠡動(dòng)將未調(diào)整的功匏點(diǎn)數(shù)轉(zhuǎn)化為源代碼行數(shù)來進(jìn)行 鑫算 此外 c o c o m oi i 對(duì)成本驅(qū)動(dòng)因子徽了進(jìn)一步的更新 使得更加符合現(xiàn)代的軟件開發(fā) 模式 c o c o m o 模型在眾多估算方法中得到了廣泛的應(yīng)用和認(rèn)可 這與其暴有開 放 完全文檔化 數(shù)據(jù)驅(qū)動(dòng)及面向公眾的優(yōu)點(diǎn)是分不開的 但是 該模型是將軟 1 4 浙江大學(xué)碩士學(xué)位論文第2 章軟件測(cè)試相關(guān)理論和估算常用方法研究 件生命周期中的產(chǎn)品設(shè)計(jì) 編碼 集成與測(cè)試當(dāng)成一個(gè)整體來進(jìn)行工作量估算的 并沒有獨(dú)立對(duì)某個(gè)階段的工作量進(jìn)行估算 此外 c o c o m o 起初是為大型項(xiàng)目 來設(shè)計(jì)和構(gòu)想的估算模型 不太適合于中小型項(xiàng)目估算 并且對(duì)于小型項(xiàng)目來說 估算過程也過于繁瑣和復(fù)雜 估算結(jié)果也往往不太理想 2 2 3 用例點(diǎn)分析法 用例點(diǎn)分析法 u s ec a s ep o i n ta n a l y s i s 簡(jiǎn)稱為u c p a 是功能點(diǎn)分析法的 一個(gè)擴(kuò)展 是基于用例規(guī)格說明書 u s ec a s e 來估算系統(tǒng)的規(guī)模 并進(jìn)麗估算 項(xiàng)目開發(fā)的工作量等 精確計(jì)算功能點(diǎn)f p 需要關(guān)于目標(biāo)軟件的詳細(xì)信息 麗通常這些信息都定義 在軟件詳細(xì)設(shè)計(jì)書中 而為了在項(xiàng)目的更早階段就能估算軟件的工作量 提出了 用例點(diǎn)u s ec a s ep o i n t u c p 方法婆司 u c p 基于定義了所開發(fā)軟件系統(tǒng)功能領(lǐng) 域的用例模型 用例點(diǎn)u c p 的數(shù)量從u s ec a s e 模型中計(jì)算得出 用側(cè)模型主要包括兩種文 檔 系統(tǒng) 子系統(tǒng)文檔和用例文檔 涵蓋了 系統(tǒng)名稱 風(fēng)險(xiǎn)系數(shù) 系統(tǒng)級(jí)用例圖 架構(gòu)圖 子系統(tǒng)描述 用例名稱 簡(jiǎn)要介紹 上下文關(guān)系圖 前提 事件流 用 戶接口等 其中用來計(jì)算u c p 的主要是系統(tǒng)級(jí)用例圖和事件流 系統(tǒng)級(jí)用例圖包含了一 個(gè)或多個(gè)用例圖來表示系統(tǒng)中的所有用例及a c t o r 事件流包含了每個(gè)用例中的 一組正常路徑和每個(gè)可能的路徑 圖2 3 和圖2 4 分別表示了某 訂單處理系統(tǒng) 的系統(tǒng)級(jí)用例圖和該系統(tǒng)所包含的一部分事件流 瘸2 3 訂單處理系統(tǒng) 系統(tǒng)級(jí)用例圈 浙江大學(xué)碩士學(xué)位論文 第2 章軟件測(cè)試相關(guān)理論和估算常用方法研究 用戶贏擊按鑷來選擇赫下訂單耩 2 系統(tǒng)撾供 個(gè)輸入界兩 3 客戶輸入新癸購羆的產(chǎn)齲代碼 4 系統(tǒng)提供該產(chǎn)齲的描述和價(jià)格答 圖2 4 訂單處理系統(tǒng) 涵蓋的一部分事件流 可以通過以一定權(quán)重來計(jì)算a c t o r s 和事件流中包含的事務(wù)的數(shù)量來得到用例 點(diǎn) 事務(wù)是在a c t o r 和鼷標(biāo)系統(tǒng)聞發(fā)生的事件 完全完成或者完全不發(fā)生 基于用例點(diǎn)分析法進(jìn)行工作量估算的方法步驟 2 9 如下 步驟一 計(jì)算a c t o r 權(quán)重 用例模型中的a c t o r 被分為了三類 簡(jiǎn)單 中等和復(fù)雜 一個(gè)簡(jiǎn)單的a c t o r 表示另一個(gè)通過已定義a p i 進(jìn)行交互的系統(tǒng) 一個(gè)中等a c t o r 表示通過某種協(xié)議 如t c p i p 進(jìn)行交互的系統(tǒng)或者通過基于文本的接口進(jìn)行交互的用戶等 一個(gè)復(fù) 雜的a c t o r 指逶過界面與系統(tǒng)進(jìn)行交互的用戶 計(jì)算目標(biāo)軟件包含的同一個(gè)a c t o r 類型的數(shù)網(wǎng) 并與表2 5 中的權(quán)重因子相 乘 最怎將這些值相加即可得到總的a c t o r 權(quán)重 表2 5a c t o r 各類型權(quán)重分糯 類型描述權(quán)重 簡(jiǎn)單程序接口 l 中等交互式的或基于某種協(xié)議 2 復(fù)雜圖形界面 3 步驟二 計(jì)算用例權(quán)重 將所有的用例都分為三種 簡(jiǎn)單 中等和復(fù)雜 通過每個(gè)用例中事務(wù)的數(shù)量 來進(jìn)行區(qū)分 每個(gè)事務(wù)都被定義為一組行為的原子集合 計(jì)算目標(biāo)軟件包含的同一個(gè)用例類型的數(shù)目 并與表2 6 中的權(quán)重因子相乘 1 6 瀕涯大學(xué)磺士學(xué)位論文第2 章軟佟測(cè)試稠關(guān)理論移健籜常用方法研究 最后將這些值相加得到總的用例權(quán)重 襲2 6 基于事務(wù)的用例權(quán)熏分稀 類型描述權(quán)重 簡(jiǎn)單不超過3 個(gè)事務(wù) 5 中等4 到7 個(gè)事務(wù) 1 0 復(fù)雜超過7 個(gè)事務(wù) 1 5 步驟三 計(jì)算未調(diào)魅的用例點(diǎn) 將總的a c t o r 權(quán)重和總的用例權(quán)重相加得到來調(diào)整的用鍘點(diǎn) u n a d j u s t e du s e c a s ep o i n t 即u u c p 步驟遙 技術(shù)因子和環(huán)境因子 定義了一組技術(shù)因子和一組環(huán)境因子 根據(jù)其對(duì)項(xiàng)囂的假定的影響 每個(gè)因 子都被賦予了 個(gè)0 到5 之間的值 0 表示該因子跟項(xiàng)目不相關(guān) 5 表示該因子 非常重要 技

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論