A 一个变量已经在程序中用到了很多次,以至于很难理解相应的程序(尽管程序能正常的运行)
B while语句中总是false,以至于while循环没有办法执行
C 一个偶然的情况下,循环内的一次赋值被删除。这次赋值改变了循环内的控制变量,所以变量的值仍然是循环第一次的值,以至于不可能退出循环
D 应用程序变得很慢当同时有20个以上的交易时,最终可能让系统停止
E 一个程序员忘记在一个函数中加return命令了
F 在应用程序中发现了一个安全问题关系到信息泄露
G 指针被声明并且使用,但是没有赋值
H 客户点击一个按钮期待着他想要的信息,但是没有得到他想要的信息,这个在specification中没有提到
I 在程序中一个数组的指针被初始化,但是数组的内存没有被释放
J 应用程序在linux中执行没有像预期那样
有以下几种测试方法:1 开发人员用splint运行
2 开发人员进行单元测试(用CUnit)
3 开发人员用gcov进行单元测试
4 开发人员用valgrind进行单元测试
5 测试小组进行代码审查
6 测试小组用测试进行整合
7 测试小组进行回归测试
8 测试人员进行系统测试
9 客户进行验收测试
如果要是以上的方法不全面,可以增加别的方法