声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载!
-----------------------------------------------------------------------------------------------------
自动化测试
1.有效的自动化测试
- 明确说明测试结果是否通过
- 不需要安装、测试后也能够撤销对环境所做的任何修改
- 单击运行所有的测试
- 全面覆盖,做到足够解决完全覆盖是可能的
2. 自动化测试可以作为调试的辅助
- 经过自动化测试的代码往往只有很少缺陷,容易修复,并且让你自信发布的软件可以正确运行。
- 可以防止引入回归
3.模拟测试、桩测试以及其他的代替测试技术
- 桩测试是被动的,模拟测试是主动的。
- 试图可靠的重现缺陷时,代替测试时非常有用的
版本管理系统
源码控制系统是除了编译器外你能使用的最重要工具了!
- 稳定性
通过创建分支,保持主干版本的稳定性
- 可维护性
创建分支单独在主干发布版本上进行维护和修复。
- 控制分支
分支往往消耗大量的时间、经理,因此要加以控制和合理利用。
静态分析
事实证明,很多缺陷可以仅仅通过静态检查源码就可以发现,静态分析可以集成到开发流程中,在代码未运行前就发现问题。
- 利用好编译器
现代编译器具备一系列的警告信息,比如keil编译时就会提示很多警告信息,要把警告当错误处理,消除警告。 利用在C程序中,可以利用lint发现缺陷
- 把静态分析工具和开发工具集成
lint可以集成到keil中,有专用文档介绍集成方法。