软件测试与代码审查全攻略
在软件开发过程中,测试和代码审查是确保代码质量、提高开发效率的重要环节。下面将详细介绍软件测试和代码审查的相关知识和实践方法。
软件测试要点
测试能够降低代码风险,测试越多,失败的可能性就越小。应该优先关注代码中高可能性、高影响的区域,而低风险或一次性的代码,如概念验证代码,可能不值得进行测试。
测试中的确定性问题
- 确定性代码与非确定性代码 :确定性代码对于相同的输入总是产生相同的输出,而非确定性代码对于相同的输入可能返回不同的结果。例如,调用远程网络服务的单元测试就是非确定性的,因为网络故障可能导致测试失败。
- 非确定性测试的危害 :非确定性测试会降低测试的价值,间歇性的测试失败(即抖动测试)难以重现和调试,开发者可能不知道问题出在测试还是代码本身,甚至可能忽略这些测试,从而提交有问题的代码。
- 解决非确定性测试的方法 :
- 立即禁用或修复间歇性失败的测试。可以通过循环重复运行抖动测试来重现失败,IDE 或 shell 循环都可以实现。
- 消除非确定性的根源,如不当处理的睡眠、超时和随机数生成,避免测试留下副作用或与远程系统交互。
具体测试实践建议
| 建议 | 说明 |
|---|---|
超级会员免费看
订阅专栏 解锁全文
29

被折叠的 条评论
为什么被折叠?



