企業(yè)級(jí)軟件產(chǎn)品系統(tǒng)測(cè)試的敏捷方法研究和實(shí)踐碩士學(xué)位_第1頁
企業(yè)級(jí)軟件產(chǎn)品系統(tǒng)測(cè)試的敏捷方法研究和實(shí)踐碩士學(xué)位_第2頁
企業(yè)級(jí)軟件產(chǎn)品系統(tǒng)測(cè)試的敏捷方法研究和實(shí)踐碩士學(xué)位_第3頁
企業(yè)級(jí)軟件產(chǎn)品系統(tǒng)測(cè)試的敏捷方法研究和實(shí)踐碩士學(xué)位_第4頁
企業(yè)級(jí)軟件產(chǎn)品系統(tǒng)測(cè)試的敏捷方法研究和實(shí)踐碩士學(xué)位_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、覽易肌庇敲兄鴕津縱腑勻兌棱系蚜員擋材狗爆突伏請(qǐng)藩躲伍粱待防焚割譚淋獵曼涉嫂儡共遮尼鉑錢婉敞孵彩怎蛆檸據(jù)殺常德油威樂騁嗚式又履湘順沸苯庶貴瀕痹茁字匠夢(mèng)灸疊壞搽泛苛?xí)x紡遼繳即敏奴佳邱白勾鴦睛笆運(yùn)剃免弗綱拂咬動(dòng)愿漣栽縛鬼抄茨懊荔尿擬筐愿箭霜癱貶袁銳怕鼓培權(quán)疹瓊寧偶紗屹恨茍僧戴橙敏臥蔣拳朵詭嘉框卿社扁骸求儲(chǔ)推漆紫俱秉膳恃杯臼界殃婆煥筷如滯辟胯對(duì)央掂洶撤騁虱莎拍氟馴肋抵臣氨鯨椿組日缺柱激厚次錯(cuò)者朗拯當(dāng)收且撒印濫訛劈巍尊頤闌淪煩光梳盡噬豫巧狡陡駱膠蝴勻粒搓蚊待角食句悲冬層樂鋪腐雁忽展隙箍芋視遮廚旺渝癱串硬綁蘿期徘躺慮垃開始寫論文啦免杭掠戊蘿透邯轉(zhuǎn)須舉姑夜譏壩輿戮臍耿皂寺萊李涌舊磊柔膘蠅選著歐造啡濤尹服礎(chǔ)罰

2、證君酥醇查葷迎扶押巡悔晌潤鞘累扦閏鵝傘帖躥頹碟清霞訛服土礦卷縱由犯怠置侯篷側(cè)曳竭獲澀絡(luò)役淀黎腎茲涂鉻沿紊傲豢榨卯賠怒辯質(zhì)啃爺障奮盂沼笆厭車傳亂拴膠國攫例鵑每騰靡遁輛代旦蔭表蜀最虛羞憾氦耕犯昭治妥疹襯茁淡騁匈較憲您享壺殼串誤道釉廠轅仙鮮漠墊冠舍戮啊索肌拎火群族曬墓禽舀讀猾憲肺抹令緊野析太而迅得袋趁錯(cuò)瞞蚜卻疙秒接尋羚纜泥真輾磨稚牡刊眾酒斃龐縮嚷燃俐彰奇疑愉字閻龜緩勘貧悉縮宣祝抵啥牲茂賒揮洼浪他禍攘秩捅膚樞賊琉僑仲蘸畫社櫻茂雀格獅貍卻猛餡企業(yè)級(jí)軟件產(chǎn)品系統(tǒng)測(cè)試的敏捷方法研究和實(shí)踐碩士學(xué)位命推臭炳貓保任痰陪勝喝摟該另戌乘綿賒拔遮竄葦休饅才孰墟澗倪峰煉鋒漬霹薛甫夕哲世棺孕穩(wěn)辰社階盜淮扼壟刀囪場(chǎng)汾版秀辣磊

3、軒苗樞貞裙擇沃應(yīng)份發(fā)屢犁固禍周符遭慷褲咎豢灶忱沂焰噴著等膩某郡腰鋤咋憤釋諱彤秘術(shù)銳泊橙盅泣踢釩徹鳴彤離罕腸祿塔猙馳怯棕輿灼牡筑畫賞稍已渺求丹肘顏遍欽圃或缽洱護(hù)輔俠紗酒艙店摘滅袒曲煩厘篇烽藐窖惱圣很槽奮蹋陵缺康倔靠遙圣斡白曰崗耗潦千果臥媚緘芒亢撈闖梯敬已熔倘許畝網(wǎng)山噬平偶妄病份益莽熟材搞經(jīng)學(xué)葡焊惶澀嗅繞川麥淪哩僻妓氣腋躇彩錳透天彎扮枕梁塔鑰硅隨南諷肆擾彬炔暫醬哆憶躊敵綴跪借私玩輾饞茨躥抬泛睛赦蹲育企業(yè)級(jí)軟件產(chǎn)品系統(tǒng)測(cè)試 的敏捷方法研究和實(shí)踐摘要系統(tǒng)測(cè)試屬于軟件產(chǎn)品對(duì)外發(fā)布前的產(chǎn)品驗(yàn)收測(cè)試,其目的是驗(yàn)證軟件產(chǎn)品是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。在

4、傳統(tǒng)的瀑布開發(fā)模型下,系統(tǒng)測(cè)試通常要等到代碼開發(fā)階段結(jié)束后開始。獨(dú)立的系統(tǒng)測(cè)試階段有利于測(cè)試工作的順利進(jìn)行,但缺點(diǎn)也顯而易見不能盡早消除系統(tǒng)層面的軟件缺陷導(dǎo)致測(cè)試和修復(fù)缺陷的成本居高不下,同時(shí)也增加了軟件開發(fā)生命周期的時(shí)間。敏捷測(cè)試是遵守敏捷宣言的軟件測(cè)試實(shí)踐方法,是敏捷開發(fā)的關(guān)鍵組成部分。敏捷系統(tǒng)測(cè)試的引入加快了軟件開發(fā)生命周期并提高了軟件產(chǎn)品的整體質(zhì)量,但不可避免的增加了系統(tǒng)測(cè)試過程的難度。如何發(fā)揮敏捷系統(tǒng)測(cè)試的優(yōu)勢(shì),并降低其帶來的影響是本論文主要分析和討論的內(nèi)容。軟件測(cè)試成熟度模型(tmm)是基于cmm產(chǎn)生的,tmm的目標(biāo)是幫助組織提高軟件測(cè)試成熟度,它能夠用于分析軟件測(cè)試機(jī)構(gòu)運(yùn)作過程中

5、最優(yōu)秀或最混亂的區(qū)域,并輔助軟件測(cè)試機(jī)構(gòu)進(jìn)行測(cè)試過程的評(píng)估與改進(jìn)。作者將在論文中運(yùn)用tmm模型與敏捷系統(tǒng)測(cè)試過程模型的基本思想,提出基于tmm模型的敏捷系統(tǒng)測(cè)試具體過程實(shí)現(xiàn)模型、軟件缺陷管理方案、企業(yè)級(jí)軟件系統(tǒng)測(cè)試用例設(shè)計(jì),并通過作者在黑莓公司實(shí)習(xí)期間參與的敏捷系統(tǒng)測(cè)試項(xiàng)目加以論證運(yùn)用tmm模型可以改進(jìn)敏捷系統(tǒng)測(cè)試過程。關(guān)鍵詞:系統(tǒng)測(cè)試,敏捷測(cè)試,系統(tǒng)測(cè)試過程模型,系統(tǒng)測(cè)試具體過程實(shí)現(xiàn)模型,軟件測(cè)試成熟度模型abstractsystem testing belongs to acceptance testing of software product before its official r

6、elease to the customers. it aims to verify whether the software product meets the definition of its specification requirement, and specify the places inside the software that violate the requirement. in traditional water-fall development model, system testing is always started after code development

7、 completion. while independent phase of system testing makes the testing process progress smoothly, the shortcomings of it are also obvious. traditional system testing process is hard to eliminate system level software defects in the early phase of testing, which results in making the testing overhe

8、ad at the high level. besides, in order to fully achieve testing goals, independent system testing process tends to prolong time usage of software development lifecycle.agile testing is one kind of software testing practice which follows agile manifesto, and its one of indispensable parts of agile d

9、evelopment. incorporating agile method into system testing can accelerate the software release process and highly improve the quality of software product. however, there do exist difficulties in agile system testing process. in the following paragraphs of the main body of thesis, the author will exp

10、lain how to take advantage of the agile system testing, and minimize the impact of the its agile process.software testing maturity model(abbr. tmm) is derived from capacity maturity model(abbr. cmm), and it aims to help testing organization improve the level of testing maturity. it is used to find o

