2021计算机四级 软件测试工程师 真题(含答案解析)_程序员阿沐的博客-程序员宝宝

技术标签: 真题  软件测试  测试工程师  面试题  计算机  

计算机四级软件测试工程师真题

一、选择题

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
1、以下关于软件质量属性的说法中,错误的是
A) 软件的功能性是指当软件在指定条件下使用时,软件产品满足明确和隐含的功能要求的能力
B) 软件的可维护性是指软件产品纠正错误、改进功能或适应环境、需求和功能规格说明的变化可被修改的能力
C) 软件的性能是指在指定条件下使用时,软件产品维持规定的性能水平的能力
D) 软件的可移植性是指软件产品从一种环境迁移到另外一种环境的能力

2、以下的说法中不属于测试目的的是
A) 测试是为了证明程序有错
B) 测试是为了证明程序无错
C) 测试就是评价一个程序和系统的特性或能力,并确定它是否达到预期的结果
D) 测试能给使用者建立一种信心,确信程序能够按预期的设想运行

3、以下不属于软件设计阶段测试的内容是
A) 在所有的设计层次跟踪需求,看设计是否满足需求
B) 从系统环境要求和程序执行性能角度,看设计是否可行
C) 检查设计文档中所有可能的错误条件,看对这些错误的处理是否合适
D) 执行程序的评估工作,以分析程序是否对设计说明做了正确翻译

4、以下不属于发布测试的内容是
A) 产品回归测试 B) 产品功能测试
C) 产品性能测试 D) 产品安装测试

5、不会造成比较错误的情况是
A) 由于存在舍入误差可能导致浮点数运算不精确
B) 使用整数除法造成表达式x/2*2==x不成立(假定x是整数)
C) 不同数据类型的变量之间进行比较
D) 部分变量定义后未使用

6、代码走查小组的成员不包括
A) 测试员 B) 负责维护该程序的程序员
C) 最终用户 D) 秘书或记录员

7、有一个判断语句
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

8、以下叙述中不属于单元测试测试用例设计所关注内容的是
A) 被测单元的输入 B) 程序的运行环境
C) 该测试用例实际测试的代码 D) 测试用例的期望输出结果

9、基于分解的集成策略不包括
A) 大突击集成 B) MM—路径的增量式集成
C) 自顶向下的增量式集成 D) 自底向上的增量式集成

10、由软件的多个用户在一个或多个用户的实际使用环境下进行的,开发者通常不在测试现场的测试叫做
A) 接受测试 B) α测试
C) β测试 D) 6α测试

11、以下指标中哪个是衡量软件性能的指标
A) 响应时间 B) 故障修复时间
C) 无故障运行时间 D) 编译花费时间

12、以下关于Web应用软件测试的说法中,正确的是
A) 浏览器兼容性测试是Web应用软件业务层测试的一项重要内容
B) 表单测试是Web应用软件兼容性测试的一项重要内容
C) 数据完整性测试是Web应用软件数据层测试的一项重要内容
D) 链接测试是Web应用软件安全性测试的一项重要内容

13、以下哪个目标不是软件性能测试的目标
A) 检测软件的安全控制特性是否工作得正确
B) 发现压力下软件功能的缺陷
C) 检验软件的最大负载
D) 确定软件最大建议用户数

14、以下关于Web应用软件测试的说法中,错误的是
A) 客户端内容的安全性是Web应用软件安全性测试关注的一项内容
B) 对Web应用软件进行性能测试时,通常需要进行压力测试
C) 在Web应用软件的分层测试策略中,除了对每一层进行测试,还需要对层间的集成进行测试
D) Web应用软件的功能测试可以只关注服务器端程序,而不必关注客户端程序

15、以下哪一项属于软件可靠性测试关注的内容
A) 分析测试用例的分支覆盖率
B) 检测软件的安全漏洞
C) 设定软件的运行剖面
D) 分析软件的容错能力

16、以下哪一项属于兼容性测试关注的范畴
A) 软件的同一功能是否支持多种操作方式
B) 软件是否能主动禁止用户可能进行的非法操作
C) 软件是否支持同类软件的数据格式
D) 软件是否允许用户针对自己的使用习惯进行定制

17、以下关于面向对象软件测试的说法中,正确的是
A) 等价类测试是面向对象软件白盒测试的常用手段
B) 数据流测试是面向对象软件黑盒测试的常用手段
C) 面向对象软件的可靠性测试需要考虑继承的影响
D) 面向对象软件的覆盖率测试需要考虑多态的影响

