软件工程第七章 实现的辅导资料(三)
发布时间:2024-02-28 10:02:09浏览次数:40软件工程第七章 实现的辅导资料(三)第七章 实现这周我们将继续学习课件第七章 实现的 7-9 节。本章的学习要求及需要掌握的重点内容如下:一、理解编码风格二、了解软件测试的目标,测试的方法和步骤三、熟悉单元测试、集成测试、验收测试的内容和过程四、掌握黑盒测试和白盒测试技术五、了解软件调试六、熟悉软件可靠性的概念,掌握估算平均无故障时间方法七、了解软件测试报告重点掌握内容:重点:软件测试的意义、过程、方法和策略难点:软件测试用例的设计七、黑盒测试技术、黑盒测试着重测试软件功能,错误类型为: 功能不正确或遗漏了功能; 界面错误; 数据结构错误或外部数据库访问错误; 性能错误; 初始化和终止错误。测试标准:测试用例尽可能少;一个测试用例能指出一类错误。等价划分:等价划分是一种黑盒测试技术,把程序的输入域划分成若干个数据类,据此导出测试用例。等价划分法力图设计出能发现若干类错误的测试用例,从而减少测试用例的数目。 每类中的一个典型值在测试中的作用与这一类中所有其他值的作用相同。使用等价划分法设计测试方案首先需要划分输入数据的等价类。常常还需要分析输出数据的等价类,以便根据输出数据的等价类导出对应的输入数据等价类。等价类划分的启发式规则:如果规定了输入值的范围,则可划分出一个有效的等价类(输入值在此范围内),两个无效的等价类(输入值小于最小值或大于最大值);
如果规定了输入数据的个数,则类似地也可划分出一个有效的等价类和两个无效的等价类;如果规定了输入数据的一组值,而且程序对不同输入值做不同处理,则每个允许的输入值是一个有效的等价类,此外还有一个无效的等价类(任一个不允许的输入值);如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从各种不同角度违反规则);如果规定了输入数据为整型,则可以划分出正整数、零和负整数等 3 个有效类;如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。设计测试方案时两个步骤:设计一个新的测试方案以尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步骤直到所有有效等价类都被覆盖为止;设计一个新的测试方案,使它覆盖一个而且只覆盖一个尚未被覆盖的无效等价类,重复这一步骤直到所有无效等价类都被覆盖为止。例子:虑到 PASCAL 编译器的固有检错功能,测试时不需要使用长度不等于 6 的数组,也不需要用非字符数组类型的参数。有效输入类:①1-6 个数字字符组成的数字串(最高位非 0);② 最高位为 0 的数字串; ③ 最高位左邻负号的数字串;无效输入类:④ 空字符串(6 位空格);⑤左边补位的既非 0 亦非空格;⑥ 最高位右边含有空格;⑦ 最高位右边含有其它非数字字符;⑧ 负号与最高位间有空格;有效输出类:
⑨ 在合法范围内的负整数;⑩ 0;⑾ 在合法范围内的正整数;无效输出类:⑿ 小于 - 32768 的负整数;⒀ 大于 32767 正整数。下面根据等价划分,设计出一套测试方案:① 1-6 个数字字符组成的数字串,最高位非 0;输出为合法正整数。1输入: 预期输出:1② 最高位为 0 的数字串,输出为合法正整数。0 0 0 0 0 1输入: 预期输出:1③ 负号与最高位数字相临;输出合法负整数- 0 0 0 0 1输入: 预期输出:-1④ 最高位为 0;输出 0。0 0 0 0 0 0输入: 预期输出:0⑤ 太小的负整数。- 3 2 7 6 9输入: 预期输出::“错误,无效输入”
⑥ 太大的正整数。3 2 7 6 8输入: 预期输出“错误,无效输入”⑦ 空字符串。1输入: 预期输出:“错误:没有数字”⑧ 左边补位的非 0 也非空格。a a a A A 1输入: 预期输出:“错误:非法填充”⑨ 最高位右边也含空格。1 2输入: 预期输出:“错误:无效输入”⑩ 最高位右边含其它非数字字符。0 0 1 x x 2输入: 预期输出:“错误:无效输入”11 负号与最高位间有空格。- 1 2输入: 预期输出:“错误:负号位置非法”边界值分析经验表明,处理边界情况时程序最容易发生错误。例如,许多程序错误出现在下标、纯量、数据结构和循环等等的边界附近。使用边界值分析方法设计测试方案首先应该确定边界情况。选取的测试数据应该刚好等于、刚刚小于
和刚刚大于边界值。通常设计测试方案时总是联合使用等价划分和边界值分析两种技术。错误推测不同类型不同特点的程序通常又有一些特殊的容易出错的情况。因此必须依靠测试人员的经验和直觉 ,从各种可能的测试方案中选出一些最可能引起程序出错的方案。错误推测法在很大程度上靠直觉和经验进行。它的基本想法是列举出程序中可能有的错误和容易发生错误的特殊情况,并且根据它们选择测试方案。八、调试调试是在测试发现错误之后排除错误的过程。软件错误的外部表现和它的内在原因之间可能并没有明显的联系。调试就是把症状和原因联系起来的尚未被人深入认识的智力过程。调试是在测试发现错误之后排除错误的过程。软件错误的外部表现和它的内在原因之间可能并没有明显的联系。调试就是把症状和原因联系起来的尚未被人深入认识的智力过程。调试途径有下列 3 种调试途径可以采用:蛮干法,回溯法,原因排除法1. 蛮干法蛮干法可能是寻找软件错误原因的最低效的方法。其他方法都失败时才使用这种方法。 这种方法印出内存的内容,激活对运行过程的跟踪,在程序中到处都写上 WRITE(输出)语句。更多情况下只会浪费时间和精力。必须首先进行周密的思考,有明确的目的,尽量减少无关信息的数量。2. 回溯法回溯是一种相当常用的调试方法,当调试小程序时这种方法是有效的。具体做法是,从发现症状的地方开始,人工沿程序的控制流往回追踪分析源程序代码,直到找出错误
原因为止。随着程序规模扩大,应该回溯的路径数目也变得越来越大,以至彻底回溯变成完全不可能了。3. 原因排除法对分查找法,归纳法,演绎法对分查找法:如果已经知道每个变量在程序内若干个关键点的正确值,则可以用赋值语句或输入语句在程序中点附近“注入”这些变量的正确值,然后运行程序并检查所得到的输出。如果输出结果是正确的,则错误原因在程序前半部分;反之,错误原因在程序后半部分。对错误原因所在的那部分重复使用这个方法,直到把出错范围缩小到容易诊断的程度为止。归纳法:是从个别现象推断出一般性结论的思维方法。首先把和错误有关的数据组织起来进行分析,以便发现可能的错误原因。然后导出对错误原因的一个或多个假设,并利用已有的数据来证明或排除这些假设。演绎法:从一般原理或前提出发,经过排除和精化的过程推导出结论。首先设想出所有可能的出错原因,然后试图用测试来排除每一个假设的原因。九、软件可靠性软件可靠性:程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。软件的可用性:程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。重要考点一、名词解释1. 等价划分:等价划分是一种黑盒测试技术,把程序的输入域划分成若干个数据类,据此导出测试用例。
2. 软件可靠性:程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。3.软件的可用性:程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。二、简答题1. 什么是黑盒测试?黑盒测试主要采用的技术有哪些?答案:黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试主要采用的技术有:等价分类法、边沿值分析法、错误推测法和因果图等技术。2. 等价分类法的测试技术采用的一般方法?答案:(1)为每个等价类编号;(2)设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止。(3)设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类, 重复这一步骤,直到所有无效等价类被覆盖为止。