ImageVerifierCode 换一换
格式:DOCX , 页数:61 ,大小:886.20KB ,
资源ID:9325728      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9325728.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(企业级软件产品系统测试的敏捷方法研究和实践硕士学位论文 精品.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

企业级软件产品系统测试的敏捷方法研究和实践硕士学位论文 精品.docx

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

4、 that violate the requirement. 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 p

5、rocess 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.

6、Agile testing is one kind of software 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

7、 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 Capac

8、ity 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 combine

9、the TMM and agile system testing 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. Ke

10、y Words:System Testing, Agile Testing, System Testing Process Model, System Testing Process Implementation Model, Software Testing Maturity Model目录摘要 iAbstract ii目录 I图目录 IV表目录 V第1章 绪论 11.1 课题背景 11.1.1 敏捷开发与敏捷测试概述 11.1.2 系统测试概述 31.2 研究目标 41.3 论文组织架构 4第2章 软件测试成熟度模型理论分析 62.1 软件测试能力成熟度模型概述 62.2 软件测试能力成熟

11、度模型等级划分 62.2.1 初始级概述 72.2.2 阶段定义级概述 72.2.3 集成级概述 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

12、的系统测试过程具体实现模型 203.3.1 系统测试开始前的准备工作计划 203.3.2 第一个里程碑阶段测试过程 223.3.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

13、企业级软件概述 315.2 通用软件产品概述 315.3 企业级软件系统测试用例分析 325.3.1 黑莓手机管理平台解决方案概述 325.3.2 系统测试用例设计举例 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 敏捷开发模型

14、示例 2图 1.2 传统瀑布开发模型示例 3图 2.1 软件测试能力成熟度模型具体内容 6图 2.2 软件测试能力成熟度模型等级划分 7图 3.1 系统测试过程具体实现过程示例 14图 3.2 里程碑模型示例 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 第

15、二阶段系统部署测试中发现的软件缺陷示例 45表目录表 3.1 采用里程碑模型下各个阶段里程碑目标示例 17表 3.2 四里程碑系统测试过程示例 20表 3.3 系统测试开始前准备工作示例 20表 3.4 第一个里程碑系统测试具体过程 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

16、 第二阶段测试执行结果 44表 6.7 第二阶段确定的缺陷里程碑分类 46表 6.8 第三阶段设计的测试用例分布 46第1章 绪论1.1 课题背景1.1.1 敏捷开发与敏捷测试概述 敏捷开发是以团队为核心,具有迭代性和增量性的开发方法1,图1.1是经典的敏捷开发模型示例。敏捷开发是针对传统的瀑布开发模型的弊端而产生,目的是提高软件开发效率和响应能力。敏捷开发过程中,软件功能以持续整合的方式不断集成到软件产品中,在整个开发过程中都强调高效沟通和及时反馈。敏捷软件开发关注保持简洁的代码,经常性测试和及时地交付应用的功能模块。敏捷思想的出现是为了替代传统的瀑布模型开发流程。 敏捷开发遵循敏捷宣言,其

17、正式宣布了对四种核心价值和十二条原则,可以指导迭代的以人为中心的软件开发方法2。 敏捷宣言强调的敏捷软件开发的四个核心价值是:(1)个人和互动高于流程和工具(2)工作软件高于理解文档(3)客户协作高于合同协商(4)变化响应高于计划遵循 敏捷宣言提出的十二条原则包括:(1)最重要的目标是通过持续不断地及早交付有价值的软件使客户满意。(2)欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。(3)经常地交付可工作的软件,倾向于采取较短的周期。(4)业务人员和开发人员必须相互合作,项目中的每一天都不例外。(5)激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以

18、信任,从而达成目标。(6)不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。(7)可工作的软件是进度的首要度量标准。(8)敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。(9)坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。(10)以简洁为本,它是极力减少不必要工作量的艺术。(11)最好的架构、需求和设计出自自组织团队。(12)团队定期地反思如何能提高成效,并依此调整自身的举止表现图 1.1 敏捷开发模型示例 敏捷测试是遵守敏捷宣言的软件测试实践方法,是敏捷模型的关键组成部分3。敏捷思想的广泛传播使人们开始关注如何有效测试,同时敏捷项目也进一步改变了

19、测试人员在团队中的角色。把质量构建进产品的思想是敏捷团队的中心任务。敏捷团队在迭代中工作高度协作以确保产品的质量状态。敏捷团队是高度跨职能的,开发人员,测试人员和其他人在整个迭代中紧密协作,以确保产品质量。敏捷团队中的几个核心概念都与测试有关。在测试驱动开发中,程序员为自己编写的代码进行单元测试。此外,开发人员也会编写测试代码进行集成测试以保证代码单元之间按要求协同工作,驱动测试开发(TDD)能够从代码层面深入思考软件设计并防止缺陷4。作者将单元测试和单元集成测试归于传统瀑布模型的开发阶段,主要由开发工程师负责。下文将阐述的敏捷测试主要指“面向业务”的测试,也称为“面向客户”的测试,测试定义了

20、软件产品设计期望的特性和功能。测试工程师在敏捷开发过程中所进行的工作包括验证产品功能的测试和发现最终产品可能存在的缺陷以及缺陷改进后的测试。 瀑布模型一般会明确定义软件开发生命周期的各个阶段,即以需求分析和设计文档开始,代码编写和软件开发其次,以测试阶段结束(瀑布模型在该阶段通常会出现无法按时完成项目而匆忙进行测试,甚至延迟软件交付等情况)5,图1.2是经典的瀑布开发模型示例。瀑布模型的优点在于各个阶段目的明确、团队角色分工清晰、管理简单。但缺点也十分明显:需求固定,开发效率较低,软件质量无法提高等。在使用瀑布开发模型的开发团队中,测试人员虽被视为软件产品的质量守护者,但在由于测试阶段在代码交

21、付和开发完成后开始,测试人员不能通控制代码如何编写提高软件质量,甚至不能控制开发人员是否进行单元测试。同时,由于需求冻结,测试人员无法直接通过改变产品需求改善软件质量。敏捷模型针对瀑布模型存在的缺陷提出改进。在敏捷团队中,开发人员、测试人员、产品经理、项目架构师等相互协作,及时反馈信息,此外团队在工作中密切接触业务,详细了解需求。在敏捷模型中,测试人员不再等待开发完成才开始工作,而是从设计阶段就开始寻找整个开发周期中可以贡献价值的地方,并且测试人员可以在迭代过程中与产品经理和项目负责人及时沟通,变更产品需求,甚至可以在需求分析阶段,从提高软件质量等角度提出产品需求。敏捷团队是以整体团队方式运行

22、。整体团队运行方式要求每个人都对测试任务负责。架构师和项目经理需要参与敏捷测试计划的制定,参与软件缺陷生命周期的管理,而开发人员通过使用测试驱动开发,来编写高效高质量的代码。传统开发模型中的测试人员在敏捷开发过程中所进行的工作包括验证产品功能的测试和发现最终产品可能存在的缺陷以及缺陷改进后的测试。敏捷测试的优点之一就是可以快速从测试中得到反馈,它驱动项目前进,每个迭代里程碑都需要达到既定的测试目标。由于敏捷项目开发和测试在一定程度上并行,因此相对于传统瀑布模型开发,项目整体进展时间较快。图 1.2 传统瀑布开发模型示例 软件缺陷生命周期管理在敏捷测试中也具有高度迭代性。在一个迭代周期中,当发现

23、软件缺陷之后,测试人员将与开发人员、产品经理或软件架构师沟通交流,在得到反馈和确认之后将提交软件缺陷报告。敏捷团队负责人和架构师将判断该软件缺陷的优先程度,并将其设定为此迭代或在未来迭代周期中需解决的缺陷,而当开发人员在某个迭代周期中修复此软件缺陷之后,测试人员会得到反馈并进行回归测试验证。1.1.2 系统测试概述 系统测试是将经过集成测试的软件,作为系统计算机的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行6。它是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认

24、测试。它是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试是软件产品发布前的最终产品验收测试。 由于系统测试属于最终产品对外发布前的验收测试,在传统的瀑布开发模式下,为了版本稳定性,通常要等到代码开发阶段、对代码的单元测试和对产品功能的集成测试完成之后开始系统测试。在所有开发代码的活动全部完成后,开发人员开始参与到系统测试活动中来,他们的工作将转向协助测试人员修复发现的软件缺陷。1.2 研究目标作者将在下文引入软件测试成熟度模型(TMM),软件测试成熟度模型(TMM)是基于CMM产生的,TMM的目标是帮助组

25、织提高软件测试成熟度,它能够用于分析软件测试机构运作过程中最优秀或最混乱的区域,并辅助软件测试机构进行测试过程的评估与改进。作者将在论文中运用TMM模型与敏捷系统测试过程模型的基本思想,提出基于TMM模型的敏捷系统测试具体过程实现模型,阐述如何发挥敏捷系统测试的优势,并减少其带来的测试难度;分析软件缺陷管理方案、企业级软件系统测试用例设计;并提供案例分析以论证运用TMM模型可以改进敏捷系统测试过程。作者对论文的主要贡献包括:(1) 总结了适用于系统测试过程的模型。(2) 结合TMM和敏捷系统测试过程模型,提出了适用于敏捷系统测试过程的敏捷系统测试过程实现模型。1.3 论文组织架构根据上述研究目

26、标,文章其余部分内如组织如下:第二章: 作者将在第二章重点阐述了软件测试成熟度模型(TMM),软件测试成熟度模型是基于CMM产生的,TMM的目标是帮助组织提高软件测试成熟度,并辅助软件测试机构进行测试过程的评估与改进。作者将在下文对敏捷系统测试运用测试成熟度模型的改进和度量评估方法。 第三章: 第三章将介绍系统测试和敏捷系统测试的一般特点,并分析了系统测试过程的具体实现模型和系统测试过程模型。此外,作者将在3.3节提出基于软件测试能力成熟度模型(TMM)分析的系统测试具体过程实现模型,它是里程碑模型和敏捷迭代开发的系统测试过程模型的具体实现,并结合了TMM对如何提高软件测试成熟度的分析。第四章

27、: 作者在第四章通过对软件缺陷、软件缺陷管理的概述介绍了基于TMM第四级管理和度量级别所要求的软件缺陷度量和管理,并将举例说明如何实现敏捷的软件缺陷管理。 第五章: 作者在第五章将介绍企业级软件的主要特点,并根据第二章TMM分析结合黑莓企业手机管理平台解决方案,提出了企业级软件系统测试用例设计方案。 第六章:第六章中,作者将根据TC项目系统测试测试过程,对该项目运用文中在3.3节中提出敏捷系统测试具体过程实现模型。该章将对TC项目的敏捷系统测试迭代阶段进行了案例分析,并给出了测试结果和结果分析。 第七章: 第七章将对全文内容进行总括,展望敏捷系统测试未来可继续改进的方面。第2章 软件测试成熟度

28、模型理论分析2.1 软件测试能力成熟度模型概述 能力成熟度模型(Capability Maturity Model)简称CMM7,其基本思想是:由于问题是由管理软件开发过程的方法引起的,所以新技术的运用不会自动提高生产率和利润率。能力成熟度模型主要包括五个等级:初始级(Initial)、可重复级(Repeatable)、定义级(Defined)、管理级(Managed)、优化级(Optimizing)。软件测试成熟度模型(Testing Maturity Model)简称TMM8,是基于CMM产生的。其基本思想是提出一个与CMM类似的框架,来评估组织团队测试过程的成熟度,目标是帮助组织提高测试

29、成熟度。作为一类等级递增模型,它能够用于分析软件测试机构运作过程中最优秀或最混乱的区域,并辅助软件测试机构进行测试过程的评估与改进。软件测试成熟度模型具有如下优点:(1) 等级水平结构、关键活动和角色的定义精细。(2) 测试相关因素覆盖全面。(3) 支持测试过程成熟度增长。(4) 有定义良好的评估模型的支持。2.2 软件测试能力成熟度模型等级划分TMM制定了五个成熟度等级:初始级,阶段定义级,集成级,管理和度量级,优化、缺陷预防和质量控制级9。如图2.1,各级成熟度水平包含了一组成熟度目标和子目标,以及支持它们的任务、职责和活动。图2.2为软件测试能力成熟度模型的等级划分。图 2.1 软件测试

30、能力成熟度模型具体内容图 2.2 软件测试能力成熟度模型等级划分2.2.1 初始级概述 TMM初始级软件测试过程的特点是测试过程无序,有时甚至是混乱的,几乎没有妥善定义的。初始级中软件的测试与调试常常被混为一谈,软件开发过程中缺乏测试资源,工具以及训练有素的测试人员。初始级的软件测试过程没有定义成熟度目标。2.2.2 阶段定义级概述 TMM的定义级中,测试己具备基本的测试技术和方法,软件的测试与调试己经明确地被区分开。测试被定义为软件生命周期中的一个阶段,紧随代码开发阶段之后。TMM的定义级中需实现3个成熟度目标:制订测试与调试目标,启动测试计划过程,制度化基本的测试技术和方法。 软件组织必须

31、清晰地区分软件开发的测试过程与调试过程,识别各自的目标,任务和活动。正确区分这两个过程是提高软件组织测试能力的基础。与调试工作不同,测试工作是一种有计划的活动,可以进行管理和控制。这种管理和控制活动需要制订相应的策略和政策,以确定和协调这两个过程。制订测试与调试目标包含5个子成熟度目标: (1) 分别形成测试组织和调试组织,并有经费支持。(2) 规划并记录测试目标;规划并记录调试目标。(3) 将测试和调试目标形成文档,分发至项目涉及的所有管理和开发人员。 (4) 将测试目标反映在测试计划中。 制订计划是使一个过程可重复,可定义和可管理的基础。测试计划应包括测试目的,风险分析,测试策略以及测试设计规格说明和测试用例。此外,测试计划还应说明如何分配测试资源,如何划分单元测试、集成测试、系统测试等。启动测试计划过程包含5个子目标: (1) 建立组织内的测试计划组织并予以经费支持。 (2) 建立组织内的测试计划政策框架并予以管理上的支持。(3) 开发测试计划模板并分发至项目的管理者和开发者。 (4) 建立一种机制,使用户需求成为测试计划的依据之一。 (5) 评价,推荐和获得基本的计划工具并从管理上支持工具的使用。 为改进测试过程能力,组织中需应用基本的测试技术和方法,并说明何时和怎样使用这些技术,方法和支持工具。基本测试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1