1、功能(黑盒)测试(二)及答案解析(总分:83.98,做题时间:90 分钟)一、选择题(总题数:22,分数:44.00)1.灰盒测试不同于白盒测试的地方是_。(分数:2.00)A.灰盒测试以可获得的系统结构信息为基础进行测试B.灰盒测试是黑盒测试的一种类型C.灰盒测试基本不涉及程序中所采用的数据结构D.灰盒测试基本不涉及程序中所采用的算法2.关于逻辑覆盖,下列说法正确的是_。(分数:2.00)A.在单元测试中不使用黑盒测试技术B.满足分支覆盖就一定满足条件覆盖和语句覆盖C.覆盖所有的独立路径就能够覆盖所有的分支D.白盒测试技术不同于黑盒测试技术之处是它可以减少测试用例数量3.在决策表中,列出各种
2、可能的单个条件的部分是_。(分数:2.00)A.动作桩B.条件桩C.条件项D.动作项4.在北京某个银行的人事信息管理软件中,系统允许用户输入人员的身份证号和进入本单位工作的日期。那么,下面哪一组是无效的输入值组合_。(分数:2.00)A.110108196111111321,1981.1.1B.110108198111111322,1981.1.1C.110108196810121323,2005.1.1D.1101081012132,2005.1.15.在边界值分析中,下列数据通常不用来作为测试数据的是_。(分数:2.00)A.正好等于边界的值B.等价类中的典型值C.刚刚大于边界的值D.刚刚
3、小于边界的值6.在测试一个政府办公信息系统时,需要输入邮政编码。相比之下,下面哪一组测试数据是测试邮政编码的最佳选择_。(分数:2.00)A.100080,10000,abc,410006,空白B.410006,空白,空值,41006,abcC.100080,100000,abc,空白,IOOOOOD.410006,abc,空值,100000,IOOOOO7.一个多用户的应用系统通常有用户管理功能,允许增加新的用户。用户信息一般包括用户名,假设规定用户名必须是以字母开头的、不超过 8 个字符的字母数字串,那么,下面哪组值均属于用户名的有效等价类_。(分数:2.00)A.a111111,L,Li
4、n-Yie,Lin-fengB.L1,a111111,glenford,1238123C.linyifei,a111111,glenford,MyersD.linyifei,a111111,glenford,GMyers8.把所有条件都是二元条件(真/假、是/否、0/1)的决策表称为是_。(分数:2.00)A.二元条目判定表B.有限条目判定表C.扩展条目判定表D.无限条目判定表9.根据等价类测试的原则,若规定了输入数据必须遵守的规则,则要确立的有效等价类个数为_,无效等价类个数为_。(分数:2.00)A.1 个,1 个B.1 个,0 个C.1 个,若干个D.1 个,2 个10.场景测试方法是基
5、于 IBM 推行的 RUP 的测试用例生成方法,该方法的出发点是_。(分数:2.00)A.事件流B.数据流C.控制流D.用例11.即席测试是不按照预先设计的测试用例,由测试人员凭经验和猜测,给出一些输入并运行软件产品,找出软件缺陷。这样可避免束缚于测试用例集,尽可能多地发现有价值的缺陷,下列属于即席测试的是_。(分数:2.00)A.罗列关于一个输入的所有可能的错误信息,尽可能使这些信息都显示一遍B.使用包含特殊字符的输入,例如系统保留字和保留字符C.对于每一个输入域,试图输入过长的字符串,直至输入缓冲区满甚至溢出D.以上全部12.测试程序时,不可能遍历所有可能的输入数据,而只能是选择一个子集进
6、行测试,那么最好的选择方法是_。(分数:2.00)A.随机选择B.划分等价类C.根据接口进行选择D.根据数据大小进行选择13.功能分析法是一种黑盒测试方法,其思想是:首先,分析系统的行为或具有的功能,将系统功能分解为一组功能点的集合。然后,针对每一个功能点,考查这个功能点的输入和输出,设计一个或一组测试用例,这些测试用例足以确认系统实现了这项功能;并针对受这项功能影响的系统的其他部分补充进行一些测试。由此,功能分析法的主要局限性是_。(分数:2.00)A.不能保证覆盖系统的各项功能B.不使用要测试的功能的不同输入值C.在需求规格说明书中不清楚或不完整时不能采用它D.不一定保证语句覆盖,即可能有
7、未测试的代码14.下列测试方法中,不属于黑盒测试的是_。(分数:2.00)A.基本路径测试法B.等价类测试法C.边界值分析法D.基于场景的测试方法15.考虑一个计算平方根的函数,其规格说明如下:(1)输入:浮点数。(2)输出:浮点数。(3)规格,当输入一个大于或等于零的浮点数时,函数输出其正的平方根并返回 true;当输入一个小于 0的浮点数时,函数显示输出错信息“非法输入值”并返回 false。按照规范导出法,应设计的测试用例数至少为_。(分数:2.00)A.1B.2C.3D.416.在第 15 题的程序测试中,若测试只采用这样测试用例:(a,b,c)=(1,1,-1)、(-1,1,1),那
8、么,没有覆盖或考虑到的情况有_。(分数:2.00)A.不满足条件组合覆盖B.b0 的情况C.既执行语句 k=k+a,又执行 k=k+cD.以上全部17.在第 15 题的程序测试中,若测试采用测试用例:(a,b,c)=(1,1,1)、(1,1,1),(-1,1,1)、(0,1,1),那么,可以实现的逻辑覆盖是_。(分数:2.00)A.条件覆盖B.判定覆盖C.路径覆盖D.条件组合覆盖18.下面一段小程序是判断一个长度为 n 的字符数组是否中心对称。例如,“abcddcba”或“abcdcba”就是中心对称。作为内部边界值,应填入()内的判断是_。Bool center-sym(char S, in
9、t n) /判断字符组 S 中的 n 各字符是否中心对称。若是则函数返回 true,否则返回 falseInt i=1, j=nwhile()If(si-1!=sj-1) return false; /i,j 从 1 开始计数,数组从 0 开始Elsei=i+1; j=j-1;Return true;(分数:2.00)A.ijB.i=j(判等)C.ijD.i!=j(判不等)19.用于表示在状态中输入条件与输出条件之间的对应关系的是_。(分数:2.00)A.逻辑功能B.状态图C.功能图D.控制流图20.阅读下列程序:int func(int a, b, c)int k=1;if(a0)| |(b
10、0)| |(a+c0) k=k+a;else k=k+b;if (c0) k=k+c;return k;采用逻辑覆盖进行测试,下列测试用例(a,b,c)的输入值,可以达到条件覆盖的是_。(分数:2.00)A.(a,b,c)=(1,1,1)、(-1,1,1)B.(a,b,c)=(1,1,1)、(-1,1,-1)C.(a,b,c)=(1,1,-1)、(1,1,1)D.(a,b,c)=(1,1,-1)、(-1,1,1)21.在等价类测试中,考虑从无效等价类取值,同时考虑多个等价类间的相互影响,这是_。(分数:2.00)A.弱一般等价类测试B.强一般等价类测试C.强健壮等价类测试D.弱健壮等价类测试2
11、2.因果图方法最终生成的是_。(分数:2.00)A.输入和输出的关系B.测试用例C.因果图D.决策表二、论述题(总题数:4,分数:40.00)考虑一个根据以下简单规格确认输入数有效性的应用程序:(1)输入数由数字、符号“+”或“-”开始。(2)该数字或符号后面可接任意位数的数字。(3)这些数字可以有选择地后接用英文句号表示的小数点。(4)任何输入数,不管是否有小数点,都应该以空格结束。请根据以上处理规则:(分数:9.99)(1).画出相应的状态转换图。(分数:3.33)_(2).根据状态转换图,列出相应的状态转换表,给出“当前状态”、当前状态允许的“输入”和对应每一个输入下的“下一个状态”。(
12、分数:3.33)_(3).根据状态转换图和状态转换表导出基本路径测试的测试用例及其覆盖的测试路径。(分数:3.33)_下图是一个简单的 ATM 机中描述验证信用卡 PIN 活动的有限状态机。其中包含 5 个用 表示的状态和8 个用一表示的转移。转移上的标签所遵循的是:横线上方是引起转移的事件,横线下方是与该转移相关联的行动。该有限状态机允许储户有 3 次输入 PIN 的机会,如果 3 次都输入错误,则停止交易退卡。(分数:9.99)(1).请给出与此有限状态机等价的控制流图。(分数:3.33)_(2).确定基本测试路径集。(分数:3.33)_(3).设计测试用例以覆盖基本测试路径。(分数:3.
13、33)_23.采用等价类划分方法为某保险公司计算保费率的程序设计测试用例。某保险公司的人寿保险的保费计算方式为:投保额保险费率,其中,保险费率依点数不同而有区别,10点及 10 点以上保险费率为 0.6%,10 点以下保险费率为 0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定的,具体规则如下表所示。年龄 性别 婚姻 抚养人数2039 4059 其他 M F 已婚 未婚 1 人扣 0.5 点最多扣 3 点6 点 4 点 2 点 5 点 3 点 3 点 5 点 (四舍五入)问题:根据条件使用等价类划分的方法设计测试用例。(分数:10.00)_24.采用基于因果图的方法为下列程序
14、设计测试用例。某一程序的规格说明:第一列字符必须是 A 或者 B,第二列字符必须是一个数字,在此情况下进行文件的修改。但是,若第一列字符不正确,则给出信息 L,若第二列字符不是数字,则给出信息 M;若满足条件,则修改文件。问题:用基于因果图方法设计测试用例。(分数:10.00)_功能(黑盒)测试(二)答案解析(总分:83.98,做题时间:90 分钟)一、选择题(总题数:22,分数:44.00)1.灰盒测试不同于白盒测试的地方是_。(分数:2.00)A.灰盒测试以可获得的系统结构信息为基础进行测试 B.灰盒测试是黑盒测试的一种类型C.灰盒测试基本不涉及程序中所采用的数据结构D.灰盒测试基本不涉及
15、程序中所采用的算法解析:2.关于逻辑覆盖,下列说法正确的是_。(分数:2.00)A.在单元测试中不使用黑盒测试技术B.满足分支覆盖就一定满足条件覆盖和语句覆盖C.覆盖所有的独立路径就能够覆盖所有的分支 D.白盒测试技术不同于黑盒测试技术之处是它可以减少测试用例数量解析:3.在决策表中,列出各种可能的单个条件的部分是_。(分数:2.00)A.动作桩B.条件桩 C.条件项D.动作项解析:4.在北京某个银行的人事信息管理软件中,系统允许用户输入人员的身份证号和进入本单位工作的日期。那么,下面哪一组是无效的输入值组合_。(分数:2.00)A.110108196111111321,1981.1.1B.1
16、10108198111111322,1981.1.1 C.110108196810121323,2005.1.1D.1101081012132,2005.1.1解析:5.在边界值分析中,下列数据通常不用来作为测试数据的是_。(分数:2.00)A.正好等于边界的值B.等价类中的典型值 C.刚刚大于边界的值D.刚刚小于边界的值解析:6.在测试一个政府办公信息系统时,需要输入邮政编码。相比之下,下面哪一组测试数据是测试邮政编码的最佳选择_。(分数:2.00)A.100080,10000,abc,410006,空白B.410006,空白,空值,41006,abc C.100080,100000,abc
17、,空白,IOOOOOD.410006,abc,空值,100000,IOOOOO解析:7.一个多用户的应用系统通常有用户管理功能,允许增加新的用户。用户信息一般包括用户名,假设规定用户名必须是以字母开头的、不超过 8 个字符的字母数字串,那么,下面哪组值均属于用户名的有效等价类_。(分数:2.00)A.a111111,L,Lin-Yie,Lin-fengB.L1,a111111,glenford,1238123C.linyifei,a111111,glenford,Myers D.linyifei,a111111,glenford,GMyers解析:8.把所有条件都是二元条件(真/假、是/否、0
18、/1)的决策表称为是_。(分数:2.00)A.二元条目判定表B.有限条目判定表 C.扩展条目判定表D.无限条目判定表解析:9.根据等价类测试的原则,若规定了输入数据必须遵守的规则,则要确立的有效等价类个数为_,无效等价类个数为_。(分数:2.00)A.1 个,1 个B.1 个,0 个C.1 个,若干个 D.1 个,2 个解析:10.场景测试方法是基于 IBM 推行的 RUP 的测试用例生成方法,该方法的出发点是_。(分数:2.00)A.事件流B.数据流C.控制流 D.用例解析:分析 场景测试方法是基于 IBM 推行的 RUP 的测试用例生成方法。该方法从系统分析的结构用例出发,通过对每个用例的
19、场景进行分析,逐步实现测试用例的构造。11.即席测试是不按照预先设计的测试用例,由测试人员凭经验和猜测,给出一些输入并运行软件产品,找出软件缺陷。这样可避免束缚于测试用例集,尽可能多地发现有价值的缺陷,下列属于即席测试的是_。(分数:2.00)A.罗列关于一个输入的所有可能的错误信息,尽可能使这些信息都显示一遍B.使用包含特殊字符的输入,例如系统保留字和保留字符C.对于每一个输入域,试图输入过长的字符串,直至输入缓冲区满甚至溢出D.以上全部 解析:12.测试程序时,不可能遍历所有可能的输入数据,而只能是选择一个子集进行测试,那么最好的选择方法是_。(分数:2.00)A.随机选择B.划分等价类
20、C.根据接口进行选择D.根据数据大小进行选择解析:13.功能分析法是一种黑盒测试方法,其思想是:首先,分析系统的行为或具有的功能,将系统功能分解为一组功能点的集合。然后,针对每一个功能点,考查这个功能点的输入和输出,设计一个或一组测试用例,这些测试用例足以确认系统实现了这项功能;并针对受这项功能影响的系统的其他部分补充进行一些测试。由此,功能分析法的主要局限性是_。(分数:2.00)A.不能保证覆盖系统的各项功能B.不使用要测试的功能的不同输入值C.在需求规格说明书中不清楚或不完整时不能采用它D.不一定保证语句覆盖,即可能有未测试的代码 解析:14.下列测试方法中,不属于黑盒测试的是_。(分数
21、:2.00)A.基本路径测试法 B.等价类测试法C.边界值分析法D.基于场景的测试方法解析:15.考虑一个计算平方根的函数,其规格说明如下:(1)输入:浮点数。(2)输出:浮点数。(3)规格,当输入一个大于或等于零的浮点数时,函数输出其正的平方根并返回 true;当输入一个小于 0的浮点数时,函数显示输出错信息“非法输入值”并返回 false。按照规范导出法,应设计的测试用例数至少为_。(分数:2.00)A.1B.2 C.3D.4解析:解析 规范导出的测试是根据相关的规格说明书描述来设计测试用例的。每一个测试用例用来测试一个或多个规格说明的陈述语句。规范导出法就是根据陈述规范所用语句的顺序来响
22、应的为被测单元设计测试用例。16.在第 15 题的程序测试中,若测试只采用这样测试用例:(a,b,c)=(1,1,-1)、(-1,1,1),那么,没有覆盖或考虑到的情况有_。(分数:2.00)A.不满足条件组合覆盖B.b0 的情况C.既执行语句 k=k+a,又执行 k=k+cD.以上全部 解析:17.在第 15 题的程序测试中,若测试采用测试用例:(a,b,c)=(1,1,1)、(1,1,1),(-1,1,1)、(0,1,1),那么,可以实现的逻辑覆盖是_。(分数:2.00)A.条件覆盖B.判定覆盖 C.路径覆盖D.条件组合覆盖解析:18.下面一段小程序是判断一个长度为 n 的字符数组是否中心
23、对称。例如,“abcddcba”或“abcdcba”就是中心对称。作为内部边界值,应填入()内的判断是_。Bool center-sym(char S, int n) /判断字符组 S 中的 n 各字符是否中心对称。若是则函数返回 true,否则返回 falseInt i=1, j=nwhile()If(si-1!=sj-1) return false; /i,j 从 1 开始计数,数组从 0 开始Elsei=i+1; j=j-1;Return true;(分数:2.00)A.ij B.i=j(判等)C.ijD.i!=j(判不等)解析:解析 内部边界值测试可以用来发现一些内部错误,如误把“”写
24、为“=”。但内部边界值测试应作为一种补充方法,在其他方法的最后使用。19.用于表示在状态中输入条件与输出条件之间的对应关系的是_。(分数:2.00)A.逻辑功能 B.状态图C.功能图D.控制流图解析:20.阅读下列程序:int func(int a, b, c)int k=1;if(a0)| |(b0)| |(a+c0) k=k+a;else k=k+b;if (c0) k=k+c;return k;采用逻辑覆盖进行测试,下列测试用例(a,b,c)的输入值,可以达到条件覆盖的是_。(分数:2.00)A.(a,b,c)=(1,1,1)、(-1,1,1)B.(a,b,c)=(1,1,1)、(-1,
25、1,-1) C.(a,b,c)=(1,1,-1)、(1,1,1)D.(a,b,c)=(1,1,-1)、(-1,1,1)解析:21.在等价类测试中,考虑从无效等价类取值,同时考虑多个等价类间的相互影响,这是_。(分数:2.00)A.弱一般等价类测试B.强一般等价类测试C.强健壮等价类测试 D.弱健壮等价类测试解析:22.因果图方法最终生成的是_。(分数:2.00)A.输入和输出的关系B.测试用例C.因果图D.决策表 解析:二、论述题(总题数:4,分数:40.00)考虑一个根据以下简单规格确认输入数有效性的应用程序:(1)输入数由数字、符号“+”或“-”开始。(2)该数字或符号后面可接任意位数的数
26、字。(3)这些数字可以有选择地后接用英文句号表示的小数点。(4)任何输入数,不管是否有小数点,都应该以空格结束。请根据以上处理规则:(分数:9.99)(1).画出相应的状态转换图。(分数:3.33)_正确答案:(*)解析:(2).根据状态转换图,列出相应的状态转换表,给出“当前状态”、当前状态允许的“输入”和对应每一个输入下的“下一个状态”。(分数:3.33)_正确答案:(状态 执行情况当前状态 Y Y Y Y输入 Y Y Y Y下一个状态 N Y Y Y输入 N Y N Y下一个状态 N N Y Y当前状态 Y Y N YS1-S2-S1 S1-S2-S3-S2-S1 S1-S2-S3-S1
27、S1-S2-S3-S2-S3-S1注:Y执行,N不执行。)解析:(3).根据状态转换图和状态转换表导出基本路径测试的测试用例及其覆盖的测试路径。(分数:3.33)_正确答案:(基本路径集=cache,复杂度=4。设计测试用例如下:输入空值,执行路径 S1-S2-S1。输入 abc,空值,执行路径 S1-S2-S3-S2-S1。输入 1.23_,执行路径 S1-S2-S3-S1。输入 abc,4.56_执行路径 S1-S2-S3-S2-S3-S1。)解析:下图是一个简单的 ATM 机中描述验证信用卡 PIN 活动的有限状态机。其中包含 5 个用 表示的状态和8 个用一表示的转移。转移上的标签所遵
28、循的是:横线上方是引起转移的事件,横线下方是与该转移相关联的行动。该有限状态机允许储户有 3 次输入 PIN 的机会,如果 3 次都输入错误,则停止交易退卡。(分数:9.99)(1).请给出与此有限状态机等价的控制流图。(分数:3.33)_正确答案:(把有限状态自动机图的状态用节点代替,迁移用弧线代替,则可画出相应的控制流图。*)解析:(2).确定基本测试路径集。(分数:3.33)_正确答案:(上图的环路复杂性度量 V(G)为 5(区域数或者 V(G)=E-N+2),所以基本路径集合共有 5 条独立的路径:S1-S1.S1-S2-S5S1-S2-S3-S4-S1.S1-S2-S3-S5S1-S
29、2-S3-S4-S5)解析:(3).设计测试用例以覆盖基本测试路径。(分数:3.33)_正确答案:(为每一条独立路径各设计一组测试用例,以便强迫程序沿着该路径至少执行一次。插入无效卡。插入有效卡一正确输入 PIN 码按下事物选择按钮。插入有效卡一第一次错误输入 PIN 码一第二次错误输入 PIN 码一第三次错误输入 PIN 码。插入有效卡一第一次错误输入 PIN 码一第二次正确输入 PIN 码一按下事物选择按钮。插入有效卡一第一次错误输入 PIN 码一第二次错误输入 PIN 码一第三次正确输入 PIN 码按下事物选择按钮。)解析:23.采用等价类划分方法为某保险公司计算保费率的程序设计测试用例
30、。某保险公司的人寿保险的保费计算方式为:投保额保险费率,其中,保险费率依点数不同而有区别,10点及 10 点以上保险费率为 0.6%,10 点以下保险费率为 0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定的,具体规则如下表所示。年龄 性别 婚姻 抚养人数2039 4059 其他 M F 已婚 未婚 1 人扣 0.5 点最多扣 3 点6 点 4 点 2 点 5 点 3 点 3 点 5 点 (四舍五入)问题:根据条件使用等价类划分的方法设计测试用例。(分数:10.00)_正确答案:(分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类),如下
31、表所示。其中,年龄:一位或两位非零整数,值的有效范围为 199。性别:一位英文字符,只能取值M或 F。婚姻:字符,只能取值已婚或未婚。抚养人数:空白或一位非零整数,值的范围为 19。输入条件 有效等价类 编号 无效等价类 编号2039 岁 14059 岁 2小于 1 12年龄 16 岁 6099岁 3 大于 99 13非英文字符 14单个英文字符 4非单个英文字符 15M 5性别F 6除M和F之外的其他单个字符 16已婚 7婚姻未婚 8除已婚和未婚之外的其他字符 17空白 9 除空白和数字之外的其他字 符 1816 人 10 小于 1 19抚养人数69 人 11 大于 9 20根据表 5-10
32、 中的等价类表,设计覆盖所有等价类的测试用例,如下表所示。 输入数据 预期输出测试用例编号 年龄 性别 婚姻 抚养人数 保险费率1 27 F 未婚 空白 0.6%2 50 M 已婚 2 0.6%3 70 F 已婚 7 0.1%4 0 M 未婚 空白 无法推算5 100 F 已婚 3 无法推算6 99 男 已婚 4 无法推算7 1 Child 未婚 空白 无法推算8 45 N 已婚 5 无法推算9 38 F 离婚 1 无法推算10 62 M 已婚 没有 无法推算11 18 F 未婚 0 无法推算12 40 M 未婚 10 无法推算)解析:24.采用基于因果图的方法为下列程序设计测试用例。某一程序
33、的规格说明:第一列字符必须是 A 或者 B,第二列字符必须是一个数字,在此情况下进行文件的修改。但是,若第一列字符不正确,则给出信息 L,若第二列字符不是数字,则给出信息 M;若满足条件,则修改文件。问题:用基于因果图方法设计测试用例。(分数:10.00)_正确答案:(通过具有因果图设计测试用例的基本步骤进行:(1)分析上面规格说明中的原因和结果,并给每个原因和结果赋予一个标识符,如表 5-12 所示。原因:1:第一个字符是 A2:第一个字符是 B3:第二个字符是一个数字结果:21:给出信息 L22:修改文件23:给出信息 M原因 结果C1 第一个字符是 A E1 给出信息 LC2 第一个字符
34、是 B E2 修改文件C3 第二个字符是一个数字 E3 给出信息 M(2)分析规格说明中的语义,找出原因和结果之间,原因和原因之间的对应关系,根据这些关系画出因果图,如下图所示。*(3)把因果图转换为决策表,如下表所示。1 2 3 4 5 6 7 81 1 1 1 1 0 0 0 02 1 1 0 0 1 1 0 03 1 0 1 0 1 0 1 0条件(原因)11 1 1 1 1 0 022 0 0 0 0 1 121 1 0 1 0 0 0动作(结果)23 0 1 0 1 0 1测试用例 A3A8 AMA? B5B4 BNB! C2X6 DYP;(4)根据上述决策表设计测试用例,如下表所示。 测试用例编号输入数据 预期输入测试用例编号输入数据 预期输出1 #3 修改文件 4 *B 给出信息 12 #A 给出信息 1 5 A1 给出信息 M3 *6 修改文件 6 GT 给出信息 1 和信息 M)解析: