(管理科學與工程專業(yè)論文)基于粗糙集神經(jīng)網(wǎng)絡(luò)的軟件測試外包成本預測模型研究.pdf_第1頁
(管理科學與工程專業(yè)論文)基于粗糙集神經(jīng)網(wǎng)絡(luò)的軟件測試外包成本預測模型研究.pdf_第2頁
(管理科學與工程專業(yè)論文)基于粗糙集神經(jīng)網(wǎng)絡(luò)的軟件測試外包成本預測模型研究.pdf_第3頁
(管理科學與工程專業(yè)論文)基于粗糙集神經(jīng)網(wǎng)絡(luò)的軟件測試外包成本預測模型研究.pdf_第4頁
(管理科學與工程專業(yè)論文)基于粗糙集神經(jīng)網(wǎng)絡(luò)的軟件測試外包成本預測模型研究.pdf_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學位論文數(shù)據(jù)集 中圖分類號 c 9 3 學科分類號 6 3 0 5 0 論文編號 1 0 0 10 2 0 1 1 0 9 2 7 密級公開 學位授予單位代碼 1 0 0 1 0 學位授予單位名稱北京化工大學 作者姓名曹亞舉學號 2 0 0 8 0 0 0 9 2 7 獲學位專業(yè)名稱管理科學與工程獲學位專業(yè)代碼 0 8 7 1 課題來源自選研究方向神經(jīng)網(wǎng)絡(luò) 論文題目基于粗糙集神經(jīng)網(wǎng)絡(luò)的軟件測試外包成本預測模型研究 關(guān)鍵詞軟件測試外包,粗糙集,神經(jīng)網(wǎng)絡(luò),成本預測模型 論文答辯日期 2 0 1 1 0 5 1 8論文類型 應(yīng)用研究 學位論文評闋及答辯委員會情況 姓名職稱工作單位學科專長 指導教師李五四教授北京化工大學 侖慢l 趨冠 評閱人1沈鳳武副教授北京化工大學 髓提稽譚 _ 一 評閱人2馬永紅教授北京航空航天大學 哇掘薄 評閱人3 評閱人4 評閱人5 橢員會拂張建文 教授北京化工大學 螄相浮 答辯委員1幸春林教授北京化工大學 咯胡印陋 答辯委員2沈鳳武副教授北京化工大學 瞻懈 答辯委員3 吳衛(wèi)紅副教授北京化工大學 嗲懈 答辯委員4李健副教授北京化工大學 礓胡牽隘 答辯委員5 注:一論文類型:1 基礎(chǔ)研究2 應(yīng)用研究3 開發(fā)研究4 其它 二中圖分類號在中國圖書資料分類法查詢 三學科分類號在中華人民共和國國家標準( g b t1 3 7 4 5 - 9 ) 學科分類與代碼中 查詢 四論文編號由單位代碼和年份及學號的后四位組成 摘要 基于粗糙集神經(jīng)網(wǎng)絡(luò)的軟件測試外包成本預測模型 摘要 煳嬲 研究 近年來伴隨著信息技術(shù)的日新月異,軟件行業(yè)有了飛速的發(fā)展, 軟件產(chǎn)品開始服務(wù)于各行各業(yè),社會對于軟件的功能和質(zhì)量要求也變 得越來越高。基于需求和社會分工的趨勢,對于很多成熟穩(wěn)定或者復 雜度較高的軟件項目,測試工作已經(jīng)開始逐步交給獨立的外包企業(yè), 軟件測試外包如今已經(jīng)成為軟件行業(yè)的國際慣例。 軟件開發(fā)與測試由不同的利益主體完成,是保障軟件質(zhì)量和軟件 使用者權(quán)益的基本前提。因此建立一種軟件開發(fā)與測試雙方認同的、 具有科學性并能與時俱進的測試成本預測方法或預測模型,是規(guī)范軟 件測試外包行業(yè)和推動軟件產(chǎn)業(yè)健康發(fā)展的重要保證。目前,關(guān)于軟 件成本估算的方法比較多,但是針對軟件測試的獨立成本的相關(guān)研究 還非常少,本文綜合運用神經(jīng)網(wǎng)絡(luò)和粗糙集理論,對比已有的比較成 熟的c o c o m o 模型,分析了當前軟件測試外包成本預測中存在的問題 和不足,提出基于粗糙集神經(jīng)網(wǎng)絡(luò)的軟件測試成本預測思路和邏輯, 建立了軟件測試項目的粗糙集神經(jīng)網(wǎng)絡(luò)成本預測模型,并在模型基礎(chǔ) 上,為軟件測試外包的成本估算、預測步驟提出了新的解決方案。 關(guān)鍵詞:軟件測試外包;粗糙集;神經(jīng)網(wǎng)絡(luò);成本預測模型 北京化t 大學碩l 學位論文 a ss o f t w a r eq u a l i t yh a sg o tm o r ea t t e n t i o na n dh i g h e rr e q u i r e m e n t t h a nb e f o r e ,t h ed e v e l o p m e n ta n dt e s t i n go fs o f t w a r eh a v eb e e ns e p a r a t e d i nm o s tc a s e sn o w m o r ea n dm o r es o f t w a r e c o m p a n i e sc h o o s et o o u t - s o u r c et h e i rt e s t i n gw o r kt ot h o s ep r o f e s s i o n a lc o m p a n i e s s o f t w a r e t e s t i n gi sa ni m p o r t a n tp a r tf o rs o f t w a r eq u a l i t ya s s u r a n c e t h i sp a p e rf i r s ti n t r o d u c e st h es i t u a t i o na n dc h a r a c t e r i s t i c so ft h e s o f t w a r e t e s t i n gi n d u s t r y , a n dc o m p a r e st h e d i f f e r e n tm e t h o d sf o r s o f t w a r ee s t i m a t i o n t h e ni th a se s t a b l i s h e dan e wm o d e lf o rc o s t e s t i m a t i o no fs o f t w a r et e s t i n gp r o j e c tb a s e do nn e u r a ln e t w o r ka n d r o u g h s e t st h e o r y f i n a l l y , i tg i v e sa ne x a m p l et ov e r i f yt h i sm o d e li sa p p l i c a b l e i np r a c t i c e ,a n da n a l y z ei t sa d v a n t a g e sa n d d i s a d v a n t a g e s k e yw o r d s :s o f t w a r eo u t s o u r c i n g t e s t i n g ,r o u g hs e t s ,n e u r a l n e t w o r k ,c o s te s t i m a t i o n 北京化工人學碩上學位論文 目錄 目錄 第一章緒論一1 1 1 研究背景及意義1 1 2 研究內(nèi)容及組織結(jié)構(gòu)2 1 2 1 研究內(nèi)容k 2 1 2 2 論文組織結(jié)構(gòu)3 1 2 3 論文創(chuàng)新點3 第二章軟件測試外包及其成本5 2 1 軟件測試的發(fā)展5 2 2 軟件測試外包6 2 3 軟件測試成本及其預測方法。7 2 3 1 軟件測試成本。7 2 3 2 軟件成本預測方法8 第三章軟件成本估算模型及相關(guān)研究1 1 3 1c o c o m o 模型11 3 1 1c o c o m o 模型簡介1l 3 1 2c o c o m o ii 模型13 3 1 3c o c o m o 模型的優(yōu)勢與不足1 4 3 2 粗糙集理論15 3 2 1 粗糙集理論簡介15 3 2 3 信息系統(tǒng)及決策表2 0 3 2 4 決策表的約簡2 2 3 3b p 神經(jīng)網(wǎng)絡(luò)模型2 4 3 3 1 神經(jīng)網(wǎng)絡(luò)原理2 4 3 3 2b p 神經(jīng)網(wǎng)絡(luò)模型2 6 第四章軟件測試外包成本預測模型的構(gòu)建2 9 4 1 基于粗糙集的b p 神經(jīng)網(wǎng)絡(luò)2 9 4 1 1 粗糙集與神經(jīng)網(wǎng)絡(luò)的特點2 9 4 1 2 粗糙集與b p 神經(jīng)網(wǎng)絡(luò)相結(jié)合3 0 4 2 軟件測試外包成本預測模型構(gòu)建3l 4 2 1 構(gòu)建神經(jīng)網(wǎng)絡(luò)模型31 4 2 2 粗糙集優(yōu)化3 3 v 北京化t 大學碩:l 學位論文 4 3 適合軟件測試外包的粗糙集神經(jīng)網(wǎng)絡(luò)成本預測模型。3 5 第五章s 公司基于w e b 業(yè)務(wù)項目系統(tǒng)測試成本預測,3 7 5 1 軟件測試項目概況3 7 5 1 1 項目背景3 7 5 i 2 項目特點3 7 5 2 軟件測試項目準備3 8 5 2 1 人力資源需求:3 8 5 2 2 系統(tǒng)測試性能要求3 8 5 2 3 軟件功能描述3 9 5 3 測試項目成本估算3 9 5 3 i 測試項目規(guī)模估計3 9 5 3 2 工作進度估計4 2 5 3 3 測試項目總成本預測4 3 第六章結(jié)論4 5 參考文獻4 7 致謝4 9 研究成果及發(fā)表的學術(shù)論文。5 l 導師和作者簡介5 3 v l c o n t c n t s co n t e n t s c h a p t e r 1i n t r o d u c t i o n 1 1 1r e s e a r c hb a c k g r o u n da n ds i g n i f i c a n c y 1 1 2c o n t e n t sa n do r g a n i z a t i o n 2 1 2 1r e s e a r c hc o n t e n t s 2 1 2 2o r g a n i z a t i o ns t u c t u r e 3 1 2 3i n n o v a t i v ep o i n t s 3 c h a p t e r 2s o f t w a r et e s t i n ga n dc o s t 5 2 1s o f t w a r et e s t i n gd e v e l o p m e n to v e r v i e w 5 2 2s o f t w a r et e s t i n go u t s o u r c e 6 2 3s o f t w a r et e s t i n gc o s ta n df o r e c a s t 7 2 3 1s o f t w a r et e s t i n gc o s t 7 2 3 2s o f t w a r ec o s tp r e d i c t i o nm e t h o d s 8 c h a p t e r3s o f t w a r ec o s tp r e d i c t i o nm o d e la n a l i s i s 11 3 1r e v i e wo fc o c o m o m o d e l 11 3 1 1c o c o m om o d e l i n s t u r c t i o n 。1 1 3 1 2c o c o m o i im o d e l 13 3 1 3a d v a n t a g e sa n dd i s a d v a n t a g e s 1 4 3 2r o u g hs e t st h e r o y 15 3 2 1r o u g hs e t so v e r v i e w 1 5 3 2 2i n f o r m a t i o ns y s t e ma n dd e c i s i o nt a b l e 2 0 3 2 3r e d u c t i o no f d e c i s i o nt a b l e 2 2 3 3r e n e wo f n e u r a ln e t w o r k 2 4 3 3 1n e u r a ln e t w o r k p r i n c i p l e 2 4 3 3 2b pn e u r a ln e t w o r km o d e l 2 6 c h a p t e r 4c o s tp r e d i c t i o nm o d e l a l g o r i t h mo p t i m i z a t i o n 2 9 4 1r o u g hs e t s b a s e db pn e u r a ln e t w o r k 2 9 4 1 1c h a r a c t e r i s t c so fr o u g hs e t sa n dn e u r a ln e t w o r k 2 9 4 1 2c o m b i n a t i o no f r o u g hs e t sa n dn e u r a ln e t w o r k 3 0 4 2s o f t w a r eo u t s o u r c i n gp r e d i c t i o nm o d e lc o n s t u r c t i o n 31 4 2 1n e u r a ln e t w o r km o d e lc o n s t r u c t i o n 31 4 2 2r o u g hs e t so p t i m i z a t i o n 3 3 4 3p r e d i c t i o nm o d e lf o rs o f t w a r et e s t i n go u t s o u r c i n g 3 5 v 北京化t 大學碩士學位論文 c h a p t e r5m o d e la p p l i c a t i o no nsc o m p a n yw e b b a s e db u s i n e s s s y s t e mt e s t i n gc o s tp r e d i c t i o n 3 7 5 1s o f t w a r et e s t i n gp r o j e c to v e r v i e w 3 7 5 1 1p r o j e c tb a c k g r o u n d 3 7 5 1 2p r o j e c tc h a r a c t e r i s t c s 3 7 5 2p r e p a r a t i o nf o rs o f t w a r et e s t i n g 3 8 5 2 1h u m a nr e s o u r c er e q u i r e m e n t s 3 8 5 2 2s y s t e mt e s tp e r f o r m a n c er e q u i r e m e n t s 3 8 5 2 3s o f t w a r ef u n c t i o ni n s t r u c t i o n 。3 9 5 3s o f t w a r et e s t i n gc o s tp r e d i c t i o n 3 9 5 3 1t e s tp r o j e c ts i z ee s t i m a t i o n 3 9 5 3 2p r o g r e s se s t i m a t i o n 4 2 5 3 3t o t a lc o s te s t i m a t i o n z 1 3 c h a p t e r6c o n c l u s i o n s 4 5 r e f e r e n c e s 4 7 a c k n o w l e d g e m e n t 4 9 t h er e s u l to fr e s e a r c ha n dp u b l i s h e dd i s s e r t a t i o n 51 b r i e fi n t r o d u c t i o no fa u t h o ra n dd i r e c t o r 5 3 v i 第一章緒論 1 1 研究背景及意義 第一章緒論 信息產(chǎn)業(yè)已成為當今經(jīng)濟社會的第四產(chǎn)業(yè),并開始在國民經(jīng)濟和社會生活中起 著越來越重要的作用。而軟件產(chǎn)業(yè)是信息產(chǎn)業(yè)的核心和靈魂,隨著電子計算機和互 聯(lián)網(wǎng)的普及,軟件產(chǎn)品和服務(wù)已經(jīng)深入到人類生活的各個領(lǐng)域。從制造業(yè)到服務(wù)業(yè), 從政府辦公到企業(yè)生產(chǎn)、個人生活,軟件已成為不可或缺的服務(wù)工具。 面對軟件需求復雜化和軟件專業(yè)化發(fā)展的趨勢,軟件企業(yè)和客戶對軟件質(zhì)量重 要性的認識逐漸增強。軟件測試是保證軟件質(zhì)量的關(guān)鍵技術(shù)和重要手段,是為了發(fā) 現(xiàn)程序中的錯誤而執(zhí)行程序的過程。軟件測試成本的估算對于現(xiàn)代軟件項目的管理 和軟件行業(yè)的發(fā)展具有重要的意義,下面從影響軟件項目的不同維度進行分析。 從軟件項目開發(fā)的歷史演進來說,在早期的軟件開發(fā)模型中,軟件測試僅被看 作是軟件開發(fā)生命周期的一部分,并沒有專門的針對測試部分的成本估算研究。軟 件測試只在運行維護階段之前執(zhí)行,是在把軟件產(chǎn)品提供給用戶之前保證軟件質(zhì)量 的手段。近年來,軟件工程界出現(xiàn)一種新的觀點,認為測試應(yīng)當貫穿于軟件生命周 期每一階段中,以檢驗本階段的成果是否實現(xiàn)預期目標,盡早地發(fā)現(xiàn)和糾正錯誤, 如果不在早期階段進行測試的話,錯誤就會產(chǎn)生延時擴散效應(yīng),導致最后軟件成品 測試非常困剌。因此,軟件測試成本估算的選擇,對于軟件項目工作能否順利展 開和軟件產(chǎn)品的質(zhì)量將會產(chǎn)生重要的影響。 從軟件開發(fā)的過程來說,在軟件開發(fā)的早期階段,很多時候不能明確軟件需 求,影響成本的因素不能夠明晰,如何做好軟件成本的估算對于管理軟件項目進 行科學決策有著重要意義。如果軟件需求發(fā)生改變,由于測試是緊緊圍繞需求展 開的,那么必然地,軟件測試的規(guī)模和成本也會發(fā)生改變。所以,及時適應(yīng)需求 的變化,快速準確地估算變化后的軟件測試成本有利于軟件測試工作的順利開 展,進而保證項目能夠在計劃時間和滿足質(zhì)量要求的前提下完成,這樣才能在激 烈而瞬息萬變的的軟件市場競爭中處于有利位置。 最后,從外包服務(wù)市場交易也是最直接、最重要的維度來說,當今越來越多的 軟件企業(yè)將測試工作交給提供測試外包服務(wù)的公司,軟件測試過程和開發(fā)過程相分 離成為軟件行業(yè)的國際慣例。軟件外包是指企業(yè)為了專注核心競爭力業(yè)務(wù)和降低 軟件項目成本,將軟件項目中的全部或部分工作發(fā)包給提供外包服務(wù)的企業(yè)所完 北京化工大學碩上學位論文 成的活動【2 1 。軟件測試成為一個獨立的軟件過程,使得軟件開發(fā)和外包測試企業(yè)需 要通過市場交易實現(xiàn)軟件測試工作的外包。而只有建立在開發(fā)方和外包測試方一致 認同的軟件測試成本的基礎(chǔ)上,雙方才能展開市場交易與合作;并且只有在此基礎(chǔ) 上,軟件開發(fā)方和外包測試方才能達成軟件性價比標準和測試標準,才能進一步保 證軟件的質(zhì)量和效率。 但是軟件產(chǎn)品本身具有很多與一般的物質(zhì)產(chǎn)品完全不同的特點,所以其成本 估算也不能像一般的物質(zhì)產(chǎn)品那樣根據(jù)歷史經(jīng)驗線性估算。軟件項目通常需要由 多人共同合作,以經(jīng)驗、知識、智慧為基礎(chǔ),耗費大量的人力勞動成本,通常在 制定完成軟件項目的計劃時,根據(jù)軟件的復雜程度、所需勞動工作量和進度表安 排來分配項目資源。但是想要準確地估計軟件工作量是比較困難的,一方面因為 軟件工作主要是智力勞動投入,本質(zhì)上是抽象的邏輯思維過程,而軟件的需求和 質(zhì)量也總是不確定;另一方面,隨著軟件規(guī)模的增大,其復雜程度是成倍增加的, 開發(fā)一個大型軟件,往往需要很多人甚至不同業(yè)務(wù)公司之間分工合作。而軟件系 統(tǒng)具有復雜而又相互耦合的結(jié)構(gòu),這離不開項目團隊成員之間頻繁的溝通和后勤 支持工作,這些增加的工作量不易衡量,使軟件項目管理和控制變得更加困難。 目前,針對軟件項目規(guī)模和成本估算的研究與應(yīng)用已經(jīng)比較廣泛,主要的軟 件規(guī)模度量方式有代碼行、功能點及其擴展方式、對象點以及用例點;軟件成本 估算模型有c o c o m oi i 模型【3 】,但是還沒有專門針對軟件測試外包行業(yè)成本估 算的軟件。傳統(tǒng)的軟件測試成本估算方法基于估算人員的經(jīng)驗和統(tǒng)計工具,根據(jù) 歷史項目經(jīng)驗、測試占開發(fā)周期比例、交付時間或資金預算等,估算測試所需時 間和成本,往往會由于不同項目的差別,造成估算偏差,最后測試時間不夠,測 試不充分,導致大量軟件質(zhì)量缺陷不能被發(fā)現(xiàn)。 1 2 研究內(nèi)容及組織結(jié)構(gòu) 1 2 1 研究內(nèi)容 在軟件項目中,自變量和成本因變量之間具有復雜且易變動的關(guān)系。例如項 目需求變化,用戶對項目期限、進度要求的變化等等。影響軟件成本的因素非常 多,如軟件成本,硬件成本,人工費,培訓費,管理費用,通訊費,材料費等。 而且這些因素大多模糊不清、帶有不確定性,它們之間通常又相互制約,相互影 響。另外軟件一般需要經(jīng)過反復修改,并且開發(fā)成功后復制成本低。因此,軟件 成本不能像一般的物質(zhì)產(chǎn)品那樣用直觀線性的模型進行預測。 基于以上背景,本文提出一種新的軟件測試成本估算模型。人工神經(jīng)網(wǎng)絡(luò)具 2 第一章緒論 有非線性映射能力和自適應(yīng)學習能力,能夠更好地反映成本估算過程中多個自變 量和因變量之間的復雜關(guān)系。而粗糙集理論的定性處理能力能夠?qū)δP偷挠绊懸?素等參數(shù)進行約簡優(yōu)化。所以本文擬建立基于粗糙集優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型來預測 軟件測試成本。這樣能夠提煉出重要的影響因素,去除主觀因素的干擾,快速有 效的對軟件測試成本進行估算。 1 2 2 論文組織結(jié)構(gòu) 本文利用所掌握的軟件項目管理知識,對軟件項目管理的發(fā)展及其基本理論 進行綜述,結(jié)合c o c o m o 數(shù)據(jù)庫及模型,通過對不同估算方法的比較,提出用 粗糙集理論優(yōu)化的b p 神經(jīng)網(wǎng)絡(luò)模型預測軟件測試外包成本的方法。論文分析了 影響軟件測試成本的關(guān)鍵因素,為今后類似軟件測試外包成本的估算提供參考。 具體內(nèi)容包括: 、 ( 1 ) 綜述軟件項目的發(fā)展歷史、現(xiàn)狀和特點,重點指出本課題研究的背景及 意義。 ( 2 ) 介紹軟件測試的發(fā)展歷程,分析軟件測試成本并評價比較現(xiàn)有的用于軟 件成本預測的方法,概述粗糙集和b p 神經(jīng)網(wǎng)絡(luò)模型理論。 ( 3 ) 建立以c o c o m o 數(shù)據(jù)庫為訓練數(shù)據(jù)來源的粗糙集神經(jīng)網(wǎng)絡(luò)模型,介紹 模型建立的過程以及模型的先進性。 ( 4 ) 以s 公司基于w e b 業(yè)務(wù)的項目系統(tǒng)測試成本預測為實例,驗證模型的 適用性和有效性。 ( 5 ) 總結(jié)建立的粗糙集神經(jīng)網(wǎng)絡(luò)模型用于軟件測試成本預測的優(yōu)勢和不足 之處。 1 2 3 論文創(chuàng)新點 本文提出軟件測試外包成本預測對于軟件測試外包項目中實現(xiàn)產(chǎn)權(quán)交易和 維護客戶權(quán)益等方面的重要意義,在變量的選取和模型的設(shè)計上參考通用的模型 和理論并進行了一定的創(chuàng)新。通過分析軟件開發(fā)項目與測試外包項目進行成本預 測的相關(guān)要素等指標體系,提出了符合測試行業(yè)特點的成本預測指標,首次將 c o c o m o 模型、粗糙集和神經(jīng)網(wǎng)絡(luò)算法結(jié)合用于軟件測試成本預測。 3 北京化工大學碩十學位論文 4 第二章軟件測試外包及j e 成本 第二章軟件測試外包及其成本 2 1 軟件測試的發(fā)展 軟件產(chǎn)品在交付用戶之前,為了保證其質(zhì)量和性能滿足計劃或用戶的需求, 一般要進行測試來驗證和修改軟件的過程。所以軟件測試是由軟件產(chǎn)品項目衍生 出來的。在最初時,軟件產(chǎn)品大多數(shù)規(guī)模比較小,不需要太多的復雜邏輯和很高 的功能要求,軟件開發(fā)相對簡單,開發(fā)過程經(jīng)常比較隨意而無序。而軟件人員對 測試的理解比較狹隘,常常把“調(diào)試”就認為是測試的工作,其實調(diào)試主要只是 在發(fā)現(xiàn)錯誤后軟件開發(fā)人員進行修j 下錯誤的過程,而不是需要測試人員在軟件測 試時所做的工作。從項目整體的高度來說,投入測試的人員和資金也特別少,往 往是在代碼已經(jīng)基本編寫完畢,有了一個基本成型的產(chǎn)品時才開始做一些測試方 面的工作。 1 9 5 7 年之后,軟件測試和軟件開發(fā)人員的調(diào)試過程才有了客觀的區(qū)分,被 視為發(fā)現(xiàn)軟件缺陷的一種活動。在關(guān)于軟件測試的定義和方法發(fā)展過程中,形成 了第一類測試方法思路和第二類測試方法思路。第一類測試這樣來指引測試工 作:在系統(tǒng)設(shè)計約定的條件下運行軟件,驗證軟件的功能和性能,對比實際得到 的結(jié)果和用戶需求說明或計劃達到的目標,如果達到一致或者可以容忍的話,那 么認為測試通過,否則的話提交缺陷報告以供開發(fā)人員進行修改。該方法以需求 和設(shè)計為本,有利于確定測試工作的內(nèi)容和重點。大型復雜軟件的測試,特別是 在時間緊張和工作人員不足的情況下適用和有效。與此不同的是,第二類測試方 法強調(diào)測試人員逆向思考,發(fā)揮主觀能動性,關(guān)注開發(fā)人員的常犯的問題、程序 邊界、輸入無效的數(shù)據(jù)以及軟件系統(tǒng)的各個敏感部分,嘗試進行破壞活動,目的 是找出系統(tǒng)中可能存在的各種各樣的問題1 4 1 。該方法在發(fā)掘系統(tǒng)中包含的缺陷方 面更加有效果,但是存在一定的片面性,有可能導致測試工作更專注于發(fā)現(xiàn)缺陷, 而忽視系統(tǒng)對需求的實現(xiàn),測試活動具有隨意性。目前第一類方法是軟件測試行 業(yè)內(nèi)的主流和行業(yè)標準。 當進入上世紀8 0 年代,計算機行業(yè)進入了高速發(fā)展時期,隨著硬件的性能 不斷增強,軟件向著大型化,高復雜度,多領(lǐng)域發(fā)展,相應(yīng)地軟件的質(zhì)量越來越 受到重視?!百|(zhì)量 的概念開始融入軟件測試的規(guī)范,測試不再單純的被認為是 s 北京化工大學碩士學位論文 發(fā)現(xiàn)軟件中缺陷的過程,軟件質(zhì)量保證( s q a ) 也成為其重要內(nèi)容和目的。 現(xiàn)在,軟件測試業(yè)標準( i e e e a n s i ) 經(jīng)形成,i e e e 軟件工程術(shù)語中關(guān)于軟 件測試的定義是:“測試是指對軟件系統(tǒng)的分析過程,目標是檢測現(xiàn)有完成情況 與需求之問的差別( 例如缺陷) ,并評估軟件系統(tǒng)的功能特征 1 5 j 。該定義明確 指出了軟件測試是為了檢驗軟件系統(tǒng)是否滿足需求,是融合在整個開發(fā)流程中的 必不可少的一環(huán),而并不只是軟件項目最后的收尾工作?,F(xiàn)在軟件測試己經(jīng)成為 - - 1 1 專業(yè),社會上對軟件測試人員的需求也越來越大,在測試行業(yè)內(nèi)已經(jīng)形成了 比較成熟的測試標準和測試方法,有很好的發(fā)展前景和空間。 從保證產(chǎn)品質(zhì)量的角度來看,軟件測試應(yīng)當遵循以下原則:監(jiān)控軟件開發(fā)的 過程,是軟件項目不可或缺的環(huán)節(jié);為軟件開發(fā)建立標準和執(zhí)行;保證發(fā)現(xiàn)的產(chǎn) 品缺陷能夠反饋給管理人員的原則。 軟件測試涉及到用戶、開發(fā)方、測試方,根據(jù)三者對軟件測試的不同需求, 軟件測試可分為:用戶要求的第三方測試、開發(fā)方需要的外包測試、開發(fā)方在開 發(fā)過程中的內(nèi)部測試和用戶自行進行的測試。開發(fā)方在開發(fā)過程中的內(nèi)部測試一 般納入軟件開發(fā)中;用戶自行進行的測試由于用戶缺乏系統(tǒng)的計算機知識,也不 具備可靠的測試工具和測試方法,測試往往流于片面,達不到測試目的。只有前 兩種軟件測試需委托專業(yè)測試機構(gòu)進行,即常說的軟件測試外包。 2 2 軟件測試外包 軟件行業(yè)非常適合開展外包業(yè)務(wù)。因為軟件產(chǎn)業(yè)是高度標準化、通用化和全 球化的產(chǎn)業(yè)。具體分析軟件外包產(chǎn)生和發(fā)展的原因,主要包括以下三個方面。從 企業(yè)內(nèi)部來看,提高企業(yè)利益是軟件外包迅速發(fā)展的首要動因。一方面企業(yè)可以 利用不同地域的廉價資源,縮減軟件項目成本,另一方面企業(yè)可以更靈活有效的 配置自身資源,提高核心競爭力。此外,還可以減少在信息投入上的風險成本; 從外部環(huán)境來看,科學技術(shù)發(fā)展使產(chǎn)品高科技化、復雜化,而通訊技術(shù)的發(fā)展為 跨區(qū)域跨行業(yè)的企業(yè)合作提供了便利條件;經(jīng)濟的全球化發(fā)展使的資源可以在全 球范圍內(nèi)優(yōu)化配置;國外軟件外包管理模式已經(jīng)逐漸成熟;從政策支持上來看, 離岸軟件外包被很多發(fā)展中國家看作是參與全球軟件產(chǎn)業(yè)國際分工的良好契機。 軟件外包服務(wù)內(nèi)容主要包括企業(yè)級應(yīng)用軟件開發(fā)、應(yīng)用軟件和系統(tǒng)集成、測 試與維護、大型數(shù)據(jù)服務(wù)等。軟件外包過程是有軟件項目開發(fā)需求的一方( 即發(fā) 包方) 把的全部或部分開發(fā)工作承包給提供外包服務(wù)的企業(yè)( 即接包方) 。另外, 過程中可能存在第三方中介即分包方將包轉(zhuǎn)給接包方,或者將一個“大包分成 若干個“小包 再轉(zhuǎn)給接包方。 6 第二章軟件測試外包及其成本 軟件測試外包服務(wù)根據(jù)業(yè)務(wù)形式的差異包括三種模式:現(xiàn)場測試,公司內(nèi)部 測試和設(shè)立聯(lián)合研發(fā)中心?,F(xiàn)場測試主要是指外包服務(wù)公司把自己的人員派到客 戶的現(xiàn)場提供服務(wù)。采用這種模式,項目實施過程完全由客戶控制,供應(yīng)商只負 責提供人員服務(wù)。這種模式在做外包服務(wù)初期廣受歡迎,因此經(jīng)常被采用,現(xiàn)在 這種模式發(fā)展的前景很樂觀:國內(nèi)很多公司在提供服務(wù)時都采用這種方式。該模 式比較適合在以下情況施展其優(yōu)越眭:較高保密性、復雜軟件測試環(huán)境、高度配 合的測試和開發(fā)團隊。公司內(nèi)部測試模式有兩種:其一是完全離岸外包,其二是 現(xiàn)場增援與離岸結(jié)合。該模式發(fā)包方充分信任外包服務(wù)商,軟件需求相對明確和 穩(wěn)定,開發(fā)方和測試方可以不需要太多的溝通和合作,基本上可以各自獨立展開 工作的情況【4 】。建立聯(lián)合研發(fā)中心一般是當服務(wù)商與客戶合作非常密切,能夠參 與客戶的關(guān)鍵業(yè)務(wù)之后才使用的模式。這個時候,外包服務(wù)商和客戶已經(jīng)從一般 的服務(wù)與被服務(wù)的關(guān)系升級為了合作伙伴關(guān)系。目前,國內(nèi)使用該模式的案例還 比較少,但是已經(jīng)有朝這個方向發(fā)展的趨勢。 2 3 軟件測試成本及其預測方法 2 3 1 軟件測試成本 現(xiàn)代軟件的開發(fā)離不開科學高效的管理手段,每個軟件項目要想成功都離不 開規(guī)范化的軟件項目管理。軟件項目管理是對軟件項目的人員、成本、質(zhì)量、進 度、風險等要素進行協(xié)調(diào)和控制,以使項目能夠按照計劃的成本、進度、質(zhì)量順 利進行的管理活動。軟件項目管理包含了成本、時間進度和質(zhì)量三個基本要素。 而成本管理是其中的一個非常重要的基本內(nèi)容。 軟件項目成本管理指的是以企業(yè)的現(xiàn)實情況以及軟件項目的要求作為出發(fā) 點,合理組織利用企業(yè)資源,以保證項目正常進度、滿足客戶需求為前提,對軟 件項目的成本進行有效的組織、實施、控制、跟蹤、分析和考核等活動,達到降 低項目成本、提高項目利潤的目標。 軟件項目成本的管理概括來講就是成本的估算和控制,具體實施的步驟包括 以下四點:編制資源計劃;成本估算,估算軟件項目所耗費資源成本的近似值, 輸出結(jié)果為成本管理計劃;成本預算;成本控制。其中,成本估算主要是指對軟 件工作量的估算,這是軟件成本管理中剛開始的工作也是進行其他工作的基礎(chǔ), 具有非常重要的作用。成本估算的精確性是影響軟件成本管理的重要因素。成本 管理計劃是進行成本控制的參考標準,計劃不合理可能使項目超出預算。成本控 制是控制項目成本使其在預算范圍之內(nèi)。因此,軟件成本估算是整個軟件項目成 7 北京化工大學碩 :學位論文 本管理過程和軟件管理的基礎(chǔ)和核心任務(wù)之一,也是提高軟件成熟度的重要技 術(shù)。軟件成本估算有兩個基本要求:第一,估算應(yīng)當具備一定的準確性;第二, 估算過程應(yīng)當節(jié)省勞動力等資源,為了估算而耗費過多的成本是得不償失的。 對于相對獨立的軟件測試外包項目來說,成本管理顯的更加重要。首先,在 外包資格的審核過程中,能否控制成本在預算范圍內(nèi)是影響客戶選擇的一個重要 因素;其次,及時準確的成本估算是外包提供商和客戶在項目測試成本達成一致 的重要依據(jù):最后,外包提供商有效的成本管理是提高自身效率,加強資源管理 的重要途徑。 進行成本估算主要包括以下幾個步驟:設(shè)立估算目標,對項目所需數(shù)據(jù)和資 源進行預估,明確軟件需求以及功能模塊,確定估算方法,最后是調(diào)整與應(yīng)用。 一個軟件系統(tǒng)需要在計劃時問和預算范圍內(nèi)交付,且滿足項目需求和質(zhì)量要 求,因此應(yīng)當首先設(shè)立目標。成本估算是在軟件項目不同的階段進行的,不同階 段的估算目標和方法是不相同的。成本估算在軟件生命周期中前期的目標是,盡 可能地合理分配有限的信息和資源,快速而準確地得到估算結(jié)果,以幫助管理者 在項目的可行性分析階段和進行決策時提供可靠的參考。軟件測試外包項目前期 進行成本估算的目標與此相似,主要目的是幫助外包服務(wù)商確定項目是否可行, 是否應(yīng)當參與項目外包測試流程。 從財務(wù)的角度來看,軟件測試成本主要包括以下幾個方面。 ( 1 ) 硬件購置費:如p c 、服務(wù)器、網(wǎng)絡(luò)交換機、外設(shè)等。 ( 2 ) 軟件購置費:如操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、工具軟件等。 ( 3 ) 人工成本:主要是項目所耗費的勞動工作量。包括需求分析、測試例設(shè) 計、測試執(zhí)行、項目管理人員成本等。 ( 4 ) 培訓費:如測試人員技術(shù)培訓,項目相關(guān)培訓等。 ( 5 ) 商務(wù)費用:如辦公費、差旅費、會議費、交通費等。 ( 6 ) 其它費用:如咨詢費、項目延期費等。 軟件需求與功能模塊需要通過軟件使用者,軟件設(shè)計者和軟件測試者( 根據(jù) 項目需要) 共同分析和確定。需求是否合理正確及功能是否適用有效,不僅關(guān)系 到軟件的使用,也會對軟件項目的成本變動,軟件測試的執(zhí)行效率和成本有重大 影響。軟件成本估算方法有很多種,每種方法都有各自的優(yōu)缺點和適用性,具體 將在下面的小節(jié)中介紹。由于不同階段的估算目標并不相同,因此應(yīng)當在項目的 不同階段及時認清和響應(yīng)項目發(fā)展變化的情況,對估算做出修正。 2 3 2 軟件成本預測方法 軟件開發(fā)的過程和一般的物質(zhì)產(chǎn)品的制造有很大的差別,軟件產(chǎn)品是無形 8 第- 二章軟件測試外包及其成本 的,很難對它進行描述和理解,并且需要通過人的能動性思維加以創(chuàng)造。具體來 說,軟件產(chǎn)品包含以下幾個公共的特點。 ( 1 ) 軟件產(chǎn)品具有勞動密集型的特點。一個軟件項目由很多人共同合作,需 要高強度的智力勞動,以經(jīng)驗、知識、智慧為基礎(chǔ)。所以軟件項目的研發(fā)成本比 較高。 ( 2 ) 軟件產(chǎn)品具備不可見性。不同于其他任何產(chǎn)品,軟件產(chǎn)品輸出的只是程 序代碼和技術(shù)文件等,不包含其他的物質(zhì)成果。因此不能夠用傳統(tǒng)的財務(wù)方法來 估算軟件項目的成本支出。 ( 3 ) 軟件產(chǎn)品具有多樣性。不同的生命周期開發(fā)方法和模型,豐富的程序語 言,需求的不確定性,項目人員的經(jīng)驗多少都會導致軟件產(chǎn)品及其成本很大的差 距。 ( 4 ) 軟件產(chǎn)品的復制成本低。軟件產(chǎn)品的開發(fā)成本是一次性開發(fā)過程所消耗 的代價,它是軟件項目成本的主要部分。軟件產(chǎn)品的生產(chǎn)特點是單件生產(chǎn)而后批 量復制,且其復制成本和開發(fā)成本相比較非常小。 這些特性使軟件產(chǎn)品的成本估算和一般物質(zhì)產(chǎn)品、建設(shè)項目的成本估算完全 不相同。具體來說,軟件測試項目成本估算需要三種數(shù)據(jù):項目規(guī)模、項目特殊 屬性、項目所需資源。軟件測試項目的規(guī)模可以使用邏輯源代碼行、物理代碼行 或者功能點表示,這是由軟件開發(fā)的規(guī)模決定的。要確定這個數(shù)值,可以通過和 對比以往的同類項目來估計,也可以通過專家法由各相關(guān)專家估計結(jié)果的平均值 來確定。軟件測試項目的特殊屬性包括項目需求的變動、項目參加者的經(jīng)驗和技 能、測試例的質(zhì)量和復用性,項目所使用的軟件過程及方法、測試方式以及所使 用工具、測試人員的工作環(huán)境、測試與開發(fā)人員的溝通方式,測試項目的進度要 求等等。這些有的可以直接可以從整個軟件項目要求中獲得,有的需要通過調(diào)研 或與用戶、開發(fā)隊伍共同分析確定。測試項目需要的資源主要是指軟件測試成本 主要指用于測試項目的成本開支,主要包括搭建測試環(huán)境所需要的軟硬件消耗和 項目人員的勞務(wù)成本。其中勞務(wù)成本部分占的比例最大,由于主要是人員勞動報 酬,一般情況下為了更加具有通用性和可供理解,通過給出項目人員的平均工資 水平將其轉(zhuǎn)換成實際需要的工作量。工作量估算是軟件成本估算工作中關(guān)鍵的部 分。 現(xiàn)在,軟件成本的估算方法有很多種,下面簡要介紹幾種比較流行的方法。 ( 1 ) 類比估算法 把研究項目與以往的類似項目進行比較,分析需求和功能模塊、進度要求、 軟硬件環(huán)境等方面的差別,并估計這些差別可能對成本造成的影響,進而推算出 新項目成本。使用這種方法估算的準確度比較高,缺點是項目差別及其影響難以 9 北京化工人學碩:l 學位論文 客觀衡量。 ( 2 ) 專家估算法 專家估算法是指由多位專家從每個人自身知識經(jīng)驗和對項目的理解進行關(guān) 于項目的討論,然后綜合各位專家的評價結(jié)果得出項目的成本估算平均值。該方 法的優(yōu)點是簡便,快捷。但是由于太過于依賴專家水平,具有主觀性,比如某些 專家可能對一些問題存在偏見、樂觀、悲觀的態(tài)度,這些可能會導致估計結(jié)果與 實際值產(chǎn)生較大的偏差。 ( 3 ) 模型估算法 利用已有的經(jīng)驗模型( 如c o c o m o 模型,回歸分析法,神經(jīng)網(wǎng)絡(luò)法) 估算項 目工作量、進度和成本。但是,估算模型一般不能適用于所有類型的軟件,使用 成本比較大。 ( 4 ) 功能點估算法 功能點分析法把軟件系統(tǒng)從用戶的角度來評估劃分為五種基本功能要素:外 部輸入、外部輸出、外部查詢,外部接口文件和內(nèi)部邏輯文件。首先使用一套規(guī) 范的標準對這些功能要素的復雜程度從很低到很高進行劃分,然后根據(jù)相關(guān)權(quán)重 算出開始的功能點總數(shù),最后與系統(tǒng)環(huán)境調(diào)節(jié)因子( 由估算項目環(huán)境和處理復雜 程度得到) 相乘,最終得到所要的功能點數(shù)。該方法的優(yōu)點是更好的體現(xiàn)了對系 統(tǒng)需求的覆蓋,能夠在早期確定估算結(jié)果。缺點是對程序復雜程度劃分不夠準確, 并且功能點度量是對軟件規(guī)模的間接度量,要得到軟件的規(guī)模還需要進行轉(zhuǎn)化。 第三章軟件成本預測模型相關(guān)理論研究 第三章軟件成本預測模型相關(guān)理論研究 軟件測試作為軟件項目的一個環(huán)節(jié),其成本和總體的項目成本密切相關(guān),故 其估算方法和思路可以參考軟件項目現(xiàn)有的估算方法。本文建立軟件測試成本預 測模型的總體思路如圖2 1 :將歷史軟件測試項目的成本驅(qū)動因子經(jīng)過粗糙集優(yōu)化 約簡,輸入b p 神經(jīng)網(wǎng)絡(luò)并按計算步驟得到估算成本。然后比較估算值和項目的實 際結(jié)果,如果二者差距太大不能接受,就重新迭代進行下一輪神經(jīng)網(wǎng)絡(luò)計算直到誤 差小于給定值,這樣得到一組輸入節(jié)點權(quán)重值,即建立起軟件測試成本預測模型。 新的待預測項目可以輸入模型直接得到估算成本,而其項目的相關(guān)數(shù)據(jù)可以作為新 的歷史數(shù)據(jù)進入數(shù)據(jù)庫,對模型進行了修正從而使其預測準確性更高。模型中用到 的各種方法將在下一章進行詳細的闡述和分析。 圖2 - 1 軟件測試成本預測模型思路和步驟 f i g u r e2 - 1s o f t w a r et e s t i n gc o s tp r e d i c t i o np r o c e s s 3 1c o c o m o 模型 3 1 1c o c o m o 模型簡介 c o c o m o 模型即構(gòu)造性成本模型( c o n s t r u c t i v ec o s tm o d e l ) 是一個經(jīng)驗模 型,通過對大量的項目統(tǒng)計而產(chǎn)生的。模型從本質(zhì)上來說是一個非線性函數(shù),用 開發(fā)項目的程序代碼行數(shù)來表示軟件開發(fā)的工作量。模型由b a r r yb o e h m 博士于 1 9 8 1 年在軟件工程經(jīng)濟學一書中中提出。作為一種軟件參數(shù)模型,它可以 l l 北京化t 大學碩t = 學位論文 完成軟件成本、工作量和生產(chǎn)計劃等指標的估掣6 1 ,又稱c

溫馨提示

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

評論

0/150

提交評論