单元测试是bug第一道屏障,但在目前的项目中,对单元测试的重要性都认识不足,认为测试程序都是测试人员的事,不重视单元测试,造成以下问题:
1. 1.bug的处理周期长,经常一个bug要在设计开发需求测试人员中间踢皮球
2. 2.没有持续集成,每一次修改都可能产生连带影响
3. 3.对不良代码无法有效重构
4. 4.频繁打版,占用大量测试资源
要解决这些问题,做好单元测试是非常关键的。单元测试的几个难点:
1. 1.测试数据的准备,对开发人员的要求比原来要高
2. 2.单元测试用例数量的把握,要达到合理的覆盖率
3. 3.单元测试用例的复用
4. 4.PB程序和存储过程的单元测试还需要探索
5. 5.对程序设计要求较高
推广单元测试的一些想法:
1. 1.单元测试最好无副作用,你插入了数据,最好能够删除数据。这样,单元测试才能够重复运行。
2. 2.单元测试应作为持续集成的重要组成部分
3. 3.衡量单元测试数量,在关键业务设置单元测试,提高关键业务的测试覆盖率
4. 4.进行单元测试的自动化,包括PB程序和存储过程和web应用
单元测试的几个最佳实践:
1.编写针对接口的测试,提高测试代码的稳定性
2.不要测试getter/setter方法
3.最大化测试的覆盖率,测试驱动的开发往往是最好的选择
4.不在测试用例间互相依赖,不依赖测试用例的顺序
5.避免边际影响,防止被测系统改变影响随后的测试的进行
6.从类路径中读取测试数据而不从文件系统中读取
7.避免重复的测试代码