go语言——单元测试

125 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天

go语言进阶、依赖管理、项目实战(中)——单元测试

单元测试

测试关系着系统的质量,质量则决定线上系统的稳定性,一但出现bug漏洞,就会造成事故。

image.png

测试是避免事故的最后一道屏障! image.png

测试一较分为,回归测试一般是QA同学手动通过终端回归一些固定的主流程场景,集成测试是对系统功能维度做测试验证,而单元测试和测试开发阶段,开发者对单独的函数、模块做功能验证,层级从上至下,测试成本逐渐降低,而测试覆盖率逐步上升,所以单元测试的覆盖率一定程度上决定着代码的质量!

image.png

单元测试主要包括,输入,测试单元,输出,以及校对,单元的概念比较广,包括接口,函数,模块等;用最后的校对来保证代码的功能与我们的预期相符;单侧一方面可以保证质量,在整体覆盖率足够的情况下,一定程度上既保证了新功能本身的正确性,又未破坏原有的正确性。另一方面可以提升效率,在代码有bug的情况下,通过编写单测,可以在一个较短周期内定位和修复问题。

image.png

image.png

单元测试--覆盖率

如何衡量代码是否经过了足够的测试?

如何评价项目的测试水准?

如何评估项目是否达到了高水准测试等级?

image.png

image.png

一般覆盖率:50%~60%,较高覆盖率80%+。

测试分支相互独立、全面覆盖。

测试单元粒度足够小,函数单一职责。