Go语言工程实践3|青训营笔记

71 阅读2分钟

测试

测试是上线前的最后一步,是非常重要的一个环节。

测试主要分为三种,回归测试、集成测试以及单元测试。从左到右它们的测试覆盖率逐渐提高,并且其成本逐渐下降。单元测试的覆盖率决定了代码的质量。

单元测试 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。 image.png 单元测试还涉及覆盖率问题,一般要求50-60%,但对于资金型服务,覆盖率要达到80%以上才行。所以对于单元测试最好做到两点:

测试分支相互独立,尽量全面覆盖

测试单元粒度足够小,每个函数起到单一的职责

另外,单侧还需要保证稳定性:即在任何时间、任何环境都能测试,幂等性:即不管测试多少次,对应的测试结果都不会发生变化。实现这些要求就需要Mock机制。

基准测试 基准测试主要是为了测试程序运行性能以及CPU消耗的程度。使用方法类似于单元测试。