- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.5 设计测试方案 逻辑覆盖 等价划分 边界值分析 错误推测 实用测试策略 7.5.1 逻辑覆盖 7.5.2 等价划分 7.5.3 边界值分析 7.5.4 错误推测 7.5.5 实用测试策略 错误推测法在很大程度上靠直觉和经验进行.它的基本想法是列举出程序中可能有的错误和容易发生错误的特殊情况,并且根据它们选择测试方案 等价划分法和边界值分析法都只孤立地考虑各个输入数据的测试功效,而没有考虑多个输入数据的组合效应,可能会遗漏了输入数据易于出错的组合情况 选择输入组合的有效途径 ⒈ 利用判定表或对应关系树为工具,列出输入阻抗数据各种组合号程序应作的动作(及相应的输出结果)之间的对应关系,然后为判定表的每一列至少设计一个测试有例 ⒉ 把计算机测试和人工检查代码结合起来。 * * 测试方案包括预定要测试功能,应该输入的测试数据和预期的结果 设计测试方案的基本目标是,确定一组最可能发现某个错误或某类错误的测试数据 本节介绍的设计技术主要有:适用于黑盒测试的等价划分、边界值分析以及错和推测法等腰三角形;适用于白盒测试的逻辑覆盖法 逻辑覆盖是对一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试 从覆盖源程序语句的详尽程度,测试数据执行程序逻辑的程度划分成以下一些不同的覆盖标准: 语句覆盖 语句覆盖的含义是,选择中够多的测试数据,使被测程序中每个语句至少执行一次 图7.6是一个被测模块的流程图,它的源程序(用PASCAL语言书写)如下: PROCEDURE EXAMPLE(A,B:REAL;VAR X:REAL); BEGIN IF (A1)AND(B=0) THEN X :=X/A; IF (A=2)OR(X1) THEN X :=X+1 END; 语句覆盖是很弱的逻辑覆盖标准,为了更充分地测试程序,可以采用下述的逻辑覆盖标准 2. 叛定覆盖 叛定覆盖又叫分支覆盖,它的含义是,不仅每个语句必须至少执行一次,而且每个叛定的每种可能的结果都应该至少执行一次,也就是每个叛定的每个分支都至少执行一次。 对于上述例子来说,能够分别覆盖路径sacbed和sabd的两组测试数据,或者可以分别覆盖路径sacbd和sabed的两组测试数据,都满足叛定覆盖标准。 例如,用下面两组测试数据就可做到叛定覆盖: Ⅰ A=3,B=0,X=3 (覆盖sacbd) Ⅱ A=2,B=1,X=1 (覆盖sabed) 叛定覆盖比语句覆盖强,但是对程序逻辑的覆盖程度仍然不高,例如,上面的测试数据只覆盖了程序全部的一半。 3. 条件覆盖 条件覆盖的含义是,不仅每个语句至少执行一次,而且使叛定表达式中的每个条件都取到各种可能的结果。 图7.6的例子中共有两个叛定表达式,每个表达式中有两个条件,为了做到条件覆盖,应该选取测试数据使得在a点有下述各种结果出现: A1,A≤1,B=0,B≠0 在b点有下述各种结果出现: A=2,A≠2,X1,X≤1 只需要使用下面两组测试数据就可以达到上述覆盖标准: Ⅰ .A=2,B=0,X=1 (满足A>1,B=0,A=2和X1的条件,执行路径sacbed) Ⅱ .A=1,B=1,X=1 (满足A≤1,B≠0,A≠2和X≤1的条件,执行路径sabd) 条件覆盖通常比叛定覆盖强,因为它使叛定表达式中每个条件都取到了两个不同的结果,叛定覆盖却只关心整个叛定表达式的值 4. 叛定/条件覆盖 叛定/条件覆盖的含义是选取足够多的测试数据,使得叛定表达式的每个条件都取到各种可能的值,而且每个叛定表达式也都取到各种可能的结果 对图7.6的例子而言,下述两组测试数据满足叛定/条件覆盖标准: Ⅰ.A=2,B=0,X=4 Ⅱ.A=1,B=1,X=1 但是,这两组测度数据也就是为了满足条件覆盖标准最初选取的两组数据,因此,有时叛定/条件覆盖也并不比条件覆盖更强 5. 条件组合覆盖 条件组合覆盖是更强的逻辑覆盖标准,它要求选取足够多的测试数据,使得每个叛定表达式中条件的各种可能组合都至少出现一次 对图7.6的例子,共有八种可能的条件组合,它们是: A>1,B=0 A>1,B≠0 A≤1,B=0 A≤1,B≠0 A=2,X>1 A=2,X≤1 A≠2,X≤1 A≠2,X≤1 和其它逻辑覆盖标准中的测试数据一样,条件组合⑤~⑧中的X值是指在程序流程图第二个叛定框(b点)的X值 下面的四组测试数据可以使上面列出的八种条件组合每种至少出现一次: A=2
文档评论(0)