测试用例
验证需求的正确性和合理性
分析需求,细化需求,从需求中分解出测试项,根据测试项找出功能,进行测试用例的编写
设计测试用例
等价类
等价类就是把输入划分为若干个等价类,从每一个等价类中取出一个测试用例,如果这个测试用例可以通过,那么就说这个测试用例所代表的的等价类测试通过
适用场景:测试用例无法穷举,无法一一测试
有效等价类:符合程序规格说明的数据集合
无效等价类:不符合软件需求规格说明的数据集合
边界值
针对输入和输出的边界来进行测试用例的设计
如:
需求:购买一个3000以内的华为智能手机
有效等价类:小于3000
无效等价类:大于3000
边界值:2999 3000 3001
因果图法
当输入很多,且不同的输入组合对应不同的输出,这个时候就适合用因果图法来分析不同的输入输出组合之间的对应关系
因果图实际上就是一种逻辑图
有四种关系,恒等、与、或、非
因果图法的步骤:
1.分析出所有的输入和输出
2.找出输入和输出之间的关系
3.画因果图
4.画判定表
5.把判定表转化为测试用例
场景法
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,使测试用例更容易理解和执行。
典型的应用是是用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功能细节忽视业务流程要点的错误倾向
错误猜测法
根据测试人员的直觉、知识、经验,判断程序(软件)的哪一个功能有问题,从而设计专门的测试用例。
适合作为一种补充设计测试用例的方法
如:验证码的不区分大小写
搜索中的空格或特殊字符应省略
正交法
研究多因素多水平的一种方法,根据正交选出最优的水平组合进行实验,用实验的结果来分析这个测试用例的结果。
因素:输入变量
水平:因素的取值
因素数:变量的个数
水平数:变量取值的最大个数
正交表的构成:
行:L=(水平数-1)*因素数+1
列:因素数
正交表的性质:
1.每一列不同数据出现的次数一样
2.任意两列各数据组合出现的次数一样多
正交表设计测试用例的步骤:
1.找出所有的输入变量,确定因素数
2.确定变量的取值,确定水平数
3.确定正交表的行和列
4.根据正交表的性质去填写正交表
5.把正交表的每一行对应写成一个测试用例
6.补充你认为重要但是没有体现在正交表中的测试用例
补充
因果图法
例1:
某购物网站活动,订单金额满300,或者有红包,则提交订单后享受优惠
1.分析出所有的输入和输出
输入:金额小于300,金额大于或等于300,有红包,无红包,提交订单
输出:享受优惠,不享受优惠
2.找出输入和输出之间的关系
订单已提交,金额大于300,没有红包(有优惠)
订单已提交,金额等于300,没有红包(有优惠)
订单已提交,金额小于300,没有红包(无优惠)
订单已提交,金额大于300,有红包(有优惠)
订单已提交,金额小于300,有红包(有优惠)
订单未提交(无优惠)
3.画因果图
4.画判定表
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||
---|---|---|---|---|---|---|---|---|---|
条件1 | 订单已提交 | Y | Y | Y | Y | N | N | N | N |
条件2 | 金额大于等于300 | Y | Y | N | N | Y | Y | N | N |
条件3 | 有红包 | Y | N | Y | N | Y | N | Y | N |
中间结果 | middle | Y | Y | Y | N | Y | Y | Y | N |
最后输出 | 有优惠 | Y | Y | Y | N | N | N | N | N |
5.把判定表转化为测试用例
订单已提交,金额大于300,有红包(有优惠)
订单已提交,金额大于300,没有红包(有优惠)
订单已提交,金额小于300,有红包(有优惠)
订单已提交,金额小于300,没有红包(无优惠)
订单未提交,金额大于300,有红包(无优惠)
订单未提交,金额大于300,没有红包(无优惠)
订单未提交,金额小于300,有红包(无优惠)
订单未提交,金额小于300,没有红包(无优惠)
场景法:
例2:
ATM取款场景:插卡 输入密码 输入钱数 取款
插卡:插错卡、卡插反、卡被冻结、卡被注销、插入消磁卡、有不良记录的卡、正确插入本行卡
输入密码:长时间未操作、密码输入错误、密码输入正确、密码输入三次错误、输入两次错误、输入一次错误
输入钱数:不是整百、大于余额、超出每日取款最大金额、超过每次取款最大限额、超过每日取款最大次数、ATM余额不足、输入正确钱数、长时间未操作
取款:长时间未操作、正确取款.(此处应写用户的操作,而不是考虑程序的结果,也就是考虑输入,不考虑输出)
正交法:
例3:
以注册为例,要填写的项有:姓名、邮箱、密码、确认密码、验证码(输入和不输入)
1.找出所有的输入变量,确定因素数
变量:姓名、邮箱、密码、确认密码、验证码
变量数:5(因素数)
2.确定变量的取值,确定水平数
水平:输入,不输入
水平数:2
3.确定正交表的行和列
行:6
列:5
4.根据正交表的性质去填写正交表
姓名 | 邮箱 | 密码 | 确认密码 | 验证码 | |
---|---|---|---|---|---|
1 | 输入 | 不输入 | 输入 | 输入 | 不输入 |
2 | 输入 | 输入 | 不输入 | 输入 | 不输入 |
3 | 输入 | 不输入 | 输入 | 不输入 | 输入 |
4 | 不输入 | 输入 | 不输入 | 输入 | 不输入 |
5 | 不输入 | 不输入 | 输入 | 不输入 | 输入 |
6 | 不输入 | 输入 | 不输入 | 不输入 | 输入 |
5.把正交表的每一行对应写成一个测试用例
姓名输入,邮箱不输入,密码输入,确认密码输入,验证码不输入
姓名输入,邮箱输入,密码不输入,确认密码输入,验证码不输入
姓名输入,邮箱不输入,密码输入,确认密码不输入,验证码输入
姓名不输入,邮箱输入,密码不输入,确认密码输入,验证码不输入
姓名不输入,邮箱不输入,密码输入,确认密码不输入,验证码输入
姓名不输入,邮箱输入,密码不输入,确认密码不输入,验证码输入
6.补充你认为重要但是没有体现在正交表中的测试用例
姓名输入,邮箱输入,密码输入,确认密码输入,验证码输入
姓名不输入,邮箱不输入,密码不输入,确认密码不输入,验证码不输入