让
测试敏捷起来——段念
;kT-UT\!L@00XuH3f]2Pi$k+\0视频PPT在下面直接播放,请耐心等待,加载需要点时间
MP3音频下载,分卷压缩,请完整下完五个part后,再解压缩。
Slide 1
让测试敏捷起来 2009.11
Slide 2
Slide 3
传统测试视角 Glen Myers: 测试是为了发现错误而执行程序的过程一个好的测试是指很可能找到尚未发现的错误的测试一个成功的测试是指发现了至今未发现的错误的测试 Hetzel: 软件测试是对软件建立信心的过程测试是评估软件或系统的品质或能力的一种积极的行为测试是对软件质量的度量
Slide 4
Rick 和 Stefan(2002): 测试是为了度量和提高被测软件质量的过程测试是对测试件进行工程设计、实施和维护的整个生命周期过程
Slide 5
软件测试发展趋势 测试的目标发现缺陷-》度量质量-》度量和提高质量对测试的定义发现缺陷的测试是好测试-》积极的质量度量行为-》对测试件进行…的整个生命周期
Slide 6
软件测试中的些许抱怨
Slide 7
软件测试中的些许抱怨
Slide 8
软件测试中的些许抱怨
Slide 9
需求频繁变化 文档更新不及时 没有足够的测试时间 ……
Slide 10
Slide 11
敏捷的核心价值观 简单(Simplicity)沟通(Communication)反馈(Feedback)勇气(Courage)
Slide 12
Agile为开发带来了曙光
Slide 13
敏捷带来的开发的改变 更少的文档更快的迭代周期更频繁的改变(需求或是设计)
Slide 14
敏捷为测试带来了什么 更少的文档 更快的迭代周期更频繁的改变(需求或是设计) 难以依赖文档设计测试 要求测试在更短时间内完成 要求测试更具有探索性和适应性
Slide 15
敏捷测试 简而言之,敏捷测试是指在采用敏捷技术的项目中开展的测试同时,敏捷测试也意味着测试遵循敏捷的基本原则,接纳敏捷的核心价值观保持简单以任务为导向,而不以过程或是角色为导向通过沟通和反馈保证测试能够建立合适的质量标准尽可能减少测试周期的时间需求
Slide 16
敏捷测试中的测试任务 为系统建立不同层次的质量验收准则代码层面的
单元测试模块/接口层面的集成测试功能、性能等层面的
系统测试面向用户的用户验收测试让开发人员随时可以得到关于代码质量的反馈建立持续构建框架
Slide 17
通过测试驱动开发等方式不断提高代码质量建立合适的
自动化测试框架以减少测试的时间投入建立可见的质量度量体系,让产品和代码质量反馈持续可见
Slide 18
测试工程师在敏捷测试中可以做什么 获取和明确用户的质量期望建立合适的系统测试、用户验收测试质量标准推进单元测试、开发测试建立持续构建框架持续改进自动化测试保持质量度量结果的可见性
Slide 19
敏捷测试的关键因素 共享质量目标开发和测试团队共享同样的质量目标,当然也共享同样的质量责任,每个工程师在测试方面都同样承担任务以任务而非角色为重点来安排
工作敏捷测试需要一个紧密联系的开发和测试团队,因此,不要将任务限定在具体的角色上
Slide 20
保证产品质量度量持续可见 “简单”意味着整个团队的目标是开发客户可用的软件,如果能让整个团队看到“ 我们的产品距离可用标准还有多少”,对敏捷过程来说是非常有利的关注产品质量的提升,测试周期的缩短,而不是仅专注于发现缺陷
Slide 21
在产品中内建可测试性为产品建立更好的自动化测试不仅仅依赖于测试工程师的工作,更重要的是,产品本身内建的可测试性持续改进自动化测试随着开发的进行,产品质量的提升,以及对产品了解程度的加深,自动化测试应该能够提供更大的覆盖,更好和更快速的验证
Slide 22
敏捷测试过程管理 测试计划敏捷测试并不需要为每次迭代准备特别详细的测试计划文档,但最好能够在测试计划中描述以下内容在本次迭代中哪些内容是需要被测试的本次迭代中会安排哪些类型的测试测试通过的质量标准是什么 One-page
test plan
Slide 23
测试设计对于每个迭代中新增或是发生变化的功能,敏捷测试采用探索性测试的方法来设计测试对于稳定的部分,敏捷测试采用自动化测试的方式建立可接受的质量度量框架
Slide 24
测试执行手工测试:新功能和修改功能的了解、验证 Adhoc测试:基于对应用的理解,尝试发现应用中可能的问题自动化测试不同层次/级别的自动化验证安全性测试、Fuzz测试等分析、调试、优化现有的自动化测试
Slide 25
产品发布为达到质量标准的产品进行sign off 发布产品在产品环境中进行sanity check 设计和实现产品运行监控为可能的回滚做好准备
Slide 26
反馈与提高缺陷分析(
Bug Taxonomy)根据应用的结构等已有知识,建立更多纬度的自动化测试不断提高产品的可测试性在整个团队(开发和测试)中分享测试知识
Slide 27
Slide 28
敏捷测试带来的价值 敏捷测试意识所有工程师对质量具有同等的责任重要的是目标和任务,而不是过程重要的不是按照角色来定义工作范围,而是团结大家完成任务测试是一个集成在开发过程中的持续行为,而不是单独的活动
Slide 29
测试工程师的任务清单 与客户沟通,达成一致的质量标准澄清用户故事(User Story)估算开发和测试任务设置接受测试,按照客户要求保证产品质量帮助进行自动化测试帮助开发人员生产出具有良好可测试性的代码建立产品质量反馈
Slide 30
经过证实的有用的实践 设立产品质量反馈建立Dashboard展示不同层次的产品质量帮助进行自动化测试推进开发测试(Developer testing)为产品设置可以复用的自动化测试框架帮助生产具有良好可测试性的代码推进单元测试帮助进行重构
Slide 31
Q&A