测试用例常见编写方法-等价类法
·
结合实际网页来看这个问题。
现在我要注册牛客网,包括邮箱和密码。
首先明确要求,邮箱格式可以用正则表达式来表示为:
^[a-zA-Z0-9]+@(163|126|qq|foxmail|gmail|outlook)\.(com|us|fr|cn)$
等价类法的定义就是,在所有测试数据中,对具有共性的数据集合进行划分。常见划分方法就是有效等价类和无效等价类,简称正向和逆向,代表是否符合校验要求。最后具体步骤大概就是:1. 明确需求。2. 确定正向和逆向 3. 提取数据编写用例。
那我们可以先写逆向用例,比如说@无效
- 无@字符。例如xuwuyuan126.com
- @字符出现多次 xu@wu@yuan@gmail.com
- @字符位置放在串首 @xuwuyuanqq.com
- @字符在串尾 xuwuyuanoutlook.com@
- 以字母或者数字开头,邮件平台符合要求(126、qq等有效域名),最后带.com,但是@字符跑到用户名里去了(未夹在用户名和域名之间) xuwu@yuan126.com
邮箱域名无效
- 前面用户名都正确,但是邮箱域名没在163/126/qq等预选项中,最后跟合法的顶级域名(.com)。例如邮箱域名取hotmail。xuwuyuan@hotmail.com
- 同上,前面都正确,后面顶级域名也正确,邮箱域名取shu出错。xuwuyuan@shu.com
根域名问题
- 前面全部正确,但最后顶级域名格式错误,没在com/us/fr/cn等预选项中。例如可以写uk或者de。xuwuyuan@gmail.gb
- 同理。xuwuyuan@outlook.de
这些逆向用例不能被注册成功,所以最后必须要显示注册失败,不合法,才是预期测试结果。优先级可以定个P1,因为就算有恶意行为,故意输入垃圾数据,导致格式错误的邮箱被存库,也不会有太多影响,不会影响正常用户的使用体验。可以延缓处理,用于减少数据库冗余。
然后来看一下正向用例怎么写
写正向用例尽可能就合为一条,这样可以降低工作量,确保提测后的高效验证。尽可能让前面的用户名满足正则匹配式里的所有情况,即26个大小写字母或数字组合。然后跟一个@,再编排域名,尽可能用到所有正则匹配式里的合法邮箱域名,例如gmail,126...
最后对于顶级域名,也要尽可能铺满正则式里的所有选项。
2xuwM4uyuan@gmail.fr
xuwuKyuan55@foxmail.cn
3xu7UkenvTan@126.com
这些正向用例必须被注册成功,合法,才是与其测试结果。优先级必须定为P0,因为正常用户都必须要通过格式正确的邮箱进行注册。若无法注册,他们的使用体验会受到很大影响。而正常用户又占所有用户的大头。所以必须保证正向用例的实现。
逆向用例也就是控制变量法,将某个局部改错,然后其他部分保持正确。写正向用例时,可以尽可能合为一条,以此降本增效。
更多推荐
所有评论(0)