后端 Spring 全家桶项目,前端 vue3+yarn 。以前主要是通过接口做集成测试,现在感觉已经跟不上 AI 编码的速度了,想尽可能的跑 E2E 测试,同时把测试工作量从测试转一些到开发这端。该怎么玩?
主要问题就是可能一个业务影响了系统核心的十几个关联业务,这些关联业务有些通过事务影响,有些通过 mq 滞后影响,有些还需要定时任务进行队列计算。
后端 Spring 全家桶项目,前端 vue3+yarn 。以前主要是通过接口做集成测试,现在感觉已经跟不上 AI 编码的速度了,想尽可能的跑 E2E 测试,同时把测试工作量从测试转一些到开发这端。该怎么玩?
主要问题就是可能一个业务影响了系统核心的十几个关联业务,这些关联业务有些通过事务影响,有些通过 mq 滞后影响,有些还需要定时任务进行队列计算。
1
kiss96803 13h 35m ago
无非是 触发-验证的链路变长呗, 不管你 mq 滞后 还是定时任务 触发后,定时任务启动验证的步骤 ,注意数据隔离就行
|
2
thevenin1416 13h 12m ago
持续关注中
|
3
starryin 13h 11m ago
别完全指望 E2E ,或者说 E2E 有的时候是优先级比较低的测试。业务耦合本身就会影响测试的颗粒度,这块首先应该考虑怎么开发上把业务拆开,后续就容易了,甚至定时任务都可以直接改系统时钟来测。
项目太复杂的话,靠 AI 也没那么容易了,架构得用自己的脑子去想,也不完全是一个人的活,最多安排别人用 AI 帮你实现。 |
4
leeonsoft 12h 24m ago
mq 也能做到同步,页面通过后端推送给 mq ,消费者处理好,在通过 api 给到后端 sse hub ,页面订阅 sse 主题,处理错误 ,也会实时反馈到页面的。如果是复杂任务,就通过操作日志看结果 。将复杂任务拆解到简单任务,确保 ai 能理解,能搭建环境 写单元测试,问题就不大,数据库最好不要让 ai 去接触,我们还写了一个数据库服务 ,就是专门给 ai 用的。不让 ai 做任何 update 和 delete 只能进去验证数据 。
|
5
SilenceLL OP @starryin 不会完全指望 E2E 的,只是想尽可能的通过程序尽早发现问题。现在开发用 AI ,测试大头还是在点点点,所以想开发环节承担更多的职责。以前是 P0 级别的测试用例开发自测,现在感觉需要更大范围的自动化测试做兜底,然后人工为辅助吧(比较理想)。
|