【正文】
隊(duì)定期地反思如何能提高成效,并依此調(diào)整自身的舉止表現(xiàn)圖 敏捷開發(fā)模型示例 敏捷測試是遵守敏捷宣言的軟件測試實(shí)踐方法,是敏捷模型的關(guān)鍵組成部分[3]。(10)以簡潔為本,它是極力減少不必要工作量的藝術(shù)。責(zé)任人、開發(fā)人員和用戶要能夠共同維持其步調(diào)穩(wěn)定延續(xù)。(7)可工作的軟件是進(jìn)度的首要度量標(biāo)準(zhǔn)。提供所需的環(huán)境和支援,輔以信任,從而達(dá)成目標(biāo)。(4)業(yè)務(wù)人員和開發(fā)人員必須相互合作,項(xiàng)目中的每一天都不例外。為了客戶的競爭優(yōu)勢,敏捷過程掌控變化。 敏捷宣言強(qiáng)調(diào)的敏捷軟件開發(fā)的四個(gè)核心價(jià)值是:(1)個(gè)人和互動(dòng)高于流程和工具(2)工作軟件高于理解文檔(3)客戶協(xié)作高于合同協(xié)商(4)變化響應(yīng)高于計(jì)劃遵循 敏捷宣言提出的十二條原則包括:(1)最重要的目標(biāo)是通過持續(xù)不斷地及早交付有價(jià)值的軟件使客戶滿意。敏捷思想的出現(xiàn)是為了替代傳統(tǒng)的瀑布模型開發(fā)流程。敏捷開發(fā)過程中,軟件功能以持續(xù)整合的方式不斷集成到軟件產(chǎn)品中,在整個(gè)開發(fā)過程中都強(qiáng)調(diào)高效溝通和及時(shí)反饋。關(guān)鍵詞:系統(tǒng)測試,敏捷測試,系統(tǒng)測試過程模型,系統(tǒng)測試具體過程實(shí)現(xiàn)模型,軟件測試成熟度模型i浙江大學(xué)碩士學(xué)位論文 AbstractAbstractSystem testing belongs to acceptance testing of software product before its official release 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 waterfall development model, system testing is always started after code development pletion. While independent phase of system testing makes the testing process progress smoothly, the shortings 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 overhead 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 it’s one of indispensable parts of agile development. 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 explain 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 out 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 bine the TMM and agile system testing process model together to e up with the agile system testing process implementation model, software 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 Maturity Modelii浙江大學(xué)碩士學(xué)位論文 目錄目錄摘要 iAbstract ii目錄 I圖目錄 IV表目錄 V第1章 緒論 1 課題背景 1 敏捷開發(fā)與敏捷測試概述 1 系統(tǒng)測試概述 3 研究目標(biāo) 4 論文組織架構(gòu) 4第2章 軟件測試成熟度模型理論分析 6 軟件測試能力成熟度模型概述 6 軟件測試能力成熟度模型等級劃分 6 初始級概述 7 階段定義級概述 7 集成級概述 8 管理和度量級概述 10 優(yōu)化、缺陷預(yù)防和質(zhì)量控制級概述 10 軟件測試能力成熟度模型度量評估 12 軟件測試能力成熟度模型實(shí)踐 12 本章小結(jié) 13第3章 系統(tǒng)測試?yán)碚摲治?14 系統(tǒng)測試和敏捷系統(tǒng)測試概述 14 系統(tǒng)測試概述 14 敏捷的系統(tǒng)測試概述 15 系統(tǒng)測試過程模型 16 里程碑模型 16 軟件產(chǎn)品發(fā)布生命周期模型 17 里程碑模型和敏捷迭代開發(fā)模型相結(jié)合的模型 19 基于TMM的系統(tǒng)測試過程具體實(shí)現(xiàn)模型 20 系統(tǒng)測試開始前的準(zhǔn)備工作計(jì)劃 20 第一個(gè)里程碑階段測試過程 22 第二個(gè)里程碑階段測試過程 24 第三個(gè)里程碑階段測試過程 25 第四個(gè)里程碑階段測試過程 26 本章小結(jié) 26第4章 軟件缺陷管理概述 27 軟件缺陷管理概述 27 軟件缺陷管理系統(tǒng)特點(diǎn)分析 27 軟件缺陷管理系統(tǒng)局的方便性 28 軟件缺陷管理系統(tǒng)的追蹤性 29 軟件缺陷管理系統(tǒng)局限性分析 29 軟件缺陷管理系統(tǒng)使用的必要性分析 30 本章小結(jié) 30第5章 企業(yè)級軟件產(chǎn)品概述 31 企業(yè)級軟件概述 31 通用軟件產(chǎn)品概述 31 企業(yè)級軟件系統(tǒng)測試用例分析 32 黑莓手機(jī)管理平臺解決方案概述 32 系統(tǒng)測試用例設(shè)計(jì)舉例 34 本章小結(jié) 35第6章 案例分析 36 項(xiàng)目背景及測試結(jié)果分析 36 系統(tǒng)測團(tuán)隊(duì)架構(gòu)分析 36 項(xiàng)目系統(tǒng)測試過程實(shí)現(xiàn)模型分析 38 項(xiàng)目軟件缺陷管理方案分析 39 系統(tǒng)測試測試結(jié)果分析 39 項(xiàng)目改進(jìn)成果 46 本章小結(jié) 47第7章 總結(jié)與展望 48 論文總結(jié) 48 今后展望 48參考文獻(xiàn) 49作者簡歷 50致謝 51II浙江大學(xué)碩士學(xué)位論文 圖目錄圖目錄圖 敏捷開發(fā)模型示例 2圖 傳統(tǒng)瀑布開發(fā)模型示例 3圖 軟件測試能力成熟度模型具體內(nèi)容 6圖 軟件測試能力成熟度模型等級劃分 7圖 系統(tǒng)測試過程具體實(shí)現(xiàn)過程示例 14圖 里程碑模型示例 17圖 軟件產(chǎn)品發(fā)布生命周期示例 18圖 里程碑模型和敏捷迭代模型相結(jié)合的系統(tǒng)測試過程示例 19圖 黑莓手機(jī)管理平臺解決方案產(chǎn)品線 32圖 軟件測試類型示例 34圖 系統(tǒng)完整系測試示例 35圖 TC項(xiàng)目的時(shí)間表 37圖 TC項(xiàng)目的敏捷系統(tǒng)測試過程模型 38圖 第一個(gè)迭代系統(tǒng)部署測試執(zhí)行中發(fā)現(xiàn)的軟件缺陷示例 42圖 第二階段系統(tǒng)部署測試中發(fā)現(xiàn)的軟件缺陷示例 45III浙江大學(xué)碩士學(xué)位論文 表目錄表目錄表 采用里程碑模型下各個(gè)階段里程碑目標(biāo)示例 17表 四里程碑系統(tǒng)測試過程示例 20表 系統(tǒng)測試開始前準(zhǔn)備工作示例 20表 第一個(gè)里程碑系統(tǒng)測試具體過程 22表 第二個(gè)里程碑系統(tǒng)測試具體過程 24表 第三個(gè)里程碑系統(tǒng)測試具體過程 25表 第四個(gè)里程碑系統(tǒng)測試具體過 26表 操作系統(tǒng)和數(shù)據(jù)庫兼容性信息 40表 第一階段設(shè)計(jì)的測試用例分布 41表 第一階段測試執(zhí)行結(jié)果 41表 第一階段確定的缺陷里程碑分類 43表 第二階段設(shè)計(jì)的測試會話分布 44表 第二階段測試執(zhí)行結(jié)果 44表 第二階段確定的缺陷里程碑分類 46表 第三階段設(shè)計(jì)的測試用例分布 46IV浙江大學(xué)碩士學(xué)位論文 第1章 緒論第1章 緒論 課題背景 敏捷開發(fā)與敏捷測試概述 敏捷開發(fā)是以團(tuán)隊(duì)為核心,具有迭代性和增量性的開發(fā)方法[1]。軟件測試成熟度模型(TMM)是基于CMM產(chǎn)生的,TMM的目標(biāo)是幫助組織提高軟件測試成熟度,它能夠用于分析軟件測試機(jī)構(gòu)運(yùn)作過程中最優(yōu)秀或最混亂的區(qū)域,并輔助軟件測試機(jī)構(gòu)進(jìn)行測試過程的評估與改進(jìn)。敏捷系統(tǒng)測試的引入加快了軟件開發(fā)生命周期并提高了軟件產(chǎn)品的整體質(zhì)量,但不可避免的增加了系統(tǒng)測試過程的難度。獨(dú)立的系統(tǒng)測試階段有利于測試工作的順利進(jìn)行,但缺點(diǎn)也顯而易見——不能盡早消除系統(tǒng)層面的軟件缺陷導(dǎo)致測試和修復(fù)缺陷的成本居高不下,同時(shí)也增加了軟件開發(fā)生命周期的時(shí)間。企業(yè)級軟件產(chǎn)品系統(tǒng)測試 的敏捷方法研究和實(shí)踐浙江大學(xué)碩士學(xué)位論文 摘要摘要系統(tǒng)測試屬于軟件產(chǎn)品對外發(fā)布前的產(chǎn)品驗(yàn)收測試,其目的是驗(yàn)證軟件產(chǎn)品是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。在傳統(tǒng)的瀑布開發(fā)模型下,系統(tǒng)測試通常要等到代碼開發(fā)階段結(jié)束后開始。敏捷測試是遵守敏捷宣言的軟件測試實(shí)踐方法,是敏捷開發(fā)的關(guān)鍵組成部分。如何發(fā)揮敏捷系統(tǒng)測試的優(yōu)勢,并降低其帶來的影響是本論文主要分析和討論的內(nèi)容。作者將在論文中運(yùn)用TMM模型與敏捷系統(tǒng)測試過程模型的基本思想,提出基于TMM模型的敏捷系統(tǒng)測試具體過程實(shí)現(xiàn)模型、軟件缺陷管理方案、企業(yè)級軟件系統(tǒng)測試用例設(shè)計(jì),并通過作者在黑莓公司實(shí)習(xí)期間參與的敏捷系統(tǒng)測試項(xiàng)目加以論證運(yùn)用TMM模型可以改進(jìn)敏捷系統(tǒng)測試過程。敏捷開發(fā)是針對傳統(tǒng)的瀑布開發(fā)模型的弊端而產(chǎn)生,目的是提高軟件開發(fā)效率和響應(yīng)能力。敏捷軟件開發(fā)關(guān)注保持簡潔的代碼,經(jīng)常性測試和及時(shí)地交付應(yīng)用的功能模塊。 敏捷開發(fā)遵循敏捷宣言,其正式宣布了對四種核心價(jià)值和十二條原則,可以指導(dǎo)迭代的以人為中心的軟件開發(fā)方法[2]。(2)欣然面對需求變化,即使在開發(fā)后期也一樣。(3)經(jīng)常地交付可工作的軟件,傾向于采取較短的周期。(5)激發(fā)個(gè)體的斗志,以他們?yōu)楹诵拇罱?xiàng)目。(6)不論團(tuán)隊(duì)內(nèi)外,傳遞信息效果最好效率也最高的方式是面對面的交談。(8)敏捷過程倡導(dǎo)可持續(xù)開發(fā)。(9)堅(jiān)持不懈地追求技術(shù)卓越和良好設(shè)計(jì),敏捷能力由此增強(qiáng)。(11)最好的架構(gòu)、需求和設(shè)計(jì)出自自組織團(tuán)隊(duì)。敏捷思想的廣泛傳播使人們開始關(guān)注如何有效測試,同時(shí)敏捷項(xiàng)目也進(jìn)一步改變了測試人員在團(tuán)隊(duì)中的角色。敏捷團(tuán)隊(duì)在迭代中工作高度協(xié)作以確保產(chǎn)品的質(zhì)量狀態(tài)。敏捷團(tuán)隊(duì)中的幾個(gè)核心概念都與測試有關(guān)。此外,開發(fā)人員也會編寫測試代碼進(jìn)行集成測試以保證代碼單元之間按要求協(xié)同工作,驅(qū)動(dòng)測試開發(fā)(TDD)能夠從代碼層面深入思考軟件設(shè)計(jì)并防止缺陷[4]。下文將闡述的敏捷測試主要指“面向業(yè)務(wù)”的測試,也稱為“面向客戶”的測試,測試定義了軟件