边界值分析法

在日常的测试工作中,比较重要的一个步骤就是写测试用例,那么如果我们写一个高质量的测试用例呢?选择写测试用例的方法很重要 。我们应该为不同的功能选择合适的方法 。比如一个注册页面,我们应该如何设计测试用例?
对于这类输入框较多、长度有限的功能模块,我们一般采用等价类划分和边界值分析来设计测试用例 。
等价类划分:等价类划分是将所有输入条件划分为若干等价类,然后从所有等价类中提取代表性数据进行测试的方法 。
有效的等价类:对程序合理而有意义的输入
等价类无效:程序输入无效
这里我们假设
用户名的限制是8-16位数字和大小写字母的组合
手机号码限制在11位
密码的限制是8-16个字母、数字和特殊符号的组合
【边界值分析法】首先,使用等价类划分
有效的等价类:所有信息填写正确
无效的等价类:它们中的一个填写不正确
无效等价类包括用户名为空、用户名填写不正确(用户名不能包含特殊字符、汉字、不小于8个字符且不大于16个字符)、用户名重复、手机号码为空、手机号码填写不正确(11位数字但不是手机号码、小于11位数字、大于11位数字、非数字)、手机号码重复、密码为空、密码填写不正确(小于8位数字且大于16位数字)
这里我只列出用户名的等价测试用例,其他输入框就不一一列出了
这样用例就不完整了,我们需要用边界值分析来辅助测试 。
边界值分析:边界值分析法不同于等价类划分法 。它从几个等价类中提取有代表性的数据进行测试,但是同时测试左右输入边界值 。
用户名长度为8-16位,比较小边界值为8,所以我们要测试不合格长度和比较小合格长度,即7和8;比较大边界是16,所以我们要测试比较大合格长度和不合格长度,即16和17 。
手机号码的长度限制是11位,所以我们要测试它的临界值,即10位和12位
密码长度限制为8-16位,比较小边界值为8,所以我们要测试不合格长度和比较小合格长度,即7和8;比较大边界是16,所以我们要测试比较大合格长度和不合格长度,即16和17 。
这里我只列出用户名的边界值用例
除了等价类划分和边界值分析,页面上还有一些其他的元素 。我们将为剩下的元素补充用例,主要用于ui测试 。
让我们通过一个新的地址页面来合并这两种方法 。
首先,我们来分析一下需求 。我们可以看到,收货人可以自己填写,也可以从通信中选择;手机号可以是中国大陆、港澳台及海外地区的,所以涉及到手机号必须与所选地区一致的情况;区域只能选择填写;详细地址可以手动填写,也可以定位选择 。
这里我们假设每个字段的数据要求是:
收货人:2-20个字符,字符都可以
手机号码:8-20位数字(考虑到不同国家的电话号码不同)
详细地址:10-100字符,包括特殊符号
让我们开始编写测试用例
首先,采用等价类划分的方法对数据进行分析
收货人有两种有效的等价类:一种是手动输入合格的收货人名称(因为这里可以输入字符,所以我们写用例时,收货人名称应该包括字母、数字、特殊符号、标点符号、汉字等 。),另一种是从通信中选择收货人;无效的等价类包括:名称长度小于2个字符,名称长度大于20个字符,名称未填写 。
手机号码的有效等价类是输入的手机号码与选择的手机号码的属性匹配;无效等价类有:输入的手机号码归属与选择的手机号码不匹配,手机号码长度小于8位,手机号码长度大于20位,手机号码包含汉字,手机号码包含特殊字符,手机号码包含字母,手机号码为空 。