问答题设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。
问答题以下是某C++程序,用来判定用户口令,请仔细阅读程序并完成要求。 //**********************************************************************// // 口令检验程序 // // // // 文件名:password_check.cpp// //*********************************************************************// # incllide<iostream.h> # include<string.h> //*********************************************************************// // 主函数 // //*******************************************************************// void main(void) char.password[128]='/o'; cout<<"请输入您的口令:"; cout.flush(); while(true) cin.getline(password,128,'/n'); if(strlen(password)<6) //口令长度少于6位 cout<<"您的用户口令少于6个字符!"<<endl; cout<<"请重新输入:"; cout.flush(); else bool capital=false; //检验是否有大写字母 bool lowercase=false: //检验是否有小写字母 bool digit=false; //检验是否有数字 for(unsigned int i=0;i<strlen(password);i++) if(password[i]>='A'&&password[i]<='z') capital=true; if(password[i]>='a'&&password[i]<='z') lowercase=true; if(password[i]>='0'&&password[i]<='9') digit=true; //判断用户输入的口令中缺少哪中字符 if(!capital) cout<<"您的用户口令中没有大写字母!"<<endl; cout<<"请重新输入:"; else if(!lowercase) cout<<"您的用户口令中没有小写字母!"<<endl; cout<<"请重新输入:"; else if(!digit) cout<<"您的用户口令中没有数字!"<<endl; cout<<"请重新输入:"; else cout<<"您的口令满足要求!"<<endl; break;
问答题以下是ATM系统交互功能的描述,请仔细阅读并完成要求。 ATM系统具有取款、查询和修改密码的功能。 进入初始页面,显示“请输入密码”。如果正确输入密码,则进入主操作页面,显示三个可选框,取款、查询、修改密码;如果密码输入错误,回到初始页面。 选择取款页面,请输入取款金额,如果金额合理可行,则ATM吐出现金,然后回到主操作页面;如果金额输入不合理,则回到取款页面。 选择查询页面,则显示当前余额,然后回到主操作页面。 选择修改密码页面,则提示输入新密码并确认,完成后回到主操作页面;如果新密码设置错误则回到修改密码页面。 最后在主操作页面选择退卡,ATM系统则退卡给用户,操作结束。
问答题根据状态转换图和状态转换表,导出基本路径测试的测试用例及其覆盖的测试路径。
问答题以下是某应用程序的输入条件限制,请按要求回答问题。
某应用程序的输入条件组合为: 姓名:填或不填 性别:男或女
状态:激活或未激活
问答题下图是一个简单的ATM机中描述验证信用卡PIN活动的有限状态机。其中包含五个用“”表示的状态和八个用“→”表示的转移。转移上的标签所遵循的是:横线上方是引起转移的事件,横线下方是与该转移相关联的行动。该有限状态机允许储户有三次输入PIN的机会,如果三次都输入错误,则停止交易退卡。请完成下列工作:
问答题
以下是某应用程序的输入条件限制,请按要求回答问题。 某应用程序的输入条件组合为:
姓名:填或不填 性别:男或女 状态:激活或未激活
问答题以下电费计算的几条规则,请按要求回答问题。
一些城市的电力公司把用户分为两类:单费率用户和复费率用户。对于单费率用户实行单一电价,即在任何时间段都是一个价;对于复费率用户在不同时段实行不同的电价。有4条计算电费的规则:对于单费率用户,按公式A计算电费;对于复费率用户,如果不在规定期间内,同单费率用户,按照公式A计算电费,否则按公式B计算;如果既不是单费率用户也不是复费率用户,则做其他处理。
问答题你认为应该由谁来进行确认测试,是软件开发者还是软件用户,为什么?
问答题设有一个大学信息学院学生管理系统软件,其学生文件Student记录的部分属性包括Name、Num、Age、Sex、Dept等,其中: Name(学生名)要求最少2个字符,最多8个字符。 Num(学号)要求是10位无符号整数,取值范围为2010200001~2010203335。 Age(年龄)要求是2位无符号整数,取值范围为12~99。 Sex(性别)是枚举型,只有两个取值male(男)、female(女)。 Dept(系名)是枚举型,取值可以是AT(自动化系)、CS(计算机系)、ET(电子系)、MN(微纳电子系)、SW(软件学院)。 现有一个新开发的查询程序,要求输入学生年龄的上限A、性别S、系名D,利用文件Student查询所有年龄小于A且性别为S的D系的学生,并输出这些学生的姓名和年龄。 请针对此程序完成以下工作:1.给出该查询程序的查询条件表达式。
问答题
以下是班级成绩处理平台的程序流程图,请仔细阅读程序并完成要求。
该平台允许最多输入100个学生的成绩,以-1作为输入结束标志。N2存放输入的学生成绩个数,N1存放输入成绩中有效成绩的个数,sum存放成绩总和。初始化N2=N1=O,sum=0。计算其中有效的学生分数的个数、总分数和平均值。请针对该程序流程图进行基本路径覆盖测试用例设计。
问答题以下是某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:
}
问答题针对以下C语言程序,请按要求回答问题
下面是一个程序段(C语言),试设计基本路径测试的测试用例,设计出的测试用例要保证每一个基本独立路径至少要执行一次。
函数说明:当i_flag=0;返回i_count+100 当i_flag=1;返回i_count*10
否则返回i_count*20 输入参数:int i_count int i_flag
输出参数:int i_return 程序代码如下: 1 int
Test(int i_count,int i_flag) 2 { 3 int
i_temp=0; 4 while(i_count>0) 5 {
6 if(0==i_flag) 7 { 8
i_temp=i_count+100; 9 break; 10 }
11 else 12 { 13 if(1==i_flag)
14 { 15 i_temp=i_temp+10; 16
} 17 else 18 { 19
i_temp=i_temp+20; 20 } 21 }
22 i_count--; 23 } 24 return i_temp;
25 }
问答题以下是某软件的规格说明,请按要求回答问题。
软件规格说明:文件名的第一个字符必须是A或B,第二个字符必须是数字。满足则修改文件。若第一个字符不为A或B,打印错误信息X12,若第二个字符不为数字,则打印错误信息X13。
问答题论述回归测试的对象与目的。
问答题下图为对4个已知数字进行排序的程序流程图。问题:
问答题以下是某C语言程序,此程序根据输入的学生成绩得出成绩的等级,请仔细阅读程序并完成要求。 int scorelevel(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:
问答题以下是某C程序段及其功能描述,请仔细阅读程序并完成要求。
企业发放的奖金根据利润提成,发放规则如下:
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润I,输入应发放奖金总数。
#include<stdio.h> #include<stdlib.h>
int main() { long int gain;
int prize1,prize2,prize4,prize6,prize10,prize=0;
puts("************************************"): puts("*The
program will solve *"); puts (" *the
problem of prize distribution*");
puts("************************************"):
puts("please input the nUN of gain:");
scanf("%ld",&gain);
prize1=100000*0.1;
prize2=prize1+100000*0.075:
prize4=prize2+200000*0.05:
prize6=prize4+200000*0.03:
prize10=prize6+400000*0.015:
if(gain<=100000) prize=gain*0.1;
else if(gain<=200000)
prize=prize1+(gain-100000)*0.075;
else if(gain<=400000)
prize=prize2+(gain-200000)*0.05: else
if(gain<=600000)
prize=prize4+(gain-400000)*0.03: else
if(gain<=1000000)
prize=prize6+(gain-600000)*0.015;
else
prize=prize10+r gain-1000000)*0.01: printfCThe
prize is:%d\n",prize); getch();
return 0; }
问答题以下是ATM系统交互功能的描述,请仔细阅读并完成要求。
ATM系统具有取款、查询和修改密码的功能。
进入初始页面,显示“请输入密码”。如果正确输入密码,则进入主操作页面,显示三个可选框,取款、查询、修改密码;如果密码输入错误,回到初始页面。
选择取款页面,请输入取款金额,如果金额合理可行,则ATM吐出现金,然后回到主操作页面;如果金额输入不合理,则回到取款页面。
选择查询页面,则显示当前余额,然后回到主操作页面。
选择修改密码页面,则提示输入新密码并确认,完成后回到主操作页面;如果新密码设置错误则回到修改密码页面。
最后在主操作页面选择退卡,ATM系统则退卡给用户,操作结束。
问答题以下是QESuite Web Version 1.0用户手册是内容,请按要求回答问题(10分)