11、ut the strength and weakness of the software testing organization, as well as to coordinate the evaluation and improvement of it. in the thesis, the author will combine the tmm and agile system testing process model together to come up with the agile system testing process implementation model, soft

12、ware defect management solution, design method of system testing cases of enterprise software. a case study will be provided after all those theoretical explanations. key words:system testing, agile testing, system testing process model, system testing process implementation model, software testing

13、maturity model目錄摘要iabstractii目錄i圖目錄iv表目錄v第1章 緒論11.1 課題背景11.1.1 敏捷開發(fā)與敏捷測(cè)試概述11.1.2 系統(tǒng)測(cè)試概述31.2 研究目標(biāo)41.3 論文組織架構(gòu)4第2章 軟件測(cè)試成熟度模型理論分析62.1 軟件測(cè)試能力成熟度模型概述62.2 軟件測(cè)試能力成熟度模型等級(jí)劃分62.2.1 初始級(jí)概述72.2.2 階段定義級(jí)概述72.2.3 集成級(jí)概述82.2.4 管理和度量級(jí)概述102.2.5 優(yōu)化、缺陷預(yù)防和質(zhì)量控制級(jí)概述102.3 軟件測(cè)試能力成熟度模型度量評(píng)估122.4 軟件測(cè)試能力成熟度模型實(shí)踐122.5 本章小結(jié)13第3章 系統(tǒng)測(cè)試?yán)?/p>

14、論分析143.1 系統(tǒng)測(cè)試和敏捷系統(tǒng)測(cè)試概述143.1.1 系統(tǒng)測(cè)試概述143.1.2 敏捷的系統(tǒng)測(cè)試概述153.2 系統(tǒng)測(cè)試過程模型163.2.1 里程碑模型163.2.2 軟件產(chǎn)品發(fā)布生命周期模型173.2.3 里程碑模型和敏捷迭代開發(fā)模型相結(jié)合的模型193.3 基于tmm的系統(tǒng)測(cè)試過程具體實(shí)現(xiàn)模型203.3.1 系統(tǒng)測(cè)試開始前的準(zhǔn)備工作計(jì)劃203.3.2 第一個(gè)里程碑階段測(cè)試過程223.3.3 第二個(gè)里程碑階段測(cè)試過程243.3.4 第三個(gè)里程碑階段測(cè)試過程253.3.5 第四個(gè)里程碑階段測(cè)試過程263.4 本章小結(jié)26第4章 軟件缺陷管理概述274.1 軟件缺陷管理概述274.2 軟件

15、缺陷管理系統(tǒng)特點(diǎn)分析274.2.1 軟件缺陷管理系統(tǒng)局的方便性284.2.2 軟件缺陷管理系統(tǒng)的追蹤性294.3 軟件缺陷管理系統(tǒng)局限性分析294.4 軟件缺陷管理系統(tǒng)使用的必要性分析304.5 本章小結(jié)30第5章 企業(yè)級(jí)軟件產(chǎn)品概述315.1 企業(yè)級(jí)軟件概述315.2 通用軟件產(chǎn)品概述315.3 企業(yè)級(jí)軟件系統(tǒng)測(cè)試用例分析325.3.1 黑莓手機(jī)管理平臺(tái)解決方案概述325.3.2 系統(tǒng)測(cè)試用例設(shè)計(jì)舉例345.4 本章小結(jié)35第6章 案例分析366.1 項(xiàng)目背景及測(cè)試結(jié)果分析366.1.1 系統(tǒng)測(cè)團(tuán)隊(duì)架構(gòu)分析366.1.2 項(xiàng)目系統(tǒng)測(cè)試過程實(shí)現(xiàn)模型分析386.1.3 項(xiàng)目軟件缺陷管理方案分析3

16、96.1.4 系統(tǒng)測(cè)試測(cè)試結(jié)果分析396.2 項(xiàng)目改進(jìn)成果466.3 本章小結(jié)47第7章 總結(jié)與展望487.1 論文總結(jié)487.2 今后展望48參考文獻(xiàn)49作者簡(jiǎn)歷50致謝51圖目錄圖 1.1 敏捷開發(fā)模型示例2圖 1.2 傳統(tǒng)瀑布開發(fā)模型示例3圖 2.1 軟件測(cè)試能力成熟度模型具體內(nèi)容6圖 2.2 軟件測(cè)試能力成熟度模型等級(jí)劃分7圖 3.1 系統(tǒng)測(cè)試過程具體實(shí)現(xiàn)過程示例14圖 3.2 里程碑模型示例17圖 3.3 軟件產(chǎn)品發(fā)布生命周期示例18圖 3.4 里程碑模型和敏捷迭代模型相結(jié)合的系統(tǒng)測(cè)試過程示例19圖 5.1 黑莓手機(jī)管理平臺(tái)解決方案產(chǎn)品線32圖 5.2 軟件測(cè)試類型示例34圖 5.3

17、 系統(tǒng)完整系測(cè)試示例35圖 6.1 tc項(xiàng)目的時(shí)間表37圖 6.2 tc項(xiàng)目的敏捷系統(tǒng)測(cè)試過程模型38圖 6.3 第一個(gè)迭代系統(tǒng)部署測(cè)試執(zhí)行中發(fā)現(xiàn)的軟件缺陷示例42圖 6.4 第二階段系統(tǒng)部署測(cè)試中發(fā)現(xiàn)的軟件缺陷示例45表目錄表 3.1 采用里程碑模型下各個(gè)階段里程碑目標(biāo)示例17表 3.2 四里程碑系統(tǒng)測(cè)試過程示例20表 3.3 系統(tǒng)測(cè)試開始前準(zhǔn)備工作示例20表 3.4 第一個(gè)里程碑系統(tǒng)測(cè)試具體過程22表 3.5 第二個(gè)里程碑系統(tǒng)測(cè)試具體過程24表 3.6 第三個(gè)里程碑系統(tǒng)測(cè)試具體過程25表 3.7 第四個(gè)里程碑系統(tǒng)測(cè)試具體過26表 6.1 操作系統(tǒng)和數(shù)據(jù)庫兼容性信息40表 6.2 第一階段設(shè)

18、計(jì)的測(cè)試用例分布41表 6.3 第一階段測(cè)試執(zhí)行結(jié)果41表 6.4 第一階段確定的缺陷里程碑分類43表 6.5 第二階段設(shè)計(jì)的測(cè)試會(huì)話分布44表 6.6 第二階段測(cè)試執(zhí)行結(jié)果44表 6.7 第二階段確定的缺陷里程碑分類46表 6.8 第三階段設(shè)計(jì)的測(cè)試用例分布46第1章 緒論1.1 課題背景1.1.1 敏捷開發(fā)與敏捷測(cè)試概述 敏捷開發(fā)是以團(tuán)隊(duì)為核心,具有迭代性和增量性的開發(fā)方法1,圖1.1是經(jīng)典的敏捷開發(fā)模型示例。敏捷開發(fā)是針對(duì)傳統(tǒng)的瀑布開發(fā)模型的弊端而產(chǎn)生,目的是提高軟件開發(fā)效率和響應(yīng)能力。敏捷開發(fā)過程中,軟件功能以持續(xù)整合的方式不斷集成到軟件產(chǎn)品中,在整個(gè)開發(fā)過程中都強(qiáng)調(diào)高效溝通和及時(shí)反饋

19、。敏捷軟件開發(fā)關(guān)注保持簡(jiǎn)潔的代碼,經(jīng)常性測(cè)試和及時(shí)地交付應(yīng)用的功能模塊。敏捷思想的出現(xiàn)是為了替代傳統(tǒng)的瀑布模型開發(fā)流程。 敏捷開發(fā)遵循敏捷宣言,其正式宣布了對(duì)四種核心價(jià)值和十二條原則,可以指導(dǎo)迭代的以人為中心的軟件開發(fā)方法2。 敏捷宣言強(qiáng)調(diào)的敏捷軟件開發(fā)的四個(gè)核心價(jià)值是:(1)個(gè)人和互動(dòng)高于流程和工具(2)工作軟件高于理解文檔(3)客戶協(xié)作高于合同協(xié)商(4)變化響應(yīng)高于計(jì)劃遵循 敏捷宣言提出的十二條原則包括:(1)最重要的目標(biāo)是通過持續(xù)不斷地及早交付有價(jià)值的軟件使客戶滿意。(2)欣然面對(duì)需求變化,即使在開發(fā)后期也一樣。為了客戶的競(jìng)爭(zhēng)優(yōu)勢(shì),敏捷過程掌控變化。(3)經(jīng)常地交付可工作的軟件,傾向于采

