解:不可以。因为没有经过单元测试的模块会遗留大量的缺陷到集成测试阶段,
而在集成测试阶段对这些缺陷定位困难,导致后续工作展开困难,修复缺陷成本
成指数级增长。
7.什么是驱动模块和桩模块?为下面的函数构造一个驱动模块。
int divide(int a, int b)
{
int c;
if (b==0) {printf("除数不能为 0"); return 0;}
c=a/b;
return c;
}
解:驱动模块是用以模拟被测模块的上级模块,它接收测试数据,传送数据给被
测模块,启动被测模块,最后输出实测结果。
桩模块用以模拟被测模块工作过程中所调用的子模块。
函数驱动模块:
void main( )
{
int x,y,z;
scanf(“%d%d”,&x,&y)
z=divide(x,y);
printf(“%d”,z)
}
8.什么是回归测试?什么时候进行回归测试?
解:回归测试就是重新运行现有测试用例测试原有功能,以便确定变更是否达到
了预期的目的,检查变更是否损害了原有的正常功能。每当软件发生变化时就应
进行回归测试。
9.集成测试有哪些不同的集成方法?简述不同方法的特点。
解:集成测试通常有一次性集成、自顶向下集成、自底向上集成和混合集成 4
种集成方法。
一次性集成方法需要的测试用例数目少,测试方法简单、易行。但是由于不
可避免存在模块间接口、全局数据结构等方面的问题,所以一次运行成功的可能
性不大;如果一次集成的模块数量多,集成测试后可能会出现大量的错误,给程
序的错误定位与修改带来很大的麻烦;即使集成测试通过,也会遗漏很多错误进
入系统测试。
自顶向下集成在测试的过程中,可以较早地验证主要的控制和判断点;一般
不需要驱动程序,减少了测试驱动程序开发和维护的费用;可以和开发设计工作
一起并行执行集成测试,能够灵活的适应目标环境;容易进行故障隔离和错误定
位。但是在测试时需要为每个模块的下层模块提供桩模块,桩模块的开发和维护
费用大;桩模块不能反映真实情况,重要数据不能及时回送到上层模块,导致测
5