资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,集成测试例子,需求描述,被测试段代码实现的功能是:如果ab,则返回a,否则返回a/b,被测试段代码由两个函数实现,分别是,int max (int a, int b, char *msg),void divide (int *a, int *b),d,ivide,函数实现a/b功能,,max,函数实现其他对应功能,并进行结果输出,int max (int a, int b, char *msg),char dsp20; /*声明一个大小为20的char型数组*/,if (a0 | bb) /*如果a大于b,*/,; /*什么也不做*/,else,divide (,sprintf (dsp, ”%s %d”,msg,a);,printf (dsp);,return a;,void divide (int *a, int *b),(*a)=(*a)/(*b);,return ;,画出结构图为:,集成测试操作步骤,确定集成测试策略,采用自底向上的测试策略,确定集成测试粒度,函数,选定测试用例设计方法,等价类划分、边界值等,集成测试操作步骤,编写测试用例,因为测试策略是自底向上,所以先测试divide( int *a, int *b)函数,ID,int *a,int *b,预期结果,1,4,2,2,2,0,3,0,集成测试操作步骤,构造驱动(其中m和n是测试用例输入),int test ( ),i,nt a=m;,i,nt b=n,;,divide( ,集成测试操作步骤,依次执行测试用例,完成测试,发现并跟踪处理bug,本例子中的程序都存在什么缺陷呢?,程序存在的缺陷,没有对b不能为0的情况进行限制,当字符串msg的长度加上a整数的位数超过20时,会使dsp数组溢出,当msg的值(指针的值)为NULL时,sprintf函数将出现问题,
展开阅读全文