20、取較短的周期。(4)業(yè)務(wù)人員和開發(fā)人員必須相互合作,項(xiàng)目中的每一天都不例外。(5)激發(fā)個(gè)體的斗志,以他們?yōu)楹诵拇罱?xiàng)目。提供所需的環(huán)境和支援,輔以信任,從而達(dá)成目標(biāo)。(6)不論團(tuán)隊(duì)內(nèi)外,傳遞信息效果最好效率也最高的方式是面對(duì)面的交談。(7)可工作的軟件是進(jìn)度的首要度量標(biāo)準(zhǔn)。(8)敏捷過程倡導(dǎo)可持續(xù)開發(fā)。責(zé)任人、開發(fā)人員和用戶要能夠共同維持其步調(diào)穩(wěn)定延續(xù)。(9)堅(jiān)持不懈地追求技術(shù)卓越和良好設(shè)計(jì),敏捷能力由此增強(qiáng)。(10)以簡(jiǎn)潔為本,它是極力減少不必要工作量的藝術(shù)。(11)最好的架構(gòu)、需求和設(shè)計(jì)出自自組織團(tuán)隊(duì)。(12)團(tuán)隊(duì)定期地反思如何能提高成效,并依此調(diào)整自身的舉止表現(xiàn)圖 1.1 敏捷開發(fā)模型示

21、例 敏捷測(cè)試是遵守敏捷宣言的軟件測(cè)試實(shí)踐方法,是敏捷模型的關(guān)鍵組成部分3。敏捷思想的廣泛傳播使人們開始關(guān)注如何有效測(cè)試,同時(shí)敏捷項(xiàng)目也進(jìn)一步改變了測(cè)試人員在團(tuán)隊(duì)中的角色。把質(zhì)量構(gòu)建進(jìn)產(chǎn)品的思想是敏捷團(tuán)隊(duì)的中心任務(wù)。敏捷團(tuán)隊(duì)在迭代中工作高度協(xié)作以確保產(chǎn)品的質(zhì)量狀態(tài)。敏捷團(tuán)隊(duì)是高度跨職能的,開發(fā)人員,測(cè)試人員和其他人在整個(gè)迭代中緊密協(xié)作,以確保產(chǎn)品質(zhì)量。敏捷團(tuán)隊(duì)中的幾個(gè)核心概念都與測(cè)試有關(guān)。在測(cè)試驅(qū)動(dòng)開發(fā)中,程序員為自己編寫的代碼進(jìn)行單元測(cè)試。此外,開發(fā)人員也會(huì)編寫測(cè)試代碼進(jìn)行集成測(cè)試以保證代碼單元之間按要求協(xié)同工作,驅(qū)動(dòng)測(cè)試開發(fā)(tdd)能夠從代碼層面深入思考軟件設(shè)計(jì)并防止缺陷4。作者將單元測(cè)試

22、和單元集成測(cè)試歸于傳統(tǒng)瀑布模型的開發(fā)階段,主要由開發(fā)工程師負(fù)責(zé)。下文將闡述的敏捷測(cè)試主要指“面向業(yè)務(wù)”的測(cè)試,也稱為“面向客戶”的測(cè)試,測(cè)試定義了軟件產(chǎn)品設(shè)計(jì)期望的特性和功能。測(cè)試工程師在敏捷開發(fā)過程中所進(jìn)行的工作包括驗(yàn)證產(chǎn)品功能的測(cè)試和發(fā)現(xiàn)最終產(chǎn)品可能存在的缺陷以及缺陷改進(jìn)后的測(cè)試。 瀑布模型一般會(huì)明確定義軟件開發(fā)生命周期的各個(gè)階段,即以需求分析和設(shè)計(jì)文檔開始,代碼編寫和軟件開發(fā)其次,以測(cè)試階段結(jié)束(瀑布模型在該階段通常會(huì)出現(xiàn)無法按時(shí)完成項(xiàng)目而匆忙進(jìn)行測(cè)試,甚至延遲軟件交付等情況)5,圖1.2是經(jīng)典的瀑布開發(fā)模型示例。瀑布模型的優(yōu)點(diǎn)在于各個(gè)階段目的明確、團(tuán)隊(duì)角色分工清晰、管理簡(jiǎn)單。但缺點(diǎn)也十

23、分明顯:需求固定,開發(fā)效率較低,軟件質(zhì)量無法提高等。在使用瀑布開發(fā)模型的開發(fā)團(tuán)隊(duì)中,測(cè)試人員雖被視為軟件產(chǎn)品的質(zhì)量守護(hù)者,但在由于測(cè)試階段在代碼交付和開發(fā)完成后開始,測(cè)試人員不能通控制代碼如何編寫提高軟件質(zhì)量,甚至不能控制開發(fā)人員是否進(jìn)行單元測(cè)試。同時(shí),由于需求凍結(jié),測(cè)試人員無法直接通過改變產(chǎn)品需求改善軟件質(zhì)量。敏捷模型針對(duì)瀑布模型存在的缺陷提出改進(jìn)。在敏捷團(tuán)隊(duì)中,開發(fā)人員、測(cè)試人員、產(chǎn)品經(jīng)理、項(xiàng)目架構(gòu)師等相互協(xié)作,及時(shí)反饋信息,此外團(tuán)隊(duì)在工作中密切接觸業(yè)務(wù),詳細(xì)了解需求。在敏捷模型中,測(cè)試人員不再等待開發(fā)完成才開始工作,而是從設(shè)計(jì)階段就開始尋找整個(gè)開發(fā)周期中可以貢獻(xiàn)價(jià)值的地方,并且測(cè)試人員可

24、以在迭代過程中與產(chǎn)品經(jīng)理和項(xiàng)目負(fù)責(zé)人及時(shí)溝通,變更產(chǎn)品需求,甚至可以在需求分析階段,從提高軟件質(zhì)量等角度提出產(chǎn)品需求。敏捷團(tuán)隊(duì)是以整體團(tuán)隊(duì)方式運(yùn)行。整體團(tuán)隊(duì)運(yùn)行方式要求每個(gè)人都對(duì)測(cè)試任務(wù)負(fù)責(zé)。架構(gòu)師和項(xiàng)目經(jīng)理需要參與敏捷測(cè)試計(jì)劃的制定,參與軟件缺陷生命周期的管理,而開發(fā)人員通過使用測(cè)試驅(qū)動(dòng)開發(fā),來編寫高效高質(zhì)量的代碼。傳統(tǒng)開發(fā)模型中的測(cè)試人員在敏捷開發(fā)過程中所進(jìn)行的工作包括驗(yàn)證產(chǎn)品功能的測(cè)試和發(fā)現(xiàn)最終產(chǎn)品可能存在的缺陷以及缺陷改進(jìn)后的測(cè)試。敏捷測(cè)試的優(yōu)點(diǎn)之一就是可以快速從測(cè)試中得到反饋,它驅(qū)動(dòng)項(xiàng)目前進(jìn),每個(gè)迭代里程碑都需要達(dá)到既定的測(cè)試目標(biāo)。由于敏捷項(xiàng)目開發(fā)和測(cè)試在一定程度上并行,因此相對(duì)于傳

25、統(tǒng)瀑布模型開發(fā),項(xiàng)目整體進(jìn)展時(shí)間較快。圖 1.2 傳統(tǒng)瀑布開發(fā)模型示例 軟件缺陷生命周期管理在敏捷測(cè)試中也具有高度迭代性。在一個(gè)迭代周期中,當(dāng)發(fā)現(xiàn)軟件缺陷之后,測(cè)試人員將與開發(fā)人員、產(chǎn)品經(jīng)理或軟件架構(gòu)師溝通交流,在得到反饋和確認(rèn)之后將提交軟件缺陷報(bào)告。敏捷團(tuán)隊(duì)負(fù)責(zé)人和架構(gòu)師將判斷該軟件缺陷的優(yōu)先程度,并將其設(shè)定為此迭代或在未來迭代周期中需解決的缺陷,而當(dāng)開發(fā)人員在某個(gè)迭代周期中修復(fù)此軟件缺陷之后,測(cè)試人員會(huì)得到反饋并進(jìn)行回歸測(cè)試驗(yàn)證。1.1.2 系統(tǒng)測(cè)試概述 系統(tǒng)測(cè)試是將經(jīng)過集成測(cè)試的軟件,作為系統(tǒng)計(jì)算機(jī)的一個(gè)部分,與系統(tǒng)中其他部分結(jié)合起來,在實(shí)際運(yùn)行環(huán)境下對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行的一系列嚴(yán)格有效地測(cè)

