这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
Go 语言工程实践之测试| 青训营笔记
这里主要会讲解go测试相关的一些内容,主要包含单元测试,Mock测试,还有基准测试。
测试就是生命
测试关系着系统的质量,质量又决定着线上系统的稳定性。 一旦系统出现了bug或漏洞,可能就会造成一系列的事故。
事故(真实的)
- 营销配置错误,导致非预期用户享受利益,资金损失 10w+
- 用户体现,幂等失效,短时间可以多次体现,自建损失 20w+
- 代码逻辑错误,广告位被占,无法出广告,收入损失500w+
- 代码指针使用错误,导致APP不可用,损失上KW+
所以测试就成了避免事故的最后一道屏障,只要我们做好完备的测试,那就可以避免事故的发生。
测试类型
测试分为三种类型
- 回归测试
- 集成测试
- 单元测试
回归测试
一般就是质量保证的一些工作人员手动通过终端回归一些固定的场景,比如看抖音评论。
集成测试
集成测试是对系统功能做测试验证,测试人员会做一些自动化的,比如说服务暴露的某端口进行自动化的回归测试。
单元测试
主要是面对开发阶段,开发者对单独的函数模块做功能验证。
层级从上至下,测试成本是逐渐降低的。测试的覆盖率是逐步地在上升。所以说单元测试的覆盖率在一定程度上决定着代码的质量。