更多相关资料可以到我的github上看看:https://github.com/Kemoduoaaa/Software_Engineering
一、选择填空
1.【单选题】在测试一个长度为48000条指令的程序时,第一个月由甲、乙两名测试员各自独立测试这个程序。经过一个月测试后,甲发现并改正20个错误,使MTTF达到8h。与此同时,乙发现24个错误,其中的6个甲也发现了。以后由甲一人继续测试这个程序。估算刚开始测试时程序中总共有( )个潜藏的错误?
A、100
B、60
C、80
D、120
答案:C
解析:【考点】估算平均无故障时间的方法
本题中采用了分别测试法,因此,可估算出刚开始测试时程序中错误总数为ET=24/6*20=80
2.【单选题】等价划分法的一个假设是,每类中的一个( )在测试中的作用与这一类中所有其他值的作用相同。
A、最大值
B、最小值
C、边界值
D、典型值
解析:【考点】黑盒测试技术—等价划分法
等价划分法的一个假设是,每类中的一个典型值再测试中的作用与这一类中所有其他值的作用相同。
黑盒测试(功能测试):
在黑盒测试里,测试人员把被测试的软件系统看成是一个黑盒子,并不需要关心盒子的内部结构和内部特性,只关注软件的输入数据和输出结果,从而检查软件产品是否符合它的功能说明。
根据设计用例的方法不同,黑盒测试包括等价划分法、边界值分析法、错误推测法等。
3.【单选题】逻辑覆盖标准主要用于白盒测试。它主要包括语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖和条件组合覆盖等几种。其中,最弱的覆盖标准是( )。
A、语句覆盖
B、判定覆盖
C、条件组合覆盖
D、条件/判定覆盖
解析:【考点】白盒测试技术—逻辑覆盖
白盒测试(结构测试):
白盒测试,有时也称为玻璃盒测试,它关注软件产品的内部细节和逻辑结构,即把被测程序看成是一个透明的盒子。白盒测试需要对系统内部和工作原理有一个清楚的了解。
1.逻辑覆盖
语句覆盖问题回答:检测不出来错误,语句覆盖标准最低。
判定覆盖问题回答:检测不出错写问题,因为判定覆盖只把每个判定作为整体 看待。只要判定的结果取过真和假就OK,并不关心判定里面的关系式的取值。
例子解释:两个测试用例覆盖了关系式中的所有可能取值,满足条件覆盖;但站在判定覆盖的角度来看,判定A没有取真值,判定B没有取假值,所以不满足判定覆盖。
因此条件覆盖虽然强于判定覆盖,但不一定存在包含关系。
尽管选的测试用例满足条件覆盖,但依然解决不了错写问题。
这个覆盖也解决不了错写的问题。
此时可以解决错写问题
2.控制结构测试
4.【单选题】下列叙述中,符合程序设计风格指导原则的5条叙述是( )。
① 嵌套的重数应加以限制。 ② 尽量多使用临时变量。 ③ 不滥用语言特色。
④ 不用可以省略的括号。⑤ 使用有意义的变量名。 ⑥ 应尽可能把程序编得短些。
⑦ 把常见的局部优化工作留给编译程序去做。 ⑧ 注解越少越好。
⑨ 程序的格式应有助于读者理解程序。 ⑩ 应尽可能多用GOTO语句。
A、②③⑤⑥⑦
B、①③⑤⑦⑨
C、①④⑤⑧⑨
D、②④⑤⑦⑨
解析:【考点】程序设计风格
5.【单选题】如果在某班级管理系统中,班级的班委有班长、副班长、学习委员和生活委员,且学生年龄在15~25岁。若用等价类划分来进行相关测试,则( )不是好的测试用例。
A、(班长,20)
B、(班长,15)
C、(队长,15)
D、(队长,12)
答案:D
解析:【考点】黑盒测试—等价划分—选择测试用例(见题2)
一个测试用例里,要尽可能多地包含有效等价类,但只能包含一个无效等价类。
本题的有效等价类有:(1)担任班长、副班长、学习委员或者生活委员
(2)学生年龄在15-25岁之间
本题的无效等价类有:(1)担任除班长、副班长、学习委员、生活委员之外的班委
(2)学生年龄小于15岁
(3)学生年龄大于25岁
D选项包含了两个无效等价类;
6.【单选题】使用等价类划分法时,完全不考虑软件的( )。
A、内部结构
B、外部环境
C、顺序
D、业务流程
解析:【考点】黑盒测试—等价划分
等价划分是黑盒测试的一种,黑盒测试又称功能测试。在黑盒测试里,测试人员把被测试的软件系统看成是一个黑盒子,并不需要关心盒子的内部结构和内部特性,而只关注软件产品的输入数据和输出结果,从而检查软件产品是否符合它的功能说明。
7.【单选题】为了提高易读性,源程序内部应加功能性注释,用于说明( )。
A、数据的用途
B、程序段或语句的功能
C、模块参数的用途
D、模块总的功能
解析:【考点】编码风格:程序的内部文档—注释—功能性注释
8.【单选题】给定C语言程序如下:
当用路径覆盖法进行测试时,至少需要设计( )个测试用例。
A、3
B、5
C、4
D、8
解析:【考点】白盒测试—逻辑覆盖
9.【单选题】下列不属于软件配置复查目的的是( )。
A、确保文档与程序完全一致
B、保证软件配置的所有成分都齐全
C、确保软件具有完成测试所必须的细节
D、确保软件质量符合要求
解析:【考点】软件配置复查—目的
C.应改为具有完成软件维护所必须的细节
10.【单选题】下面的( )是错误的。
A、在程序设计中应尽可能对程序代码进行优化
B、在程序设计中使用括号以改善表达式的清晰性
C、不要修补不好的程序,要重新写
D、不要在注释中重复描述代码
解析:【考点】编码风格:语句构造(只摘取部分)
11.【单选题】单元测试的重点包括模块接口、( )、重要的执行通路、出错处理通路和边界条件。
A、不正确或遗漏的功能
B、外部信息访问
C、初始化或终止性错误
D、局部数据结构
解析:【考点】软件测试—单元测试
单元测试测试重点:模块接口、局部数据结构、重要的执行通路、出错处理通路、边界条件。
1.软件测试:
2.单元测试
12.【单选题】黑盒测试注重于测试软件的功能性需求,主要用于软件的后期测试。 ( )不能用黑盒测试检查出来。
A、程序控制结构错误
B、功能不对或遗漏错误
C、界面错误
D、外部数据库访问错误
答案:A
解析:【考点】黑盒测试(见题2)
黑盒测试又称功能测试、白盒测试又称结构测试
13.【单选题】在改正当前故障的同时可能会引入新的故障,这时需要进行 ( )。
A、性能测试
B、验收测试
C、功能测试
D、回归测试
解析:【考点】回归测试
14.【单选题】某城市的电话号码由3部分组成。这3部分的名称与内容分别是:地区码:空白或3位数字;前缀:非‘0’或‘1’开头的3位数字;后缀:4位数字。使用等价类划分法进行黑盒测试,如下测试用例中不合理的是( )。
A、(635)805-9321
B、(20A)223-4567
C、(3B4)043-12345
D、(7777)345-6789
答案:C
解析:【考点】黑盒测试—等价划分(见题2)
C.包含了一种以上的无关等价类,所以不合理
15.【单选题】下面的( )不是良好编码的原则。
A、在开始编码之前建立单元测试
B、建立一种有助于理解的直观布局
C、确保注释与代码完全一致
D、保持变量名简短以便代码紧凑
答案:D
解析:【考点】编码风格(太多了,PPT里看一遍就行)
D.变量名应能反映它所代表的实际东西,应有一定的实际意义。
16.【单选题】关于代码性能优化,下面( )是错误的。
A、应先通过测试找出限制效率的真正瓶颈
B、应以提高程序的全局效率为主,局部效率为辅
C、要优先改进耗时最多的部分
D、任何优化都不能破坏代码的正确性
解析:【考点】代码性能优化(没找到)
虽然性能分析工具指明了程序各个部分的耗时,但这也不意味我们改进效率一定要优先改进耗时最多的部分。固然,改进耗时最多的部分往往能得到最明显的效果,但这并不意味耗时最多的部分很容易改进。像上文所示的Split函数,虽然其耗时并非最多,但由于其改进非常简单,有时反而会成为我们优先改进的对象。在实际项目中,我们要在改进所能得到的效果以及改进所要投入的精力之间妥协,优先完成有能力做而效果又比较明显的性能优化。
二、判断
1.【判断题】可以用基于流图的环形复杂度描述测试一个单元或构件所需的工作量。
答案:√
2.【判断题】等价类划分法的主要思想是首先将所有的输入数据划分成若干个有效等价类,然后设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的等价类,重复这一步,直到所有的等价类都被覆盖为止。
答案:×
3.【判断题】白盒测试又叫做功能测试或数据驱动测试,黑盒测试又称为结构测试或逻辑驱动测试。
答案:×
4.【判断题】软件测试不仅能表明软件中存在错误,也能说明软件中不存在错误。
答案:×
5.【判断题】集成测试是测试和组装软件的系统化技术,进行集成测试时可以采用非渐增式测试和渐增式测试,其中渐增式测试实质上是同时完成单元测试和集成测试。
答案:√
6.【判断题】判定覆盖法则一定可以查出在判定中某些条件中关系运算符使用有误时产生的错误。
答案:×
7.【判断题】程序的McCabe环形复杂度决定了程序中独立路径的数量,而且这个数是确保程序中所有语句至少被执行一次所需的最少测试用例数量。
答案:×
8.【判断题】软件测试的目的是尽可能地发现程序中的错误和缺陷,详细严密的测试过程可以证明软件的正确性。
答案:×
9.【判断题】测试分析报告应把每个模块实际测试的结果,与软件需求规格说明书和概要设计说明书中规定的要求进行对照并作出结论。
答案:×