问答题设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。
问答题已知C源程序如下: / * A simple mailing list example
using an array of structures. */ #include<stdion.
h> #include<stdlib. h> define MAX 4
struct adck { char name[30]; char
street[40]; char city[20]; unsigned long int
zip; )addr_l ist[MAX]; void
init_list(void),enter(void); void
deleteAddr(void),list(void); int
menu_select(void),find_free(void); int main(void)
{ char choice; init_list();/ * initialize
the structure array * / for(;;){
choice=menu_select(); switch(choice){ case
1:enter(); break; case 2:deleteAddr();
break; case 3:list(); break;
case 4:exit(0); } } return
0; } / * Initialize the list. */
void init list(void) { register int
t; for(t=0;t<MAX;++t)addr_list[t],name[0]=/0;
} / * Get a menu selection. * / Int
menu_select(void) { char s[80];
int c; printf("1. Enter a namekn");
printf("2. Delete a name/n"): printf("3. List the
file/n"); printf("4. Quitkn"): do{
printf("/nEnter your choice:"); gets(S);
c=atoi(s): }while(c<1 || c>4); return
c; } / * Input addresses into the list. *
/ void enter(void) { int
slot; char s[80]; slot=find_free();
if(slot==-1){ printf("/nList Full"):
return; } printf("Enter name:");
gets(addr_list[slot]. name); printf("Enter
street:"); gets(addr_list[slot]. street);
printf("Enter city:"); gets(addr_list[slot].
city); printf("Enter zip:"); gets(s);
addr_list[slot]. zip=strtoul(s,/0,10); } /
* Find an unused structure. * / int find_free(void)
{ register int t; for(t=0;addr_list[t].
name[0]&&t<MAX;++t); if(t==MAX)return-1:/ * no slots free*
/ return t; } / * Delete an
address. * / void deleteAddr(void) {
register int slot; char s[80];
printf("enter record# :"); gets(s);
slot=atoi(s): if(slot>=0&&slot<MAX)
addr_list[slot]. name[0]=/0; } /*Display
the list on the screen. */ void list(void)
{ register int t:
for(t=0;t<MAX;++t){ if(addr_list[t]. name[0]){
printf("%s/n",addr_list[t]. name);
printf("%s/n",addr_list[t]. street);
printf("%s/n",addr_list[t]. city);
printf("%lu/n",addir_list[t]. zip); }
} printf("/n/n"); }
问答题为NextDate函数设计边界值分析测试用例。在NextDate函数中,隐含规定了变量month和变量day的取值范围为1≤month≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050。
问答题以下是QESuite Web Version 1.0用户手册的相关内容,请仔细阅读并按要求回答问题。
问答题以下是一软件规格说明,请按照要求回答问题。
软件规格说明:某学校的学生公寓有14栋楼,用A~N这14个大写字母的其中一个代表楼号。每栋楼的层数为6层,代号为1~6。每层楼有40个房间,编号为01~40。具体表示一个宿舍房间时,用一个字母加3位数字表示,例如:“C527”表示C楼第五层的27室。软件运行时,如果输入的房间号不在上述范围内,将不予接受,并显示输入无效。
问答题以下是QESuite web Version 1.0用户手册的内容,请按要求回答问题。
问答题在QESuite Web Version 1.0中,已知Version 1.0 FTP系统测试项目的部分信息如下: (1)测试版本共有两个,按日期排序为V1.0,V1.1。 (2)功能分类视图部分待测区域及人员分配定义如下表所示: 功能区域 功能区域 测试人员 开发人员 安全 Test1 Developerl FTP系统 文件管理 Test2 Developer2 上传文件 Test2 Developer2 …… …… …… 下载文件 Test2 Developer2 性能 并发处理能力 Test5 Developer3 …… …… …… …… 已知在功能区域“性能/并发处理能力”下,有一个软件问题处于“打开/修复失败”状态,下表中是该软件问题当前的部分操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。 操作序号 操作者 执行操作 操作后的问题状态 测试版本 1 新建 V1.0 2 打开/再现 3 修复/修复 4 打开/修复失败 V1.1
问答题以下是班级成绩处理平台的程序流程图,请仔细阅读程序并完成要求。 该平台允许最多输入100个学生的成绩,以-1作为输入结束标志。N2存放输入的学生成绩个数,N1存放输入成绩中有效成绩的个数,sum存放成绩总和。初始化N2=N1=0,sum=0.计算其中有效的学生分数的个数、总分数和平均值。请针对该程序流程图进行基本路径覆盖测试用例设计。
问答题输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定是否构成三角形以及所构成的三角形的类型,分别输出“非三角形”、“一般三角形”、“等腰三角形”或“等边三角形”。用等价类划分方法为该程序设计测试用例。
问答题三角形问题的边界值分析测试用例。
问答题以下是某“象棋中走马事件”应用程序的走马规则,请按要求回答问题。
以下是中国象棋中走马事件中的走马规则: 1)如果落点在棋盘外,则不移动棋子;
2)如果落点与起点不构成日字形,则不移动棋子; 3)如果落点处有己方棋子,则不移动棋子;
4)如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;
5)如果不属于1)~4)条,且落点处无棋子,则移动棋子。
6)如果不属于1)~4)条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;
7)如果不属于1)~4)条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
问答题以下是某“象棋中走马事件”应用程序的走马规则,请按要求回答问题。 以下是中国象棋中走马事件中的走马原则: (1)如果落点在棋盘外,则不移动棋子。 (2)如果落点与起点不构成日字型,则不移动棋子。 (3)如果落点处有己方棋子,则不移动棋子。 (4)如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子。 (5)如果不属于(1)~(4)条,且落点处无棋子,则移动棋子。 (6)如果不属于(1)~(4)条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。 (7)如果小属于(1)~(4)条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
问答题论述题3:针对以下C语言程序,请按要求回答问题下面是一个简单的C语言程序:(1)画出该函数的程序流程图。(2)设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。(3)设计特殊的测试用例,说明各种逻辑覆盖之间的关系。
问答题已知C源程序如下: #include<stdio.h> #include<string.h> void reverse (char s[]) int c,i,j; for(i=0,j=strlen(s)-1;i<j;i++,j++) c:s [i]; s[i]=s[j]; s [j]=c; void getHex(int number,char s[]) int I; i=0; while (number>0) if(number%16<10) s [i++] =number%1 6+'0'; else switch (number%16) case 10:s[i++]='A'; break; case 11:s[i++]='B'; break; case 12:s[i++]='C'; break; case 13:s[i++]='D'; break; case 14:s[i++]='E'; break; case 15:s[i++]='F'; break; default: printf("Error");break; number/=16; s[i]='/0'; reverse (s); int main() unsigned int number; int i=0; char s[50] ; printf ("%s", "please input number:/n"); scanf ("%d", &number); getHex (number, s); i=0; while (s [i]) printf("%c",s[i++]); return 0;
问答题以下是某程序说明,请按要求回答问题。 程序说明:假设有一个把数字串转换为整数的函数。其中数字串要求长度为1~6个数字构成,机器字长为16位。 分析程序中出现的边界情况,采用边界值法为该程序设计测试用例。
问答题针对以下C语言程序,请按要求回答问题。 已知weekday.c源程序如下: #inelude<sgidio.h> #include<conio.h> /*主函数*/ Int main () Char letter; Printf("please input the first letter,"Y"to exit!/n"); While ((letter=getch ()) !="Y") //当输入字母为Y是结束 Switch (letter) Case 'S': Printf ("%c/n", letter); Printf("please input second letter/n"); //输入第二个字母 If((letter=getch())=='a') Printf ("Saturday/n"); Else if (letter=='u') Printf ("Sunday/n"); Else printf("data error/n"); Break; Case 'F': Printf ("fridaykn"); Break; Case'M': Printf ("mondayha"); Break; Case'T': Printf("%c/n",letter); Printf("please input second letter/a"); //输入第二个字母 If ((letter=getch ()) =='u') Printf("Tuesday/n"); Else if(letter=='h') Printf ("Thursday/n"); Break; Case'W': Printf ("Wednesday/n"); Return 0;
问答题以下是对ATM系统的交互功能的描述,请仔细阅读并完成要求。 (1)ATM系统具有取款、查询和修改密码的功能。 (2)进入初始页面,显示提示信息“请输入密码”,若密码正确,则进入系统的主界面,将显示四个可选框:取款、查询、修改密码和退卡;若密码错误,则返回到初始页面。 (3)选择取款页面,提示请输入取款金额,若金额有效,则吐出相应的现金数目,然后回到主界面;若金额无效,则返回到取款页面。 (4)选择查询页面,显示当前余额,然后回到主界面。 (5)选择修改密码页面,提示输入新密码并确认,完成后再返回到主界面;若设置新密码错误,则返回到修改密码页面。 (6)最后在主界面中选择“退卡”选项,ATM系统则退卡给储户,操作结束。 画出该交互过程的流程图。
问答题下图为对4个已知数字进行排序的程序流程图。排序的程序流程图
问答题以下是QEsuite Web Version 1.0的用户手册,请按要求回答问题
问答题以下是一软件规格说明,请按照要求回答问题。 软件规格说明:某学校的学生公寓有14栋楼,用A~N这14个大写字母的其中一个代表楼号。每栋楼的层数为6层,代号为1~6。每层楼有40个房间,编号为01~40。具体表示一个宿舍房间时,用一个字母加3位数字表示,例如:“C527”表示C楼第五层的27室。软件运行时,如果输入的房间号不在上述范围内,将不予接受,并显示输入无效。