最近在准备测开面试题库时,我把近两年市场上高频率出现的测开八股翻了个遍,发现有个词几乎场场不落:敏捷测试。候选人大多能背出敏捷宣言,也能说出测试金字塔大概长什么样,可当我追问一句“迭代第三天开发突然说功能提前提测了,你原定的测试计划怎么调整”,不少人就卡住了。这个问题我在团队里也经常拿来问新人,能答好的确实不多。
这事不怪大家。市面上的敏捷测试资料,要么只讲概念,停留在“敏捷测试就是快速测试”的粗糙认知上;要么直接甩出一堆英文博客,看完依然不知道怎么在自己的迭代里落地。结合国内测开岗位的实际工作场景,把“什么是敏捷测试”和“如何做敏捷测试”讲透的中文内容,其实很稀缺。这篇文章我想补上这个缺口,从概念到实操,从团队协作到面试答题框架,一次聊透。
如果你是刚转测开方向的测试工程师,正在准备测开面试的候选人,或者团队正在推敏捷、但你不知道测试角色该怎么转型,这篇内容值得收藏后慢慢看。
1. 被“八股”化的敏捷测试,究竟在问什么
先聊一个现象。测开八股里面,敏捷测试属于“必背题”级别的知识点。面试官喜欢问的问题无非这么几类:敏捷开发模式下测试怎么开展?QA在敏捷团队里的角色是什么?怎么保证快速迭代下的交付质量?但你真的去翻答案,大部分标准回答长得差不多:敏捷测试是跟随敏捷开发节奏、持续进行的测试实践,强调测试左移、自动化回归、快速反馈,QA从质量控制者变成质量协作者。
这些回答没错,但也没用。因为面试官问这些问题的真实意图,根本不是让你背定义,而是想确认你有没有真正在敏捷环境里干过活,知不知道质量是怎么被团队共同建设起来的。说白了,他想要的是你在实际迭代中做的选择、踩过的坑、沉淀下来的判断依据。
我见过不少简历上写着熟悉敏捷测试的人,面试时能把四个象限倒背如流,但问到“你们迭代的Definition of Done(完成定义)里有没有‘核心自动化用例已通过’这一条”,他沉默了。这说明他对敏捷测试的理解是“知识层面”的,不是“实践层面”的。而后者,才是测开岗位真正需要的东西。
还有一个常见误区必须澄清。很多人把敏捷测试理解成“在敏捷开发模式下做测试”,这其实只看到了表面。敏捷测试不是简单的“测试跟着迭代跑”,它本质上是一套以快速反馈、持续改进为核心的质量策略。这套策略要求测试活动不再是一个独立的阶段,而是融入了需求分析、开发、集成、发布、线上监控的整个链条。所以你会发现,真正的敏捷测试,跟传统测试最明显的差别,首先是时间点和参与方式变了,其次是承担质量责任的主体变了。
再补一个容易被忽略的点:敏捷测试不等于“不写测试文档”。很多团队敏捷敏捷着,就把测试计划、测试用例全丢了,美其名曰“轻文档”,结果迭代到一半,新来的同事根本不知道之前测过什么、哪些风险还没关闭。真正的敏捷测试主张的是“恰到好处的文档”,该写的验收标准、测试范围、风险清单,一样不能少,只是不再追求那种又厚又重、写完没人看的测试计划书。这个尺度怎么拿捏,后面我会讲。
2. 敏捷测试的底层逻辑:质量不是测出来的,是做出来的
想把敏捷测试聊明白,得先回到传统测试的语境里做个对比。传统的瀑布模型里,测试是开发完成之后的一个独立阶段。开发把代码交付给测试,测试负责找Bug,找到之后打回给开发修,修完再测。这个模式里,测试像流水线末端的质检员,任务就是挑出不合格的产品。这种模式最大的问题是:缺陷发现得越晚,修复成本越高。一个需求理解偏差,可能到了测试阶段才发现,这时候返工的不只是代码,可能还有设计、文档、甚至排期。
敏捷测试的底层逻辑,是把质量责任从“测试部门”转移给“整个团队”。Kent Beck在阐述极限编程时反复强调一个观念:质量是内建的,不是事后检验的。这个观念后来成了敏捷测试的核心信条。什么意思?就是说,一个功能做出来,它的正确性、健壮性、性能,应该是开发编写代码时就开始关注的事,而不是等测试在提测版本里发现一堆Bug再打回修。
我用一个类比解释这个转变。传统测试像一个安检员,站在登机口查行李,查到一个违禁品就拦下一个。敏捷测试更像导航员,坐在副驾驶,提前告诉你前方路口该怎么走、哪里在修路、哪条路线可能会堵。导航员的目标不是让你走到一半折返,而是从一开始就选择一条更顺畅的路线,并且在行驶中持续修正。这听起来很美,但要求导航员对路线足够熟悉、对实时路况足够敏感,这正是测开在敏捷团队里的价值所在。
那么“质量内建”落到日常工作中,具体是哪些事?我梳理了四条最核心的:
- 需求阶段的质量内建:测试参与需求评审,不是坐在那里听,而是要把需求里的二义性、未定义边界、异常场景、性能风险全部指出来。一个验收标准都不完整的故事,进到迭代里就是埋坑。
- 开发阶段的质量内建:通过单元测试、代码走查、静态扫描,把低层次Bug挡在提测之前。这个阶段QA未必亲自写所有单测,但必须推动团队建立这个习惯,并通过覆盖率、静态扫描结果等数据来卡控。
- 提测阶段的质量内建:通过定义明确的提测准入标准(冒烟用例通过、主流程可用、无阻塞级缺陷等),保证进到系统测试的版本是“可测的”,而不是让测试帮开发做冒烟。
- 发布阶段的质量内建:通过灰度发布、线上巡检、监控告警,把质量验证延伸到生产环境,而不是上线之后就撒手不管。
这四条其实对应了后面要讲的测试左移和右移,但现在先记住一个结论:敏捷测试的核心不是“测得更快”,而是“让错误更早地暴露,让正确的事情更容易发生”。
还有一个观念要转变,那就是测试的产出不只是Bug清单。传统测试交差的标准是“测完了,Bug都提了,质量和开发确认下一步”。敏捷测试交差的标准是“基于当前风险,我建议可以/不建议发布”。这两者的差别在于,前者是过程导向,后者是决策导向。测开角色真正值钱的地方,就是你能够基于有限的测试资源,给出一个准确、可信、有数据支撑的发布建议。
3. 测试金字塔与测试象限:两张值得刻进脑子的实用地图
说到敏捷测试的方法论,绕不开两张图:测试金字塔和敏捷测试四象限。这两张图在测开八股里出现的频率非常高,但大多数人对它们的理解停留在“知道有这个东西”,不知道怎么在迭代里拿它们做决策。
先看测试金字塔。它的核心观点是:自动化测试应该分层,底层是大量快速、稳定、廉价的单元测试,中间是数量适中的接口/服务测试,顶层是少量但覆盖关键用户流程的UI测试。为什么是这个比例?因为越靠近金字塔底部的测试,反馈速度越快、运行成本越低、稳定性越高。UI测试虽然最贴近用户视角,但受环境、网络、页面渲染等因素影响,不仅运行慢,还很容易出现误报,一旦UI改版,维护成本是灾难级的。
我在团队里优化自动化用例结构时,最常做的一件事就是数各层级的用例数量、看CI运行时间和失败率。如果一个项目UI自动化用例占了总量的一半以上,ci跑一次要一个多小时,失败里有一半是脚本本身的问题,那基本可以断定这个自动化体系是病态的。我见过不少团队自动化用例数量很好看,几千条,但实际能稳定跑出价值的不到三成,剩下的全是历史债务。
这里给一个我常用的参考比例:单元测试占70%左右,接口测试占20%左右,UI测试占10%以内。注意,这个比例不是死的,要根据业务形态调整。比如你在做一套以复杂交互为核心的前端应用,UI自动化比例可以适当提高;如果是以数据流转为核心的微服务系统,接口测试和单元测试应该是绝对主力。
再看敏捷测试四象限。Brain Marick提出的这个模型,把测试分成四个象限,帮助团队理解不同测试的目标和价值:
| 象限 | 方向 | 测试类型 | 核心目的 |
|---|---|---|---|
| Q1 | 技术导向-支持编程 | 单元测试、组件测试 | 驱动开发、早期发现技术缺陷 |
| Q2 | 业务导向-支持团队 | 功能测试、故事验收测试、契约测试 | 验证业务逻辑符合预期 |
| Q3 | 业务导向-评价产品 | 探索性测试、用户验收测试、可用性测试 | 从用户视角审视产品,找设计问题 |
| Q4 | 技术导向-评价产品 | 性能测试、安全测试、混沌工程 | 评价系统的非功能质量 |
这四个象限放在一起,能看到一个非常重要的信息:测试的目的不只是“发现缺陷”这一件事。Q1和Q2服务于“指导”开发过程,Q3和Q4服务于“评价”产品状态。敏捷测试既不排斥探索性测试,也不忽视性能和安全测试,而是把它们放在合适的时间点做对。
举个例子。我遇到过一个支付订单的服务改造,开发在写代码阶段,我们通过大量单元测试和接口测试把逻辑层覆盖率拉到85%以上,这是Q1和Q2的工作。功能提测之后,我做了一轮针对用户视角的探索性测试,专门模拟真实用户各种骚操作,这是Q3。发布前一周,我额外安排了对账接口的压力测试,制定了几万笔交易的并发场景,这是Q4。四个象限的工作各有各的目标,少了哪一个,都可能带着隐患上线。
很多人以为“敏捷测试就是把自动化测试做好”,这其实是对四象限最典型的误读。自动化工具能帮你干很多事,但它替代不了人对业务的思考。探索性测试的不可替代性,恰恰在于你能不能在测试执行中发现那些“用例里没写但用户一定会遇到”的问题。
4. 从一个迭代看敏捷测试:计划会、站会到回顾会的完整动作
方法论说了一堆,接下来讲点实操。很多刚接触敏捷的测试同学最迷茫的就是:一个迭代从开始到结束,我每天到底该干什么?这里我按一个典型的双周迭代来说,单周迭代节奏可以等比压缩。
迭代计划会
计划会不只是开发的排期会,测试在其中的角色非常重要。第一件事是跟产品和开发一起过一遍本迭代进入的用户故事,确认每个故事的验收标准是否清晰、可测试。我一般会重点追问几类问题:这个故事的异常分支和边界条件是什么?有没有涉及跨系统依赖,依赖方是否已就绪?有没有性能、安全、兼容性的隐含需求?如果一个故事连验收标准都写不清楚,我会强烈建议产品把它拆小或者补充完整,否则测到一半扯皮、返工,是必然的。
第二件事是评估测试工作量。不是每个故事都值得平均分配测试时间。我习惯用风险维度来区分测试优先级:涉及资金、数据、核心链路的高风险故事,测试要重点投入;低频、展示型、低风险的故事,点验一下就可以通过。这个风险分级会在后面的测试用例设计里发挥很大作用。
开发进行中
故事进入开发后,很多人以为测试可以歇着,等提测就行。这是敏捷测试最容易踩的坑。开发前三天,我就会把测试用例方案设计成轻量级可执行的版本,大概一页纸的颗粒度,指出每个故事要验证的核心场景、关键数据、边界情况,而不是等到提测了再开始想用例。
同时,我会关注开发提交的代码和单元测试覆盖率趋势。如果CI报告显示某个模块的覆盖率在下降,或者测试用例经常失败,我会在站会上直接提出来,让开发知道这个风险我需要跟踪。这一步很关键,它让团队意识到:测试并不是在“验收”代码,而是在“陪伴”代码成长。
这里还要提一个实践,叫Three Amigos,就是产品、开发、测试三个人坐下来,就一个用户故事进行三方对齐。产品讲业务目标,开发讲技术实现,测试讲测试策略和边界,三方把故事掰开揉碎了讨论。很多时候,一个模糊的需求,一次半小时的三方对齐就能把大部分误解消灭在编码之前。
提测后的第一轮测试
等到开发提测,我一般会先跑冒烟测试。如果冒烟都没过,直接打回,不进入详细测试阶段。这个门禁必须硬气,否则开发就会养成“反正测试会帮我兜底”的心态。我会在迭代第一天就同步提测标准和门禁要求,让开发心里有数。
冒烟过了,进入第一轮功能测试。这一轮的核心目标是找Bug、验证功能,但不追求穷尽所有组合。我通常按“核心流程先行、异常分支补位、边界条件轰炸”的顺序推进。每测出一个Bug就顺手记录复现步骤、影响范围、建议优先级,减少后续开发定位问题的成本。
发布前准备
迭代最后一天到两天,重点工作是回归和风险收口。我先执行自动化回归,把主要链路跑一遍;再针对本迭代改动影响到的历史功能,手动精选一些核心case做补充验证。然后我会做一轮快速的探索性测试,重点看看新功能有没有跟其他模块产生意想不到的交互。
这个环节,建议测试把发布建议写到迭代看板上:本迭代质量状态、已知遗留问题及影响范围、是否可以按计划发布。让团队在发布评审时有据可依,而不是拍脑袋说“感觉还行就发吧”。
迭代回顾会
回顾会我很少缺席,因为这是测试策略改进的最佳时机。我会带上本迭代的质量数据:Bug数、缺陷逃逸情况、自动化失败率、阻塞时长的TOP问题,和团队一起复盘哪些环节可以改进。注意,这个环节的核心是找系统性改进点,不是追责某个人。比如我发现“这迭代有三次测试环境的脏数据影响了验证”,那回到系统层面去解决测试数据治理,就是比“下次细心一点”更有效果的改进。
下表是双周迭代的测试动作一览,方便照着抄:
| 迭代阶段 | 测试核心动作 | 关键产出 |
|---|---|---|
| 计划会 | 澄清验收标准、评估测试工作量、风险分级 | 可测试的用户故事、测试范围 |
| 开发期 | 用例设计、跟进覆盖率、准备测试数据 | 故事级测试设计、测试数据 |
| 提测初期 | 冒烟门禁、功能测试 | 缺陷记录、测试进度 |
| 发布前 | 自动化回归、探索性测试、发布建议 | 风险清单、发布结论 |
| 回顾会 | 质量复盘、流程改进项 | 改进行动项 |
5. 测试左移与右移:把测试从“一个时间点”拉成“一条时间线”
敏捷测试里出镜率最高的两个概念,一个是测试左移,一个是测试右移。这俩其实很好理解:传统测试是一个时间点,发生在“开发完成后、发布前”;敏捷测试是一条时间线,从需求阶段一直拉到生产环境。左移是把质量活动往时间线的前端移动,右移是向时间线的后端延伸。
左移的具体做法
左移的第一步是在需求阶段介入。这个介入不是让你去参加评审会签个字就完了,而是真正理解业务背景,判断哪些需求存在理解模糊,哪些变更会引发高风险回归。我会在需求评审时特别留意那些“可做可不做”的描述,一旦发现歧义,就当众提出来,逼产品和开发把话说明白。这个习惯帮我避免过很多“开发理解一套、产品想要一套、测试测出第三套”的尴尬局面。
左移的第二步是在设计阶段介入。架构方案讨论时,测试交付物不是用例,而是“测试影响分析”。比如系统要引入一个新的消息中间件,我会提前考虑消息顺序、消息丢失、重复消费这些场景对现有功能的影响,跟开发确认是否有对应的监控和补偿机制,从而在功能开发前就把潜在质量风险暴露出来。
左移的第三步是开发阶段的工程实践。TDD(测试驱动开发)虽然是开发的活,但测试要懂,因为TDD的产物(单元测试)就是质量内建的基础。作为测开,我更多会去建设单测覆盖率门槛、静态代码扫描规则、接口契约测试。契约测试这块值得多说一句,在微服务架构里,服务间的联调问题一直是测试的噩梦。引入契约测试之后,服务之间的接口约定通过自动化方式锁定,任何一方破坏契约,CI就会立刻失败。这比两方联调时互相甩锅高效得多。
我在CI流水线里曾经加过一道门禁,覆盖率、缺陷率、接口成功率一目了然。给你看个简化版的质量门禁配置:
stages: - build - static_analysis - test 质量门禁: stage: test script: - npm run test:coverage # 跑单测并输出覆盖率 - check-coverage --min=0.8 # 单测覆盖率不低于80% - run-contract-tests # 跑契约测试 - run-api-smoke-tests # 跑核心接口冒烟 rules: - if: '$CI_MERGE_REQUEST_ID'这道流水线在每次合入代码时自动触发,任何一环不通过就不允许合并。它像一道自动化的“安检门”,替人守住了低频但致命的质量问题。
右移的具体做法
右移的核心是解决一个传统测试无法回答的问题:上线了不等于没事了。功能在预发环境测得好好的,上了生产还是可能因为真实流量、数据分布、外部依赖而翻车。右移就是把这部分风险纳入测试体系。
我做的比较多的右移实践有几类。第一类是线上巡检,通过定时脚本或流量录制重放,持续验证线上核心链路是否健康。比如支付系统的“用户下单-支付-回调-发券”全链路,每分钟跑一遍,任何一环异常都会触发告警,这在发布后尤其有用。
第二类是生产监控与链路追踪。这里面最直观的就是日志采集和指标看板,重点看错误率、响应延时的P95和P99、消息队列积压量、数据库慢查询。这些指标一旦出现异常趋势,开发能很快关联到具体的代码变更,定位问题的时间能从小时级降到分钟级。
第三类是灰度发布与A/B验证。灰度批次放量后,不是看用户有没有闹事,而是要主动去对比新老版本的核心指标,比如支付成功率、加载时长、崩溃率。这里测开的活是定义“对比维度和阈值”,比如支付成功率下跌超过0.5%就要立刻熔断回滚,这个阈值需要测试根据历史数据来定,定得太宽会漏掉风险,定得太窄又会经常误伤发布。
左移和右移合起来,才是完整的敏捷测试闭环。没有右移,你的质量情报只停留在生产环境之外,很多线上问题会被动地等到用户投诉了才知道;没有左移,问题又会往后堆积,测不完、不敢发。测开的价值,就在于把这条时间线上的每一个环节都补上质量视角。
6. 落地敏捷测试常见的四个坑,以及我踩过之后的修复办法
理论讲完,说点更接地气的。我在团队里推行敏捷测试的时间不算短,踩过的坑也不少,挑四个最有代表性的说一说。
坑一:团队嘴上说敏捷,实际上测试时间还是被压到最后一天
这个现象太普遍了。一开始我们团队也是站会开了、迭代跑了,但开发的代码要到迭代倒数第二天才提测,测试只有半天时间,最后只能草草点一遍主流程就发布。产生这个问题的根因,不是开发不配合,而是测试活动没有真正前置。开发在迭代前四天编码时,测试没有输出任何东西,开发自然不觉得测试和他是并行关系。等到提测才冒出来,看起来就是你“突然要很多时间”。
修复办法是我在计划会就明确每个故事的提测时间点,并且把“提测前需要通过冒烟自测”作为硬性准入标准,在迭代看板上公开展示。开发看到测试在开发期就开始出用例、准备数据,慢慢也会形成并行协作的节奏感。说白了,测试要主动把自己的存在感前移,别等着被接活。
坑二:自动化用例越来越多,CI时间越来越长,但团队越来越不相信它
这是我见过最可惜的场景。团队花了大力气堆UI自动化,跑了半年发现:第一,前端改了个按钮文案,一堆用例挂了;第二,本地环境跑不过,只能上CI跑,但CI排队加运行要四五十分钟。最后结果就是开发不跑、测试也不敢全量跑,自动化的价值变成了门槛。
修复办法就两条。第一条是重新分层,把核心接口自动化提到最高优先级,UI自动化只覆盖最核心的happy path。我带着团队做了一轮“用例减肥”,把原本400多条UI用例砍到50条,砍完CI时间从50分钟降到12分钟,失败率反而更低,因为用例更稳定了。第二条是给自动化用例定“健康度”指标:每周失败率、每月维护耗时、每次运行的有效产出。达不到门槛的用例直接下架,不允许慢性腐烂。
坑三:测试环境脏乱差,验证被各种环境问题阻塞
环境不稳定是敏捷团队的老大难。多团队共用一个环境,数据互相污染,部署脚本经常失败,一测试就陷入“这是环境问题还是代码问题”的扯皮中。说实话,这个问题没有一劳永逸的解法,只能靠基础设施逐步改善。
我的做法是三步走。第一步做“环境即代码”,把测试环境的部署脚本GitOps化,任何人一键重建,把一个环境从裸机到完整服务的时间控制在半小时内。第二步做测试数据隔离,按团队按故事生成独立的测试数据集,用完即回收,减少互相踩脏数据的概率。第三步做环境预约机制,上线窗口或重要回归时段提前锁定环境,避免其他团队乱动。这三步做完,环境引起的阻塞能少掉一半。
坑四:把敏捷测试等同于“自动化测试”
这个误解比前面三个都隐蔽。有些团队一提敏捷测试,第一反应就是要上自动化平台、要做接口测试平台、要搞测试工具中台,搞完发现工具上了很多,质量却没怎么提升。原因很简单:自动化解决的是“重复执行”的效率问题,但没有解决“测什么、怎么测才能发现重要问题”的策略问题。
该怎么补?我在迭代里专门给探索性测试留出时间,哪怕只有一个下午。方法是用session-based testing——把探索测试拆成一个个45-60分钟的会话,每个会话围绕一个明确的测试任务(如“验证新用户从注册到首次下单全流程的体验”,或“尝试用极端字符、超长字段攻击搜索框”)。测试结果不只是记录Bug,还要输出这次探索发现了什么风险、哪里产品设计有歧义、哪些场景用例没覆盖。这比闷头点按一天有意义得多。
还有个锦上添花的做法:在测试团队内定期做“测试复盘会”,把线上漏测的缺陷、被测出来但拖了很久的缺陷放在一起分析,追问“当时如果换个方法,能不能更早发现”,然后把结论沉淀成团队的测试设计检查清单。这种从实践里长出来的经验,比任何教科书上的测试理论都好用。
7. 测开八股里的高频追问:给面试者的答题框架
最后一部分,回到测开八股本身。既然今年“测开八股”这么热,我就把面试里围绕敏捷测试最高频的几个追问,结合前面讲的内容,给一个能直接用起来的答题框架。
追问一:需求频繁变更,测试怎么应对?
这个问题的考点是应变能力和风险管理意识。一个好的回答不是“让产品别乱改需求”,而是:
- 将需求变更分级:小变更影响1-2个功能点,通过用例增补解决;大变更影响核心链路或数据库结构,需要重新评估测试范围和时间。
- 建立回归范围的确定方法:不要全量回归,而是通过代码影响面分析,找出变更波及的模块,再做针对性回归。这里可以提Swagger接口对比、代码Diff分析、调用链追踪这些实践。
- 强调测试资产的模块化:用例设计时按业务能力模块化,变更影响哪个模块,就只改那个模块的用例,做到“局部改动、局部回归、局部可控”。
追问二:一个迭代只有5天,你怎么排测试?
这个问题的考点是优先级判断和精力分配。答题思路:
- 测试左移:需求阶段就把验收标准对齐,提测前完成用例设计,压缩“准备时间”,把时间花给真正的“思考”。
- 风险分层:高风险、高影响的功能优先深度测试;低风险模块用边界检查加冒烟覆盖。
- 自动化回归兜底:核心链路的自动化用例放进CI,每轮迭代自动跑,把人工从回归泥潭里解放出来做探索性测试。
- 最后一个原则是“确保发布正确,而不是追求测完所有东西”。持续暴露风险、给出有依据的发布建议,这才是敏捷测试在短迭代里真正该有的样子。
追问三:你怎么衡量自己的测试有效性?
这个题容易答空。不要只盯着“我发现了多少Bug”,厉害的测开会说:我看到的是缺陷逃逸率、线上故障MTTR、自动化测试失败率与发布质量的相关性、以及我在交付决策中的影响权重。比如“上个季度我们迭代的缺陷逃逸率从8%降到了3%,主要因为我推动了契约测试和接口回归的覆盖”。
追问四:你对探索性测试怎么看?
这个问题是用来考察你跟“纯执行型测试”差异的。答题核心是:探索性测试不是无目的乱点,而是基于风险和经验的、有策略的探索。可以提基于会话的测试、用户旅程地图、测试旅行法这些实战方法,再举一个真实案例,说明你通过探索性测试发现了哪些用例设计没覆盖到的严重问题。
答题的最后,建议用STAR法则把你的经历结构化:Situation(项目背景)、Task(你在其中的职责)、Action(你具体做了什么)、Result(带来了什么可量化的结果)。测开面试官最想听的是你“如何在复杂场景里做判断”,而不是一堆方法论名词的堆砌。敏捷测试是方法论,你证明自己在实践中稳定复现过这套方法论,比背出一百条定义都能打动面试官。
最后说点个人体会。我刚开始从传统测试转向敏捷测试的时候,最不适应的就是“测试时间被摊薄了”的感觉。以前一个功能能测三天,现在一个故事就两天,总觉得测不完。干了一两个迭代之后才明白,问题不在时间变少,而在我的工作方式没跟上敏捷的节奏:我把测试的活全堆在提测后,自然觉得时间不够用。后来学会把测试拆碎、前移,让它跟着迭代自然流动,很多东西反而顺手了。
如果你正在团队里推敏捷测试,我的建议是别指望一步到位。先挑一个迭代、一条核心业务链路,把左移、门禁、回顾会这些动作做一个最小闭环,跑一两个迭代再逐步扩展。收藏这篇文章只代表你种下了一颗种子,真正让它长出价值的地方,是你明天的站会、计划会和测试执行的那一刻。