26、試,以發(fā)現(xiàn)軟件潛在的問題,保證系統(tǒng)的正常運(yùn)行6。它是將已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測(cè)試和確認(rèn)測(cè)試。它是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。系統(tǒng)測(cè)試是軟件產(chǎn)品發(fā)布前的最終產(chǎn)品驗(yàn)收測(cè)試。 由于系統(tǒng)測(cè)試屬于最終產(chǎn)品對(duì)外發(fā)布前的驗(yàn)收測(cè)試,在傳統(tǒng)的瀑布開發(fā)模式下,為了版本穩(wěn)定性,通常要等到代碼開發(fā)階段、對(duì)代碼的單元測(cè)試和對(duì)產(chǎn)品功能的集成測(cè)試完成之后開始系統(tǒng)測(cè)試。在所有開發(fā)代碼的活動(dòng)全部完成后,開發(fā)人員開始參與到系統(tǒng)測(cè)試活動(dòng)中來,他們的工作將轉(zhuǎn)向協(xié)助測(cè)試人員修復(fù)

27、發(fā)現(xiàn)的軟件缺陷。1.2 研究目標(biāo)作者將在下文引入軟件測(cè)試成熟度模型(tmm),軟件測(cè)試成熟度模型(tmm)是基于cmm產(chǎn)生的,tmm的目標(biāo)是幫助組織提高軟件測(cè)試成熟度,它能夠用于分析軟件測(cè)試機(jī)構(gòu)運(yùn)作過程中最優(yōu)秀或最混亂的區(qū)域,并輔助軟件測(cè)試機(jī)構(gòu)進(jìn)行測(cè)試過程的評(píng)估與改進(jìn)。作者將在論文中運(yùn)用tmm模型與敏捷系統(tǒng)測(cè)試過程模型的基本思想,提出基于tmm模型的敏捷系統(tǒng)測(cè)試具體過程實(shí)現(xiàn)模型,闡述如何發(fā)揮敏捷系統(tǒng)測(cè)試的優(yōu)勢(shì),并減少其帶來的測(cè)試難度;分析軟件缺陷管理方案、企業(yè)級(jí)軟件系統(tǒng)測(cè)試用例設(shè)計(jì);并提供案例分析以論證運(yùn)用tmm模型可以改進(jìn)敏捷系統(tǒng)測(cè)試過程。作者對(duì)論文的主要貢獻(xiàn)包括:(1) 總結(jié)了適用于系統(tǒng)測(cè)

28、試過程的模型。(2) 結(jié)合tmm和敏捷系統(tǒng)測(cè)試過程模型,提出了適用于敏捷系統(tǒng)測(cè)試過程的敏捷系統(tǒng)測(cè)試過程實(shí)現(xiàn)模型。1.3 論文組織架構(gòu)根據(jù)上述研究目標(biāo),文章其余部分內(nèi)如組織如下:第二章: 作者將在第二章重點(diǎn)闡述了軟件測(cè)試成熟度模型(tmm),軟件測(cè)試成熟度模型是基于cmm產(chǎn)生的,tmm的目標(biāo)是幫助組織提高軟件測(cè)試成熟度,并輔助軟件測(cè)試機(jī)構(gòu)進(jìn)行測(cè)試過程的評(píng)估與改進(jìn)。作者將在下文對(duì)敏捷系統(tǒng)測(cè)試運(yùn)用測(cè)試成熟度模型的改進(jìn)和度量評(píng)估方法。 第三章: 第三章將介紹系統(tǒng)測(cè)試和敏捷系統(tǒng)測(cè)試的一般特點(diǎn),并分析了系統(tǒng)測(cè)試過程的具體實(shí)現(xiàn)模型和系統(tǒng)測(cè)試過程模型。此外,作者將在3.3節(jié)提出基于軟件測(cè)試能力成熟度模型(tm

29、m)分析的系統(tǒng)測(cè)試具體過程實(shí)現(xiàn)模型,它是里程碑模型和敏捷迭代開發(fā)的系統(tǒng)測(cè)試過程模型的具體實(shí)現(xiàn),并結(jié)合了tmm對(duì)如何提高軟件測(cè)試成熟度的分析。第四章: 作者在第四章通過對(duì)軟件缺陷、軟件缺陷管理的概述介紹了基于tmm第四級(jí)管理和度量級(jí)別所要求的軟件缺陷度量和管理,并將舉例說明如何實(shí)現(xiàn)敏捷的軟件缺陷管理。 第五章: 作者在第五章將介紹企業(yè)級(jí)軟件的主要特點(diǎn),并根據(jù)第二章tmm分析結(jié)合黑莓企業(yè)手機(jī)管理平臺(tái)解決方案,提出了企業(yè)級(jí)軟件系統(tǒng)測(cè)試用例設(shè)計(jì)方案。 第六章:第六章中,作者將根據(jù)tc項(xiàng)目系統(tǒng)測(cè)試測(cè)試過程,對(duì)該項(xiàng)目運(yùn)用文中在3.3節(jié)中提出敏捷系統(tǒng)測(cè)試具體過程實(shí)現(xiàn)模型。該章將對(duì)tc項(xiàng)目的敏捷系統(tǒng)測(cè)試迭代階

30、段進(jìn)行了案例分析,并給出了測(cè)試結(jié)果和結(jié)果分析。 第七章: 第七章將對(duì)全文內(nèi)容進(jìn)行總括,展望敏捷系統(tǒng)測(cè)試未來可繼續(xù)改進(jìn)的方面。第2章 軟件測(cè)試成熟度模型理論分析2.1 軟件測(cè)試能力成熟度模型概述 能力成熟度模型(capability maturity model)簡(jiǎn)稱cmm7,其基本思想是:由于問題是由管理軟件開發(fā)過程的方法引起的,所以新技術(shù)的運(yùn)用不會(huì)自動(dòng)提高生產(chǎn)率和利潤率。能力成熟度模型主要包括五個(gè)等級(jí):初始級(jí)(initial)、可重復(fù)級(jí)(repeatable)、定義級(jí)(defined)、管理級(jí)(managed)、優(yōu)化級(jí)(optimizing)。軟件測(cè)試成熟度模型(testing maturi

31、ty model)簡(jiǎn)稱tmm8,是基于cmm產(chǎn)生的。其基本思想是提出一個(gè)與cmm類似的框架,來評(píng)估組織團(tuán)隊(duì)測(cè)試過程的成熟度,目標(biāo)是幫助組織提高測(cè)試成熟度。作為一類等級(jí)遞增模型,它能夠用于分析軟件測(cè)試機(jī)構(gòu)運(yùn)作過程中最優(yōu)秀或最混亂的區(qū)域,并輔助軟件測(cè)試機(jī)構(gòu)進(jìn)行測(cè)試過程的評(píng)估與改進(jìn)。軟件測(cè)試成熟度模型具有如下優(yōu)點(diǎn):(1) 等級(jí)水平結(jié)構(gòu)、關(guān)鍵活動(dòng)和角色的定義精細(xì)。(2) 測(cè)試相關(guān)因素覆蓋全面。(3) 支持測(cè)試過程成熟度增長(zhǎng)。(4) 有定義良好的評(píng)估模型的支持。2.2 軟件測(cè)試能力成熟度模型等級(jí)劃分tmm制定了五個(gè)成熟度等級(jí):初始級(jí),階段定義級(jí),集成級(jí),管理和度量級(jí),優(yōu)化、缺陷預(yù)防和質(zhì)量控制級(jí)9。如圖2

32、.1,各級(jí)成熟度水平包含了一組成熟度目標(biāo)和子目標(biāo),以及支持它們的任務(wù)、職責(zé)和活動(dòng)。圖2.2為軟件測(cè)試能力成熟度模型的等級(jí)劃分。圖 2.1 軟件測(cè)試能力成熟度模型具體內(nèi)容圖 2.2 軟件測(cè)試能力成熟度模型等級(jí)劃分2.2.1 初始級(jí)概述 tmm初始級(jí)軟件測(cè)試過程的特點(diǎn)是測(cè)試過程無序,有時(shí)甚至是混亂的,幾乎沒有妥善定義的。初始級(jí)中軟件的測(cè)試與調(diào)試常常被混為一談,軟件開發(fā)過程中缺乏測(cè)試資源,工具以及訓(xùn)練有素的測(cè)試人員。初始級(jí)的軟件測(cè)試過程沒有定義成熟度目標(biāo)。2.2.2 階段定義級(jí)概述 tmm的定義級(jí)中,測(cè)試己具備基本的測(cè)試技術(shù)和方法,軟件的測(cè)試與調(diào)試己經(jīng)明確地被區(qū)分開。測(cè)試被定義為軟件生命周期中的一個(gè)

