敏捷测试实践专业知识讲座_第1页
敏捷测试实践专业知识讲座_第2页
敏捷测试实践专业知识讲座_第3页
敏捷测试实践专业知识讲座_第4页
敏捷测试实践专业知识讲座_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试 ?简而言之,敏捷测试是指在采用敏捷技术的项目中开展的 测试 ?同时,敏捷测试也意味着测试遵循敏捷的基本原则,接纳 敏捷的核心价值观(交流,简单,反馈,勇气) ?保持简单 ?以任务为导向,而不以过程或是角色为导向 ?通过沟通和反馈保证测试能够建立合适的质量标准 ?尽可能减少测试周期的时间需求 ?敏捷测试要求“ 交付可用产品”而非单纯的“ 发现缺陷” 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试 vs. 传统意义上的测

2、试 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试带来的挑战(一) ?质量文化上的挑战 ?发现缺陷 vs. 在产品中内建质量 ?敏捷带来的担心:测试工程师应该做什么? ?敏捷带来的担心:测试工程师能够做什么? 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试核心价值观 ?共享质量目标 ?开发和测试团队共享同样的质量目标,当然也共享同样 的质量责任,每个工程师在测试方面都同样承担任务 ?在产品中内建可测试性 ?为产品建立更好的自动化测试不仅仅依赖于测试工程师 的工作,

3、更重要的是,产品本身内建的可测试性 ?关注产品质量的提升,测试周期的缩短,而不是仅专注于 发现缺陷 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试中的测试工程师可以做什么 ?获取和明确用户的质量期望 ?建立合适的系统测试、用户验收测试质量标准 ?建立可见的质量度量体系,让产品和代码质量反馈持续可 见 ?推进单元测试、开发测试,促进代码质量 ?建立持续构建框架 ?建立与维护合适的自动化测试以减少测试的时间投入 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试带来的挑战

4、(二) ?测试工程师面临的挑战 ?必须通过与开发团队的密切合作获取产品信息,制定测 试计划而不是依赖文档 ?必须密切介入开发过程,参与设计,甚至是代码 ?必须能够自我驱动 ?必须具有足够的自动化测试技能与探索性测试技能 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 拥抱变化,改变工作方式 ?与开发工程师密切合作 ?转变角色,测试工程师不再是“裁判”,而应该是“支持 者”和“帮助产品具有更好质量的角色” ?将测试推动到上游 ?自我驱动,积极参与敏捷过程,主动工作而非仅仅被动接 受任务 ?提升自己的技能,尤其是自动化测试方面的技能、探索性

5、测试能力、快速学习能力 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试带来的挑战(三) ?测试团队面临的挑战 ?与传统测试不同的考核标准 ?与传统测试不同的人员技能要求 ?与传统测试不同的测试过程管理 ?与传统测试不同的团队管理方式 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 建立适合敏捷测试的团队 ?建立以“质量和生产率”为核心的激励机制 ?提升团队成员技能,招聘合适的测试工程师 ?质量驱动,而非过程驱动 ?在团队内形成对敏捷的认知和认可 ?给团队成员更大的自主空间

6、?鼓励团队关于自动化测试技术 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试的四个象限 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试体现的与传统测试的不同 ?作用于产品(Critique product)的测试 ?探索性测试(Exploratory Testing) ?场景测试(Scenario Testing) ?用户验收测试(UAT) ?性能测试,安全性测试 ? ?作用于支持团队(Supporting the team)的测试 ?单元测试 ?模块/组件级别的

7、测试 ?功能测试 ?用户故事(User Story)测试 ? 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试的目标 作用于支持团队的测试 作用于产品的测试 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试实践 There are good practices in context, but are no best practices. -来自Agile Testing A Practical Guide For Testers and Agile Teams 本文档

8、所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试过程 ?针对一个迭代周期 ?计划一个迭代周期内的测试 ?了解细节,确定测试范围 ?创建并执行测试 ?发布 ?敏捷测试中的持续任务 ?提高代码质量与产品质量 ?从更多层面建立测试(单元测试、模块测试、系统测试 等) ?建立产品的质量度量 ?改进自动化测试(更稳定,更高的覆盖率) 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 计划一个迭代周期内的测试 ?计划的内容 ?产品发布标准(验收测试准则) ?需要在本迭代周期内测试的内容 ?需要安

