自动化

... 2,熟练编写简单的sql语句、编程语言、开源测试工具超过一年; 3,使用基本unix ... 原代码控制、自动构建和测试套件、部署、监控,以及各种脚本和工具让开发过程 ... 自动化是一个宽泛的话题,其中包含了诸如编写简单的shell脚本、配置会话属性和 ...
展开查看详情

1.敏捷测试 崔新焕

2.敏捷测试中定义  敏捷的价值 敏捷软件开发宣言:个体和交互胜过流程和工具, 可用的软件胜过完备的文档;客户协作胜过合同谈 判,响应变化胜过遵循计划。  敏捷测试意味着什么 在 1~4 周时间完成开发、测试发布一个产品。  敏捷团队中的角色和活动 客户团队、开发团队(包括测试人员)之间的 协作  敏捷测试有和不同  整体团队运作方式

3.敏捷测试与传统测试

4. 敏捷是迭代和增量的。这以为着测试人员在每 个代码增量完成时都要测试它。  敏捷团队在工作中密切接受业务,详细了解需 求。专注于交付的价值。  测试反映在编码之前,而不是根据既有的文档 来完成测试用例  敏捷项目中测试人员最重要的区别是快速从测 试中得到反馈。

5.敏捷测试人员的要求  1 ,熟悉黑盒和 GUI 测试用例,设计测试减轻风 险,帮助业务专家定义需求  2 ,熟练编写简单的 sql 语句、编程语言、开源 测试工具超过一年  3 ,使用基本 unix 命令的能力  4 ,擅长于程序员和业务专家写作。  5 ,最好有基于上下文环境的测试、探索性测试 或场景测试的经验  6 ,拥有融入自组织团队的能力,即与同事协调 确定每天的任务,而不是等待分配来的工作。

6.敏捷测试象限

7.面向技术测试  包含单元测试、组件测试。以及性能和压力测 试、安全性测试,非功能行测试  一般常用 TDD 测试驱动开发来完成代码  一般由开发人员来完成。测试人员要避免编写 单元测试。因为测试驱动开发实际上不仅仅是 一个设计活动,他本质上是编写代码的人员同 时也在编写代码前编写测试。  总的要求是编写“可测试的编码”并形成自动化 。  用于面向技术测试的工具箱:源代码控制、构 建工具、构建自动化工具、单元测试工具。

8.面向技术测试的优点  使团队又了生产更高质量代码的坑内,他们构 成了其他所有类型的测试的基础  相对于后期的 bug 而言,这里的测试速度更快 ,成果更多。  提高了系统的内部质量和可测试性,其中可测 试性为测试人员后续的测试开展提供了便利

9.面向业务测试  功能测试、用户故事测试、探索测试、场景、 可用性测试、用户验收测试、 a 和 b 测试。  工具包: 激发示例和需求的工具、基于示例的自动化测 试的工具。

10.自动化  测试自动化是敏捷的核心实践之一,敏捷项目依 赖于自动化。它为团队提供了一种在将速度最大 化的同事还能维持高标准的矿建。原代码控制、 自动构建和测试套件、部署、监控,以及各种脚 本和工具让开发过程乏味无聊,同时还保证了可 靠性并让团队在工作中一直保持最佳状态。  自动化是一个宽泛的话题,其中包含了诸如编写 简单的 shell 脚本、配置会话属性和创建健壮的 自动化测试等任务。  设计测试的技巧直接影响自动化是否能有即时的 回报。优秀的测试设计时间能长生简单的,良好 设计的、持续重构的、可维护的测试。

11. 自动化可以提供安全网、提供基本的反馈、保持技术债务的最小 化并帮助驱动编码,  恐惧、缺少知识、以前使用自动化的负面经历、频繁改变的代码 和遗留代码往往是自动化的障碍之一。  应用自动化回归测试,在自动化构建过程中运行他们,并修补产 生缺陷的根源,这可以减少技术债务并增加建筑过年的代码。  将回归测试和乏味的手动任务自动化,可以让团队有时间做跟重 要的工作,例如探索测试。  有自动化测试和自动化构建过程的团队可以保持稳定的速度。  若没有自动化的回归测试,手动的回归测试的范畴将会增长,最 终结果可能只是被忽略  由于团队的文化和历史,程序员们可能很难把面向业务的测试的 自动化优先于对新特性的编码。采用敏捷原则和价值可以帮助整 个团队克服测试自动化的障碍。

12.测试迭代过程  测试人员在发布和主题计划阶段的工作 story 评估、定故事优先级、制定测试计划、  迭代前的准备 积极主动、事先明确、确定缺陷的优先级、测试策 略、明确测试资源。  迭代开始 了解迭代计划细节、确定工作量、高层次的测试和 示例、与客户协作、可测试的 story  编码和测试 驱动开发、评价产品的测试、与程序员的协作、与 客户的交流、完成测试任务、迭代度量、资源、回归 测试、促进沟通、如何选择、处理缺陷

13. 迭代结束的收尾工作 迭代演示、敏捷回顾(开始、停止、继续以 及关于如何改进的想法)、庆祝成功。  成功的交付 产品构成、为测试计划足够的时间、结束阶 段、客户测试、产品支持、发布产品、可交付 使用的产品、开发后的测试周期。

14.关键成功要素  使团队整体参与 当整个团队负责测试和质量问题,你会拥有 很多不同的技能集合和经验等级来处理测试可 能发生的问题。测试自动化对于技能高潮的开 发人员来说不是大问题,当测试拥有优先权的 时候,任何人都可以参与测试任务,团队才会 涉及可测试的代码。

15. 采用敏捷测试测试思维 敏捷测试思维的一个重要部分是不断想办法 改进工作。成功的敏捷测试人员会持续的磨练 技能。读好书、博客和文章以获得新想法和技 能。 应该使用敏捷准则和价值观指导你。不断尝试 最简单的方法来满足测试需要,勇敢地寻求帮 助和实验新想法。关注与产生价值,尽可能多 的直接交流,灵活的对应变化。敏捷开发以人 为中心,我们应该享受工作。

16. 自动化回归测试 敏捷开发利用测试来知道开发,为了编写代 码是测试通过,需要快速、简单的运行测试, 没有短期反馈周期和安全的回归测试,团队奖 很快陷入技术债务,缺陷不断增加,速度越来 越慢。 自动化回归测试是整个团队的工作。在开始 时很艰苦,应确保在时间、培训、和激励上提 供了足够的支持。

17. 提供并获得反馈 反馈是敏捷测试的核心价值。敏捷的短期迭代 可以提供持续的反馈以帮助团队正常运转。测 试人员沟通过自动化测试结果、探索性测试的 发现和系统实际用户的观察结果的形式帮助提 供反馈。 一个最有价值的技能是学习如何寻求自己工 作的反馈,询问开发人员是否得到了足够的信 息以理解需求并且能够知道编码,询问客户是 够理解质量标准。

18. 构建核心实践的基础 持续集成 测试环境 管理技术债务(自动化测试) 增量工作 编码和测试是同一个过程的组成部分 实践之间的协作

19. 与客户协作 测试人员对敏捷团队的最大贡献之一就是帮 助客户清理需求并设定优先级,通过与其行为 和用户场景的具体示例描绘需求,并把这些示 例转换为可执行的测试。 开发人员、客户、测试人员三方协作。当需 求丢失或者被误解,客户、开发人员和测试人 员需要一起解决问题。

20. 保持大局观 测试人员应该有大局观,从客户的角度看待问 题。开发人员通常关注于实现当前的故事。