软件开发测试与环境工具全解析
1. 测试类型及执行时机
在软件开发过程中,存在多种测试类型,要确定运行哪些测试以及何时运行并非易事。若假设最终会自动化所有测试,一般准则是在任何组件更改和每次构建时都运行所有单元测试,开发人员还应在预提交代码过程中执行单元测试。运行单元测试后,下一步是运行受更改组件影响的验收、冒烟和集成测试。
1.1 不同 CI/CD 阶段的测试类型
根据代码所处的 CI/CD 阶段,应运行不同类型的测试:
- 单元和服务/无服务器应用测试 :通常首先执行,单元测试需小且执行时间短,在代码合并前运行,作为第一道防线。对于无服务器函数,用于单独验证每个函数。
- 服务级测试 :可在代码合并前后执行,取决于复杂度和执行时间,目的是验证整个服务或无服务器应用,可能使用模拟对象而非真实依赖。
- 集成测试 :代码合并后运行,验证服务和无服务器应用之间的集成点。需将服务和应用部署到专用测试环境,并在集成点之间运行测试,可使用模拟对象或真实依赖。
- 金丝雀测试 :可在所有环境中持续运行,模拟用户场景,作为潜在问题的预警系统。
- 其他测试 :通常按自己的计划运行或一次性运行,取决于所开发的服务和功能类型。例如,面对面的可用性测试通常一次性运行,用于在发布前验证想法和功能或获取对计划开发功能的反馈。
1.2 测试节奏
不同类型的测试有不同的执行节奏:
| 测试类型 | 执行节奏 |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