18、以下哪一项属于易用性测试关注的范畴
A) 软件使用的图标是否能准确反映相应的功能
B) 软件是否具有良好的性能
C) 软件是否能够在多种操作系统环境下运行
D) 软件提供的功能是否丰富

19、以下关于面向对象程序集成测试的说法中,错误的是
A) 夹层式集成实际上是综合采用自底向上集成和自顶向下集成
B) 高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试
C) 面向对象程序的协作集成是指优先集成有密切协作关系的类
D) 自底向上集成和自顶向下集成都需要为集成测试开发大量代码

20、以下关于极限测试的说法中,正确的是
A) 极限测试是一种只需进行单元测试的软件测试
B) 极限测试只能用白盒测试方法生成测试用例
C) 极限测试是一种针对极限编程的软件测试
D) 极限测试是一种比分支覆盖测试更充分的软件测试

21、以下有关测试过程质量控制的描述中,错误的是
A) 测试需求捕获需在测试策划活动中完成,后期不能进行重新获取
B) 测试设计与实现应完整覆盖测试需求分析结果
C) 对测试过程的度量和分析是测试过程质量控制的重要手段
D) 软件测试不可能解决软件系统中所有缺陷,若评估剩余软件缺陷对软件质量影响较轻,则可考虑结束测试

22、以下有关测试活动依据和工作产品的描述中,错误的是
A) 测试策划活动依据测试合同要求和软件需求开展
B) 依据测试结果即可完成测试总结
C) 测试执行活动中将依据测试计划任务安排,执行相应的测试用例集合,并记录测试结果
D) 测试用例是测试设计与实现活动的主要工作产品

23、以下有关自动化测试基本结构的说法中,错误的是
A) 文件服务器用于存放程序软件包和测试文件包
B) 数据库服务器用于存储测试用例和测试结果
C) 运行环境用于执行测试,由一组测试用服务器和PC组成
D) 控制服务器用于测试执行调度,从文件服务器读取测试用例,向测试环境中的代理发布命令

24、以下说法中错误的是
A) 测试用例应有唯一的名称和标识符
B) 测试用例应给出测试输入和测试结果
C) 测试用例需简要描述测试的对象、目的和采用的测试方法
D) 测试用例要说明测试所依据的内容来源

25、黑盒测试方法不包括
A) 程序变异法 B) 边界值分析法
C) 正交测试法 D) 功能分解法

二、论述题

A公司计划为某市地铁开发一个自动售票系统,系统的主要要求如下:
系统主界面显示地铁的线路及各目的地车站名。当乘客选定某一目的地车站后,系统弹出一个对话框,显示票价。当乘客按“取消”后可回到主界面;否则当乘客投入钱币后,系统进行判断:
(1)投入钱币与票价相等,系统出一张车票,显示票面金额对话框,回到主界面。
(2)投入钱币超出票价,系统计算差额,出一张车票,退回多余钱币,显示票面金额及退回金额对话框,回到主界面。
(3)投入钱币小于票价,且系统计时不超过10秒,继续等待投入钱币:
☆如果累计投币等于票价,转到(1)。
☆如果累计投币超出票价,转到(2)。
☆如果乘客没有再投币,系统计时超过10秒,系统退回所投钱币,显示投币金额不够对话框,回到主界面。
请完成下列工作:

1、画出描述以上处理流程的状态图。

2、根据该状态图设计基本路径覆盖的测试用例。
2、QESuite Web Version 1.0中,已知某安全邮件系统测试项目的部分信息如下:
●测试版本:总计3个测试版本,按日期排序分别为SMail1.0_110409,SMail1.0_110419,SMail1.0_110429。
●功能分类视图中部分待测区域及人员分配定义如下表所示:

在这里插入图片描述

下表是功能区域“功能/邮箱设置”下某一个软件问题的部分操作历史信息,请依据QESuite Web version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,且假设已知“操作后的问题状态”均正确,请找出下表中的错误并说明理由。

在这里插入图片描述

已知计算个人所得税的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;
}

4、画出程序中函数sds的控制流程图。

5、设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。

在这里插入图片描述
1、点赞。防止以后找不到,想看的时候,在自己主页就能找到了,很方便;
2、关注我。让我们成为长期关系,下一个视频会分享更多的硬核干货;
3、本文章学习资源,均可以免费分享。【微信公众号:程序员一凡】

答案:

一、选择题