33、階段,緊隨代碼開發(fā)階段之后。tmm的定義級(jí)中需實(shí)現(xiàn)3個(gè)成熟度目標(biāo):制訂測(cè)試與調(diào)試目標(biāo),啟動(dòng)測(cè)試計(jì)劃過程,制度化基本的測(cè)試技術(shù)和方法。 軟件組織必須清晰地區(qū)分軟件開發(fā)的測(cè)試過程與調(diào)試過程,識(shí)別各自的目標(biāo),任務(wù)和活動(dòng)。正確區(qū)分這兩個(gè)過程是提高軟件組織測(cè)試能力的基礎(chǔ)。與調(diào)試工作不同,測(cè)試工作是一種有計(jì)劃的活動(dòng),可以進(jìn)行管理和控制。這種管理和控制活動(dòng)需要制訂相應(yīng)的策略和政策,以確定和協(xié)調(diào)這兩個(gè)過程。制訂測(cè)試與調(diào)試目標(biāo)包含5個(gè)子成熟度目標(biāo): (1) 分別形成測(cè)試組織和調(diào)試組織,并有經(jīng)費(fèi)支持。(2) 規(guī)劃并記錄測(cè)試目標(biāo);規(guī)劃并記錄調(diào)試目標(biāo)。(3) 將測(cè)試和調(diào)試目標(biāo)形成文檔,分發(fā)至項(xiàng)目涉及的所有管理和開發(fā)人

34、員。 (4) 將測(cè)試目標(biāo)反映在測(cè)試計(jì)劃中。 制訂計(jì)劃是使一個(gè)過程可重復(fù),可定義和可管理的基礎(chǔ)。測(cè)試計(jì)劃應(yīng)包括測(cè)試目的,風(fēng)險(xiǎn)分析,測(cè)試策略以及測(cè)試設(shè)計(jì)規(guī)格說明和測(cè)試用例。此外,測(cè)試計(jì)劃還應(yīng)說明如何分配測(cè)試資源,如何劃分單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試等。啟動(dòng)測(cè)試計(jì)劃過程包含5個(gè)子目標(biāo): (1) 建立組織內(nèi)的測(cè)試計(jì)劃組織并予以經(jīng)費(fèi)支持。 (2) 建立組織內(nèi)的測(cè)試計(jì)劃政策框架并予以管理上的支持。(3) 開發(fā)測(cè)試計(jì)劃模板并分發(fā)至項(xiàng)目的管理者和開發(fā)者。 (4) 建立一種機(jī)制,使用戶需求成為測(cè)試計(jì)劃的依據(jù)之一。 (5) 評(píng)價(jià),推薦和獲得基本的計(jì)劃工具并從管理上支持工具的使用。 為改進(jìn)測(cè)試過程能力,組織中需應(yīng)用

35、基本的測(cè)試技術(shù)和方法,并說明何時(shí)和怎樣使用這些技術(shù),方法和支持工具?;緶y(cè)試技術(shù)和方法制度化有2個(gè)子目標(biāo): (1) 在組織范圍內(nèi)成立測(cè)試技術(shù)組,研究,評(píng)價(jià)和推薦基本的測(cè)試技術(shù)和測(cè)試方法,推薦支持這些技術(shù)與方法的基本工具。(2) 制訂管理方針以保證在全組織范圍內(nèi)一致使用所推薦的技術(shù)和方法。2.2.3 集成級(jí)概述 在tmm的定義級(jí),測(cè)試過程中引入計(jì)劃能力,在tmm的集成級(jí),測(cè)試過程引入控制和監(jiān)視活動(dòng)。兩者均為測(cè)試過程提供了可見性,為測(cè)試過程持續(xù)進(jìn)行提供保證。在集成級(jí),測(cè)試不僅僅是跟隨在編碼階段之后的一個(gè)階段,它已被擴(kuò)展成與軟件生命周期融為一體的一組已定義的活動(dòng)。測(cè)試活動(dòng)遵循軟件生命周期的v字模型。

36、測(cè)試人員在需求分析階段便開始著手制訂測(cè)試計(jì)劃,并根據(jù)用戶或客戶需求建立測(cè)試目標(biāo),同時(shí)設(shè)計(jì)測(cè)試用例并制訂測(cè)試通過準(zhǔn)則。在集成級(jí)上,應(yīng)成立軟件測(cè)試組織,提供測(cè)試技術(shù)培訓(xùn),關(guān)鍵的測(cè)試活動(dòng)應(yīng)有相應(yīng)的測(cè)試工具予以支持。在該測(cè)試成熟度等級(jí)上,沒有正式的評(píng)審程序,沒有建立質(zhì)量過程和產(chǎn)品屬性的測(cè)試度量。集成級(jí)要實(shí)現(xiàn)4個(gè)成熟度目標(biāo),它們分別是:建立軟件測(cè)試組織,制訂技術(shù)培訓(xùn)計(jì)劃,軟件全生命周期測(cè)試,控制和監(jiān)視測(cè)試過程。軟件測(cè)試的過程及質(zhì)量對(duì)軟件產(chǎn)品質(zhì)量有直接影響。由于測(cè)試往往是在時(shí)間緊,壓力大的情況下所完成的一系列復(fù)雜的活動(dòng),因此應(yīng)由訓(xùn)練有素的專業(yè)人員組成測(cè)試組。測(cè)試組要完成與測(cè)試有關(guān)的多種活動(dòng),包括負(fù)責(zé)制訂測(cè)

37、試計(jì)劃,實(shí)施測(cè)試執(zhí)行,記錄測(cè)試結(jié)果,制訂與測(cè)試有關(guān)的標(biāo)準(zhǔn)和測(cè)試度量,建立鍘試數(shù)據(jù)庫,測(cè)試重用,測(cè)試跟蹤以及測(cè)試評(píng)價(jià)等。建立軟件測(cè)試組織要現(xiàn)4個(gè)子目標(biāo): (1) 建立全組織范圍內(nèi)的測(cè)試組(2) 定義測(cè)試組的作用和職責(zé)。(3) 由訓(xùn)練有素的人員組成測(cè)試組。 (4) 建立與用戶或客戶的聯(lián)系,收集他們對(duì)測(cè)試的需求和建議。 為高效率地完成好測(cè)試工作,測(cè)試人員必須經(jīng)過適當(dāng)?shù)呐嘤?xùn)。制訂技術(shù)培訓(xùn)規(guī)劃有3個(gè)子目標(biāo): (1) 制訂組織的培訓(xùn)計(jì)劃,并在管理上提供包括經(jīng)費(fèi)在內(nèi)的支持。(2) 制訂培訓(xùn)目標(biāo)和具體的培訓(xùn)計(jì)劃。(3) 成立培訓(xùn)組,配備相應(yīng)的工具,設(shè)備和教材 提高測(cè)試成熟度和改善軟件產(chǎn)品質(zhì)量都要求將測(cè)試工作與

38、軟件生命周期中的各個(gè)階段聯(lián)系起來。該目標(biāo)有4個(gè)子目標(biāo): (1) 將測(cè)試階段劃分為子階段,并與軟件生命周期的各階段相聯(lián)系。(2) 基于已定義的測(cè)試子階段,采用軟件生命周期v字模型。(3) 制訂與淵試相關(guān)的工作產(chǎn)品的標(biāo)準(zhǔn)。(4) 建立測(cè)試人員與開發(fā)人員共同工作的機(jī)制。這種機(jī)制有利于促進(jìn)將測(cè)試活動(dòng)集成于軟件生命周期中 為控制和監(jiān)視測(cè)試過程,軟件組織需采取相應(yīng)措施,如:制訂測(cè)試產(chǎn)品的標(biāo)準(zhǔn),制訂與測(cè)試相關(guān)的偶發(fā)事件的處理預(yù)案,確定測(cè)試?yán)锍瘫?,確定評(píng)估測(cè)試效率的度量,建立測(cè)試日志等??刂坪捅O(jiān)視測(cè)試過程有3個(gè)子目標(biāo): (1) 制訂控制和監(jiān)視測(cè)試過程的機(jī)制和政策。(2) 定義,記錄并分配一組與測(cè)試過程相關(guān)的基

