第12讲 基于模型的测试.pptVIP

  • 11
  • 0
  • 约1.42万字
  • 约 94页
  • 2017-12-30 发布于湖北
  • 举报
第12讲 基于模型的测试.ppt

* * * * * * * * * * * * * * * * * * * * x1 x2 a b c d x1 a b 边界值分析法 (3) 最坏情况测试用例 边界值分析法 (4) 健壮最坏情况测试用例 * 参数值组合 所有组合: 所有特性的所有块的组合 测试数是每个变量的等价类数之积: ? Q i =1 (Bi) 三角形:7*7*7 = 343 太多? 每选择:每个特性的每个块的一个值在至少一个测试用例中被使用使用 Max Q i =1 (Bi) 测试数是所有特性的块数最大值: 太少? 参数值组合 怎样测试输入的组合? 正交数组测试 (Orthogonal array testing) 程序错误都是由少数几个参数的相互作用导致的 t覆盖正交数组 任意t(一般是2或3)个参数的所有可能取值组合至少被一个测试用例覆盖 三角形问题—正交数组(成对) 编号 a b c TC1 0 0 0 TC2 0 1 1 TC3 0 2 2 TC4 0 45 45 TC5 0 99 99 TC6 0 100 100 TC7 0 101 101 TC8 1 0 1 TC9 1 1 2 TC10 1 2 45 TC11 1 45 99 TC12 1 99 100 TC13 1 100 101 TC14 1 101 0 TC15 2 0 2 TC16 2 1 45 TC17 2 2 99 TC18 2 45 100 TC19 2 99 101 TC20 2 100 0 TC21 2 101 1 编号 a b c TC22 45 0 45 TC23 45 1 99 TC24 45 2 100 TC25 45 45 101 TC26 45 99 0 TC27 45 100 1 TC28 45 101 2 TC29 99 0 99 TC30 99 1 100 TC31 99 2 101 TC32 99 45 0 TC33 99 99 1 TC34 99 100 2 TC35 99 101 45 TC36 100 0 100 TC37 100 1 101 TC38 100 2 0 TC39 100 45 1 TC40 100 99 2 TC41 100 100 45 TC42 100 101 99 编号 a b c TC43 101 0 101 TC44 101 1 0 TC45 101 2 1 TC46 101 45 2 TC47 101 99 45 TC48 101 100 99 TC49 101 101 100 * 语法结构 以语法为基础 变异测试(Mutation Testing) 在程序/模型中引入小变化:变体( mutant) 设计测试使程序失败:杀死变体 失败:测试产生与原程序不同的输出 if (x y) z = x - y; else z = 2 * x; if (x y) ?if (x = y) z = x - y; ? z = x + y; ? z = x – m; else z = 2 * x; * 语法结构-BNF Stream ::= action* action ::= actG | actB actG ::= “G” s n actB ::= “B” t n s ::= digit1-3 t ::= digit1-3 n ::= digit2 “.” digit2 “.” digit2 digit ::= “0” | “1” | “2” | “3” | “4” | “5” | “6” | “7” | “8” | “9” 非终止符 终止符 产生规则 开始符 * 语法结构 终止符覆盖:测试包含语法中的每个终止符。 推导覆盖:测试包含每个可能从语法中推出的串。 产生式覆盖:测试包含语法中的每个产生式。 上述准则都是测试语法,怎样测试非语法方面? * 变异测试 基本串: 语法中的串 变异操作:指明串语法变化的规则 变体:应用一个变异操作的结果 * 基于语法的覆盖准则 变异覆盖 对每个变体m,测试集包含一个测试可以杀死m 被杀死的变体数称为变异得分(mutation score) 变异操作覆盖 对每个变异操作,测试集包含一个测试用例 * 示例 基本串 G 18 08.01.90 B 14 06.27.94 变异操作 actG 和actB互换 置换数字 变异 B 18 08.01.90 B 19 06.27.94 Stream ::= action* action

文档评论(0)

1亿VIP精品文档

相关文档