软件评测实验室测试工程师上岗
考试题
1. 目的:通过本测试掌握学员是否具备软件测试工作的初步能力。
2. 要求:本考试在员工上岗前进行,闭卷考试,考试时间90分钟,到点收卷。
实验室名称:姓名:
批卷人:年月日得分:
一、软件测试部分
1.软件测试的定义是什么?
软件测试的定义:为了发现程序中的错误而执行程序的过程。具体地说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心
出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。
2.软件测试的目的是什么?
软件测试的目的:
(1)测试是为了发现程序中的错误而执行程序的过程;
(2)好的测试
是极可能发现迄今为止尚未发现的错误的测试方案;
(3)成功的测试是发现了至今为止尚未发现的错误的测试。
3.软件测试的基本原则是什么?
软件测试的基本原则:
(1)所有软件测试都应该追溯到用户需求。
(2)完全的软件测试是不可能的。
(3)尽早地、不断地进行软件测试。
(4)设计测试用例时,要给出测试的预期结果。
(5)程序员避免测试自己的程序,开发小组和测试小组分开。
(6)要设计非法输入的测试用例。
(7)在对程序修改之后要进行回归测试。
(8)程序中尚未发现的错误的数量往往与在该段程序中已发现的错误的数量成正比。
4.什么是黑盒测试?黑盒测试检查的主要的方面有哪些?
黑盒测试:
黑盒测试时完全不考虑程序内部的结构和处理过程,只按照规格说明书的规定来检查程序是否符合它的功能要求。黑盒测试检查的主要方面有:
●程序的功能是否正确或完善;
●数据的输入能否正确接收,输出是否正确;
●是否能保证外部信息(如数据文件)的完整性等。
用黑盒法设计测试用例时,必须用所有可能的输入数据来检查程序是否都能产生正确的输出。
5.什么是白盒测试?
白盒测试:
白盒测试时将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构和处理过程。所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预定的要求正确工作。白盒测试又称为结构测试。
利用白盒测试设计测试用例时,包括以下三类测试:
(1)语句测试:要求程序中的每个语句至少测试一次;
(2)分支测试:要求程序中的每个分支至少测试一次;
(3)路径测试:要求程序中的每条路径至少测试一次。
6.什么是等价类划分?
等价类划分:
等价类划分是一种实用的测试技术,属于黑盒测试。
穷尽测试是不可能实现的,实际上也是不必要的,我们可以从所有可能的输入数据中选择一个子集来进行测试。如何选择这个子集,使得这个子集具有代表性,能尽可能多地发现程序中的错误,等价类划分就是基于这种考虑的一种实现方法。该方法根据输入数据和输出数据的特点,将程序输入域划分成若干个部分,即子集,然后从每个子集中选取具有代表性的数据作为测试用例。等价类划分的基本原则:
(1)如果输入条件规定了取值范围,则可划分出一个有效的等价类(输入值在此范围内)和两个无效的等价类(输入值小于最小值、输入值大于最大值)。
(2)如果输入条件规定了输入数据的个数,则可相应地划分出一个有效的等价类(输入数据的个数等于给定的个数要求)和两个无效的等价类(输入数据的个数少于给定的个数要求、输入数据的个数多于给定的个数要求)。
(3)如果输入条件规定了输入数据的一组可能的值,而且程序对这组可能的值做相同的处理,则可将这组可能的值划分为一个有效的等价类,而这些值以外的值划分成无效的等价类。
(4)如果输入条件规定了输入数据的一组可能的值,但是程序对不同的输入值做不同的处理,则每个输入值是一个有效的等价类,此外还有一个无效的等价类(所有不允许值的集合)。(5)如果输入条件规定了输入数据必须遵循的规则,则可以划分一个有效的等价类(符合规则)和若干个无效的等价类(从各种角度违反规则)。
划分出等价类后,根据以下原则设计测试用例:
(1)为每个等价类编号。
(2)设计一个新的测试用例,使它能包含尽可能多的尚未被覆盖的有效等价类。重复这一过程,直到所有的有效等价类都被覆盖。
(3)设计一个新的测试用例,使它包含一个尚未被覆盖的无效等价类。重复这一过程,直到所有的无效等价类都被覆盖。
7.什么是边界测试?
边界测试(边界值分析)
边界测试是一种选择测试数据的方法。按此方法所选择的测试数据应该接近于输入域(或输出域)、数据结构、过程参数等的边界或端点。程序往往在处理边界值的时候容易出错,比如数组的下标,循环的上下界等。针对这种情况设计测试用例的方法就是边界值分析方法。使用边界值分析方法设计测试用例时,首先要确定边界情况。通常输入等价类和输出等价类的边界,就是应该着重测试的程序边界情况。也就是说,应该选取恰好等于、小于和大于边界的值作为测试数据。
7.什么是单元测试?
单元测试:
单元测试又称模块测试,集中对软件设计的最小单位——模块进行测试,主要是为了发现模块内部可能存在的各种错误和不足。
进行单元测试时,根据程序的内部结构设计测试用例,主要使用白盒测试法。
8.单元测试的步骤是什么?
单元测试的步骤
单元测试的对象是模块。测试者必须自己动手设计这两类模块:驱动模块和桩模块。
驱动模块:相当于所测模块的“主程序”。它接收测试数据,把这些数据传送给所测模块,然后输出测试结果。
桩模块:也叫虚拟子程序。它的作用是模拟被测模块所调用的子模块。桩模块可以做少量的数据操作,一般情况下,不需要把实际子模块的所有功能都带进来。
二、软件质量评价部分
软件质量的定义:software quality
与软件产品满足规定的和隐含的需求的能力有关的特征和特性的全体。
软件产品的 6 个质量特性是什么?
?功能性
?可靠性
?易使用性
?效率
?可维护性
?可移植性
可靠性:
与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属性。
效率:
与在规定条件下,软件性能水平与所用资源量(资源可包括:其它的软件产品,硬件,
(如打印机,软盘),运行服务,维护,时间等等)之间的关系的一组属性。
软件质量度量的三层次模型
三层次模型由软件质量特性、质量二级特性和度量元三个层次组成。体系的第一层是软件
质量特性,他们代表软件质量面向管理的观点。体系的第二层是软件质量二级特性,他们是软件质量特性分解和转换的结果,是面向技术的观点。体系的第三层是度量元,每个质量二级特性分解为若干个度量元,度量元是一些可以获得的信息或数据。
三、软件工程部分
软件工程的基本原理
–用分阶段的生存周期
严格管理;
–坚持进行阶段评审;
–实行严格的产品控制;(配置管理)
–采用现代程序设计技术;(模块化、面向对象技术)
–结果应能清楚地审查;(重视文档)
–开发小组的人员应该少而精;
–承认不断改进软件工程实践的必要性。
在有关软件开发的国家标准与国家军用标准中,对软件文档的编写是如何规定的?
●在软件开发的各个阶段必须产生相应的文档。
●并按软件文档编制规范规定的格式与内容进行编写。
●软件开发单位必须保证交付的文档与运用的软件之间完全一致,符合开发的进度要
求。
在有关软件开发的国家标准与国家军用标准中,程序单元的规模是如何规定的?
对于用高级语言实现的软件单元,每个软件单元的源代码最多不应超过200行,一般不超过60行。
在有关软件开发的国家标准与国家军用标准中,对程序中的注释是如何规定的?
为提高可读性,在源程序中必须有足够详细的注释。注释应为功能性的,而非指令的逐句说明。注释的行数不得少于源程序总行数的1/5。
在模块中,至少应对有条件改变数据值或执行顺序的语句(即,分支转移语句、输入输出语
句、循环语句、调用语句)进行注释。具体的注释方法如下:
?分支转移语句:指出执行动作的理由;
?输入输出语句:说明所执行动作的理由及出口条件;
?循环语句:说明所执行动作的理由及出口条件;
?调用语句:说明调用过程的理由及被调模块的功能。
在有关软件开发的国家标准与国家军用标准中,对goto语句的使用是如何规定的?
?原则上不得使用GOTO语句。
?在使用GOTO语句能带来某些好处的地方,必须控制GOTO的方向,只许使用前向GOTO,不得使用后向GOTO。