期末答案——软件测试和质量保障MOOC(华中科技大)第五期

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. \L _{_16}\left ( 4^{5} \right )

  • B. \L _{4}\left ( 2^{3} \right )

  • C. \L _{8}\left ( 2^{7} \right )

  • D. \L _{9}\left ( 3^{4} \right )

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.‍用代码行来估算软件规模比用功能点法进行估算更加精确,因为它是从开发的角度估算软件规模。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值