15.6 - 语法测试

一、概述

  • 很多程序设计的说明书是采用形式化的方法进行描述的,对于这种程序规格说明书可以采用语法测试的技术进行测试。
  • 形式化的描述方法采用的是巴克斯范式,巴克斯范式是一种通过递归的思想来表达计算机语言符号集的定义规范。

二、基于两个目标来设计测试用例

使用语法测试技术设计测试用例时要基于下面两个目标进行设计:
1、正面测试
2、负面测试

三、语法测试测试用例的设计原则

1、每当语法强制选择时,就为该选择的每个备选方案导出一个“选项”。
2、每当语法强制执行迭代时,为此迭代导出至少两个“选项”;一个包含了最小重复次数,另一个则大于最小重复次数。
3、每当迭代被要求具有最大重复次数时,为此迭代导出至少两个“选项”,一个具有最大重复次数,另一个则超过最大重复次数。
4、对于任何输入,可以对定义的语法改变以导出无效输入(“变异”)。

四、巴克斯范式简单举例

1、单词=一个字母或多个字母

单词::=<字母>|<字母><单词>

2、email的语法

例如:123456abc@qq.com
规则: 名字@名字.域名
email   ::= <name> "@" <name> "." <domain>
name    ::= <alpha> | <alpha> <username>
alpha   ::= <letter> | <digit> | "_"
digit   ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
letter  ::= "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"
domain  ::= "com" | "edu" | "org"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值