这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天
go语言进阶、依赖管理、项目实战(中)——单元测试
单元测试
测试关系着系统的质量,质量则决定线上系统的稳定性,一但出现bug漏洞,就会造成事故。
测试是避免事故的最后一道屏障!
测试一较分为,回归测试一般是QA同学手动通过终端回归一些固定的主流程场景,集成测试是对系统功能维度做测试验证,而单元测试和测试开发阶段,开发者对单独的函数、模块做功能验证,层级从上至下,测试成本逐渐降低,而测试覆盖率逐步上升,所以单元测试的覆盖率一定程度上决定着代码的质量!
单元测试主要包括,输入,测试单元,输出,以及校对,单元的概念比较广,包括接口,函数,模块等;用最后的校对来保证代码的功能与我们的预期相符;单侧一方面可以保证质量,在整体覆盖率足够的情况下,一定程度上既保证了新功能本身的正确性,又未破坏原有的正确性。另一方面可以提升效率,在代码有bug的情况下,通过编写单测,可以在一个较短周期内定位和修复问题。
单元测试--覆盖率
如何衡量代码是否经过了足够的测试?
如何评价项目的测试水准?
如何评估项目是否达到了高水准测试等级?
一般覆盖率:50%~60%,较高覆盖率80%+。
测试分支相互独立、全面覆盖。
测试单元粒度足够小,函数单一职责。