2020年5月的期末测试题!!!
不同开课时间,期末试题可能会有所不同!!!
1导致程序结构复杂的主要原因是:
-
A.程序中代码行太多
-
B.程序中的变量太多
-
C.程序中的分支太多
-
D.程序中的变量结构太复杂
2.以下描述中哪个是错误的:
-
A.穷尽测试是一种非常有效的测试手段
-
B.静态测试不需要搭建测试环境
-
C.测试用例的基本组成包括:输入、预期输出和测试环境
-
D.测试用例能代表需求的小的测试单元
3以下描述中哪个是正确的?
-
A.功能测试中,针对事件流中的每个节点,应使用等价类和边界值测试对涉及的数据进行校验
-
B.在功能测试中,应选择所有不同的测试方法,围绕功能点设计尽量多的测试用例
-
C.在功能测试中,应优先使用等价类测试方法来测试数据,然后使用场景法测试流程,最后使用边界值测试做补充测试
-
D.在数据可以穷尽的情况下,只要能保证测试用例覆盖所有数据,就可以确保测试没有风险
4.通常情况下,如下缺陷不能通过单元测试发现的是
-
A.提示的错误与实际的错误不相符
-
B.变量的初始值或缺省值有错误
-
C.一个模块的功能是否会对另一个模块的功能产生不利影响
-
D.输入的实际参数与形式参数的个数不相同
5.对于如下的程序图,需要测试的最大可执行路径数是:
-
A.12
-
B.6
-
C.7
-
D.10
6.以下描述中正确的是:
-
A.单元测试脚本其实就是可以自动执行测试用例的代码
-
B.必须利用单元测试框架才能编写单元测试脚本
-
C.单元测试要根据函数的设计逻辑来设计测试用例
-
D.单元测试等同于程序员在编码过程中的调试工作
7.软件测试的核心是:
-
A.对测试进行详尽且周全的计划
-
B.根据被测软件系统需求进行详尽的测试设计
-
C.选择多种指标,对测试展开全面评估
-
D.全面依托测试工具,自动执行软件测试
8.如下描述中正确的是:
-
A.测试与调试是一回事,因为测试和调试的目的都是为了找bug
-
B.测试与调试不是一码事,因为测试的目的是为了找bug,而调试的目的是定位bug
-
C.测试与调试不是一码事,测试时不知道是否有bug,而调试时已知有bug,但不知道导致bug的原因是什么
-
D.测试与调试是一回事,因为都是运行程序,找到问题
9.为了提高单元测试脚本的质量,我们不应采取的措施包括:
-
A.保证测试脚本的可读性
-
B.为测试代码添加判断逻辑
-
C.保证测试脚本简洁
-
D.使用Build-Operation-Check模式
10.下列关于等价类划分方法的说法中错误的是:
-
A.利用有效等价类设计的测试用例,可以检验程序是否实现了需求说明书中规定的功能和性能
-
B.利用无效等价类设计的测试用例,可以检验程序中功能和性能是否不符合需求说明书的规定
-
C.对同一个程序可能会划分出多种不同的等价类
-
D.对于有效等价类可以不设计测试用例
11.如下缺陷报告中最合适的描述是:
-
A.在某课程平台创建讨论帖,无法成功创建
-
B.在某课程平台创建讨论帖,在页面将看到两个完全一样的讨论帖,在讨论区创建讨论时,或在课程章节中创建讨论时,都出现上述现象
-
C.“在某课程平台的课程创建讨论帖出现重复帖”是一个描述清晰、简洁的缺陷标题
-
D.在某课程平台的“软件测试与质量”课程中,从课程章节创建讨论时,新建讨论帖成功后,在页面将看到两个完全一样的讨论帖,而预期应该只能看到一个讨论帖
12.给定如下的需求描述,请问错误的测试用例设计是:
要求实现一个函数,功能是比较两个字符串,例如,ABCDE和ABFDE,用形如<...B[X]D...>来表示二者的不同之处。其中,方括号[]中的内容表示两字符串的不同之处,当两个字符串存在相同子串时,如本例中的“AB”和“DE”,凡是超过上下文长度的字符均用省略号...表示。本例中,若上下文长度为1,则ABCDE和ABFDE,用形如<...B[X]D...>来表示二者的不同之处;而若上下文长度为0,则ABCDE和ABFDE,用形如<...[X]...>来表示二者的不同之处。
-
A.上下文长度为-1时,视为边界测试用例,且必须作为无效输入进行处理
-
B.从输入域来看,被比较的字符串长度为零,应视为边界测试用例,可考虑一个字符串长度不为零,另一个字符串长度为零的输入情况
-
C.从输出域来看,可将相同子串长度为零的情况视为边界测试用例
-
D.上下文长度为0或1时,视为边界测试用例,且必须作为系统有效输入进行处理
13.在同行评审之前,被评审的材料应满足一定条件才允许进行评审,下面描述中属于评审条件的有:
-
A.文档应符合相关标准模板
-
B.文档中应尽量使用专业术语
-
C.被评审的代码应控制在200行以上
-
D.文档应确保至少有15页
14.基于JUnit编写单元测试脚本时:
-
A.对某个test方法使用Ignore注解和为该test方法取消Test注解的作用是一样的
-
B.若希望让JUnit框架自动检测某方法的执行是否超时,可为该方法添加Ignore注解
-
C.测试类中的测试方法必须以test开头
-
D.若希望同时执行Atest类和Btest类中的部分方法,应使用RunWith(Categories.class)注解
15.已知下一日问题(本课程所使用的下一日问题例子)中,年份取如下测试数据: 1800, 1801, 2049, 2050,月份取如下测试数据: 1, 2, 11, 12,日期取如下测试数据: 1, 2, 30, 31,则如下哪个正交表最合适?
-
A.
-
B.
-
C.
-
D.
16.良好的单元测试脚本应做到:
-
A.保持测试用例执行的独立性
-
B.将所有执行结果输出到控制台
-
C.将测试代码放入产品代码,以便于执行测试
-
D.测试脚本应包含业务逻辑,以便于测试到各种情况
17.观察函数调用图时,错误的认识是:
-
A.若调用层次太深,则应将部分调用的函数合并为一个函数
-
B.若某节点被多个函数所调用,则该节点的传播速度很快
-
C.若某节点是叶子节点,则该节点的风险往往是最低的
-
D.若某节点的出度很大,说明该节点对缺陷非常敏感
18.选择覆盖指标对源代码设计测试用例时,常见的错误包括:
-
A.条件组合覆盖是最常用的逻辑覆盖指标
-
B.判定覆盖不一定能保证条件覆盖
-
C.修正的判定条件覆盖一般仅在逻辑表达式特别重要的情况下使用
-
D.判定覆盖可保证100%的语句覆盖
19.如下描述中正确的是:
-
A.对于领导者来说,要实施单元测试也要控制成本
-
B.在程序员眼中,实施单元测试意味着减少工作量,因为测试脚本是测试人员负责编写的
-
C.对于领导者来说,要实施单元测试就必须牺牲开发进度
-
D.在程序员眼中,实施单元测试意味着可以随意编码了
20.如下描述中正确的是:
-
A.性能测试通常要先于功能测试或者同步进行
-
B.功能测试可以发现性能问题,性能测试也能发现功能问题
-
C.被测系统如果存在瓶颈就不可使用
-
D.性能测试应覆盖到所有功能
21.基于JUnit框架执行单元测试时:
-
A.测试脚本不需要被测试
-
B.如果运行结果呈现黄色的进度条,说明测试全部通过
-
C.如果被测产品有缺陷,对应测试Error
-
D.如果测试脚本有缺陷,对应测试Failure
22.下面是对某公司缺陷管理流程的概括:测试人员提交新的BUG入库,缺陷状态置为1,高级测试人员验证缺陷,如果确认是BUG,分配给相应的开发人员,设状态为2,如果不是BUG ,则拒绝,设置状态为“拒绝”状态,开发人员查询状态为3的BUG, 做如下处理,如果不是BUG,则置状态为“拒绝”状态,如果是BUG 则修复并置状态为4,如果不能解决的BUG,要留下文字说明并保持 BUG为“拒绝”状态,测试人员查询状态为5的BUG,验证BUG是否 解决,做如下处理:如果BUG解决了置缺陷状态为6,如果BUG没有 解决则置状态为7。上述流程中1到7相对应的状态标识为:
-
A.新提交-打开-打开-关闭-修正-关闭-重新打开
-
B.打开-修正-关闭-修正-修正-关闭-打开
-
C.新提交-打开-打开-修正-修正-关闭-重新打开
-
D.新提交-打开-打开-修正-关闭-修正-重新打开
23.如描述中正确的是:
-
A.通过合并相似列降低测试用例规模时,一次仅能合并两个相似列
-
B.构建决策表的过程中可能会发现等价划分的漏洞
-
C.决策表最适于处理异常输入的情况
-
D.决策表应与边界值测试有机结合起来使用
24.计算缺陷率时,我们发现:
-
A.基于代码行,和基于功能来评估软件规模时,基于代码行的方法更合理一些
-
B.通过计算版本的缺陷数与KCSI的比值,可用于度量整个产品的代码质量
-
C.通过功能点衡量软件规模,是从用户角度进行评估的
-
D.在开发过程中,虽然代码行不断变化,但基于代码行的缺陷率是保持不变的
25.下面这个函数的圈复杂度为:
-
A.6
-
B.8
-
C.7
-
D.9
26.如果使用基于录制-回放的功能测试工具来执行自动化功能测试,则正确的描述是:
-
A.必须在执行测试脚本之前,让测试工具一次性识别所有被测对象,否则,无法执行测试脚本
-
B.基于该测试工具的自动化功能测试就是录制脚本、回放脚本的过程
-
C.自动功能测试的脚本必须以手工操作的方式生成,不能通过编程得到
-
D.该测试工具应支持设置数据表,从而实现对不同数据自动执行测试
27.如下关于测试用例的描述中,不存在理解错误的是:
-
A.测试用例中应给出明确的验证手段
-
B.测试用例设计得越详细越好,即每个测试用例应详细记录所有操作信息
-
C.测试用例设计应一步到位
-
D.发现缺陷的用例才是好的用例
28.以下描述中不正确的是:
-
A.不依赖于软件开发人员的技术,借助于销售和技术支持人员的努力,也可以提高软件的质量
-
B.为了保证软件的质量符合用户要求,需要在开发过程中尽量保证过程的完美
-
C.软件产品在交付给用户之前多半无法满足其所有质量要求
-
D.软件的质量要求会随着时间的变化而变化
29.在场景测试中,能够确保场景可行的方案是:
-
A.以上方案都不可行
-
B.将场景图转换为程序图,并借鉴独立路径测试的思想设计初始测试用例
-
C.基于原始业务需求构建场景
-
D.根据事件流的个数构建场景,有多少个事件流就有多少个场景
30.功能测试中应避免的措施包括:
-
A.录制一条业务流程尽可能长的测试脚本
-
B.录制脚本时提前识别被测系统中的对象
-
C.确保测试脚本相互独立,以避免不同脚本之间的影响
-
D.一个新的功能点开发完成后不着急立刻开发对应的功能测试脚本
31.如下描述中正确的是:
-
A.通过分析每秒点击量的变化情况,来判断系统是否稳定
-
B.查看事务概要图时,如果发现失败的事务非常多,则说明系统可能出现了瓶颈,或程序执行过程中发生了问题
-
C.通过查看事务响应时间可以分析测试场景运行期间,被测系统的性能趋势
-
D.可以通过综合查看每秒通过事务数和事务平均响应时间,来分析事务数目对执行时间的影响
32.如下描述中正确的是:
-
A.单元测试、集成测试、系统测试、验收测试都是不同的测试阶段
-
B.在软件发布前,有时会让小规模、有代表性的潜在用户试用软件,这种测试称为α测试
-
C.集成测试的测试对象是模块或组件
-
D.为了确保测试的进度,可将不同单元的测试并行展开
33.如下关于软件质量的描述中正确的包括:
-
A.软件质量涉及周期性的测量工作
-
B.软件质量控制的核心工作内容是找软件缺陷
-
C.从软件质量的角度来看,用户不仅仅是购买了一个产品,而且是购买了开发者的承诺(或保证)
-
D.从软件质量的角度看用户需求,用户需求是多样的,但不会随时间而变化
34.基于JUnit开发单元测试脚本时,我们应注意:
-
A.在一个test方法中仅包含1个断言
-
B.在一个test方法中仅包含1个测试用例
-
C.在一个test方法中可包含多个测试用例
-
D.在一个test方法中可包含多个断言
35.给定如下C语言代码段:
if( (A+10)==2 || (B-20)<3 )
C=0;
if( (A+30)>10 && (C-30)<0 )
B=30;
对于(A,B,C)的取值,所有能实现语句覆盖要求的测试用例包括:
-
A. (-8, 20, 3)
-
B.(-19, 0, 29)
-
C.(2, 30, 1)
-
D.(-30, 20, 30)
36.如下关于缺陷的描述中,不正确的是:
-
A.在测试报告中应明确描述缺陷是否可以修复
-
B.缺陷优先级一旦设定,将不能修改
-
C.对于严重性非常低的缺陷,没有必要进行修复
-
D.所有缺陷都必须在产品发布前得到修复
37.基于JUnit框架编写单元测试代码时,若要实现将多个测试类中的多个测试用例组织在一起,一次性执行,如下哪些措施是可行的:
-
A.利用运行配置或依托开发平台,可一次性运行当前工程中所有的测试
-
B.创建Java类,直接基于JUnitCore.runClasses,将多个测试类组织起来进行测试
-
C.利用测试套包,将多个测试类组织成测试套包进行测试
-
D.以上均不可行
38.如下关于软件质量的描述中不正确的包括:
-
A.检查提高软件质量
-
B.软件测试可以验证软件质量
-
C.软件测试可以提高软件质量
-
D.预防产生软件质量
39.如下属于白盒测试策略的包括:
-
A.桌面检查
-
B.基于CA工具的代码审查
-
C.系统测试
-
D.单元测试
40.使用测试管理工具对测试进行管理时,如下描述中正确的是:
-
A.通过在测试计划中包含测试轮次,可实现按照轮次执行测试
-
B.提交缺陷时,该缺陷必须与测试用例对应
-
C.创建项目时,必须指定项目经理
-
D.设置项目团队成员时,团队成员的角色可以与该用户的系统角色不同
41.给定一个加法函数int Add(int x, int y),其中,x,y的有效取值范围均为大于等于1且小于等于100的整数,则针对无效输入至少应设计一个测试用例,使其满足x和y均小于1
错
42.在图形用户界面的测试中,一个页面也可以视为一个单元。
对
43.缺陷报告中,每个缺陷的ID必须由人为按规则指定,不能由管理软件自动生成。
错
44.条件组合覆盖可以发现代码中所有可能的缺陷。
错
45.一旦给定明确的需求,黑盒测试用例设计就可以与产品开发并行展开。
对
46.McCall模型与Boehm模型十分类似,都是层次模型。
对
47.在单元测试中,针对被测类的所有方法都必须有对应的测试方法。
错
48.程序员对缺陷给出的处理方式如果是外部原因,不修复,重复的,不可重现,或符合设计的,则该缺陷将无法得到修复。
错
49.性能测试应尽量采用自动化方式来执行。
对
50.用代码行来估算软件规模比用功能点法进行估算更加精确,因为它是从开发的角度估算软件规模。
错