1、C    
2、B
[解析] Glenford J.Myers 1979提出软件测试是为了证明程序有错,而不是证明程序无错误。
3、D    
4、A    
5、D
[解析] 造成比较错误的情况有:①是否存在不同数据类型的变量间的比较。②是否存在混合比较或不同长度的变量之间的比较。③比较运算符是否正确。④每个布尔表达式所表达的内容是否正确。⑤布尔运算符对象是否是布尔类型。⑥在二进制的计算机上是否存在小数或浮点数之间的比较,四舍五入、二进制表示十进制的近似性,往往会造成误差。⑦对包含多个布尔运算符的表达式,计算次序以及运算符的优先顺序是否正确。③编译器计算布尔表达式的方式是否对程序产生影响。
6、C
[解析] 走查小组一般由3~5人组成,分别为协调人、记录员、测试员、程序员。
7、D    
8、B
[解析] 单元测试用例设计关注四个关键元素:①被测单元模块初始状态声明。②被测单元的输入。③被测试用例实际测试的代码。④测试用例的期望输出结果。
9、B
[解析] 基于分解的集成策略有:①大突击测试(一次性集成方式);②自顶向下的增量式集成;③自底向上的增量式集成;④混合的增量式(三明治)集成;⑤改进的三明治集成。
10、C
[解析] β测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试,开发者通常不在现场。
11、A
[解析] 衡量软件性能的指标有:①响应时间。②系统响应时间和应用延迟时间。③吞吐量。④并发用户数。⑤资源利用率。12、C     13、A    
14、D
[解析] Web应用软件的功能测试中进行表单测试时,表单包括Web应用软件的表示层的客户端程序、业务层的服务端器程序和数据层对数据库的访问,所以,功能测试需要关注客户端程序。
15、C
[解析] 软件可靠性测试的步骤有确定可靠性目标、定义软件运行剖面、设计测试用例、实施可靠性测试、分析测试结果。设计软件的运行剖面是软件可靠性关注的内容。
16、C
[解析] 软件的兼容性测试中数据兼容性的内容为:同一软件的不同版本间的数据兼容性,不同软件间的数据兼容性。所以C选项正确。
17、D
[解析] 等价类测试属于黑盒测试,数据流属于白盒测试。面向对象软件有封装、继承、多态、继承与多态的复合等特点。由于一个引用可以绑定多个实现,而具体绑定哪个实现需要在运行时刻才能决定,而且不同的输入会导致在运行时刻绑定不同的实现,即一个引用根据不同的输入调用不同的实现。从语句的覆盖角度,仅仅覆盖该引用所在的语句并不意味完全覆盖各种不同的实现,只有覆盖了该引用调用各种实现的情况才算完全覆盖。所以面向对象软件覆盖率需要考虑多态。
18、A
[解析] 易用性测试中用户界面元素的图标测试主要检查图标是否能够准确反映所对应的功能,以方便用户使用。
19、B
[解析] 高频集成是指在软件开发过程中频繁地将新开发出来的代码与已有的代码集成。20、C    
21、A
[解析] 需求的捕获和完善贯穿于软件测试每个阶段。22、B    
23、C
[解析] 运行环境:测试实验室或一组测试用的服务器、PC。
24、B
[解析] 测试用例应包括:①唯一的名称和标识符。②测试追踪,说明测试所依据的内容来源。③用例说明,简要描述测试的对象、目的和测试方法。④测试的初始化要求。⑤测试输入。⑥期望的测试结果。⑦评价测试结果的准则。⑧实施测试用例的执行步骤。
25、A
[解析] 程序变异法属于白盒测试。

二、论述题
1、
S1:主界面
S2:显示票价
S3:取消
S4:投币
S5:投入钱币与票价相等
S6:投入钱币小于票价
s7:投入钱币大于票价
S8:显示票价金额及退回金额对话框
S9:显示票面金额对话框
S10:投币不足,系统记数超过10秒,退回所投入的钱币
S11:显示投币金额不够对话框     2、①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     3、操作序号2:执行操作为:校验/打开。
因为操作后问题状态是:打开/再现,说明确认软件有问题,把它置为打开。
操作序号4:执行操作为:验证/不同意。
因为操作后问题状态是:打开/修复失败,说明验证后对已修复不同意。
操作序号5:执行操作为:不修复/不是问题。
因为操作后问题状态是:待验/不是问题,说明没有修复。
操作序号6:执行操作为:验证/同意。
因为操作后问题状态是:解决/不是问题,说明问题已经解决。
操作序号7:操作者为:郑勇,执行操作为:回归测试。
因为操作序号6中表示问题已经解决,但还需要由发邮件人再次要求回归测试。     4、     5、测试用例:
用例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

