课程简介
近几年,Scrum、SAFe 等相关的敏捷转型活动在各大 IT 企业和组织中如火如荼得进行着。随着敏捷转型的深入,与敏捷开发相匹配的 QA 活动引起了业界的思考和探讨。
一般来说敏捷转型共分三步走,即:
- 第一步:玩熟敏捷管理;
- 第二步:保证敏捷自动化测试效果;
- 第三步:确保一体化管理和工具平台各就各位。
这样才能保证敏捷组织和团队的工作效率持续得到提升。
通过本达人课,您将获得:
- 全面的测试管理和技能知识体系;
- 测试需求分解法;
- UI 自动化测试分析与代码编写技能;
- 接口测试分析与代码编写技能;
- 单元测试分析与代码编写基本技能;
- 行为驱动开发(BDD)的理论与运用;
- 一体套自动化测试框架源码。
杜铁绳,企业级敏捷顾问,敏捷管理平台和自动化测试研发经理。曾经担任首席测试业务架构师和外企高级测试经理。
课程内容
导读:敏捷测试的价值
敏捷项目管理如火如荼已流行了10多年,例如 Agile、Scrum 和 SAFe。无论是哪个理论最终都离不开技术落地,都要先后进行需求分析、软件设计、编码实现、单元测试、集成测试、验收测试。当然也会换换名字,例如需求分析换作用户故事拆分。原来大堆的设计和说明文档(依据 CMMI 等理论管理的所谓较正式的项目中大多这样)变得少些,但是编写代码、单元测试、集成测试、验收测试等等该做的还是要做,这些活动只是在时间先后、任务颗粒度大小方面进行了重组。那么敏捷项目和敏捷项目中的敏捷测试的意义和价值在哪里呢进入咱们的正式话题敏捷测试之端到端的自动化测试之前,先从整体上简单介绍一下为什么要敏捷测试,敏捷测试为谁服务知道“为谁辛苦,为谁甜”。
咱们先从企业的愿景说起,怎么要从企业愿景说起呢做一个好的测试人员特别是敏捷团队里面的测试人员不仅要懂测试技术、掌握编程技能,也要了解公司的业务。测试出的产品最终是给客户用的,这个客户有可能是外部客户,也有可能是内部客户。客户要使用我们测试人员测试的软件来做什么户为什么愿意使用我们的软件,客户为什么愿意为我们的软件付费呢就是我们的软件为客户提供价值,这个价值既可以是提高效率,也可以降低成本,也可以是增加收入等等。这就是精益理论的一个核心思想,是企业敏捷的一个重要思想。
互联 企业或者软件企业的传统的产品导入方式如图1所示。
一筹莫展之后,给大家介绍一个理论和模式——愿景驱动开发(Vision Driven Development,简称 VDD),它以精益思想和敏捷理论进行客户开发、应用(Application)研发和部署运维。咱们要讲的敏捷测试就是愿景驱动开发的大开发环中应用研发环(这里应用可以是 站、软件、APP 等等)中的测试环。请见图3愿景驱动开发环。
项目需求(产品需求)确定后,测试的同学该做哪些事情呢试管理中贯穿整个测试过程的是人员、技术和过程管理。在测试准备时首选是对测试需求的了解,根据测试需求确定测试范围,规划测试过程,确定所需要的资源和培训需求。在我们这个故事中,小明童鞋是测试负责人,在测试准备阶段,项目开始前他应该做哪些事情呢例如下:
- 人员需求培训和学习。作为敏捷团队的一员,测试人员应该熟悉自己所测试的产品需求。如果不了解需求很难完成测试目标。
- 技术准备。敏捷项目应该尽可能使用工具和自动化测试提高测试效率。最基本的测试应该考虑接口自动化测试技术。因此小明童鞋应该评估是否需要相关的技术培训或安排自学。
- 环境与设备准备。准备测试所需的服务器(虚拟机、云服务),准备搭建测试所需的应用环境。如果需要其它设备,例如移动 App,测试童鞋应该考虑用于测试的不同型 手机是否具备。如果环境和设备不具备应该考虑申请相关设备和资源,或者提出采购等等。有时采购过程需要一些时间,因此为了不影响测试进度,应该提前申请采购。
- 测试过程规划。敏捷项目一般采用冲刺的方式完成开发任务。测试过程应该与冲刺规划保持一致。单元测试、接口测试等相关活动应适应整个敏捷项目的节奏,并给每个测试任务分配合适的工作时间。
我们应该根据软件开发的整个规划过程来规划测试过程。在小明童鞋的故事中,软件开发使用的是 Scrum 敏捷开发。我们先谈论团队级别的 Scrum 敏捷开发。如果需要再谈论企业级的 SAFe 敏捷开发。由于 SAFe 敏捷开发涉及到系统验收团队、架构团队等等需要专门的课程讲解。咱们这里先从团队级别开始介绍。由于小明童鞋是团队级别的测试负责人,由这个开始也比较合适。如图2为 Scrum 流程图。

产品列表梳理(Product Backlog):产品负责人与敏捷团队一起梳理产品列表。作为测试团队成员应该从测试的角度考虑梳理出的产品列表是否可测试。应该如何描述才能方便测试验收。
冲刺规划(Sprint Planing):产品负责人与敏捷团队一起安排冲刺的时间跨度和本轮的冲刺内容。测试人员根据项目(产品)冲刺规划安排自己的测试节奏和内容。
冲刺列表(Sprint Backlog):产品负责人与敏捷团队一起确定本轮测试需要完成的用户故事,确定 DOD(Defined OF Done)条件。测试人员根据用户故事编写测试用例和自动化测试代码。在 BDD 中,这时就可以开始编写自动化测试代码了。
每日例会(Daily Scrum):一般早上开始工作时进行每日例会。回顾昨天完成工作,规划当天工作内容和向小组通 遇到的问题。对于测试人员来说测试工作节奏应该和用户故事的粒度和开发工作的节奏相适应。例如开发人员4个小时完成开发工作,测试人员一般应在1-4个小时内完成测试工作,以便当天用户故事达到 DOD 状态方便交付。
冲刺评审(Sprint Review):产品负责人与敏捷团队一起评审本轮冲刺的产品增量(Product Increment)是否满足用户故事的 DOD 条件,是否可以发布。测试人员一般在冲刺评审过程中作为演示人员向产品负责人和敏捷团队演示可发布的软件产品。
冲刺回顾(Sprint Retrospective):敏捷团队回顾本轮冲刺的过程,总结经验教训。测试人员可以在这个阶段看看测试工作存在哪些问题,有哪些方面可以提高等等。
在测试管理方面,测试过程、人员、技术设备等确定后,接下来我们就可以根据梳理出的产品列表开始测试需求分析了。
第02课:设计篇——敏捷项目中用户故事分析与验收条件设计
第03课:设计篇——验收测试设计及 UI 自动化测试
第04课:设计篇——接口测试设计及自动化测试
第05课:设计篇——单元测试设计及自动化测试
第06课:设计篇——持续集成中的自动化测试
第07课:技术篇——使用 Junit 实现单元测试
第08课:技术篇——WebService 接口测试
第09课:技术篇——使用 Selenium 实现 UI 自动化测试
第10课:方法论篇——行为驱动开发
第11课:附录——自动化测试源代码
阅读全文: http://gitbook.cn/gitchat/column/5aebe3ea4eb5f845a0773ddb
相关资源:天猫店铺设计数据分析谋库助手v1.2.12.8-统计分析代码类资源-CSDN…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!