1.基于需求的设计方法
主要从以下方面进行思考:
2.等价类法
将输入的数据等价划分成几个类,从每个类里面选出一个测试用例,如果这个测试用例通过,说明这一个类的测试用例都通过
有效等价类:满足输入数据要求的类
无效等价类:不满足输入数据要求的类
举个例子:我们知道qq密码要求设置的位数在6-16位,那么我们可以将输入的数据划分成如下几个类:
我们分别从<6位 6-16位、>16位中选出一个测试用例进行测试,其中6-16位这个类属于有效等价类,<6位和>16位属于无效等价类
3.边界值法
对输入输出的边界进行的黑盒测试方法
上点:在边界上的点
内点:在边界内的点
离点:离边界最近的点
还是据我们上边的例子:输入数据的要求是6-16位
当边界点是实点时:
上点: 6 、16
内点: 10
离点:5、17
当边界点是虚点时:
上点:6、16
内点: 10
离点: 7、15
如何进行边界法测试:
(1)充分理解需求
(2)找出边界点
(3)针对边界点设计测试用例
通常情况下,我们会将等价类法和边界值法同时使用,这样能更准确的进行测试
4.判定表法
根据输入输出之间的对应关系设计测试用例的方法(也叫因果图法)
举个例子:产品说明书:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。请用因果图法设计测试用例
输入输出主要有以下情况:(1)输入2元,按下红茶按钮,送出红茶
(2)输入2元,按下雪碧按钮,送出雪碧
(3)输入2元,按下可乐按钮,送出红茶
(4)输入1.5元,按下红茶按钮,退还5角,送出红茶,
(5)输入1.5元,按下雪碧按钮,退还5角,送出雪碧,
(6)输入1.5元,按下可乐按钮,退还5角,送出可乐,
根据判定表设计测试用例:
因果图设计测试用例步骤:
(1)充分理解需求
(2)分析可能的输入、输出
(3)将输入、输出用判定表表示
(4)判定表每一行数据对应到一个测试用例
5.错误猜测法:是测试人员针对自己的经验和直觉来判断软件可能存在的缺陷,针对性地来设计测试用例的方法
6.场景设计法
用于描述时间触发时的场景,关注多个功能
举个例子:我们去银行取钱
按照正常情况下, 取钱业务会按照查卡-输入密码-选择业务 -出钞-取卡这一流程走下来,这是主事件流,但是也会存在卡消磁了、密码忘了、ATM机钱不够了,ATM机坏了长时间取不出来卡等一系列问题,我们充之为次事件流
如何利用这个方法设计测试用例:
(1)充分理解需求
(2)确定主事件流
(3)确定次事件流
(4)每一个事件流就是一个测试用例
7.正交表法:
因果法实际用例太多,交正法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合。
因素:输入变量
水平:每一个输入变量的值
正交表的两条性质:(1)每一列中各数字出现的次数相同
(2) 任何两列中的各有序数对出现的次数都一样多
如何通过正交表设计测试用例
(1)充分理解需求->确定因素、确定水平、->画正交表->补充正交表->将正交表转换成测试用例
以注册的需求为例
姓名、邮箱、密码、确认密码、验证必须全部输入,才能注册
allpairs画正交表
(1)将因素和水平放到excel表格中
(2)将excel表格内容直接复制到txt文本中,假设文件名为129169
(3) 将txt文本放到与allpairs.exe所在的目录
(4)打开cmd切换到129169所在的目录,执行如下命令
我们假设结果文件名为1906.txt,在同目录下会生成1906.txt文件
我们打开这个文件,下面的这就是最终的正交表。