当前位置:首页 > 陇东学院《软件工程》习题参考答案-
PUT(max,max2) END
(2)输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形。 解:如图:
PDL语言描述如下: GET(a,b,c)
IF (a+b>c and b+c>a and c+a>b) IF (a=b) IF (a=c)
PUT(\等边三角形\ELSE
PUT(\等腰三角形\ENDIF ELSE
第9页 共22页
IF(a=c)
PUT(\等腰三角形\ELSE IF (b=c)
PUT(\等腰三角形\ELSE
PUT(\一般三角形\ENDIF ENDIF ENDIF ELSE
PUT (\这不是一个三角形\ENDIF
5、用PAD图描述下面问题的控制结构。
有一个表A(1)、A(2)、...A(n),按递增顺序排列。给定一个Key值,在表中用折半法查找。若找到,将表位置i送入x,否则将零送到x,同时将key值插入表中。 算法:
(1)置初值H=1(表头),T=N(表尾)。 (2)置i=[(H+T)/2](取整)。
(3)若Key=A(i),则找到,i送到x;若Key>A(i),则Key在表的后半部分,i+1送入H;若KeyT为止。
(4)查不到时,将A(i),...A(N)移到A(i+1)...A(N+1),Key值送入A(i)中。 解:如图所示:
6、一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的个数及文件中空格字符的总个数。要求输出数据格式是每复制一行字符串后,另起一行打印出这个字符串中的空格数,
第10页 共22页
最后打印出文件空格的总个数,用Jackson方法设计该程序结构。
第7章
1、软件测试的目的是什么?软件测试中,应注意哪些原则? 答:软件测试的目的是为了发现软件的错误。 软件测试中应注意的原则有:
(1)测试用例应由输入数据和预期的输出数据两部分组成。这样便 于对照检查,做到有的放矢。 (2)测试且例不仅选用合理输入数据,还要选择不合理的输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接受,并给出相应的提示。
(3)除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。 (4)应制定测试计划并严格执行,排除随意性。 (5)长期保留测试用例。
(6)对发现错误较多的程序段,应进行更深入的测试。
(7)程序员应避免测试自己的程序。测试是一种\挑剔性\的行为,心理状态是测试自己程序的障碍。 2、什么是白盒测试法?有哪些覆盖标准?试对他们的检错能力进行比较?
答:白盒法测试法把测试对象看作一个打开的盒子,测试人员须了解程序内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。 白盒法有下列几种覆盖标准: 语句覆盖 判定覆盖
第11页 共22页
条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖
从上到下的覆盖标准其检错能力也从弱到强,其中条件组合发现错误的能力较强,凡满足其标准的测试用例,也必然满足前四种覆盖标准。在实际的逻辑测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例来达到路径覆盖的测试标准。
3、什么是黑盒测试法?采用黑盒技术测试用例有哪几种方法?这些方法各有什么特点?
答:黑盒测试法把被测试对象看成是一相黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。 采用黑盒技术测试用例的方法有:等价类的划分、边界值分析、错误推测和因果图。
等价类的划分,是将输入数据按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试。这样就把漫无边迹的随机测试改为有针对性的等价类测试,用少量有代表性的例子代替大量测试目的相同的例子,能有效地提高测试效率。但这个方法的缺点是没有注意选择某些高效的、能够发现更多错误的测试用例。
边界值分析法一般与等价类划分结合起来。但它不是从一个等价类中任选一个例子做代表,而是将测试边界情况作为重点目标,选取正好等于、刚刚大于和刚刚小于边界值的测试数据。(边界情况是指输入等价类和输入等价类边界上的情况。)这种方法可以查出更多的错误,因为在程序中往往在处理边界情况时易发生错误。
错误推测法是在测试程序时,人们根据经验或直觉推测程序中可能存在的错误,从而有针对性地编写检查这些错误的测试用例。
因果图能够有效地检测输入条件的各种组合可能会引起的错误。它的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。 这几种方法都不能提供一组完整的测试用例,在实际测试中应把各种方法结合起来使用。 综合策略:就是联合使用上述几种测试方法,尽可能多地发现程序中的错误。 4、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系? 答:软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。
单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。
集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。
系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。
5、单元测试有哪些内容?测试中采用什么方法?
答:单元测试主要针对模块的以下五个基本特征进行测试: (1)模块接口 (2)局部数据结构 (3)重要的执行路径 (4)错误处理 (5)边界条件
测试的方法是为被测试模块编写驱动模块和桩模块来实现被测试单元的可运行。通过驱动模块来模拟被测试模块的上级调用模块,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结构并输出。桩模块则用来代替被测试模块所调用的模块。它的作用是返回被测模块所需的信息。
第12页 共22页
共分享92篇相关文档