企业级软件产品系统测试的敏捷方法研究和实践硕士学位论文.doc
《企业级软件产品系统测试的敏捷方法研究和实践硕士学位论文.doc》由会员分享,可在线阅读,更多相关《企业级软件产品系统测试的敏捷方法研究和实践硕士学位论文.doc(56页珍藏版)》请在三一办公上搜索。
1、企业级软件产品系统测试 的敏捷方法研究和实践摘要系统测试属于软件产品对外发布前的产品验收测试,其目的是验证软件产品是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。在传统的瀑布开发模型下,系统测试通常要等到代码开发阶段结束后开始。独立的系统测试阶段有利于测试工作的顺利进行,但缺点也显而易见不能尽早消除系统层面的软件缺陷导致测试和修复缺陷的成本居高不下,同时也增加了软件开发生命周期的时间。敏捷测试是遵守敏捷宣言的软件测试实践方法,是敏捷开发的关键组成部分。敏捷系统测试的引入加快了软件开发生命周期并提高了软件产品的整体质量,但不可避免的增加了系统测试过程的难度。
2、如何发挥敏捷系统测试的优势,并降低其带来的影响是本论文主要分析和讨论的内容。软件测试成熟度模型(TMM)是基于CMM产生的,TMM的目标是帮助组织提高软件测试成熟度,它能够用于分析软件测试机构运作过程中最优秀或最混乱的区域,并辅助软件测试机构进行测试过程的评估与改进。作者将在论文中运用TMM模型与敏捷系统测试过程模型的基本思想,提出基于TMM模型的敏捷系统测试具体过程实现模型、软件缺陷管理方案、企业级软件系统测试用例设计,并通过作者在黑莓公司实习期间参与的敏捷系统测试项目加以论证运用TMM模型可以改进敏捷系统测试过程。关键词:系统测试,敏捷测试,系统测试过程模型,系统测试具体过程实现模型,软件
3、测试成熟度模型AbstractSystem 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.
4、 In traditional water-fall development model, system testing is always started after code development 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 sy
5、stem 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 s
6、oftware testing practice which follows agile manifesto, and its 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 agil
7、e 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),
8、 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 combine the TMM and agile system testi
9、ng process model together to come 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
10、Testing, System Testing Process Model, System Testing Process Implementation Model, Software Testing Maturity Model目录摘要iAbstractii目录I图目录IV表目录V第1章 绪论11.1 课题背景11.1.1 敏捷开发与敏捷测试概述11.1.2 系统测试概述31.2 研究目标41.3 论文组织架构4第2章 软件测试成熟度模型理论分析62.1 软件测试能力成熟度模型概述62.2 软件测试能力成熟度模型等级划分62.2.1 初始级概述72.2.2 阶段定义级概述72.2.3 集成级
11、概述82.2.4 管理和度量级概述102.2.5 优化、缺陷预防和质量控制级概述102.3 软件测试能力成熟度模型度量评估122.4 软件测试能力成熟度模型实践122.5 本章小结13第3章 系统测试理论分析143.1 系统测试和敏捷系统测试概述143.1.1 系统测试概述143.1.2 敏捷的系统测试概述153.2 系统测试过程模型163.2.1 里程碑模型163.2.2 软件产品发布生命周期模型173.2.3 里程碑模型和敏捷迭代开发模型相结合的模型193.3 基于TMM的系统测试过程具体实现模型203.3.1 系统测试开始前的准备工作计划203.3.2 第一个里程碑阶段测试过程223.3
12、.3 第二个里程碑阶段测试过程243.3.4 第三个里程碑阶段测试过程253.3.5 第四个里程碑阶段测试过程263.4 本章小结26第4章 软件缺陷管理概述274.1 软件缺陷管理概述274.2 软件缺陷管理系统特点分析274.2.1 软件缺陷管理系统局的方便性284.2.2 软件缺陷管理系统的追踪性294.3 软件缺陷管理系统局限性分析294.4 软件缺陷管理系统使用的必要性分析304.5 本章小结30第5章 企业级软件产品概述315.1 企业级软件概述315.2 通用软件产品概述315.3 企业级软件系统测试用例分析325.3.1 黑莓手机管理平台解决方案概述325.3.2 系统测试用例
13、设计举例345.4 本章小结35第6章 案例分析366.1 项目背景及测试结果分析366.1.1 系统测团队架构分析366.1.2 项目系统测试过程实现模型分析386.1.3 项目软件缺陷管理方案分析396.1.4 系统测试测试结果分析396.2 项目改进成果466.3 本章小结47第7章 总结与展望487.1 论文总结487.2 今后展望48参考文献49作者简历50致谢51图目录图 1.1 敏捷开发模型示例2图 1.2 传统瀑布开发模型示例3图 2.1 软件测试能力成熟度模型具体内容6图 2.2 软件测试能力成熟度模型等级划分7图 3.1 系统测试过程具体实现过程示例14图 3.2 里程碑模
14、型示例17图 3.3 软件产品发布生命周期示例18图 3.4 里程碑模型和敏捷迭代模型相结合的系统测试过程示例19图 5.1 黑莓手机管理平台解决方案产品线32图 5.2 软件测试类型示例34图 5.3 系统完整系测试示例35图 6.1 TC项目的时间表37图 6.2 TC项目的敏捷系统测试过程模型38图 6.3 第一个迭代系统部署测试执行中发现的软件缺陷示例42图 6.4 第二阶段系统部署测试中发现的软件缺陷示例45表目录表 3.1 采用里程碑模型下各个阶段里程碑目标示例17表 3.2 四里程碑系统测试过程示例20表 3.3 系统测试开始前准备工作示例20表 3.4 第一个里程碑系统测试具体
15、过程22表 3.5 第二个里程碑系统测试具体过程24表 3.6 第三个里程碑系统测试具体过程25表 3.7 第四个里程碑系统测试具体过26表 6.1 操作系统和数据库兼容性信息40表 6.2 第一阶段设计的测试用例分布41表 6.3 第一阶段测试执行结果41表 6.4 第一阶段确定的缺陷里程碑分类43表 6.5 第二阶段设计的测试会话分布44表 6.6 第二阶段测试执行结果44表 6.7 第二阶段确定的缺陷里程碑分类46表 6.8 第三阶段设计的测试用例分布46第1章 绪论1.1 课题背景1.1.1 敏捷开发与敏捷测试概述 敏捷开发是以团队为核心,具有迭代性和增量性的开发方法1,图1.1是经典
16、的敏捷开发模型示例。敏捷开发是针对传统的瀑布开发模型的弊端而产生,目的是提高软件开发效率和响应能力。敏捷开发过程中,软件功能以持续整合的方式不断集成到软件产品中,在整个开发过程中都强调高效沟通和及时反馈。敏捷软件开发关注保持简洁的代码,经常性测试和及时地交付应用的功能模块。敏捷思想的出现是为了替代传统的瀑布模型开发流程。 敏捷开发遵循敏捷宣言,其正式宣布了对四种核心价值和十二条原则,可以指导迭代的以人为中心的软件开发方法2。 敏捷宣言强调的敏捷软件开发的四个核心价值是:(1)个人和互动高于流程和工具(2)工作软件高于理解文档(3)客户协作高于合同协商(4)变化响应高于计划遵循 敏捷宣言提出的十
17、二条原则包括:(1)最重要的目标是通过持续不断地及早交付有价值的软件使客户满意。(2)欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。(3)经常地交付可工作的软件,倾向于采取较短的周期。(4)业务人员和开发人员必须相互合作,项目中的每一天都不例外。(5)激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。(6)不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。(7)可工作的软件是进度的首要度量标准。(8)敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。(9)坚持不懈地追求技术卓越和良好设计,敏
18、捷能力由此增强。(10)以简洁为本,它是极力减少不必要工作量的艺术。(11)最好的架构、需求和设计出自自组织团队。(12)团队定期地反思如何能提高成效,并依此调整自身的举止表现图 1.1 敏捷开发模型示例 敏捷测试是遵守敏捷宣言的软件测试实践方法,是敏捷模型的关键组成部分3。敏捷思想的广泛传播使人们开始关注如何有效测试,同时敏捷项目也进一步改变了测试人员在团队中的角色。把质量构建进产品的思想是敏捷团队的中心任务。敏捷团队在迭代中工作高度协作以确保产品的质量状态。敏捷团队是高度跨职能的,开发人员,测试人员和其他人在整个迭代中紧密协作,以确保产品质量。敏捷团队中的几个核心概念都与测试有关。在测试驱
19、动开发中,程序员为自己编写的代码进行单元测试。此外,开发人员也会编写测试代码进行集成测试以保证代码单元之间按要求协同工作,驱动测试开发(TDD)能够从代码层面深入思考软件设计并防止缺陷4。作者将单元测试和单元集成测试归于传统瀑布模型的开发阶段,主要由开发工程师负责。下文将阐述的敏捷测试主要指“面向业务”的测试,也称为“面向客户”的测试,测试定义了软件产品设计期望的特性和功能。测试工程师在敏捷开发过程中所进行的工作包括验证产品功能的测试和发现最终产品可能存在的缺陷以及缺陷改进后的测试。 瀑布模型一般会明确定义软件开发生命周期的各个阶段,即以需求分析和设计文档开始,代码编写和软件开发其次,以测试阶
20、段结束(瀑布模型在该阶段通常会出现无法按时完成项目而匆忙进行测试,甚至延迟软件交付等情况)5,图1.2是经典的瀑布开发模型示例。瀑布模型的优点在于各个阶段目的明确、团队角色分工清晰、管理简单。但缺点也十分明显:需求固定,开发效率较低,软件质量无法提高等。在使用瀑布开发模型的开发团队中,测试人员虽被视为软件产品的质量守护者,但在由于测试阶段在代码交付和开发完成后开始,测试人员不能通控制代码如何编写提高软件质量,甚至不能控制开发人员是否进行单元测试。同时,由于需求冻结,测试人员无法直接通过改变产品需求改善软件质量。敏捷模型针对瀑布模型存在的缺陷提出改进。在敏捷团队中,开发人员、测试人员、产品经理、
21、项目架构师等相互协作,及时反馈信息,此外团队在工作中密切接触业务,详细了解需求。在敏捷模型中,测试人员不再等待开发完成才开始工作,而是从设计阶段就开始寻找整个开发周期中可以贡献价值的地方,并且测试人员可以在迭代过程中与产品经理和项目负责人及时沟通,变更产品需求,甚至可以在需求分析阶段,从提高软件质量等角度提出产品需求。敏捷团队是以整体团队方式运行。整体团队运行方式要求每个人都对测试任务负责。架构师和项目经理需要参与敏捷测试计划的制定,参与软件缺陷生命周期的管理,而开发人员通过使用测试驱动开发,来编写高效高质量的代码。传统开发模型中的测试人员在敏捷开发过程中所进行的工作包括验证产品功能的测试和发
22、现最终产品可能存在的缺陷以及缺陷改进后的测试。敏捷测试的优点之一就是可以快速从测试中得到反馈,它驱动项目前进,每个迭代里程碑都需要达到既定的测试目标。由于敏捷项目开发和测试在一定程度上并行,因此相对于传统瀑布模型开发,项目整体进展时间较快。图 1.2 传统瀑布开发模型示例 软件缺陷生命周期管理在敏捷测试中也具有高度迭代性。在一个迭代周期中,当发现软件缺陷之后,测试人员将与开发人员、产品经理或软件架构师沟通交流,在得到反馈和确认之后将提交软件缺陷报告。敏捷团队负责人和架构师将判断该软件缺陷的优先程度,并将其设定为此迭代或在未来迭代周期中需解决的缺陷,而当开发人员在某个迭代周期中修复此软件缺陷之后
23、,测试人员会得到反馈并进行回归测试验证。1.1.2 系统测试概述 系统测试是将经过集成测试的软件,作为系统计算机的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行6。它是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试。它是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试是软件产品发布前的最终产品验收测试。 由于系统测试属于最终产品对外发布前的验收测试,在传统的瀑布开发模式下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业级 软件产品 系统 测试 敏捷 方法 研究 实践 硕士学位 论文
链接地址:https://www.31ppt.com/p-4020300.html