什么是敏捷测试
敏捷测试是为了敏捷开发而特别设计的一套完成的软件测试解决方案。这个解决方案能够支持持续交付,涵盖所需的、正确的价值观、思维方式、测试流程、一系列优秀的测试实战和更合适的测试环境、自动化测试框架和工具。
敏捷测试强调 “与开发协作”、“自动化测试”、“客户思维” 和 “动态的测试策略调整” 更具有价值。
敏捷初期潜在现象:测试人员未得到足够的重视和尊重,开发和测试协调不够,甚至关系紧张。
转型敏捷隐形要求:测试人员要求更高。
敏捷执行易犯错误:缺乏测试策略,没有从客户的需求出发、动态调整测试策略。
敏捷测试下的思维方式
除了基础的系统性思维、批判性思维、结构化思维;
敏捷测试下,更强调需要成长性思维、用户思维、团队对价值负责的思维、上下文驱动思维
敏捷测试流程(实施框架)
Scrum模式下,研发周期没有明显的阶段,有7项主要活动 – 测试需求分析与定义、测试计划、测试设计、BVT(Build Verification Test)\持续测试、版本验收测试、测试交付与反思;不能理解为7个阶段,许多活动都是并行的,包括计划、设计都是贯穿整个迭代。
强调:测试前行,质量是构建出来的。
持续测试就是从产品发布计划开始,直到交付、运维、测试融于其中、并与开发形影不离,随时暴露出产品的质量风险,随时了解产品质量状态,从而满足持续交付对测试、质量管理所提出的新要求。
提倡:测试驱动开发,尽早开始测试并实现持续测试
(持续对需求、设计、代码进行评审、以便及时、持续揭示存在的质量风险、及时反馈给团队和项目的相关利益者(干系人))
敏捷测试的追求
- 价值驱动,不为测试而测试
- 目标赋能,全公司以业务为共同目标,维护共同的质量文化,业务驱动测试
- 社区文化,学习型文化,促进公司范围内的沟通和交流,共同学习,进步
敏捷测试人员的责任
总结为以下四点:
- 质量文化促进提升、质量和用户需求、持续质量的反馈
- 指定测试计划指定/改进/推广软件测试(新)测试方法、测试技术
- 自动化测试基础设施、测试工具
- 需求、设计、代码可测试性把关
敏捷测试人员的具体任务
- ① 获取和明确用户的期望,② 建立合适的系统测试,验收测试质量标准,③ 完成每个迭代前的验收测试, ④ 保持质量度量结果的可视性,⑤ 发现值得关注的测试切入点,持续提供质量反馈,⑥ 在线日志分析、在线测试、⑦ 拜访客户,用户调查等
- ① 指定测试计划模板、风险列表、和常见测试策略,② 探索新的测试方法,引入新的测试技术,③ 开发更有效的测试工具,持续改进测自动化测试,④ 通过缺陷因分析获得避免缺陷的信息,设立规则/实践避免缺陷引入
- ① 推进单元测试、开发测试、尽量将测试推动到上游 ,② 建立CI框架以及基于CI的质量控制和发布规则,③ 创建更高效的工具,持续改进自动化测试(TA)
- ① 建立合适的系统测试,验收测试质量标准, ② 定义需求/设计评审的检查表(Checklist), ③ 持续推动可测试性的提高
敏捷团队测试人员自审
先不谈论敏捷团队,是否需要专职的测试人员,已经不是一个必然的依赖,但在一个需要专职的测试人员的团队来说,敏捷团队模式下测试人员要承担的责任和任务更多。而且干不好也容易被边缘化;
因为很多任务不是那么具体和可量化,比如指导团队成员做测试,推广质量文化,不仅需要技术能力,还需要很多软技能,比如沟通和领导力。这必然会给测试人员带来巨大的挑战;
那么测试人员在技术路线成长的角度来看,我们更应该多去学习编程技能,并且在自己编程时具备测试思维,从而在和真正的开发配合时去弥补和发现问题。
– 最后
加油吧,测试人!