第六章程序的测试.ppt
《第六章程序的测试.ppt》由会员分享,可在线阅读,更多相关《第六章程序的测试.ppt(31页珍藏版)》请在三一办公上搜索。
1、第六章、程序的测试,程序设计强调的是过程的实现。如何评价一个程序,首要的是看这个程序能否得出正确的结果。在保证正确性的前提下,看它执行程序的计算工作量(时间效率)和所占用的内存(空间效率)。,在联赛的评分测试中,评分者一般采用的是黑箱测试,即不看你的程序编得如何,而是看你的程序是否完成了试题给出的任务。评分者不仅在编程者最有可能失误的环节上设置了测试数据,以考核程序的正确性,而且对编程者可能采用的各种算法也作了效率分析,通过设定时间槛值来判定算法的优劣。由此可见,选手测试程序和优化效率的能力是联赛考核的重要内容。,正确性是考察程序质量永恒的准则,谁也不想设计一个得不出正确结果的程序,这是显而易
2、见的事。然而错误的程序比比皆是,甚至被多数人认为是正确的题解,还在不断地发现小的程序错误。这是因为:(1)正确性是指程序本身具备且仅具备问题所列举的全部功能。至于验证这些功能的背景条件(例如试题描述)是否正确,不是正确性考核的范畴。,(2)检验程序正确性的基本手段是测试,但测试只能指出程序的错误,而不能证明程序完全没有错误。因为要想把一个不太复杂的程序所有可能发生的值验算一遍,即便是频率为每秒千万次的计算机几十年也做不完,然而舍此又无法验证它的完全正确性。由上可知,测试是检验程序是否具备问题所列举的全部功能的途径。通过测试发现的错误越多,则程序的隐患越少,正确率越高,因而价值也就越大。,第一节
3、 系统的测试工具,程序设计是一项容易出现差错的工作。一般来说,程序的错误有两种:语法错误。这类错误可由编译程序查出。避免这类错误发生的办法:认真学习和切实掌握语言的功能和规范。语义错误。它是源程序经编译通过之后,在运行中出现的各种错误。通常有以下几种:书写错误的计算公式;忽视很少出现的极端情况,如溢出、越界、死锁、死循环等;程序结构或逻辑出错。,如果程序被证明语义有错,就转入调试,确定程序中可疑错误的确切性质,改正错误。调试程序的方法一般有两种:(1)静态查错。不用执行程序,仅根据程序和框图对求解过程的描述来发现错误。(2)动态查错。在程序执行的过程中寻找错误的确切位置。这就要求选手必须熟悉所
4、用语言(如Turbo Pascal)的集成环境,这些环境中含大量的动态调试工具。主要有:单步跟踪;执行到光标所在行;设置断点;状态检查等。,第二节 测试用例的选取方法,选取测试用例的方法一般有两种:(1)逻辑覆盖测试的白箱法;(2)根据程序功能导出测试用例的黑箱法。,一、白箱法,白箱测试是根据对程序内部逻辑结构的分析来选取测试用例。由于测试用例对程序逻辑覆盖的程度决定了测试完全性的程度,因此,白箱测试也称为逻辑覆盖测试。白箱测试用例的设计准则有:(1)语句覆盖(2)分支覆盖(3)条件覆盖(4)组合条件覆盖,1语句覆盖,语句覆盖准则是用足够多的测试用例,使程序中的每个语句都执行一遍,以尽可能多地
5、发现程序中的错误。,例如,某程序段为:if(a1)下图为这个程序段的流程图。,从流程图可以看出,只要能经过路径 ACBE,便可以将所有语句都执行一遍。显然,若取a=2与b=0(x任意)为测试数据,就可以完成这一测试任务。但是,这个测试用例不能检查出下列错误:第一个语句中的“and”误写为“or”;第二个语句中的“x1”误写为“x=1”等。因此,语句覆盖准则是很弱的,通常不宜采用。,2分支覆盖,分支覆盖准则也称判定覆盖准则。它要求通过足够多的测试用例,使程序中的每个分支至少通过一次。如在上图中,需要通过 ACBE 和 ABD 两条路径。为此,可以选用下列两个测试用例:(1)a=3,b=0,x=4
6、(测试路径 ACBE);(2)a=1,x=1,b任意(测试路径 ABD)。也就是说,通过两次测试,就可以使程序中的每个分支都通过一次。分支覆盖准则比语句覆盖准则严密了一些,但还是不够充分。这是因为在一个判定中往往包含有多个条件,而用分支覆盖并没有考虑将每个条件都测试一次。,3条件覆盖,条件覆盖准则是通过执行足够的测试用例,使每个判定中的每个条件都能得到两种不同的结果(true与false)。例如,上述例子中共有四个条件,有以下两个测试用例可使每个条件都能得到true值和false值。(1)a=2,b=1,x=1(a1为true,b=0为false,a=2为true,x1为false);(2)a
7、=1,b=0,x=3(a1为false,b=0为true,a=2为false,x1为true);,4.组合条件覆盖,通常,条件覆盖要比分支覆盖优越。但是条件覆盖并不能完全满足分支覆盖。例如,上述条件覆盖所使用的两个测试用例不能使第一个判定框为true,也不能使第二个判定框为false。于是,人们便提出一种更强的准则组合条件覆盖准则。组合条件覆盖准则要求通过足够多的测试用例,使每个判定中各条件的各种可能组合至少出现一次。,例如,对于上述例子来说,第一个判定框中的两个条件有以下四种组合:(1)条件组合1:a1,b=0;(2)条件组合2:a1,b不等于0;(3)条件组合3:a1;(2)条件组合6:a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 章程 测试
链接地址:https://www.31ppt.com/p-6105209.html