- 相关推荐
计算机四级考试软件测试工程师巩固练习题
1. ANSI/IEEE STD729-1983给出软件质量的定义:软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。以下叙述中不属于这些质量特征和特性的是
A) 产品功能 B) 效率 C) 可使用性 D) 项目成本和进度
2. 软件产品需求规格说明书是软件缺陷存在最多的地方,其原因是
A) 软件开发人员与用户沟通比较困难,对要开发的产品需求理解不一致
B) 系统设计不能全面考虑产品在功能、性能、安全性、可维护性等方面的平衡
C) 采用不熟悉的新技术开发系统或不科学的算法解决问题
D) 系统内各子系统或模块的参数过于复杂,导致信息传递失误
3. 条件覆盖的基本思想是设计若干测试用例,执行被测程序,使得每个判断的每个条件的可能取值至少满足一次。那么对于如下的C语言程序段
if(a>0&&b>0)c=c/a;
iI(a>1||c>1)c=c+1;
如果采用适用于条件覆盖的两个测试用例,其输入值分别为a=2,b=-1,c=-2和a=-1,b=2,c=3,则以下叙述中正确的是
A) 执行测试后,4个条件a>0,b>0,a>1,c>1的所有取值都至少执行一次
B) 执行测试后,除b>0取真和c>1取假外其他条件取值都至少执行一次
C) 执行测试后,除b>0取假和c>1取真外其他条件取值都至少执行一次
D) 执行测试后,除b>0取真和c>1取真外其他条件取值都至少执行一次
4. 对于题3所给的C语言程序段
if(a>0&&b>0)c=c/a;
if(a>1||c>1)c=c+1;
执行条件组合覆盖,为使得每一条件取值组合至少执行一次,需要的测试用例数至少是
A) 2 B) 3 C) 4 D) 5
5. 单元接口测试是单元测试的一种,以下不属于单元接口的是
A) 参数表 B) 输入/输出文件 C) 出错信息处理 D) 全局量
6. 软件测试文档可进行合理的取舍与合并,对于微、小规模软件,下列说法中错误的是
A) 测试计划和测试说明可以合并
B) 测试报告中可包括测试记录和测试问题报告
C) 测试报告、测试记录、测试问题报告和测试总结报告可以合并
D) 测试说明和测试报告可以合并
7. 集成测试分析的作用是指导集成测试用例的设计,安排测试和集成顺序。集成模块划分是集成测试分析的一个重要环节。以下叙述中不属于合理的集成模块划分的是
A) 被集成的几个模块间的联系必须很密切
B) 可以很容易地隔离集成模块的外围模块
C) 集成模块内部各个模块必须共享某些数据区或程序区
D) 能够简便地模拟外围模块向集成模块发送消息
8. 破坏性测试的任务是评测软件在承受超出其正常负荷N倍的情况下,错误出现时的状态和错误发生后的恢复能力。它的实施主要在
A) 系统层 B) 子系统层 C) 协议/指标层 D) 用户层
9. 程序代码检查过程中为检查说明、使用错误,通常需要借助一些引用表。以下不适用于做这种检查的引用表是
A) 循环层次表 B) 事件/响应表
C) 变量交叉引用表 D) 标号交叉引用表
10. 在单元测试过程中,“差1错”属于比较错误,它是指
A) 不正确地多循环或少循环一次 B) 不同数据类型的比较
C) 不正确的逻辑运算符或优先次序 D) 当遇到死循环时无法跳出循环
11. 以下关于软件性能测试的说法中,正确的是
A) 检测每个函数的McCabe圈复杂度是软件性能测试关注的主要内容
B) 缩短平均故障修复时间是软件性能测试的主要目的之一
C) 提高并发进程数是软件性能测试的主要目的之一
D) 吞吐量是软件性能测试中一种常用的性能指标
12. 以下哪种软件测试不属于软件性能测试的范畴
A) 数据流测试 B) 压力测试 C) 负载测试 D) 并发测试
13. 以下关于软件可靠性测试的说法中,正确的是
A) 软件可靠性测试总是能比白盒测试发现更多的错误
B) 软件可靠性测试总是能比黑盒测试发现更多的错误
C) 软件可靠性测试不关注与软件性能有关的软件故障
D) 软件可靠性测试度量出来的软件可靠性特定于所定义的软件运行剖面
14. 以下关于软件可靠性与硬件可靠性的主要区别的说法中,错误的是
A) 软件的失效多是逻辑错误引起的;硬件的失效很多不是逻辑错误引起的
B) 硬件在使用过程中会发生物理退化;软件在使用过程中不会发生物理退化
C) 硬件的使用者少,不容易引起失效;软件的使用者多,更容易引起失效
D) 软件的每个拷贝都是完全一样的;按照设计生产出来的同规格硬件总有微小差别
15. 以下关于面向对象软件测试的说法中,正确的是
A) 对于一个类进行单元测试时,一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法
B) 对于一个类进行单元测试时,一个测试用例只能调用在该类的父类中定义的方法,不能调用在该类中定义的方法
C) 对于一个类进行单元测试时,一个测试用例既可以调用在该类的父类中定义的方法,也可以调用在该类中定义的方法
D) 对于一个类进行单元测试时,由该类及其父类中定义的方法组成的任何一个序列都是一个合理的测试用例
16. 以下关于面向对象软件测试的说法中,正确的是
A) 不需要对抽象类进行单元测试
B) 等价类划分测试是一种类层次的测试技术
C) 不变式边界测试是一种类层次的测试技术
D) 测试动态绑定是类树测试的唯一目标
17. 以下关于面向对象软件集成测试的说法中,错误的是
A) 协作集成是指将可以协作完成特定系统功能的类集成在一起进行集成测试
B) 针对一个类的多个成员方法闻协作的测试不属于面向对象软件集成测试关注的范畴
C) 针对一个类的多个实例间协作的测试不属于面向对象软件集成测试关注的范畴
D) 针对一个类树上多个类的行为的测试属于面向对象软件集成测试关注的范畴
18. 以下关于Web应用软件测试的说法中,正确的是
A) 内容测试是Web应用软件性能测试的一项重要内容
B) 表单测试是Web应用软件易用性测试的一项重要内容
C) 并发测试是Web应用软件安全性测试的一项重要内容
D) Cookie测试是Web应用软件功能测试的一项重要内容
19. 以下哪一项不属于软件易用性测试关注的内容
A) 相似功能的使用风格是否与同类软件一致
B) 软件内相似功能的使用风格是否一致
C) 软件是否能帮助用户减少输入中的重复劳动
D) 软件界面的色彩是否悦目
20. 以下哪一项不属于兼容性测试关注的范畴
A) 操作系统是否能运行于不同的硬件平台
B) 杀毒软件在清除病毒时是否会影响办公软件的正常工作
C) Web应用软件是否支持不同的关系型数据库
D) 软件用户手册中的功能说明与实际功能是否一致
21. 下列有关测试活动的描述中,错误的是
A) 测试策划的主要依据包括测试合同中测试范围和进度安排要求等
B) 测试执行中不能随意修订测试计划
C) 测试用例设计是测试执行的主要内容
D) 测试总结的目的是对测试结果进行分析,以确定软件产品质量的当前状态
22. 以下有关回归测试的说法中,正确的是
A) 回归测试是一个测试阶段
B) 回归测试的目标是确认被测软件经修改和扩充后正确与否
C) 回归测试不能用于单元和集成测试阶段
D) 回归测试是指在软件新版本中验证已修复的软件问题
23. 下列有关测试过程质量控制的描述中,正确的是
A) 测试设计与实现应完整覆盖测试需求
B) 测试过程中不能对测试需求进行重新获取
C) 测试过程中,若相同时间间隔内发现的缺陷数量呈收敛趋势,则可结束测试
D) 软件测试应解决软件系统中所有缺陷
24. 下列关于开始软件测试工作应具备的条件中,错误的是
A) 具有测试合同(或项目计划)
B) 软件测试文档齐全、符合规范
C) 所提交的被测软件受控
D) 软件源代码正确通过编译或汇编
论述题
1.
论述题1:
在企业信息管理系统中,人员信息查询是最常见的。使用以下3个独立的查询条件:
1)员工号(ID)
2)员工姓名(Name)
3)员工邮件地址(eMail)
每个查询条件可有可无,但不能都没有;且条件的取值可以是能查到的,也可以是查不到的。当出现多个查询条件时,按ID→Name→eMail的顺序查询。如果某一条件未出现,则检查下一条件;如果某一条件出现,则检查满足该条件取值的信息是否存在:若不存在,立刻中止查询,并输出失败信息;若存在,继续下一条件查询,最后输出查询结果。要求:
画出实现查询的程序流程图。
2. 给出一组测试路径,能覆盖程序流程图的所有分支。
3. 论述二: QESuite Web Version 1.0中,已知某OA系统测试项目的部分信息如下:
●测试版本:总计4个测试版本,按日期排序分别为OA1.0_111009,OA1.0_111025,OA1.0_111103,OA1.0_111129。
●功能分类视图中部分待测区域及人员分配定义如下表所示:
下表是功能区域“发文管理/发文”下某一个软件问题的操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中5项空缺的操作历史信息。
4. 论述题3:
/*longIntAdd*/
#include
#include
#define LENGTH 81
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)){< p="">
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;
81[i]=tmp%10+'0';
c=tmp/10;
i++;
}
while(si[1]!='\0'&&c){
tmp=s1[i]-'0'+c;
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--){< p="">
c=s[i];
s[i]=s[j];
s[j]=c;
}
}
画出程序中函数addLInt的控制流程图;
5. 设计一组测试用例,使该程序addLInt函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该函数的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。
【计算机四级考试软件测试工程师巩固练习题】相关文章:
计算机四级软件测试工程师考试试题及答案09-22
计算机四级《网络工程师》过关练习题含答案10-13
英语专业四级考试练习题06-07
计算机四级考试报名及内容09-28
大学英语四级考试词汇基础练习题04-21
普通话水平测试考试练习题10-13
2023全国英语等级考试四级阅读练习题09-18