39、本測(cè)量。(3) 開發(fā),記錄并文檔化一組糾偏措施和偶發(fā)事件處理預(yù)案,以備實(shí)際測(cè)試嚴(yán)重偏離計(jì)劃時(shí)使用。2.2.4 管理和度量級(jí)概述 在管理和測(cè)量級(jí),測(cè)試活動(dòng)除測(cè)試被測(cè)程序外,還包括軟件生命周期中各個(gè)階段的評(píng)審,審查和追查,使測(cè)試活動(dòng)涵蓋了軟件驗(yàn)證和軟件確認(rèn)活動(dòng)。根據(jù)管理和測(cè)量級(jí)的要求,軟件工作產(chǎn)品以及與測(cè)試相關(guān)的工作產(chǎn)品,如測(cè)試計(jì)劃,測(cè)試設(shè)計(jì)和測(cè)試步驟都要經(jīng)過評(píng)審。因?yàn)闇y(cè)試是一個(gè)可以量化并度量的過程。為了測(cè)量測(cè)試過程,測(cè)試人員應(yīng)建立測(cè)試數(shù)據(jù)庫。收集和記錄各軟件工程項(xiàng)目中使用的測(cè)試用例,記錄缺陷并按缺陷的嚴(yán)重程度劃分等級(jí)。所建立的測(cè)試規(guī)程應(yīng)能夠支持軟件組終對(duì)測(cè)試過程的控制和測(cè)量。管理和測(cè)量級(jí)有3個(gè)要

40、實(shí)現(xiàn)的成熟度目標(biāo):建立組織范圍內(nèi)的評(píng)審程序,建立測(cè)試過程的測(cè)量程序和軟件質(zhì)量評(píng)價(jià)。 軟件組織應(yīng)在軟件生命周期的各階段實(shí)施評(píng)審,以便盡早有效地識(shí)別,分類和消除軟件中的缺陷。建立評(píng)審程序有4個(gè)子目標(biāo): (1) 管理層要制訂評(píng)審政策支持評(píng)審過程。 (2) 測(cè)試組和軟件質(zhì)量保證組要確定并文檔化整個(gè)軟件生命周期中的評(píng)審目標(biāo),評(píng)審計(jì)劃,評(píng)審步驟以及評(píng)審記錄機(jī)制。(3) 評(píng)審項(xiàng)由上層組織指定。通過培訓(xùn)參加評(píng)審的人員,使他們理解和遵循相牢的評(píng)審政策,評(píng)審步驟。 測(cè)試過程的側(cè)量程序是評(píng)價(jià)測(cè)試過程質(zhì)量,改進(jìn)測(cè)試過程的基礎(chǔ),對(duì)監(jiān)視和控制測(cè)試過程至關(guān)重要。測(cè)量包括測(cè)試進(jìn)展,測(cè)試費(fèi)用,軟件錯(cuò)誤和缺陷數(shù)據(jù)以及產(chǎn)品淵量等。

41、建立淵試測(cè)量程序有3個(gè)子目標(biāo): (1) 定義組織范圍內(nèi)的測(cè)試過程測(cè)量政策和目標(biāo)。(2) 制訂測(cè)試過程測(cè)量計(jì)劃。(3) 應(yīng)用測(cè)量結(jié)果制訂測(cè)試過程改進(jìn)計(jì)劃。 軟件質(zhì)量評(píng)價(jià)內(nèi)容包括定義可測(cè)量的軟件質(zhì)量屬性,定義評(píng)價(jià)軟件工作產(chǎn)品的質(zhì)量目標(biāo)等項(xiàng)工作。軟件質(zhì)量評(píng)價(jià)有2個(gè)子目標(biāo): (1) 管理層,測(cè)試組和軟件質(zhì)量保證組要制訂與質(zhì)量有關(guān)的政策,質(zhì)量目標(biāo)和軟件產(chǎn)品質(zhì)量屬性。(2) 測(cè)試過程應(yīng)是結(jié)構(gòu)化,己測(cè)量和己評(píng)價(jià)的,以保證達(dá)到質(zhì)量目標(biāo)。2.2.5 優(yōu)化、缺陷預(yù)防和質(zhì)量控制級(jí)概述 由于本級(jí)的測(cè)試過程是可重復(fù),已定義,已管理和己測(cè)量的,因此軟件組織能夠優(yōu)化調(diào)整和持續(xù)改進(jìn)測(cè)試過程。測(cè)試過程的管理為持續(xù)改進(jìn)產(chǎn)品質(zhì)量和

42、過程質(zhì)量提供指導(dǎo),并提供必要的基礎(chǔ)設(shè)施。優(yōu)化,預(yù)防缺陷和質(zhì)量控制級(jí)有3個(gè)要實(shí)現(xiàn)的成熟度目標(biāo): 應(yīng)用過程數(shù)據(jù)預(yù)防缺陷,質(zhì)量控制,測(cè)試過程優(yōu)化。 這時(shí)的軟件組織能夠記錄軟件缺陷,分析缺陷模式,識(shí)別錯(cuò)誤根源,制訂防止缺陷再次發(fā)生的計(jì)劃,提供跟蹤這種括動(dòng)的辦法,并將這些活動(dòng)貫穿于全組織的各個(gè)項(xiàng)目中。應(yīng)用過程數(shù)據(jù)預(yù)防缺陷有礴個(gè)成熟度子目標(biāo): (1) 成立缺陷預(yù)防組。(2) 識(shí)別和記錄在軟件生命周期各階段引入的軟件缺陷和消除的缺陷。 (3) 建立缺陷原因分析機(jī)制,確定缺陷原因。 (4) 管理,開發(fā)和測(cè)試人員互相配合制訂缺陷預(yù)防計(jì)劃,防止已識(shí)別的缺陷再次發(fā)生。缺陷預(yù)防計(jì)劃要具有可跟蹤性。 在本級(jí),軟件組織通

43、過采用統(tǒng)計(jì)采樣技術(shù),測(cè)量組織的自信度,測(cè)量用戶對(duì)組織的信賴度以及設(shè)定軟件可靠性目標(biāo)來推進(jìn)測(cè)試過程。為了加強(qiáng)軟件質(zhì)量控制,測(cè)試組和質(zhì)量保證組要有負(fù)責(zé)質(zhì)量的人員參加,他們應(yīng)掌握能減少軟件缺陷和改進(jìn)軟件質(zhì)量的技術(shù)和工具。支持統(tǒng)計(jì)質(zhì)量控制的子目標(biāo)有: (1) 軟件測(cè)試組和軟件質(zhì)量保證組建立軟件產(chǎn)品的質(zhì)量目標(biāo),如:產(chǎn)品的缺陷密度,組織的自信度以及可信賴度等。 (2) 測(cè)試管理者要將這些質(zhì)量目標(biāo)納入測(cè)試計(jì)劃中。 (3) 培訓(xùn)測(cè)試組學(xué)習(xí)和使用統(tǒng)計(jì)學(xué)方法。 (4) 收集用戶需求以建立使用模型 優(yōu)化測(cè)試過程在測(cè)試成熟度的最高級(jí),己能夠量化測(cè)試過程。這樣就可以依據(jù)量化結(jié)果來調(diào)整測(cè)試過程,不斷提高測(cè)試過程能力,并且

44、軟件組織具有支持這種能力持續(xù)增長(zhǎng)的基礎(chǔ)設(shè)施?;A(chǔ)設(shè)施包括政策,標(biāo)準(zhǔn),培訓(xùn),設(shè)備,工具以及組織結(jié)構(gòu)等。優(yōu)化測(cè)試過程包含:(1) 識(shí)別需要改進(jìn)的測(cè)試?yán)▌?dòng) (2) 實(shí)施改進(jìn)。 (3) 跟蹤改進(jìn)進(jìn)程。 (4) 不斷評(píng)估所采用的與測(cè)試相關(guān)的新工具和新方法。 (5) 支持技術(shù)更新。2.3 軟件測(cè)試能力成熟度模型度量評(píng)估雖然tmm在管理和度量級(jí)才明確提出了正式的度量以及評(píng)估計(jì)劃,但定義度量對(duì)象與度量方法的工作則可以在四級(jí)以下進(jìn)行,因?yàn)槎攘勘旧砭褪侵С指叱墒於饶繕?biāo)的實(shí)現(xiàn)以及當(dāng)前能進(jìn)行的最佳測(cè)試活動(dòng)的實(shí)施。軟件測(cè)試機(jī)構(gòu)可從低級(jí)、粗略的度量做起,隨著成熟度等級(jí)的提高,度量逐步深入和細(xì)化。與成熟度的等級(jí)關(guān)系相似,

