一、概念
测试用例的基本概念:
测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素 。
主要步骤:
测试环境——测试步骤——测试数据——预期结果
网易邮箱注册成功测试用例
标题:邮箱注册,邮箱输入项测试:
简单案例:
二、测试用例总体设计方案
基于需求的设计,RBT( Requirements-Based Testing)是基于需求的测试方法,会使测试更加有效,因为 它使测试专注于质量问题产生的根源,即需求。
1、从整体角度设计分析测试用例:基于需求
用户需求——(整理出软件需求)产品设计文档(产品经理)——开发——测试——上线
(1)、验证需求的正确性和合理性
(2)、分析需求、细化需求、从需求中分解出测试项 ,根据测试项找出功能,进行测试用例的编写。
案列:
用户需求:
购买3000块钱以内的华为智能手机 。
假如说:有一个活动秒杀 5999 为1块钱,这样也是发河价格的。
测试用例:
(1)合理
(2)分析:
价格:<=3000;
品牌:华为
手机类型:智能手机
手机基本功能:…
软件需求:
事件流
若用户未收到激活邮件,可在登录界面录入电子邮件及密码后,再次发送激活邮件 。
每次发送的激活邮件,仅在发送邮件后起24小时之内有效,超过24小时后需重新发送激活邮件
测试用例:
1、用户收到邮件,不在此发送激活邮件;
用户收到邮件,再次录入电子邮件及密码,提示:已激活邮件;
用户未收到邮件,再次发送激活邮件;
2、24小时以内,有效
大于等于24小时 ,无效激活邮件
边界值:24小时点击激活,25小时 重新发送邮件
容易忽略:24小时之内已经点击激活邮件,超过24小时又重新激活,将提示“系统已激活:。
测试激活邮寄的基本功能:
邮件能不能打开
邮件的格式,内容够是否正确;
邮件里面的激活链接是否正常;
这些是逻辑来测试用例。
1、等价类 ☆
等价类就是把输入划分成若干个等价类,从每一个等价类中取出一个测试用例,如果这个测试用例能够测试通过,那么我们就说这个测试用例代表的等价类测试通过。(衣柜分类衣服的例子)
通俗来讲,具有某种共同特征的数据集合进行划分!!
使用场景:测试用例无法穷举,我们无法一样测试。
有效等价类:符合程序规格说明的数据集合;
无效等价类:不符合软件需求规格说明的数据集合;
步骤:
1、明确需求。
2、确定有效等价类还是无效等价类
3、提取数据编写测试用例
案例一:
需求:验证qq账号的合法性
要求:6~8为自然数
1
2
3
案例一:
案例二(电话):
需求:验证某城市电话号码的正确性
要求:
1.区号:空或者是三位数字
2.前缀码:非“O”且非“1”开头的三位数字
3.后缀码:四位数字
1
2
3
4
5
2、边界值 ☆
针对输入和输出的边界进行测试用例的设计。
案例:
购买3000元以内的华为只能手机
价格:<=3000, 3001就不行
等价类:
有效等价类:小于3000
无效等价类:大于3000
边界值:2999 3000 3001
2.1 边界值法设计用例步骤
1、明确需求
2、确定有效和无效等价类
3、确定边界范围值
4、提取数据编写测试用例
案例一:
需求:通过边界值法验证标题长度的合法性
要求:标题大于0,小于等于30个字符
1
2
补充:边界范围节点:
1、上点,边界上的点
2、离点,举例边界上的点最近的点(刚好大于,刚好小于)遵循 开内闭外 原则
3、内点,范围内的点。
优化:
边界上的点:开内闭外。
3、判定表 ☆
解决多条件的依赖问题。
1、定义:是一种以表格形式表达多条件逻辑判断的工具。
2、组成:
条件桩:列出问题中的所有条件
动作桩:列出问题中可能采取的操作
条件项:列出条件对应的取值,所有可能条件下的真假值
动作项:列出条件项的、各种取值情况下应该采取的动作结果。
规则:
1、判定表中贯穿条件项和动作项的一列就是一条规则
2、假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则
3、步骤:
1)、明确需求
2)、画出判定表
列出条件桩和动作桩
填写条件项,对条件进行全组合3)、根据条件项的组合确定动作项
简化、合并相似规则(有相同的动作)
3)、根据规则编写测试用例
4、案列一:
应用场景:
1、有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
2、判定表一般适用于条件组合数量较少的情况(比如4个条件以下)
3、提示:如果碰到项目中多条件组合大于4个相互依赖,可以使用
(正交表和因果图来实现)
1
2
3
4
5
4、因果图
当输入很多,并且不同的输入组合对应这不同的输出,这个时候用因果图法来分析不同输入组合和输出之间的对应关系。(相当于逻辑图)
逻辑关系:恒等 与 或 非
因果图法设计测试用例的步骤:
1、分析出所有的输入和输出;
2、找出输出和输出之间的关系;
3、画因果图;
4、画判定图;
5、把判定表转换成测试用例;
案例:淘宝618活动,订单满300,或者有红包,测提交订单后享受优惠。
1、输入和输出
输入:金额<300,金额>300, 金额==300,有红包,无红包,提交订单
输出:享受优惠,不享受优惠
2、输入和输出之间的关系:
订单已提交,金额大于等于300 ,无红包,享受优惠;
订单已提交,金额大于等于300 ,有红包,享受优惠;
订单已提交,金额小于300,有红包,享受优惠;
订单已提交,金额小于300,无红包,无优惠;
订单没有提交,无优惠;