单元测试是什么:
单元测试是软件开发中的一种测试方法,它专注于验证程序的最小可测试单元——通常是一个函数、方法或类。这种测试方法的目的是确保每个单元(即代码的独立部分)在隔离的情况下正常工作。通过单元测试,开发人员可以检查代码的各个部分是否按照预期执行,并且在修改代码时可以及早发现潜在的问题。
为什么需要单元测试:
1、单元测试可以让代码的提测质量更高:单元测试能够给予研发人员即时反馈,增强提测代码的信心。虽然单元测试不能替代系统测试和验收测试,但是它确实让软件的bug更少,软件质量保证变得更好。
2、单元测试有利于更快定位bug: 由于单元测试规模较小,复杂性较低,因而发现错误后容易隔离和定位,有利于调试工作。
3、测试单元测试可以减少 bug的修复成本:bug越早发现就越容易修复,修复的成本越低。在《快速软件开发》一书中已引用了大量的研究数据指出,最后才修改一个 bug 的代价是在 bug 产生时修改它的代价的10倍。
单元测试应该由谁来完成:
举一个不恰当的例子:自己生的孩子都不想管,还想让社会(别人)给你管好孩子?
使用单元测试,但不迷信单元测试:
有没有单元测试,取决于你是一个工具项目还是一个业务项目。
业务项目需求变化快,做一个集成测试工具比写单元测试更划得来。
针对业务功能的测试,集成测试工具比单元测试效率高了百倍不止。
而工具本身,以及一些xxx development kit或者一些底层能力或者一些极其重要的业务(金钱类等)就都会写单元测试了。
这里借王垠一句话,你没有必要为一个「只会出一次错」的地方写单元测试。
【此处可补充阅读《测试的道理》】
另外补充:不要迷信单元测试覆盖率,100%覆盖也不意味着代码没有bug,绝大多数情况下,20%的核心代码应该占据单元测试总量的80%。 核心部分的测试意义远大于边缘接口。
发表回复