计算机四级软件测试工程师真题
程序员
1、选择题
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
一、如下关于软件质量属性的说法中,错误的是
A) 软件的功能性是指当软件在指定条件下使用时,软件产品知足明确和隐含的功能要求的能力
B) 软件的可维护性是指软件产品纠正错误、改进功能或适应环境、需求和功能规格说明的变化可被修改的能力
C) 软件的性能是指在指定条件下使用时,软件产品维持规定的性能水平的能力
D) 软件的可移植性是指软件产品从一种环境迁移到另一种环境的能力
二、如下的说法中不属于测试目的的是
A) 测试是为了证实程序有错
B) 测试是为了证实程序无错
C) 测试就是评价一个程序和系统的特性或能力,并肯定它是否达到预期的结果
D) 测试能给使用者创建一种信心,确信程序可以按预期的设想运行
三、如下不属于软件设计阶段测试的内容是
A) 在全部的设计层次跟踪需求,看设计是否知足需求
B) 从系统环境要求和程序执行性能角度,看设计是否可行
C) 检查设计文档中全部可能的错误条件,看对这些错误的处理是否合适
D) 执行程序的评估工做,以分析程序是否对设计说明作了正确翻译
四、如下不属于发布测试的内容是
A) 产品回归测试 B) 产品功能测试
C) 产品性能测试 D) 产品安装测试
五、不会形成比较错误的状况是
A) 因为存在舍入偏差可能致使浮点数运算不精确
B) 使用整数除法形成表达式x/2*2==x不成立(假定x是整数)
C) 不一样数据类型的变量之间进行比较
D) 部分变量定义后未使用
六、代码走查小组的成员不包括
A) 测试员 B) 负责维护该程序的程序员
C) 最终用户 D) 秘书或记录员
七、有一个判断语句
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z') printf("This is a letter!\n");
else printf("This is not a letter!\n");
为实现路径覆盖,须要设计的测试用例个数至少应为
A) 3 B) 5
C) 6 D) 2
八、如下叙述中不属于单元测试测试用例设计所关注内容的是
A) 被测单元的输入 B) 程序的运行环境
C) 该测试用例实际测试的代码 D) 测试用例的指望输出结果
九、基于分解的集成策略不包括
A) 大突击集成 B) MM—路径的增量式集成
C) 自顶向下的增量式集成 D) 自底向上的增量式集成
十、由软件的多个用户在一个或多个用户的实际使用环境下进行的,开发者一般不在测试现场的测试叫作
A) 接受测试 B) α测试
C) β测试 D) 6α测试
十一、如下指标中哪一个是衡量软件性能的指标
A) 响应时间 B) 故障修复时间
C) 无端障运行时间 D) 编译花费时间
十二、如下关于Web应用软件测试的说法中,正确的是
A) 浏览器兼容性测试是Web应用软件业务层测试的一项重要内容
B) 表单测试是Web应用软件兼容性测试的一项重要内容
C) 数据完整性测试是Web应用软件数据层测试的一项重要内容
D) 连接测试是Web应用软件安全性测试的一项重要内容
1三、如下哪一个目标不是软件性能测试的目标
A) 检测软件的安全控制特性是否工做得正确
B) 发现压力下软件功能的缺陷
C) 检验软件的最大负载
D) 肯定软件最大建议用户数
1四、如下关于Web应用软件测试的说法中,错误的是
A) 客户端内容的安全性是Web应用软件安全性测试关注的一项内容
B) 对Web应用软件进行性能测试时,一般须要进行压力测试
C) 在Web应用软件的分层测试策略中,除了对每一层进行测试,还须要对层间的集成进行测试
D) Web应用软件的功能测试能够只关注服务器端程序,而没必要关注客户端程序
1五、如下哪一项属于软件可靠性测试关注的内容
A) 分析测试用例的分支覆盖率
B) 检测软件的安全漏洞
C) 设定软件的运行剖面
D) 分析软件的容错能力
1六、如下哪一项属于兼容性测试关注的范畴
A) 软件的同一功能是否支持多种操做方式
B) 软件是否能主动禁止用户可能进行的非法操做
C) 软件是否支持同类软件的数据格式
D) 软件是否容许用户针对本身的使用习惯进行定制
1七、如下关于面向对象软件测试的说法中,正确的是
A) 等价类测试是面向对象软件白盒测试的经常使用手段
B) 数据流测试是面向对象软件黑盒测试的经常使用手段
C) 面向对象软件的可靠性测试须要考虑继承的影响
D) 面向对象软件的覆盖率测试须要考虑多态的影响
1八、如下哪一项属于易用性测试关注的范畴
A) 软件使用的图标是否能准确反映相应的功能
B) 软件是否具备良好的性能
C) 软件是否可以在多种操做系统环境下运行
D) 软件提供的功能是否丰富
1九、如下关于面向对象程序集成测试的说法中,错误的是
A) 夹层式集成其实是综合采用自底向上集成和自顶向下集成
B) 高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试
C) 面向对象程序的协做集成是指优先集成有密切协做关系的类
D) 自底向上集成和自顶向下集成都须要为集成测试开发大量代码
20、如下关于极限测试的说法中,正确的是
A) 极限测试是一种只需进行单元测试的软件测试
B) 极限测试只能用白盒测试方法生成测试用例
C) 极限测试是一种针对极限编程的软件测试
D) 极限测试是一种比分支覆盖测试更充分的软件测试
2一、如下有关测试过程质量控制的描述中,错误的是
A) 测试需求捕获需在测试策划活动中完成,后期不能进行从新获取
B) 测试设计与实现应完整覆盖测试需求分析结果
C) 对测试过程的度量和分析是测试过程质量控制的重要手段
D) 软件测试不可能解决软件系统中全部缺陷,若评估剩余软件缺陷对软件质量影响较轻,则可考虑结束测试
2二、如下有关测试活动依据和工做产品的描述中,错误的是
A) 测试策划活动依据测试合同要求和软件需求开展
B) 依据测试结果便可完成测试总结
C) 测试执行活动中将依据测试计划任务安排,执行相应的测试用例集合,并记录测试结果
D) 测试用例是测试设计与实现活动的主要工做产品
2三、如下有关自动化测试基本结构的说法中,错误的是
A) 文件服务器用于存放程序软件包和测试文件包
B) 数据库服务器用于存储测试用例和测试结果
C) 运行环境用于执行测试,由一组测试用服务器和PC组成
D) 控制服务器用于测试执行调度,从文件服务器读取测试用例,向测试环境中的代理发布命令
2四、如下说法中错误的是
A) 测试用例应有惟一的名称和标识符
B) 测试用例应给出测试输入和测试结果
C) 测试用例需简要描述测试的对象、目的和采用的测试方法
D) 测试用例要说明测试所依据的内容来源
2五、黑盒测试方法不包括
A) 程序变异法 B) 边界值分析法
C) 正交测试法 D) 功能分解法
2、论述题
A公司计划为某市地铁开发一个自动售票系统,系统的主要要求以下:
系统主界面显示地铁的线路及各目的地车站名。当乘客选定某一目的地车站后,系统弹出一个对话框,显示票价。当乘客按“取消”后可回到主界面;不然当乘客投入钱币后,系统进行判断:
(1)投入钱币与票价相等,系统出一张车票,显示票面金额对话框,回到主界面。
(2)投入钱币超出票价,系统计算差额,出一张车票,退回多余钱币,显示票面金额及退回金额对话框,回到主界面。
(3)投入钱币小于票价,且系统计时不超过10秒,继续等待投入钱币:
☆若是累计投币等于票价,转到(1)。
☆若是累计投币超出票价,转到(2)。
☆若是乘客没有再投币,系统计时超过10秒,系统退回所投钱币,显示投币金额不够对话框,回到主界面。
请完成下列工做:
一、画出描述以上处理流程的状态图。
二、根据该状态图设计基本路径覆盖的测试用例。
二、QESuite Web Version 1.0中,已知某安全邮件系统测试项目的部分信息以下:
●测试版本:总计3个测试版本,按日期排序分别为SMail1.0_110409,SMail1.0_110419,SMail1.0_110429。
●功能分类视图中部分待测区域及人员分配定义以下表所示:数据库
功能区域编程 |
功能区域浏览器 |
测试人员安全 |
开发人员服务器 |
功能并发 |
收邮件函数 |
李晓军性能 |
郑 勇单元测试 |
发邮件 |
李小青 |
郑 勇 |
|
…… |
…… |
…… |
|
邮箱设置 |
金 燕 |
张 成 |
|
…… |
…… |
…… |
…… |
下表是功能区域“功能/邮箱设置”下某一个软件问题的部分操做历史信息,请依据QESuite Web version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,且假设已知“操做后的问题状态”均正确,请找出下表中的错误并说明理由。
操做序号 |
操做者 |
执行操做 |
操做后的问题状态 |
测试版本 |
…… |
…… |
…… |
…… |
…… |
2 |
郑 勇 |
校验/校验 |
打开/再现 |
SMail1.0_110409 |
3 |
张 成 |
修复/修复 |
待验/修复 |
SMail1.0_110419 |
4 |
金 燕 |
验证/赞成 |
打开/修复失败 |
SMail1.0_110419 |
5 |
张 成 |
修复/不是问题 |
待验/不是问题 |
SMail1.0_110419 |
6 |
金 燕 |
验证/不一样意 |
解决/不是问题 |
SMail1.0_110419 |
7 |
金 燕 |
打开/从新打开 |
打开/再现 |
SMail1.0_110429 |
…… |
…… |
…… |
…… |
…… |
已知计算我的所得税的C源程序以下:
/*sds.c*/
double sds(double y)
{
double x;
if(y<=2000) x=0;
else if(y<=3600)
x=(y-2000)*0.05;
else if(y<=6600)
x=sds(3600)+(y-3600)*0.1;
else if(y<=21600)
x=sds(6600)+(y-6600)*0.2;
else if(y<=61600)
x=sds(21600)+(y-21600)*0.3;
else if(y<=101600)
x=sds(61600)+(y-61600)*0.4;
else x=sds(101600)+(y-101600)*0.5;
return(x);
}
#include<stdio.h>
int main()
{
double y,x;
printf("请输入收入:\n");
scanf("%If",&y);
x=sds(y);
printf("应缴我的所得税为:sds(%9.2f)=%9.2f",y,x);
return 0;
}
四、画出程序中函数sds的控制流程图。
五、设计一组测试用例,使该程序全部函数的语句覆盖率和分支覆盖率均能达到100%。若是认为该程序的语句覆盖率或分支覆盖率没法达到100%,需说明为何。
答案:
1、选择题
一、C
二、B
[解析] Glenford J.Myers 1979提出软件测试是为了证实程序有错,而不是证实程序无错误。三、D 四、A
五、D
[解析] 形成比较错误的状况有:①是否存在不一样数据类型的变量间的比较。②是否存在混合比较或不一样长度的变量之间的比较。③比较运算符是否正确。④每一个布尔表达式所表达的内容是否正确。⑤布尔运算符对象是不是布尔类型。⑥在二进制的计算机上是否存在小数或浮点数之间的比较,四舍五入、二进制表示十进制的近似性,每每会形成偏差。⑦对包含多个布尔运算符的表达式,计算次序以及运算符的优先顺序是否正确。③编译器计算布尔表达式的方式是否对程序产生影响。
六、C
[解析] 走查小组通常由3~5人组成,分别为协调人、记录员、测试员、程序员。七、D
八、B
[解析] 单元测试用例设计关注四个关键元素:①被测单元模块初始状态声明。②被测单元的输入。③被测试用例实际测试的代码。④测试用例的指望输出结果。
九、B
[解析] 基于分解的集成策略有:①大突击测试(一次性集成方式);②自顶向下的增量式集成;③自底向上的增量式集成;④混合的增量式(三明治)集成;⑤改进的三明治集成。
十、C
[解析] β测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试,开发者一般不在现场。
十一、A
[解析] 衡量软件性能的指标有:①响应时间。②系统响应时间和应用延迟时间。③吞吐量。④并发用户数。⑤资源利用率。十二、C 1三、A
1四、D
[解析] Web应用软件的功能测试中进行表单测试时,表单包括Web应用软件的表示层的客户端程序、业务层的服务端器程序和数据层对数据库的访问,因此,功能测试须要关注客户端程序。
1五、C
[解析] 软件可靠性测试的步骤有肯定可靠性目标、定义软件运行剖面、设计测试用例、实施可靠性测试、分析测试结果。设计软件的运行剖面是软件可靠性关注的内容。
1六、C
[解析] 软件的兼容性测试中数据兼容性的内容为:同一软件的不一样版本间的数据兼容性,不一样软件间的数据兼容性。因此C选项正确。
1七、D
[解析] 等价类测试属于黑盒测试,数据流属于白盒测试。面向对象软件有封装、继承、多态、继承与多态的复合等特色。因为一个引用能够绑定多个实现,而具体绑定哪一个实现须要在运行时刻才能决定,并且不一样的输入会致使在运行时刻绑定不一样的实现,即一个引用根据不一样的输入调用不一样的实现。从语句的覆盖角度,仅仅覆盖该引用所在的语句并不意味彻底覆盖各类不一样的实现,只有覆盖了该引用调用各类实现的状况才算彻底覆盖。因此面向对象软件覆盖率须要考虑多态。
1八、A
[解析] 易用性测试中用户界面元素的图标测试主要检查图标是否可以准确反映所对应的功能,以方便用户使用。
1九、B
[解析] 高频集成是指在软件开发过程当中频繁地将新开发出来的代码与已有的代码集成。20、C
2一、A
[解析] 需求的捕获和完善贯穿于软件测试每一个阶段。2二、B
2三、C
[解析] 运行环境:测试实验室或一组测试用的服务器、PC。
2四、B
[解析] 测试用例应包括:①惟一的名称和标识符。②测试追踪,说明测试所依据的内容来源。③用例说明,简要描述测试的对象、目的和测试方法。④测试的初始化要求。⑤测试输入。⑥指望的测试结果。⑦评价测试结果的准则。⑧实施测试用例的执行步骤。
2五、A
[解析] 程序变异法属于白盒测试。
2、论述题一、 S1:主界面 S2:显示票价 S3:取消 S4:投币 S5:投入钱币与票价相等 S6:投入钱币小于票价 s7:投入钱币大于票价 S8:显示票价金额及退回金额对话框 S9:显示票面金额对话框 S10:投币不足,系统记数超过10秒,退回所投入的钱币 S11:显示投币金额不够对话框 二、①S1→S2→S3→S1 ②S1→S2→S4→S5→S9→S1 ③S1→S2→S4→S7→S8→S1 ④S1→S2→S4→S6→S5→S9→S1 ⑤S1→S2→S4→S6→S7→S8→S1 ⑥S1→S2→S4→S6→S10→S11→S1 三、操做序号2:执行操做为:校验/打开。 由于操做后问题状态是:打开/再现,说明确认软件有问题,把它置为打开。 操做序号4:执行操做为:验证/不一样意。 由于操做后问题状态是:打开/修复失败,说明验证后对已修复不一样意。 操做序号5:执行操做为:不修复/不是问题。 由于操做后问题状态是:待验/不是问题,说明没有修复。 操做序号6:执行操做为:验证/赞成。 由于操做后问题状态是:解决/不是问题,说明问题已经解决。 操做序号7:操做者为:郑勇,执行操做为:回归测试。 由于操做序号6中表示问题已经解决,但还须要由发邮件人再次要求回归测试。 四、 五、测试用例: 用例1:输入:y=1000.00;输出:应缴我的所得税sds(1000.00)=0.00 用例2:输入:y=3600.00;输出:应缴我的所得税sds(3600.00)=80.00 用例3:输入:y=6600.00;输出:应缴我的所得税sds(6600.00)=380.00 用例4:输入:y=21600.00;输出:应缴我的所得税sds(21600.00)=3380.00 用例5:输入:y=61600.00;输出:应缴我的所得税sds(61600.00)=15380.00 用例6:输入:y=101600.00;输出:应缴我的所得税sds(101600.00)=31380.00 用例7:输入:y=102000.00;输出:应缴我的所得税sds(102000.00)=31580.00