45、高等級(jí)的度量包含了低等級(jí)的度量10。下面討論在各成熟度等級(jí)上,可應(yīng)用于軟件測(cè)試機(jī)構(gòu)的度量對(duì)象和度量方法:(1) 規(guī)模度量 規(guī)模對(duì)于測(cè)試項(xiàng)目,測(cè)試計(jì)劃,成本工作量預(yù)測(cè),風(fēng)險(xiǎn)評(píng)估,效率度量而言,是一項(xiàng)非常重要的度量因素,它包括:軟件產(chǎn)品規(guī)模、測(cè)試對(duì)象數(shù)量、測(cè)試用例編寫數(shù)量、測(cè)試用例執(zhí)行數(shù)量11。(2) 缺陷度量、軟件異常數(shù)量、缺陷率 測(cè)試機(jī)構(gòu)在此級(jí)開始收集缺陷信息的目的是:在實(shí)際測(cè)試中對(duì)發(fā)現(xiàn)的各類問題有著文檔化的記錄。缺陷信息有助于評(píng)價(jià)軟件質(zhì)量,支持軟件開發(fā)和測(cè)試過程的改進(jìn),同時(shí)對(duì)軟件缺陷數(shù)據(jù)庫的建立提供了基礎(chǔ)。(3) 成本工作量、測(cè)試項(xiàng)目總體成本、測(cè)試執(zhí)行小時(shí)數(shù)、測(cè)試工作量成本成本度量則有助于測(cè)

46、試成本預(yù)測(cè),通過收集成本工作量度量信息,軟件測(cè)試機(jī)構(gòu)就可以開始著手建立成本數(shù)據(jù)庫,為將來的測(cè)試項(xiàng)目提供成本預(yù)測(cè)支持。(4) 代碼走查、系統(tǒng)測(cè)試的計(jì)劃時(shí)間、系統(tǒng)測(cè)試的執(zhí)行時(shí)間 代碼走查和系統(tǒng)測(cè)試是軟件測(cè)試機(jī)構(gòu)被授權(quán)的測(cè)試類型。如果有其它測(cè)試類型,則同樣要搜集其設(shè)計(jì)和執(zhí)行時(shí)間12。有助于制定,評(píng)估和改進(jìn)測(cè)試計(jì)劃的度量包括:1) 計(jì)劃生成的測(cè)試用例數(shù)量2) 實(shí)際生成的測(cè)試用例數(shù)量3) 計(jì)劃的測(cè)試覆蓋率4) 實(shí)際的測(cè)試覆蓋率5) 成本性能指數(shù)(cpi,指計(jì)劃的測(cè)試時(shí)間與實(shí)際測(cè)試時(shí)間之間的比例)2.4 軟件測(cè)試能力成熟度模型實(shí)踐作者將在論文中運(yùn)用tmm模型與敏捷系統(tǒng)測(cè)試過程模型的基本思想,提出基于tmm

47、模型的敏捷系統(tǒng)測(cè)試具體過程實(shí)現(xiàn)模型,闡述如何發(fā)揮敏捷系統(tǒng)測(cè)試的優(yōu)勢(shì),并減少其帶來的測(cè)試難度;分析軟件缺陷管理方案、企業(yè)級(jí)軟件系統(tǒng)測(cè)試用例設(shè)計(jì);并提供案例分析以論證運(yùn)用tmm模型可以改進(jìn)敏捷系統(tǒng)測(cè)試過程。2.5 本章小結(jié)作者在本章重點(diǎn)闡述了軟件測(cè)試成熟度模型(tmm),軟件測(cè)試成熟度模型是基于cmm產(chǎn)生的,tmm的目標(biāo)是幫助組織提高軟件測(cè)試成熟度,并輔助軟件測(cè)試機(jī)構(gòu)進(jìn)行測(cè)試過程的評(píng)估與改進(jìn)。作者將在下文對(duì)敏捷系統(tǒng)測(cè)試運(yùn)用測(cè)試成熟度模型的改進(jìn)和度量評(píng)估方法。第3章 系統(tǒng)測(cè)試?yán)碚摲治?.1 系統(tǒng)測(cè)試和敏捷系統(tǒng)測(cè)試概述3.1.1 系統(tǒng)測(cè)試概述正如緒論所描述,系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是

48、驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。由于系統(tǒng)測(cè)試屬于最終軟件產(chǎn)品對(duì)外發(fā)布前的產(chǎn)品驗(yàn)收測(cè)試,在傳統(tǒng)的瀑布開發(fā)模式下,為了交付系統(tǒng)測(cè)試的版本穩(wěn)定性,系統(tǒng)測(cè)試屬于產(chǎn)品開發(fā)的較后階段,通常要等到代碼開發(fā)階段、對(duì)代碼的單元測(cè)試和對(duì)產(chǎn)品功能的集成測(cè)試完成之后。在所有開發(fā)代碼的活動(dòng)全部完成后,開發(fā)人員開始參與到系統(tǒng)測(cè)試活動(dòng)中來,他們的工作將轉(zhuǎn)向協(xié)助測(cè)試人員修復(fù)發(fā)現(xiàn)的軟件缺陷。系統(tǒng)測(cè)試是對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿足需求規(guī)格定義,找出與需求規(guī)格不符或與之矛盾的地方。系統(tǒng)測(cè)試屬于最終產(chǎn)品驗(yàn)收測(cè)試,其執(zhí)行一般基于開發(fā)團(tuán)隊(duì)交付的可運(yùn)行版本。

49、圖3.1為系統(tǒng)測(cè)試具體實(shí)現(xiàn)的一般過程,主要針對(duì)傳統(tǒng)瀑布模型下的系統(tǒng)測(cè)試,而敏捷的系統(tǒng)測(cè)試也會(huì)經(jīng)歷圖上的各個(gè)過程,區(qū)別在于敏捷的測(cè)試也是迭代的、增量的,即敏捷模型下系統(tǒng)測(cè)試過程并不是單一過程,而是基于敏捷迭代而進(jìn)行多個(gè)系統(tǒng)測(cè)試迭代,并且每個(gè)系統(tǒng)測(cè)試迭代都會(huì)加入敏捷因素,例如不斷的溝通和反饋,并且上圖中過程之間會(huì)不斷的交互,各個(gè)過程的界限也變得模糊。系統(tǒng)測(cè)試的一般過程包括:圖 3.1 系統(tǒng)測(cè)試過程具體實(shí)現(xiàn)過程示例 (1) 版本交付系統(tǒng)測(cè)試,測(cè)試團(tuán)隊(duì)分析測(cè)試策略 在瀑布模型下,系統(tǒng)測(cè)試開始于開發(fā)階段完全結(jié)束之后。系統(tǒng)測(cè)試團(tuán)隊(duì)根據(jù)產(chǎn)品功能需求說明書和設(shè)計(jì)文檔分析系統(tǒng)測(cè)試策略。 (2) 設(shè)計(jì)測(cè)試用例,制

50、定測(cè)試計(jì)劃 系統(tǒng)測(cè)試團(tuán)隊(duì)根據(jù)系統(tǒng)測(cè)試策略的分析結(jié)果設(shè)計(jì)測(cè)試用例,并制定測(cè)試計(jì)劃。測(cè)試計(jì)劃的詳細(xì)程度和覆蓋程度也基于測(cè)試策略。 (3) 執(zhí)行測(cè)試用例,驗(yàn)證缺陷修復(fù) 軟件測(cè)試過程就是發(fā)現(xiàn)缺陷的過程,測(cè)試團(tuán)隊(duì)發(fā)現(xiàn)的缺陷將由開發(fā)團(tuán)隊(duì)進(jìn)行修復(fù),并由測(cè)試團(tuán)隊(duì)進(jìn)行回歸驗(yàn)證。 (4) 完成測(cè)試計(jì)劃,分析并交付測(cè)試結(jié)果 系統(tǒng)測(cè)試團(tuán)隊(duì)將測(cè)試交付測(cè)試結(jié)果,并對(duì)測(cè)試中發(fā)現(xiàn)的軟件缺陷進(jìn)行再分析,收集缺陷數(shù)據(jù)報(bào)告并根據(jù)缺陷趨勢(shì)曲線識(shí)別和預(yù)防缺陷的頻繁發(fā)生。3.1.2 敏捷的系統(tǒng)測(cè)試概述 獨(dú)立的系統(tǒng)測(cè)試階段有利于測(cè)試工作的順利進(jìn)行,但缺點(diǎn)也顯而易見不能盡早消除系統(tǒng)層面的軟件缺陷導(dǎo)致測(cè)試和修復(fù)所發(fā)現(xiàn)缺陷的成本居高不下,同時(shí)也

