敏捷测试 第1讲 什么是敏捷测试

敏捷测试概念
“敏捷测试”既不是一种测试方法,也不是一种测试方式,而是为了适应敏捷开发而特别设计的一套完整的软件测试解决方案。这个解决方案应该能够支持持续交付,涵盖所需的、正确的价值观、思维方式、测试流程、一系列优秀的测试实践和更合适的测试环境、自动化测试框架和工具。
敏捷测试宣言
与开发协作测试 胜于 测试分工与测试工具
可运行的测试脚本 胜于 写在纸上的测试用例
从客户角度来理解测试需求 胜于 从已定义的需求来判定测试结果
基于上下文及时调整测试策略 胜于 遵守测试计划
敏捷测试原则
尽早和持续地开展测试
基于风险的测试策略是必须的
测试计划、设计和执行力求简单
能及时完成对软件质量全面评估
软件本身是测试研究和分析最主要的对象
在满足所要求的质量,测试进行得越快越好
对测试技术精益求精
不断反思,持续优化测试流程与设计
现实中所有的项目问题:
项目延期,代码质量低下,开发 / 测试 / 生产环境不一致,工期不考虑测试和部署,没时间测试,上线后每天救火,部门间不合作,出了问题互相指责,等等。
三步工作法简单的说就是持续交付、持续反馈、持续学习
传统测试和敏捷测试的区别
(1)传统测试更强调测试的独立性,将“开发人员”和“测试人员”角色分得比较清楚。而敏捷测试可以有专职的测试人员,也可以是全民测试,即在敏捷测试中,可以没有“测试人员”角色,强调整个团队对测试负责。
(2)传统测试具有明显的阶段性,从需求评审、设计评审、单元测试到集成测试、系统测试等,从测试计划、测试设计再到测试执行、测试报告,一个阶段一个阶段往前推进,但敏捷测试更强调持续测试、持续的质量反馈,没有明确的阶段性界限。
(3)传统测试强调测试的计划性,而敏捷测试更强调测试的速度和适应性,侧重计划的不断调整以适应需求的变化。
(4)传统测试强调测试是由“验证”和“确认”两种活动构成的,而敏捷测试没有这种区分,始终以用户需求为中心,每时每刻不离用户需求,将验证和确认统一起来。
(5)传统测试关注测试文档,包括测试计划、测试用例、缺陷报告和测试报告等,要求严格遵守文档模板,强调测试文档评审的流程与执行等,而敏捷测试更关注产品本身,关注可以交付的客户价值。敏捷测试中,强调面对面的沟通、协作,强调持续质量反馈、缺陷预防。
(6)传统测试鼓励自动化测试,但自动化测试的成功与否对测试没有致命的影响,但敏捷测试的基础就是自动化测试,敏捷测试是具有良好的自动化测试框架支撑的快速测试
实践方式:
开发代码构建,测试环境部署及微服务测试(接口测试),将这三个整合起来。
UI的测试可以考虑和代码评审、设计评审 结合起来
敏捷测试思维方式
(1) 成长性思维,通过不断学习和解决问题来提高个人的测试技能,不躲避问题,而是迎难而上,克服测试困难或解决测试问题。
(2) 用户思维,一切从用户角度出发,只做对客户有价值的事;想客户所想,基于客户的角度来判定这是不是缺陷。
(3) 团队对质量负责的思维,质量是构建的,缺陷预防胜于发现缺陷,开发承担更大的质量责任;质量不能靠测试人员,测试也不只是测试人员的事情,而是靠整个团队。
(4) 上下文驱动思维,没有最佳实践,只有优秀实践;基于上下文不断调整测试策略,精益求精,持续改进测试流程和方法。