在之前文章(如何使用思维导图更高效的设计测试用例?)提到了使用正则表达式帮助我们测试,这里就简单介绍下,只是说出我的经验而已,也请看到文章的朋友多指正~
在软件系统中,很多地方都会用到正则表达式,对于这种功能的测试,其实更多的就是测试其正则表达式的有效性,以下就我的经验列出了几个场景以及介绍下如何快速的对正则表达式进行测试。
讲解正则表达式的文章可以参考:http://deerchao.net/tutorials/regex/regex.htm
在线正则表达式测试:http://www.ostools.net/regex
1、校验邮箱地址密码等数据格式
校验数据格式的合法性是正则表达式的一项最常用的功能,正则表达式是一种形式化的字符串描述方法,只需要很少的代码就可以描述需要用到的字符串格式.
校验邮箱地址格式:
例如:6~18个字符,可使用字母、数字、下划线,需以字母开头
需要覆盖的用例:
1)输入长度19位邮箱地址
2)输入长度为6位的邮箱地址
3)输入长度为5位的邮箱地址
4)输入20位的邮箱地址
5)输入@前很短的满足长度要求的邮箱地址
6)输入短域名的满足长度要求的邮箱地址
7)输入@后域名较长的满足长度要求的邮箱地址
8)输入带‘_’的正常邮箱地址
9)输入含其他特殊字符的邮箱地址
10)输入数字开头的邮箱地址
11)输入下划线开头的邮箱地址
是否还是担心覆盖不全面呢?是否还有下划线在开头或末尾的情况?是否还有首位字母其余全数字的邮箱地址呢?还有大小写的情况呢?等等!
如果你理解了正则表达式,会让你放心很多了:
^[a-zA-Z]\w*@\w*(\.\w*){1,3}$
上面的正则表达式除了字符长度不好处理外,其余的情况都包括了,讲解一下:
^[a-zA-Z]:^匹配开始的字符串,即以字母开头不区分大小写
\w*:匹配0个或多个字母或数字或下划线
@:邮箱地址必不可少的符号
(\.\w*){1,3}:包含1~3个格式类似为.com的内容,包含了字母数字或下划线,例如yahoo.com.cn, z.cn的域名直接秒杀
$:匹配结束的字符串,这里即是以类似.com格式结束的内容
密码,身份证号码及URL中参数值等等的校验都是基于正则表达式的应用,以后再碰到类似的应用可以不用再琢磨case覆盖度是否够不够了,直接测试正则表达式会更高效喔。