软件工程导论简答题参考资料——课后习题答案 联系客服

发布时间 : 星期三 文章软件工程导论简答题参考资料——课后习题答案更新完毕开始阅读52a160c36d175f0e7cd184254b35eefdc8d315ae

判定表

判定树

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

6、答:应该分别使用正常的输入数据和异常的输入数据,作为验收测试数据。

( 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是所要找的数。 (2)无效输入的等价类

数组实际长度不等于变元size的值。

为了使用边界值分析法设计测试方案,应该再考虑下述几种边界情况: ·数组长度为l,其元素是所要找的数。 ·数组长度为l,其元素不是所要找的数。 ·数组为空(长度为0)。

根据上面划分出的等价类及边界情况,可以设计出下述测试方案: ①数组长度为l,其正整数元素是所要找的数

输入:somearray={6},size=1,value=6 预期的输出:l ②数组长度为l,其负整数元素是所要找的数

输入:somearray={-20),size=1,value=20 预期的输出:l ③数组长度为l,其元素0是所要找的数

输入:somearray={0},size=1,value=0 预期的输出:l ④数组长度为l,其元素不是所要找的数

输入:somearray={6},size=1,value=8 预期的输出:-1 ⑤数组为空

输入:somearray={},size=0,value=6 预期的输出:-1 ⑥数组有偶数个元素,第1个元素是正整数且是所要找的数

输入:somearray={1,2,3,4},size=4,value=1 预期的输出:l ⑦数组有偶数个元素,最后一个元素是负整数且是所要找的数 输入:somearray={1,2,3,一4},size=4,value=4 预期的输出:4 ⑧数组有偶数个元素,其中一个元素0是所要找的数

输入:somearray={1,2,0,3},size=4,value=0 预期的输出:3 ⑨数组有偶数个元素,元素中没有所要找的数

输入:somearray={1,2,3,4},size=4,value=5 预期的输入:-1, ⑩数组有奇数个元素,第1个元素是0且是要找的数

输入:somearray={0,1,2),size=3,value=0 预期的输出:l (11)数组有奇数个元素,最后一个元素是负整数且是所要找的数

输入:somearray={1,2,一3},size=3,value=3 预期的输入:3 (12)数组有奇数个元素,没有要找的数

输入:somearray={1,2,3},size=3,value=3 预期的输出:-1 (13)数组实际长度不等于size

输入:somearray={1,2,3},size=2,value=1 预期的输出:“无效的size值”

第九章作业

2、答:

对象是面向对象方法学开发软件时对客观世界实体的抽象,它是由描述实体属性的数据和可以对这些数据施加的所有操作封装在一起构成的统一体。传统的数据是传统方法学开发软件时对客观世界实体的抽象,但是,这种抽象是不全面的:数据只能描述实体的静态属性,不能描述实体的动态行为。必须从外界对数据施加操作,才能改变数据、实现相应的行为。 对象与传统数据有本质的区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体。必须发消息请求对象主动地执行它的某些操作,处理它的私有数据,而不能直接从外界对它的私有数据进行操作。 5、答:

所谓模型,就是为了理解事物而对事物进行的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成,利用它们来定义和描述问题域中的术语和概念。更进一步地讲,模型是一种思维工具,利用这种工具可以把知识规范地表示出来。

众所周知,在解决问题之前必须理解所要解决的问题。对问题理解得越透彻,就越容易解决它。在软件开发的过程中,为了更好地理解客户要求解决的问题,往往需要建立问题域的模型。

为了开发复杂的软件系统,系统分析员应该从不同角度抽象出目标系统的特征,使用精确地表示方法构造系统的模型,验证模型是否满足用户对目标系统的需求,并在设计过程中逐步把和实现有关的细节加进模型中来,直到最终实现这个模型。对于那些过分复杂而不能直接理解的系统,特别需要建立模型。建立模型的目的主要是为了降低复杂性。人的头脑每次只能处理少量信息,模型通过把系统的重要部分分解成人的头脑一次能处理的若干个子部分,从而减少了系统的复杂度。 10、答: