面向敏捷开发的软件测试技术_第1页
面向敏捷开发的软件测试技术_第2页
面向敏捷开发的软件测试技术_第3页
面向敏捷开发的软件测试技术_第4页
面向敏捷开发的软件测试技术_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-精选财经经济类资料- -最新财经经济资料-感谢阅读- 1 面向敏捷开发的软件测试技术 摘要:近年来,随着信息技术的 迅猛发展,快速变化的市场对软件产品 的生命流程提出了更新更高的要求:一 方面要求新的软件产品能尽快发布以抢 占市场,另一方面要求软件产品能够快 速变更来保持市场占有率,崇尚生产率 的敏捷方法学应运而生,敏捷方法学强 调以提高生产率为目标,推崇通过周期 性的高度迭代来保证软件产品的能力和 质量,得到越来越多的应用。 中国论文网 /8/view-12758607.htm 关键词:软件测试;敏捷开发; 敏捷测试 中图分类号:TP311 文献标识码: A 文章编号: 1009-3044(2015)18- -精选财经经济类资料- -最新财经经济资料-感谢阅读- 2 0070-03 1.传统测试 典型的传统测试包括 v 模型,w 模型,H 模型等,以 v 模型为例,如图 1 所示,测试发生在开发之后的一个阶 段,测试过程与开发过程相对应。 测试的过程即为计划测试-设计 测试-实现测试- 执行测试,通过迭代实 现整个测试流程,在测试过程中,传统 测试要求流程规范,文档齐全,根据软 件需求总结、测试所有的功能点,直到 软件没有大的 bug。在传统 v 模型测试 过程中,需求、功能、设计和编码的开 发活动随时间而进行,而相应的测试活 动即针对需求、功能、设计和编码的测 试,开展的次序却正好相反,可以看到, 底层代码设计最后被开发却最先被执行, 反之,软件设计过程中的需求是最早开 发,相应的验收测试到最后进行。如此, 往往需求阶段隐藏的错误会一直到最后 验收测试时才被发现,导致整个软件开 发测试过程需要推倒重来,极大影响软 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 3 件生产效率。相较而言,由 Evolutff 公 司提出的 w 模型更科学,可以看作是 v 模型的改进版,在软件开发的每个阶段 都进行测试,能更早的发现软件问题, 软件测试 w 模型如图 2 所示,但是 w 模型软件测试仍然需要与软件开发保持 顺序关系,只有在上一个阶段的开发任 务完成之后才能进行下一个阶段的测试 任务,无法支持敏捷开发这种需要高度 迭代的软件开发模型。 2.敏捷测试 2.1 敏捷测试的定义 敏捷测试没有明确定义,不能简 单理解为更快的测试或者使用更少的资 源(时间,物力)来实现相同的测试任 务,一般而言,敏捷测试伴随于敏捷开 发,2001 年 2 月,17 位当时被称之为 轻量级方法学家编写和签署敏捷宣言 (Agile Manifesto,Beck eta1.)正是标 志着敏捷方法的开始,随后适应市场需 求的敏捷开发越来越流行,随之而来, 敏捷开发中的测试问题也被逐渐重视起 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 4 来,如果只是将过去的传统测试方法生 硬地应用于敏捷开发,由于敏捷开发的 短周期,高迭代的特性,测试工作将几 近无法正常进行,并且传统测试与开发 保持的顺行关系将不能发挥测试应有的 作用。敏捷测试就是改变传统测试方法, 适应敏捷开发,对传统测试进行裁剪和 增加而采用的新的测试流程,敏捷测试 针对敏捷开发过程中迭代产生的新功能 进行不断验证测试,同时对原有功能进 行回归测试。如图 3 所示,在敏捷中, 需要尽早测试,强调要能够及时、持续 地对软件的质量问题进行回归反馈。 2.2 敏捷测试的特点 1)支持变化,因为敏捷开发的 特点就是高度迭代,根据客户提出的新 的需求不断将产品开发推向更正确的发 展方向,在这个过程中就要求测试也能 够不断对软件新的变化做出验证。 2)拥抱客户参与,客户代表作 为团队中最了解业务的人将帮助开发团 队快速达到目标和做出适时决策。开发 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 5 团队拥有很好的技术但在业务方面他们 需要客户代表的帮助,同时测试团队积 极与客户沟通,了解客户需求,在测试 过程中有更好的针对性。 3) “一张纸测试 ”,敏捷测试以提 高生产率为目标,强调快速迭代,高质 量产出,因此传统测试过程中的严格文 档要求在敏捷测试中不作要求,测试人 员与开发人员、客户密切沟通,崇尚 “一张纸”测试计划,对传统的测试流程 进行裁剪,减少测试计划、测试用例设 计等工作的比重,增加与产品设计人员、 测试人员、客户的交流。 4)提倡自动化测试,敏捷测试 中每次迭代后都需要对原有功能进行回 归测试,对新增加的功能进行验证测试, 鉴于敏捷开发的高迭代性特点,敏捷测 试的工作量很大,这就要求敏捷测试积 极拥抱自动化测试,尽量减少开发过程 中高迭代部分回归测试部分的测试时间, 重复部分测试应尽量用自动化测试实现。 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 6 在敏捷测试流程中,测试人员需 要参与单元测试,关注持续迭代的新功 能,针对这些功能进行足够的验收测试, 原有功能的回归测试则更多地用自动化 测试来实现。以后与敏捷方法中迭代周 期短,测试人员尽早开始测试,包括及 时对需求、开发设计的品神,更重要的 是能够及时、持续的对软件品质进行反 馈,简单地说,敏捷测试就是持续地对 软件质量问题进行及时的反馈。从确认 客户需求开始,测试就开始进行,测试 用例的设计、测试计划、测试执行,测 试贯穿软件开发的整个流程。 2.3 测试自动化 在敏捷测试中,使用自动化测试 是必不可少的内容,在敏捷开发中,会 有新的功能在每次迭代中不断被开发出 来,这些新的功能属于必须充分测试的 部分,同时,为了保证迭代软件产品本 身的质量,确保在增加软件新功能的时 候没有对原有软件产品造成破坏,还需 要对软件产品进行综合测试,迭代频率 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 7 越高,所需消耗的测试资源越多,而测 试资源中的测试时间、测试人力和物力 都是有限的,不可能一直全面地测试到 软件的所有方面,自动化测试是保证不 断迭代后继续保持软件质量不可缺少的 途径。在敏捷项目的早期阶段因为进度 和方案的变更开展自动化测试通常是很 困难的,但是到后期迭代时,前期的用 户故事已经稳定下来,测试人员就可以 在前期手动的基础实现自动化测试。 自动化测试为迭代的回归测试提 供服务,提高了回归测试的效率和质量, 节约了大量的时间,在敏捷测试模型中, 它归于系统综合测试阶段,能有有效保 证迭代版本的质量和稳定性。 2.4 典型敏捷测试的流程 敏捷测试主要包括两个部分:确 认测试和综合测试,典型敏捷测试的流 程可以用图 4 来表示。 确认测试是对迭代出软件新的功 能的有效性进行确认验证,测试人员根 据迭代之前制定的需求和计划对新发布 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 8 的软件增加的功能开发出充分的测试用 例,对其高优先级输出的部分进行充分 测试,及时纠正新发布软件的错误,保 证迭代版本软件质量。确认测试要做到 持续测试,一旦某块新代码完成就可以 对该块新代码进行测试,以使测试效率 最大化。 综合测试是对确认测试的补充, 包含完整的功能测试,测试人员完成对 软件的确认测试后对软件进行补充测试, 完成迭代软件的综合测试,证明迭代软 件的稳定性和正确性以使软件产品完善 的进入下一迭代流程。 典型敏捷测试存在的不足在于, 本次迭代周期包含前一次迭代测试的综 合测试部分,第 N 次迭代的综合测试发 生在第 N+1 个周期,主观性地认为前一 次迭代测试的综合测试不会出现较大的 软件问题,而敏捷开发的高迭代性要求 不允许出现等待,因此敏捷开发团队不 会等待第 N 次迭代软件综合测试完全结 束后才进行下一周期(N+1)的开发, -精选财经经济类资料- -最新财经经济资料-感谢阅读- 9 这就增加了开发风险,同时本周期迭代 的软件产品在下一周期才得到测试,影 响测试效果。 2.5 敏捷增量测试模型 为了改进典型敏捷测试模型的缺 点,使敏捷团队能够及时解决当前迭代 周期的问题,可以将典型敏捷测试的测 试过程扩充为三个部分:确认测试,验 证测试以及集成测试。 在改进型敏捷测试过程中,确认 测试和综合测试都放在当前的迭代周期 内完成,减少软件开发风险,增加集成 测试则可以使测试人员对之前迭代周期 的软件产品进行小范围内的集成测试, 替代原敏捷测试模型中的对前一迭代周 期进行综合测试的部分,不同的是,这 里的集成测试只需及时记录下测试接口 错误以及其他的集成环境错误,并不被 定义为当前迭代周期内的测试任务,只 是适应敏捷开发的“ 等待性任务 ”,所以 测试人员以当前迭代周期内的测试计划 为主,当能开始本次迭代周期内的工作 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 10 时,可以随时停止集成测试工作,并且 对迭代周期内的集成测试不要求测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论