由于工作经验有限与个人能力问题可能会很不全面,只能说是对自己的一个小小的交代:

目前公司是用的微服务架构,开发模式是敏捷开发模式(对敏捷的理解我起初一直是以为是做的东西足够多,且能够在要求的时间内完成上线,之前第一家公司很长一段时间内都是一周发一次版,这就是我之前理解的敏捷;后面才发现自己对敏捷的理解确实很不到位,现在这家公司对敏捷的定义是持续开发测试可持续交付外加质量管控,加了一层对于质量的把控,这或许是大公司与小公司的最明显可感知的一个区分,小公司更看重需求上线速度(之前甚至能够一周上线3次,而且需求改动都还不小),这里就感觉缺乏了一个对于质量的考量,风险意识也差了好多,这里扯远了。。。)

接下来说一下目前的一个开发测试流程与测试策略:

流程:跟之前总体来说大同小异

1.需求评审与拆卡片估点(jira管理),这没啥好说的

2.用例设计与编写(现在在功能的基础上加了一层对性能以及大数据的考虑)

3.研发自测与代码评审(这个是之前公司没有过的东西,研发自测包含了单元测试与研发自己对于需求的理解跑的自测点会同步备注到卡片上,代码评审时研发TL会对代码规范性、风险做一个评估,我们测试更多的是关注代码的流程执行逻辑与重要节点日志打印是否详进)

4.测试同学根据用例进行测试(这个都差不多)

5.产品验收

6.线上回归

测试策略

1.独立分支开发与测试(拆卡片时会将一个卡片内的内容独立分支进行开发,如果同一个功能被拆为了多个卡片,那么这些卡片会根据实际情况选择是否在一个分支上开发)

2.时间允许的情况下查看相关服务的研发代码逻辑

3.接口测试与ui测试,先测试接口在测试ui功能

4.迭代测试明细文档维护:文档里维护各个功能需要上线的服务与分支、注意事项,zk配置、定时任务、索引、sql部署等整理为checklist

5.上线前回归(研发合并对应服务以及分支的代码至上线分支,检查checklist是否正确,完整)

6.上线评审与回滚策略