问答题给出该程序功能图的基本测试路径集合。(7分)
问答题已知C源程序如下:#include<stdio.h>#include<string.h>void reverse(char s[])int i,j,c;for(i=0,j=strlen(s)-1;i<j;i++,j--) c=s[i]; s[i]=s[j]; s[j]=c;void getHex(int n,char s[])int i=0;while(n>0)if(n%16<10) s[i++]=n%16+'0';else switch(n%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; n/=16;s[i]='/0';reverse(s):int main()unsigned int num;char str[40];int i=0;printf("Please input number:/n");scanf("%d",&num);getHex(num,str);while(str[i]) printf("%c",str[i++]);return 0;1.画出程序中所有函数的控制流程图。
问答题 以下是QESuite Web Version 1.0中某测试项目的部分界面,请按要求回答问题。
问答题以下是某软件项目规格说明,请按要求回答问题。
某一软件项目的规格说明:对于处于提交审批状态的单据,数据完整率达到80%以上或已经过业务员确认,则进行处理。
问答题已知C源程序如下: /*Input today's date,output tomorrow's date*/ /*version 2*/ #include<stdio.h> struct ydate int day;int month;int year;; int leap(struct ydate d) if((d.year%4==0 else return 0; int numdays(struct ydate d) int day; static int daytab[]= 31,28,31,30,31,30,31,31,30,31,30,31); if(leap(d) else day=daytab[d.month-1]; return day; int main(void) struct ydate today,tomorrow; printf("format of date is:year,month,day 输入的年、月、日之间应用逗号隔开/n"); printf("today is:"); scanf("%d,%d,%d", while(0>=today.year || today.year>65535 || 0>=today.month || today.month>12) || 0>=today.day || today.day>numdays(today)) printf("input date error!reenter the day!/n"); printf("today is:"); scanf("%d,%d,%d", if(today.day!=numdays(today)) tomorrow.year=today.year; tomorrow.month=today.month; tomorrow.day=today.day+1; else if(today.month==12) tomorrow.year=today.year+1; tomorrow.month=1; tomorrow.day=1; else tomorrow.year=today.year; tomorrow.month=today.month+1; tomorrow.day=1; printf("tomorrow is:%d,%d,%d/n/", tomorrow.year,tomorrow.month,tomorrow.day);
问答题简述统一建模语言(UML)。
问答题以下是软件规格说明,请按照要求回答问题。 某学校的学生公寓有14栋楼,用A~N十四个大写字母的其中一个代表楼号,每栋楼的层数为6层,用1~6六个数字表示。每层楼有40个房间,编号为01~40。具体表示一个宿舍房间时,用一个字母加三位数字表示,例如:“E612”代表E楼的第六层的12房间。软件运行时,如果输入的房间号不在上述范围内,将不予接受,并显示输入无效。
问答题在QESuite Web Version 1.0中,已知Lead 1.0邮件系统测试项目的部分信息如下: (1)测试版本:总计两个测试版本,按日期排序分为Lead1.0_090703、Lead1.0_090801。 (2)功能分类视图中部分待测区域及人员分配定义如下表所示: 功能区域 功能区域 测试人员 开发人员 安全 Test1 Developerl 邮件系统 邮件管理 Test2 Developer2 发邮件 Test2 Developer2 … … … 收邮件 Test2 Developer2 性能 并发处理能力 Test5 Developer3 … … … … 已知在功能区域“性能/并发处理能力”下有一个软件问题处于“打开/修复失败”状态,下表中是该软件问题当前的部分操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息填写表中空缺的操作历史信息。 操作序号 操作者 执行操作 操作后的问题状态 测试版本 1 新建 Lead1.0_090703 2 打开/再现 3 修复/修复 4 打开/修复失败 Lead1.0_090801
问答题一个简化的高铁售票系统的规格说明如下: ●
乘客未使用系统前系统处于“等待”状态,屏幕显示沿线各车站的站名。 ●
乘客选择了到达站并按下“购票”键之后,系统进入“待付款”状态,屏幕显示票价,等待乘客付款。 ●
如果乘客在限时之内付款,系统进入“出票”状态,打印并吐出相应车票,同时找回余额,然后系统重置回到“等待”状态。 ●
如果乘客在限时之内未付款之前按下“取消”键取消购票,系统进入“等待”状态。 ●
如果乘客在限时之内没有付款,系统进入“超时”状态,显示“超时”“取消购票”等信息,然后系统重置回到“等待”状态。
● 如果乘客在拿到车票后要求退票,在“等待”状态下按下“退票”键,系统进入“查证”状态。 ●
如果查证成功,系统进入“退票”状态。回收车票,退回票款,然后系统重置回到“等待”状态;如果查证不成功,系统进入“警告”状态,屏幕显示“车票无效”信息,然后系统重置回到“等待”状态。
问答题用户对软件系统的第一认识来自于安装,因此易用性的一个重要体现就是安装的易用性。简述安装易用性测试应从哪几个方面来考虑。
问答题以下是QESuite Web Version 1.0用户手册的相关内容,请按要求回答问题。
问答题论述题2:以下是一个自动饮料售货机软件的操作规格说明,请按要求回答问题 设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下: 有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。” (1)试利用因果图法,建立该软件的因果图 (2)设计测试该软件的全部测试用例
问答题考虑一个根据以下简单规格确认输入数有效性的应用程序: (1)输入数由数字、符号“+”或“-”开始。
(2)该数字或符号后面可接任意位数的数字。
(3)这些数字可以有选择地后接用英文句号表示的小数点。
(4)任何输入数,不管是否有小数点,都应该以空格结束。 请根据以上处理规则:
问答题以下是QESuite Web Version 1.0用户手册的相关内容,请仔细阅读并按要求回答问题。
问答题针对一下C语言程序,请按要求回答问题。
已知weekday. c源程序如下:
#include<stidio. 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;
}
(1) 画出主函数main的控制流程图;
(2) 设计一组测试用例,使main函数的语句覆盖率尽量达到100%;
(3) Main函数的语句覆盖率能否达到100%?如果认为无法达到,需说明原因。
问答题针对以下C语言程序,请按要求回答问题 下而是一个简单的C语言程序: int funcl(int a,b,c) int k=1; if(a>0‖b<0)k=k+a; else k=k+b; endif if(c>0)k=k+c; return k; 1.画出该函数的程序流程图。 2.设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。 3.设计特殊的测试用例,说明各种逻辑覆盖之间的关系。
问答题以下使用C语言编写,它根据输入的分数计算学生的成绩等级。 int score2level(int score) int level; if(score>100 || score<0) level=-1; else if(score>=90) level=1; else if(score>=80) level=2; else if(score>=70) level=3; else if(score>=60) level=4; else level=5; return level; 请画出上面程序的控制流图,计算上述控制流图的环路复杂度V(G)。
问答题考虑一个根据以下简单规格确认输入数有效性的应用程序:
(1)输入数由数字、符号“+”或“-”开始。 (2)该数字或符号后面可接任意位数的数字。
(3)这些数字可以有选择地后接用英文句号表示的小数点。
(4)任何输入数,不管是否有小数点,都应该以空格结束。 请根据以上处理规则:
问答题以下是某C程序段,其功能为计算输入数字的阶乘。请仔细阅读程序并完成要求。 #include<stdio.h> #include<stdlib.h> int main() int i=0;/*i为计数器*/ int n; int factorial=1;/*保存阶乘的结果*/ puts("*****************************************"); puts("*The program will compute*"); puts("*the factotial of an integer*"); puts("*****************************************"); puts("please input the number n:"); scanf("%d", &n); if(n<0)/*判断输入的数是否大于或等于0*/ printf("please input an interger>=0./n"); return 0; if(n==0)/*0的阶乘是1*/ printf("factorial of 0 is 1./n"); return 0; i=1; while(i<=n) factorial= factorial * i; i++; printf("factorial of %d is: %d./n", n, factorial); getch(); return 0;
问答题设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。请对日期检查功能进行等价类划分。