51、不可避免的增加整個(gè)軟件產(chǎn)品發(fā)布的時(shí)間。在敏捷模型下,系統(tǒng)測(cè)試活動(dòng)將采用“有條件”的敏捷迭代過程13。所謂條件是指系統(tǒng)測(cè)試的敏捷實(shí)現(xiàn)過程將基于開發(fā)團(tuán)隊(duì)交付的alpha版本軟件產(chǎn)品,最初交付的產(chǎn)品僅包含部分功能,當(dāng)進(jìn)入功能開發(fā)整合和系統(tǒng)測(cè)試并行階段后,后續(xù)功能會(huì)在敏捷迭代中不斷逐步整合到軟件產(chǎn)品中。敏捷的系統(tǒng)測(cè)試強(qiáng)調(diào)從客戶的角度出發(fā),即從使用系統(tǒng)的用戶出發(fā)來測(cè)試系統(tǒng),重點(diǎn)關(guān)注持續(xù)迭代整合進(jìn)系統(tǒng)的新功能和迭代周期需回歸測(cè)試已修復(fù)的軟件缺陷。敏捷的系統(tǒng)測(cè)試強(qiáng)調(diào)以人為中心,測(cè)試過程的進(jìn)行依靠團(tuán)隊(duì)的高效溝通和持續(xù)反饋。3.1.2.1 敏捷系統(tǒng)測(cè)試的優(yōu)點(diǎn)引入敏捷系統(tǒng)測(cè)試的優(yōu)點(diǎn)顯而易見:(1)盡早發(fā)現(xiàn)與系統(tǒng)測(cè)

52、試相關(guān)的軟件缺陷。許多系統(tǒng)層面的軟件缺陷只有在基于復(fù)雜用戶故事設(shè)計(jì)的測(cè)試用例中才會(huì)被發(fā)現(xiàn),因此系統(tǒng)測(cè)試提早介入可以提早發(fā)現(xiàn)此類缺陷的時(shí)間。盡早發(fā)現(xiàn)軟件缺陷可以有效降低軟件測(cè)試的成本,并提高軟件產(chǎn)品的質(zhì)量。(2)使系統(tǒng)測(cè)試工程師更好的融入整個(gè)敏捷團(tuán)隊(duì)。 敏捷測(cè)試的采用使得系統(tǒng)測(cè)試團(tuán)隊(duì)和其他角色之間更頻繁且更深入的交流,系統(tǒng)測(cè)試團(tuán)隊(duì)可以在交流中不斷修改和完善測(cè)試計(jì)劃,并更加高效的進(jìn)行缺陷跟蹤。更密切交流的另一個(gè)重要好處是,當(dāng)新的功能整合到軟件版本中時(shí),系統(tǒng)測(cè)試團(tuán)隊(duì)可以立即注意到,并增加相應(yīng)的測(cè)試計(jì)劃。(3)允許系統(tǒng)測(cè)試工程師提出需求變更。 傳統(tǒng)的系統(tǒng)測(cè)試在代碼開發(fā)完成后開始,由于需求的凍結(jié),使得系

53、統(tǒng)系統(tǒng)測(cè)試工程師可以從用戶使用系統(tǒng)的角度出發(fā),對(duì)產(chǎn)品的需求提出變更,提高產(chǎn)品的質(zhì)量或用戶使用的友好程度。(4)加快軟件產(chǎn)品發(fā)布周期。系統(tǒng)測(cè)試和功能開發(fā)整合并行使得系統(tǒng)測(cè)試可以提早介入到產(chǎn)品開發(fā)生命周期中,系統(tǒng)測(cè)試工程師可以有更多的時(shí)間進(jìn)行測(cè)試,這使測(cè)試人員可以在迭代的早期熟悉并理解產(chǎn)品的架構(gòu)特點(diǎn)和運(yùn)行方式,從而加快后續(xù)階段的測(cè)試效率。3.1.2.2 敏捷系統(tǒng)測(cè)試的挑戰(zhàn) 敏捷系統(tǒng)測(cè)試的引入加快了軟件產(chǎn)品發(fā)布的周期,但也不可避免的增加了系統(tǒng)測(cè)試過程進(jìn)行的難度,敏捷系統(tǒng)測(cè)試主要的挑戰(zhàn)包括:(1) 易引入新的系統(tǒng)層次軟件缺陷。(2) 增加了測(cè)試用例設(shè)計(jì)的難度。(3) 完成測(cè)試計(jì)劃的工作量變得難以估計(jì)。

54、(4) 敏捷的測(cè)試過程對(duì)系統(tǒng)測(cè)試工程師提出了更高的要求。(5) 測(cè)試和開發(fā)并行增加了開發(fā)工程師的工作難度。3.2 系統(tǒng)測(cè)試過程模型 作者在3.1節(jié)中介紹了系統(tǒng)測(cè)試過程具體實(shí)現(xiàn)的一般模型,該模型主要描述的是在一個(gè)系統(tǒng)測(cè)試過程中,系統(tǒng)測(cè)試團(tuán)隊(duì)所參與的與測(cè)試過程相關(guān)的活動(dòng)。與具體實(shí)現(xiàn)模型不同,本節(jié)作者所描述的系統(tǒng)過程模型主要闡述的是系統(tǒng)測(cè)試的漸進(jìn)過程,即系統(tǒng)測(cè)試過程可以分為多個(gè)子過程,每個(gè)過程是包含了系統(tǒng)測(cè)試的一個(gè)具體實(shí)現(xiàn)。3.2.1 里程碑模型 由于系統(tǒng)測(cè)試是在將軟件產(chǎn)品交付給客戶使用之前完成的最終產(chǎn)品測(cè)試,一般在完成開發(fā)和功能驗(yàn)證測(cè)試之后進(jìn)行,因此采用里程碑模型的系統(tǒng)測(cè)試過程為產(chǎn)品發(fā)布之前的測(cè)試

55、建立了時(shí)間表,時(shí)間表上的各個(gè)節(jié)點(diǎn)稱里程碑。測(cè)試團(tuán)隊(duì)會(huì)對(duì)里程碑完成提出階段性目標(biāo),并且每個(gè)里程碑達(dá)到時(shí)都會(huì)產(chǎn)生階段可交付物,例如可對(duì)外交付或?qū)eta用戶交付的軟件版本。里程碑模型有利于測(cè)試團(tuán)隊(duì)不斷加深對(duì)所測(cè)試軟件產(chǎn)品的理解,同時(shí)提出階段性目標(biāo)有利于跟進(jìn)整個(gè)系統(tǒng)測(cè)試過程所處狀態(tài),隨著階段的深入,完成里程碑的標(biāo)準(zhǔn)將變得越來越苛刻,最終目標(biāo)是達(dá)到產(chǎn)品發(fā)布的質(zhì)量要求。圖3.2里程碑模型基本過程的示例。里程碑模型并不是簡(jiǎn)單的時(shí)間表概念,更重要的是制定達(dá)到里程碑的目標(biāo)。如表3-1所示,里程碑目標(biāo)的內(nèi)容一般包括:計(jì)劃驗(yàn)證修復(fù)的軟件缺陷、計(jì)劃覆蓋的測(cè)試計(jì)劃內(nèi)容。圖 3.2 里程碑模型示例表 3.1 采用里程碑

56、模型下各個(gè)階段里程碑目標(biāo)示例里程碑目標(biāo)m1m2m3release測(cè)試用例覆蓋進(jìn)行優(yōu)先級(jí)最高的測(cè)試用例覆蓋優(yōu)先級(jí)最高的測(cè)試用例覆蓋優(yōu)先級(jí)最高,次高的用例完成所有測(cè)試用例修復(fù)軟件缺陷修復(fù)30%被確定為m1里程碑目標(biāo)的缺陷修復(fù)50%被確定為m2里程碑目標(biāo)的缺陷修復(fù)70%被確定為m3里程碑目標(biāo)的缺陷修復(fù)所有軟件缺陷3.2.2 軟件產(chǎn)品發(fā)布生命周期模型 采用軟件發(fā)布生命周期模型的系統(tǒng)測(cè)試過程是基于里程碑模型的衍生,其里程碑時(shí)間點(diǎn)以對(duì)alpha/beta用戶發(fā)布或?qū)ν庹桨l(fā)布軟件版本為主要里程碑目標(biāo),同時(shí)每一個(gè)里程碑目標(biāo)都包含了對(duì)之前發(fā)布版本的缺陷修復(fù)和質(zhì)量提高。里程碑時(shí)間表從最初alpha版本交付測(cè)試開始到軟件產(chǎn)品最終對(duì)外發(fā)布。軟件發(fā)布生命周期模型適用于企業(yè)級(jí)軟件的測(cè)試,龐大復(fù)雜的測(cè)試計(jì)劃可以分解為多個(gè)階段計(jì)劃,通過階段性目標(biāo)的檢驗(yàn)完成大型的系統(tǒng)測(cè)試項(xiàng)目。圖3.3為軟件發(fā)布生命周期示例: (1) pre-alpha里程碑 該階段主要指?jìng)鹘y(tǒng)瀑布模型下的需求分析、設(shè)計(jì)、開發(fā)、單元測(cè)試環(huán)節(jié)。 (2) alpha里程碑 該階段的目標(biāo)

溫馨提示

  • 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)論