今天,我们来分析一个关于QQ邮箱注册的测试用例:
运用正交法,我们可以得到一个实验计划表,如下:
如图所示,注册页面共有三个输入框,正交表中呈现填写和不填写两种情况,而这三个输入框不一样了,因为这是 QQ 邮箱的注册,有邮箱名、昵称和密码,是有要求的。邮箱名要求3到8个英文字符,数字、点、减号和下划线组成,昵称要求是中文字符,并且不能为空。然后密码和邮箱名、昵称也不一样,长度 6 到 8 位,不能包括空格等。
这里的不填写只对应了无效等价类中的空的情况,其他情况则忽略了 比如:需要输入正确的邮箱名、错误的昵称、错误的密码。 那么这个正确邮箱名的测试数据,可以从邮箱名的有效等价类中选一个(如test_123-a@qq.com);错误昵称的测试数据,可以从昵称的无效等价类中选一个(如@@@)。
这三个输入框不是等价的,所以不能直接用正交法的填写或不填写。现在不等价的话,要按一个正常的逻辑来说,登录邮箱的话肯定要写昵称,注册邮箱的话肯定要写昵称,肯定要写密码。
不填写的话就是无效等价类,这时候这个填写与不填写就不成立了,填写与否是建立在三个输入框都是等价的情况下。现在这三个输入框是不等价的,每个框都有各自的要求,所以这时候既然他有要求了,也就意味着这三个输入框都必须填写,所以这时候他的正交方式就是以正确和错误来进行,也就是说让邮箱名正确,昵称正确,密码正确,这是一个正交。然后可以让邮箱名正确,昵称和密码错误,可以测出是不是符合。也可以只测昵称,其他的都不测,看看昵称是不是正确,也可以只测密码,其他几个保持正确,并看看实验结果。如下图所示:
填写错误邮箱名的时候,从无效的等价类里面随便选一个,然后写别的正确信息,密码错误的,也从无效等价里写一个。然后写正确的邮箱名和昵称。密码正确的话,就从邮箱和昵称的无效等价里面写一个错误的。也就是说一共写四个测试用例就够了。
其实这里面还能扩展很多,比如写一个有效的和两个无效的,邮箱名无效随便找一个,再找另一个昵称无效的,然后找密码有效的,就能组成一个了。如果找另一个昵称无效的,然后密码也找另一个无效的,又能组成一个组合了。
所以这个测试用例可以从无效等价类里面挨个的全部填写上,这样就多了。就是写第一个无效的,然后对应的密码写第二个无效的,然后昵称也写第二个无效的,接着是第三个、第四个依次对应。如下图所示:
下面我们来看一个误区,等价无效等价类里面,这里面包含中文。然后第二个是包含特殊字符,包含特殊字符时,还包含了一个中文字符,这样的话就弄了两个无效等价类合到一起了。
也就是说假如它不成立的话,是因为他加了中文,还是因为他加了字符呢?这样的话没法区别了。这里面又有中文又有特殊字符,这样就不清楚了。包含中文就只包含中文就行了,其他的让他正确。包含特殊字符,就不要加中文,其余的保持正确,只有这一个让他错误,这样才能无效。把所有无效的都放到测试用例里,中文也是无效的,特殊字符也是无效的。那这个测试不成功的话,到底是因为特殊字符呢还是因为中文?写到一起就分不清了,包括下面的把中文加上单引号,还有特殊字符又混了起来,三个混一起了。
等价类它比较纯粹,一定不能混合,就好像你要打算喝几种饮料,看看到底哪种比较好喝。本来是买了三种饮料,准备了三个杯子,按理说是一个杯子里面放一种饮料,然后分别尝尝每个杯子是什么味道。而这种做法就是在一个杯子里放好几种饮料,这样喝测不出来啥味道,都混淆了。不能让它全都混到一起,像腊八粥似的,啥都放里面了。这也是错误。
还有这个包含空格,也是同理。取无效等价类的时候,需要将某一元素设为反例,其余保持正确 这里的“哈”和“@”不能同时出现,如下图所示:
凡是看到大于号和小于号时,可以运用最常用的测试方法——边界值法。边界值法很简单,像这个要求 3 到 18 位字符,边界值就可以是 2、3、4 和17、18、19。还有这个 8 到 16 也是边界值,可以是 7, 可以,是8 ,也可以是9,就是在这个边界值的左右,16边界值的话,就是15,17是他的左右。
只要把需求文档分析出来,测试用例很好写。如果没分析的话,直接写测试用例,那将是一团浆糊。
凡是是多个输入框的通常都用正交法。正交设计完之后,针对每一个输入框对它进行正反等价类的取值,以边界值来取,也就是说一个元素取正确的话,其他取错误。在所有的无效等价类里面取一个作为一组,再取第二个作为第二组,再取第三个作为第三组等,把所有的无效等价类都遍历。尤其是当输入框很多时, 比如十个,运用正交法就可以清楚的帮你理清思路,避免遗漏。
以上就是今天分析的关于QQ邮箱注册的测试用例的解析,希望能对您有所帮助。