软件工程导论课后习题答案内容摘要:

码转换成的数据流 程图 从伪码转换成的盒图 (1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。 本题图 618 所示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。 (2)使用附加的标志变量 flag,至少有两种方法可以把该程序改造为等价的结构化程序,下图所示盒图描绘了两个等价的结构化程序。 (3)不使用 flag 把该程序改造为等价的结构化程序的方法如下图所示。 令 P 代表交易的总金额, Q 代表每股的售价, n 代表 交易的股数。 判定表的每一列是一条计算规则。 例如,第 1 列 (规则 l)规定,当交易总金额 P 少于 1,000 元,且每股售价 Q 低于 l4 元,且交易的股数 n 是 l00 的倍数时,给经纪人的手续费为: (1+0. 05) 0. 084P 第 16 列 (规则 l6)表明,当交易总金额 P 超过 l0, 000 元,且每股售价 Q 在 14 元到 25 元之间,且交易的股数 n 不是 l00 的倍数时,手续费为: (1+0. 06)X(0. 04P+134) 表示手续费计算方法的判定表和判定树如下图所示。 判定表 判定树 4(3) 答: (1)语句覆盖的测试用例 因为每个判定表达式为真或为假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或为假各一次。 下面是实现语句覆盖的典型测试用例: ①使 3 个判定表达式之值全为假 输入: A=1, B=1, C=1 预期的输出: X=1, Y=2, Z=3 ②使 3 个判定表达式之值全为真 输入: A=20, B=40, C=60 预期的输出: X=10, Y=20, Z=30 (2)路径覆盖的测试用例 本程序共有 8 条可能的执行通路,为做到路径覆盖总共需 要 8 组测试数据。 下面是实现路径覆盖的典型测试用例: ① 3 个判定表达式之值全为假 输入: A=1, B=1, C=1 预期的输出: X=1, Y=2, Z=3 ② 3 个判定表达式依次为假、假、真 输入: A=1, B=1, C=60 预期的输出: X=1, Y=2, Z=30 ③ 3 个判定表达式依次为假、真、假 输入: A=1, B=40, C=1 预期的输出: X=1, Y=20, Z=3 ④ 3 个判定表达式依次为假、真、真 输入: A=1, B=40, C=60 预期的输出: X=1, y=20, Z=30 ⑤ 3 个判定表达式依次为真、假、假 输入: A=20, B=1, C=1 预期的输出: X=10, y=2, Z=3 ⑥ 3 个判定表达式依次为真、假、真 输入: A=20, B=1, C=60 预期的输出: X=10, y=2, Z=30 ⑦ 3 个判定表达式依次为真、真、假 输入: A=20, B=40, C=1 预期的输出: X=10, y=20, Z=3 ⑧ 3 个判定表达式全为真 输入: A=20, B=40, C=60 预期的输出: X=10, y=20, Z=30 答:应该分别使用正常的输入数据和异常的输入数据,作为验收测试数据。 ( 1 )用正常的输人数据作为测试数据 ①输入常规的出发点、目的地、 5 个位置校核点、高度、速度及飞机型号。 ②针对 5 对不同的出发点和目的地,重复执行测试①。 ③固定出发点、目的地、位置校核点、高度和速度,分别输入 3~ 5 种不同的飞机型号,重复执行测试①。 ④固定出发点、目的地、位置校核点、高度和飞机型号,分别输入 3~ 5 个不同的速度,重复执行测试①。 ⑤固定出发点、目的地、位置校核点、速度和飞机型号,分别输入 3~ 5 个不同的高度,重复执行测试①。 ⑥固定出发点、目的地、高度、速度和飞机型号,分别输入 3~ 5 组不同的位置校核点,重复执行测试①。 ⑦固定出发点、位置校核点、高度、速度和飞机型号,分别输入 3~ 5 个不同的目的地,重复执行测试①。 ⑧ 固定目的地、位置校核点、高度、速度和飞机型号,分别输入 3~ 5 个不同的出发点,重复执行测试①。 ⑨同时改变一对参数的值,其他参数的值固定,重复执行测试①。 ⑩同时改变 3 个参数的值,其他参数的值固定,重复执行测试①。 (11)以适当的方式改变描述天气状况的数据,重复执行测试①。 ( 2 )用边界数据值作为测试数据 ①分别使用距离非常近和距离非常远的两个地点作为出发点和目的地。 ②输入位置校核点的非常规组合。 ③分别输入非常高和非常低的高度值。 ④分别输入非常高和非常低的速度值。 ⑤输入极其少见的飞机型号。 ( 3 )用无效的数据作为测试数 ①用由字母数字字符和控制字符混合在一起组成的字符串作为出发点或目的地。 ②用数字 0 作为所有参数的值。 ③用负数作为高度和速度的值。 补充作业: 答:题中并没有给出实现函数 SEARCH 的算法,仅仅描述了它的功能,因此,只能用黑盒测试技术设计测试它的测试方案。 为了用等价划分法设计测试方案,首先需要划分输入数据的等价类。 根据该函数的功能,可以把它的输入数据划分成以下等价类: (1)有效输入的等价类 数组有偶数个元素,第 1 个元素是所要找的数。 数组有偶数个元素,最后一个元素是所要找的数。 数组有偶数个元素,数组中没有所要找的数。 数组有奇数个元素,第 1 个元素是所要找的数。 数组有奇数个元素, 最后一个元素是所要找的数。 数组有奇数个元素,数组中没。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。