这算是一个不成熟的想法,想先记录下来,接受大家的检验和讨论。
故事要从我的日常说起。
自测的一天
我是一个后端开发,技术栈主要是 Spring Boot。一个典型的需求开发流程大概是这样的:
1 | 理解需求 → 编码 → 自测 → 联调 → 提测 |
每一步都还好——除了自测。
自测意味着:我需要证明这个接口在各种业务状态下行为正确。为了达到这个目标,我通常需要:
- 准备数据:手动往数据库里插各种状态的用户、订单、账户
- 部署服务:把改动部署到测试环境(或者本地跑起来)
- 构造请求:部署后在页面上一个场景一个场景地操作,模拟各种用户行为
- 验证结果:检查返回值、检查数据库落库、检查下游是否被正确调用
- 发现问题 → 修 → 重新部署 → 重新造数 → 重新验证
- 协调上下游:有些数据自己造不了,得找对应的同学帮忙——或者自己搭 Mock 服务
- 写自测文档:如果团队有这个要求——把测试场景、测试数据、测试结果整理成文档,附到需求上
这一套走下来,大半天甚至一天就过去了。而且这还没算上中途被拉去开个会、被各种消息打断的碎片化开销。
更糟糕的是:下次需求变了,这套流程从头再来一遍。
上次构造的测试数据,这次用不了——因为业务状态变化了,字段可能也调整了。上次踩过的坑、验证过的边界条件,这次全靠人脑回忆。上次写的自测文档,能找到就算运气好,找到了也不一定还能用——因为接口都改过了。
仔细想想,这一轮一轮的自测里,真正能被沉淀下来的东西几乎没有。数据被丢弃了,操作经验留在了脑子里,测试文档随着需求流转消失在流程的某个环节里。每一次自测,都像第一次一样从零开始。
能不能每次自测之后,留下的不只是一份"已通过"的结论,而是一些可以积累的东西?比如:
- 这次用过的测试数据,下次稍微改改就能复用?
- 这次验证过的场景模板,下次同类需求可以直接套用?
- 这次的验证逻辑,下次变成自动化的脚本,不需要再手动点一遍?
有时候我在想:这一步,有没有可能不再这么累?