1 / 14
文档名称:

软件技术基础第5章.ppt

格式:ppt   大小:448KB   页数:14页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件技术基础第5章.ppt

上传人:yzhluyin9 2018/7/29 文件大小:448 KB

下载得到文件列表

软件技术基础第5章.ppt

相关文档

文档介绍

文档介绍:动态检验
静态检验
正确性证明
测试步骤
第5章软件检验
返回主目录
第5章软件检验
动态检验
动态检验就是指传统的测试,这种方法是使程序有控制地运行,并从不同角度观察程序运行的行为,以发现其中的错误。测试的关键是如何设计测试用例。测试方法不同,所使用的测试用例也不同。常用的测试方法有黑盒法和白盒法。黑盒法是指测试人员将程序看成一个“黑盒”,也就是说,他不关心程序内部是怎样做的,而只想检查程序是否符合它的“功能说明”。所以黑盒法测试时,测试用例都是完全根据程序的功能说明来设计的。如果想用黑盒法发现程序中的所有错误,则必须用输入数据的所有可能值来检查程序是否都能产生正确的结果。
程序的输入变量与输出变量
白盒法是指测试人员必须了解程序的内部结构,此时,测试用例是根据程序的内部逻辑结构来设计的。如果想用白盒法发现程序中的所有错误,则至少必须使程序中每种可能的执行路径都执行一次。
例如,,它有两个输入变量x、y,一个输出变量z。假定程序是在字长为32位的计算机上运行,且x、y都是整数,则输入数据的可能值有232×232=264种。
ms,!
。这个程序由一个循环语句组成,循环次数达20 次,循环体内是一组嵌套的IF语句,其可能的路径有多条,所以从A到B的路径多达520条。
程序控制流程图
如果用这么多情况测试它, ms,则完成测试需1512年!
这两种测试方法在设计测试用例上是不可取的,也是不可行的。为此,设计人员提出了以下几种设计测试用例的方法:随机抽取测试用例、抽取典型测试用例、抽取边界测试用例、抽取混合测试用例。这些设计测试用例的方法各有特点,至于使用哪种,可根据测试对象的不同分别选用一种,或联合使用。
由于评审的目的是发现错误,为了获得较好的效果,评审应由开发人员之外的人来主持,开发人员与评审人员相互独立是保证评审质量的重要措施之一。评审人员应在软件开发技术和检验技术方面受过良好的训练,有丰富的软件开发经验。
程序走查(Code Walkthrough)是另一种有效的评审活动。走查的关键在于:以人工运行作为媒介,通过这种方式启发与会者向程序员提出种种问题,从而发现程序中的错误。

评审的目的是尽量快、尽量多地发现错误,所以一般的做法是将软件中常见的各类错误列成清单作为评审条款。评审过程中按评审条款有针对性地进行检查,就可达到多、快、好、省的目的。
评审条款随系统的不同可有所不同,可根据软件系统的性质和复查专家的经验来设定。
正 确 性 证 明
动态检验和静态检验的基本问题在于不可能说明软件中不存在错误,人们所能做到的最好的结果是发现错误,因此自然希望能找到某种方法能确切地证明程序是没有错误的,这就出现了程序正确性证明的研究领域。
程序证明最常用的方法是归纳断言法,它对程序提出一组命题,如能用数学方法证明这些命题成立,就可以保证程序中不存在错误,即它对所有的输入都会产生预期的正确输出。但是程序证明存在两个问题:其一是如何设置命题和证明命题,其二是在证明中如何定义“错误”。
总之,程序正确性证明是一个鼓舞人心的想法,但距离实用还有一段路要科学技术人员去走。