武汉中地数码科技笔试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试工程师笔试试题
第一部分软件测试基础(50分)
1.什么是软件测试?软件测试的目的是什么?(5分)
2.程序从一个输入对话框中读取三个整数值。这三个整数值代表了三角形三边的长度。程
序显示提示信息,指出该三角形是不规则三角形、等腰三角形还是等边三角形。请使用等价类划分的方法设计测试该程序的测试用例集合。(20分)
要求:
a.给出等价类划分集合
3.简述黑盒测试和白盒测试的基本思想和各自的优、缺点。(15分)
4.阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。(10分)
【说明】
使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C语言书写,请按要求回答问题。
Int IsLeap(int year)
{ if (year % 4 == 0)
{ if (year % 100 == 0)
{ if (year % 400 == 0)
leap=1;
else
leap=0;
}
else
leap=1;
}
else
leap=0;
return leap;
}
【问题1】
请画出以上代码的控制流图。(2分)
【问题2】
请计算上述控制流图的圈复杂度V(G)(独立线性路径数)。(2分)
【问题3】(6分)
假设输入的取值范围是1000 第二部分C/C++ 程序设计基础(50分) 5.阅读下面的程序,写出程序运行结果(14分) 1) #define MAX(A,B) (A)>(B)? (A):(B) #define PRINT(Y) printf("Y=%d\t",Y) main() { int a=1,b=2,c=3,d=4,t; t=MAX(a+b,c+d); PRINT(t); } 2) void delch(char *s) { int i,j;char *a;a=s; for(i=0,j=0;a[i]!='\0';i++) if(a[i]>='0'&&a[i]<='9') { s[j]=a[i]; j++; } s[j]='\0'; } main() { char item[]="a34bc"; delch(item); printf("\n%s",item); } 3) class Base{ public: virtual void hello(){cout<<"base::hello"< void tryit(){cout<<"base::tryit"< }; class Derive:public Base{ public: void hello(){cout<<"derive::hello"< virtual void tryit(){cout<<"derive::tryit"< class Last:public Derive{ public: void tryit(){cout<<"last::tryit"< }; int main() { Last d; Base*pb=&d; Derive *pd=&d; Base b; pb->hello(); pb->tryit(); pd->hello(); pd->tryit(); b.hello(); b.tryit(); d.hello(); d.tryit(); } 6、已知单链线性表La和Lb的元素按值非递减排列。归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列。阅读下面的算法,并在空白处填入正确的语句。(14分)void MergList_L(LinkList&La,LinkList&Lb,LinkList&Lc) { pa=La->next; pb=Lb->next; Lc=pc=La; //用La的头节点作为Lc的头节点 while(pa&&pb ) { //按值非递减顺序,插入La和Lb的相应元素 if(pa->data <= pb->data) { ① ② ③ } else { ④ ⑤ ⑥ } pc->next= ⑦ free(Lb); } } 7、在n行n列的矩阵当中,每行都有最大的数,本程序求这n个最大数中的最小一个。(6分) #define N 100 int a[N][N]; void main() { int row,col,max,min,n; /*输入合法n, 和输入n*n个整数到数组a的代码略*/ for (row=0; row { for(max=a[row][0],col=1; col if( ①)max=a[row][col]; if( ②)min=max; else if( ③)min=max; }