最后:

不要只做收藏从未停止,行动从未开始的人,很多事情,做着做着就无师自通了。如果在做的过程中还能稍微加点思考,稍微看一些别人的经验和做法,成长会更快,效果也会更好!加油吧,测试人!路就在脚下,成功就在明天!

一个用心码了这么多文字的人,往往渴望得到大家的认可。如果你觉得这篇文章对你有帮助,双击屏幕,给我点个赞呀!

更多软件测试资源分享微信公众号:【程序员阿沐】

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42434318/article/details/114376450

智能推荐

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is ..._weixin_30257433的博客-程序员宝宝

之前做的项目是resteasy的上传,代码没有问题,断点都不进来呢。我以为可以直接移植到SpringMVC,但是SpringMVC不支持MultipartFormDataInput ,用MultipartFile就可以了。老的无法兼容新的。正确代码如下@RequestMapping(value = "/importExcelForEduQuestion",produces = ...

Web_PHP_Curl浅说;_cyb_23的博客-程序员宝宝

<?php/** * curl会话 * @author 2WR3_cyb */class CurlClass { /** * Curl使用示例 * @param string $url 请求路径,如'http://x.x.x'; * @param array $fields 请求参数,如array('var' => 'value'), or can

黑马程序员--面对对象3_捌年的博客-程序员宝宝

------- android培训、java培训、期待与您交流! ----------一、继承定义:  在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可

基础的重要性(程序员之路)_张冰庭的博客-程序员宝宝

学习编程有几年了,感觉走了不少弯路,而不少的学弟学妹又在重蹈我当初的覆辙,不免有些痛心。最近在网上也看了许多前辈们的经验建议,再结合自己的学习经历在这里谈谈基础的重要性,希望帮助大家少走些弯路。    什么是基础呢?就是要把我们大学所学的离散数学,算法与数据结构,操作系统,计算机体系结构,编译原理等课程学好,对计算机的体系,CPU本身,操作系统内核,系统平台,面向对象编程,程序的性能等要有

0003C语言--数据类型及运算符_北冥有鱼zsp的博客-程序员宝宝

本文主要讲解的知识点是进制数,数据类型及其转换,运算符。1.进制数及其转换进制是一种计数机制,它可以使用有限的数字符号代表所有的数值。对于任何一种进制——X 进制, 就表示某一位置上的数运算时逢 X 进一位。对于计算机系统来说,常见的进制数有二进制,八进制,十进制及十六进制。(1)二进制对于绝大多数计算机系统来说,数据都是通过二进制的形式存在的。二进制是一种“逢二进一”的机制, 它...

随便推点

Redis zSet命令_qq_19557947的博客-程序员宝宝

zAdd增加一个或多个元素,如果该元素已经存在,更新它的socre值虽然有序集合有序,但它也是集合,不能重复元素,添加重复元素只会更新原有元素的score值$redis->zAdd('key', 1, 'val1');$redis->zAdd('key', 0, 'val0');$redis->zAdd('key', 5, 'val5');$redis->zRange('

3D图形学(6):正向渲染和延迟渲染_鹅厂程序小哥的博客-程序员宝宝

内容引自《Real Time Rendering 3rd》Forward Rendering(正向渲染)发生在渲染管线的顶点处理阶段,会计算所有的顶点的光照。全平台支持。规则一:最亮的几个光源会被实现为像素光照 规则二:然后最多4个光源会被实现为顶点光照 规则三:剩下的光源会被实现为效率较高的球面调谐光照(Spherical Hamanic),这是一种模拟光照规则一补充说明...

(原创)咱们公司遇到一个想开发和抖音一样的app的客户?_qq18723817197的博客-程序员宝宝

如果客户说想开发一款和抖音一模一样的app,结果会?——链环科技

我和你们不同--和谐就是和而不同--就是多样性的统一_LLKJDLLKJD的博客-程序员宝宝

     软件开发我从来没有研究过,我是寻求一个帮助偶然来到这个空间,希望哪位朋友能够帮助我编写一个这样简单的软件---将标志某商品的品名、产地生产商、经销商、规格型号、产品编号、特殊字符的信息编写成为另外一组可以自由设定的信息,当输入其中某一段信息后,就可以自动导出这些自由设定的信息,就好象户口管理,输入名字,就可以导出身份证号码一样;用途是:好查找库房放置的商品位置。    我的手机号码是

推荐文章

热门文章

相关标签