问答题以下是QESuite Web Version 1.0用户手册的相关内容,请仔细阅读并按要求回答问题。
问答题设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。
问答题简述基于调用图的集成策略。
问答题以下是学生选课系统中“学生成绩查询”交互行为的描述,请仔细阅读程序并完成要求。 交互开始时,终端上显示首页,用户选择“查询”请求后,显示“请输入学号”。在用户输入学号后,系统核对学生学号:若输入的学号不正确,则显示“输人的学号不正确”,此次查询取消,回到首页;若输入的学号正确,则出现“请输入课程名称”。一旦输入课程名,就开始核对课程名称:若输入的课程名称不正确,则显示“输入的课程名称不正确”,此次查询取消,回到首页;若输入的课程名称正确,则根据“学号”和“课程名”查询学生成绩。 若查询学生成绩成功,则显示查询到的成绩,系统询问是否继续查询:当用户选择“继续查询”后回到“请输入学号”;当用户选择“结束查询”后回到首页。若查询失败,则显示“查询失败”后回到首页。
问答题
以下是学生选课系统中“学生查询成绩”交互行为的描述,请按要求回答问题。
交互开始时终端上显示首页,用户选择“查询”请求后,显示“请输入学号”。
在用户输入学号后,系统核对学生学号:若输入的学号不正确,则显示“输入的学号不正确”,此次查询取消,回到首页;若输入学号正确,出现“请输入课程名”。
一旦输入课程名,就开始核对课程名称:若输入的课程名不正确,则显示“输入的课程名不正确”,此次查询取消,回到首页;若输入的课程名正确,则根据“学号”和“课程名”,查询学生成绩。
若查询学生成绩成功,则显示查询到的成绩,系统询问是否继续查询:当用户选择“继续查询”后回到“请输入学号”;当用户选择“结束查询”后回到首页。
若查询学生成绩失效,则显示“查询失效”后回到首页。
问答题哪种UML图提供了系统的动态视图?
问答题以下是QESuite Web Version 1.0操作手册的部分内容,请按要求回答问题。
问答题以下是某C语言程序段,其功能为计算1到所输人数字的逐步累加和,请仔细阅读程序并完成要求。
#include int sum(int n)
{ int i, ret_slum; ret_sum=0;
for (i=1; i<=n; i++) ret_sum+=i; return
ret_sum; } void main()
{ int j, n; printf("/1:Please input value
here==>"); scanf("%", &n); for(j=1; j<=n;
j++) printf("/2:from 1 to % d is % d/n",j,sum(j));
}
问答题以下是学生选课系统中“学生查询成绩”交互行为的描述,请按要求回答问题。 交互开始时终端上显示首页,用户选择“查询”请求后,显示“请输入学号”。 在用户输入学号后,系统核对学生学号:若输入的学号不正确,则显示“输入的学号不正确”,此次查询取消,回到首页;若输入学号正确,出现“请输入课程名”。 一旦输入课程名,就开始核对课程名称:若输入的课程名不正确,则显示“输入的课程名不正确”,此次查询取消,回到首页;若输入的课程名正确,则根据“学号”和“课程名”,查询学生成绩。 若查询学生成绩成功,则显示查询到的成绩,系统询问是否继续查询:当用户选择“继续查询”后回到“请输入学号”;当用户选择“结束查询”后回到首页。 若查询学生成绩失效,则显示“查询失效”后回到首页。
问答题某函数包含三个变量:month,day,year,函数的输出是输入日期后一天的日期。例如:若输入为2008年3月7日,则函数输出为2008年3月8日。要求函数的变量输入month、day、year均为整数值,并且满足条件:1<=month<=12,1<=day<=31,2001<=year<=2008。 采用等价类法为该函数设计测试用例,写出具体的等价类划分。
问答题用基本路径测试法说明以下C程序的用例设计过程。 void selectSort(int V[], int n) for(int i=0; i<n-1; i++) int k=i; for(int j=i+1; j<n; j++) if(V[j]<v[k])k=j; if(k!=i) int work=V[i]; V[i]=v[k]; V[k]=work;
问答题QESuite Web Version 1.0中,已知DUCHA
1.0工作专网系统测试项目的部分信息如下:
·测试版本:总计三个测试版本,按日期排序分别为DUCHA1.0_100105,DUCHA1.0_100205,CUCHA1.0_100210。
·功能分类视图中部分待测区域及人员分配定义如下表所示:
功能区域
功能区域
测试人员
开发人员
安全
王军
张晓东
工作平台
发文
李明
吕剑秋
收文
李明
吕剑秋
…
…
…
归档
李明
吕剑秋
容量
并发用户数
周晓松
张晓东
…
…
…
…已知在功能区域“工作平台/归档”下有一个软件问题处于“打开/再现”状态,下表中是该软件问题操作历史信息,请依据QESuite
Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。
操作序号
操作者
执行操作
操作后的问题状态
测试版本
1
新建
2
李明
校验/再现
DUCHA1.0_100105
3
修复/修复
DUCHA1.0_100205
4
李明
解决/修复
5
打开/再现
DUCHA1.0_100210
问答题一个网站后台登录系统由用户名和密码两部分数据组成,登录操作对两个输入数据进行检查,具体要求如下: (1)要求用户名中只能包含字母、数字和下划线(字母不区分大小写),密码可以包含任何字符。 (2)用户名和密码都不能为空且长度都应在16位以内。 (3)当用户名或密码为空时,则登录失败并提示对应的出错信息。 (4)当用户名不正确或用户名不存在或密码错误时,则登录失败并提示以下三种相应的出错信息:用户名不合法(即包含非字母、非数字字符、非下划线),或用户名不存在,或密码错误,当用户名和密码都正确时,显示登录成功,完成登录。 假设正确的用户名是admin_001,密码是001。 请用等价类方法为上述规格说明设计等价类表。
问答题以下是某C语言程序段,其功能为计算1到所输人数字的逐步累加和,请仔细阅读程序并完成要求。
#include int sum(int n) {
int i, ret_slum; ret_sum=0; for (i=1;
i<=n; i++) ret_sum+=i; return
ret_sum; } void main()
{ int j, n; printf("/1:Please input value
here==>"); scanf("%", &n); for(j=1; j<=n;
j++) printf("/2:from 1 to % d is % d/n",j,sum(j));
}
问答题为下列程序确定最小的测试用例数,程序流程图如下右图所示。
问答题已知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%16+'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 nmnber; int i=0; char s[50];
printf("%s", "please input number: /n");
scanf("%d", getHex(number,
s); i=0; while(s[i])
printf("%c", s[i++]); return 0;
}
问答题以下是某C语言程序段,其功能是计算输入数据是否为水仙花数,请仔细阅读程序并完成要求。 #include void main() int i,a,b,c; scanf("%d",&i); a=i/100; b=i/10%10: C=i%10: if(i==a*a*a+b*b*b+c*c*c) printf("%d/n",i);
问答题已知C源程序如下: /* longIntAdd */
#include <stdio.h> #include <string.h> #define
LENGTH81 void addLInt(char s1[], char s2[]);
void reverse(char s[]); int main() {
char intstr1[LENGTH], intstr2[LENGTH];
printf("请输入超长整数的被加数和加数:/n"); scanf("% s % s", intstr1,
intstr2); addLInt(intstr1, intstr2);
printf("超长整数和为:% s", intstr1); return 0;
} void addLInt(char s1[], char s2[])
{ int i=0, tmp, c=0; char s[LENGTH];
if(strlen(s1)<strlen(s2)) { strcpy(s, s1);
strcpy(s1, s2); strcpy(s2, s);
reverse(s1); reverse(s2); while(s2[i]!="/0") {
tmp=s1[i]-'0'+s2[i]-'0'+c; s1[i]=tmp % 10+'0';
c=tmp/10; i++; }
while(s1[i]!='/0'
s1[i]=tmp % 10+'0'; c=tmp/10;
i++; } if(c){
s1[i++]=c+'0'; s1[i]='/0'; }
reverse(s1); } 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; } }
问答题下图为对4个已知数字进行排序的程序流程图。问题:
问答题针对以下C语言程序,请按要求回答问题。
已知link.c源程序如下:
/*link.c程序对单向链表进行操作,首先建立一个单向链表,然后根据用户的选择可以对其进行插入节点、删除节点和链表反转操作*/
#include<stdio.h>
#include<stdlib.h>
typedef struct list_node *list_pointer; //定义链表指针
typedef struct list_node{ //定义链表结构
int data;
list_pointer link;
list node;
//用到的操作函数
list_pointer create(); //建立一个单向链表
void insert(list_pointer *p_ptr, list_pointer node);
//在node后加入一个新的节点
void delete_node(list_pointer *p_ptr, list_pointer trail, list_pointer node);
//删除前一个节点是trail的当前节点node
void print(list_pointer *p_ptr); //打印链表节点中的值
list_pointer invert(list_pointer lead); //反转链表
int main()
{
list_pointer ptr=NULL;
list_pointer node, trail;
list_pointer *p=
int choose, location, i;
printf("you should create a link first: /n");
//建立一个单向链表
prt=create(); /*ptr指向链表的第一个节点*/
print(ptr);
//根据用户的不同选择进行相应的操作
printf("input number 0, you can quit the program/n");
printf("input number 1, you can insert a new node to link/n");
printf("input number 2, you can delete a node from the link/n");
printf("input number 3, you can invert the link/n");
printf("please input you choice/n");
scanf("%d",
while(choose!=0){
switch(choose){
case 1:
i=1;
while(i<location){
node=node->link;
i++;
}
insert(p, node); /*p为指向ptr的指针*/
print(ptr);
break;
case 2;
printf("you wiii delete a node from the link/n");
printf("please input the location of the node:/n");
scanf("%d",
node=ptr;
if(location==1)
trail=NULL;
trail=ptr;
i=1;
while(i<location){
trail=trail->link;
i++;
}
node=trail->link;
delete_node(p, trail, node);
print(ptr);
break;
case 3:
printf("you will invert the link/n");
ptr=invert(ptr);
print(ptr);
break;
default:
break;
return-1;
}
printf("please input you choice/n");
scanf("%d",
}
return 0;
//根据用户的输入值建立一个新的单向链表
list pointer create()
{
int i, current, length;
list_pointer p1, p2, head;
printf("please input the node number of the link:/n");
scanf("%d", %length);
printf("the number of the link is: %d", length);
printf("please input the data for the link node:/n");
i=0;
p1=p2=(list pointer)malloc(sizeof(list_node));
head=p1;
for(i=1; i<length; i++){
scanf("%d",
p1->data=current;
p2->link=p1;
p2=p1;
p1=(list pointer)malloc(sizeof(list node));
}
p2->link=NULL;
return head;
}
...