9、排的测试类型 ?需要使用的测试环境(包括数据) ?管理计划管理 ?一页纸测试计划( One Page Test Plan) ?可以使用各种形式表达测试计划:在线文档,测试点列 表,自动测试列表,白板或是电子表格 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 了解细节,确定测试范围 ?了解本次迭代的产品细节 ?有哪些新增加的功能? ?开发工程师为相应的功能建立了哪些测试? ?需要增加哪些验收测试? ?应用的哪些部分可以通过自动化测试覆盖

10、? ?应用的哪些部分需要通过手工测试覆盖? ?确定测试范围 ?哪些部分应该被纳入回归测试内? ?哪些部分需要新增加自动化测试? ?哪些部分需要新增加手工测试? 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 用自动化手段帮助确定测试范围 ?Diff技术 后端(数据) 发送请求发送请求 比比较输出较输出 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 Diff工具 ?Diff的作用 ?识别应用中发生变化发生变化的部分 ?包括对接口,UI等各层面的检查 ?发生变化的部分是需要重点测试和覆

11、盖的部分 ?不同的Diff方法 ?HTML diff ?DOM tree diff ?Image Diff ?接口数据Diff ? 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 创建测试并执行 ?建立测试执行的基础架构(Test Infrastructure) ?持续集成框架 ?建立自动运行的Sanity Check Test Suite ?维护验收测试集(Accept Test Suite) ?在一个迭代周期中创建与执行测试 ?创建各个层次的测试 ?使用自动化测试框架运行测试 ?使用基于脚本的手工测试与探索性测试完成对新功能, 以及部

12、分原有功能的回归测试 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试中的测试方法 ?探索性测试:主要用于探索和测试新功能,或是基于对应 用的了解发现可能的缺陷 ?基于脚本的手工测试:在某些无法自动化测试的部分,使 用手工测试或是半自动测试执行某些回归测试用例 ?自动化测试 ?从不同层次/级别验证应用 ?性能测试,安全性测试,模糊测试(Fuzz Testing)等 ?通过重构等方式建立更加稳定的自动化测试 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试中的自动化测试

13、工具 ?单元测试与模块测试 ?xUnit工具 ?Mock工具 ?HTTP/HTML层面测试工具 ?HttpUnit ?WebDriver(HtmlUnit) ?UI层面的测试工具 ?Selenium/Webdriver ?Watir/WatiN 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 ?性能测试工具 ?JMeter ?持续集成工具 ?安全性测试工具 ?其他测试工具 ?Link Checker ?Crawler ?Fuzz测试工具 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。

14、 发布 ?为达到质量标准的产品进行Sign off ?面向用户发布本迭代周期得到的Release ?在产品环境中验证本Release ?数据迁移(可能) ?为可能的回滚做准备 ?总结本迭代周期内的测试,持续改进 ?缺陷分析 ?发现可测试性的问题,持续提高可测试性 ?在团队中分享测试知识 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 敏捷测试中的自动化测试工具 ?单元测试与模块测试 ?xUnit工具 ?Mock工具 ?HTTP/HTML层面测试工具 ?HttpUnit ?WebDriver(HtmlUnit) ?UI层面的测试工具 ?Se

15、lenium/Webdriver 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 软件可测试性 Testability is the degree to which it can be established that a system performs according to the requirements. 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 软件可测试性 ?可操作性:易于测试执行,允许同时开发和测试 ?可观察性:应用有明确的可观察的输出 ?可控制性:可以通过灵活

16、的方式控制应用 ?可分解性:系统模块之间的独立性强 ?简单性:功能简单,代码简单,结构简单 ?稳定性:软件的变化是可控的 ?易理解性:软件是自明的,具有良好的技术文档 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 可测试性示例验证码 ?提高可控制性的方法 ?在测试版本中取消验证码 ?万能验证码 ?向应用注入钩子 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 代码可测试性 class Hello String sayHello() Calendar cal = new Gregor

17、ianCalendar(); int hour = cal.get(Calendar.HOUR); if(t 12) return “Morning”; else if(t 18) return “Afternoon”; else 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 使代码可测试 class Hello String sayHello(Calendar cal) /Calendar cal = new GregorianCalendar(); int hour = cal.get(Calendar.HOUR); if(t 12) return “Morning”; else if(t 18) return “Afternoon”; else Hello hellotest = new Hello(); mockCal = EasyMock.createMock(Calendar.class); expect(mockCal.get(Calendar.HOUR).adnReturn(10); repla

温馨提示

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

评论

0/150

提交评论