目录
1. 测试用例的基本要素
测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:
测试环境、操作步 骤、测试数据、预期结果等要素。
1)用例表达清楚,无二义性2)用例可操作性强。3)用例的输入与输出明确。一条用例只有一个预期结果。4)用例的可维护性好。5)用例对需求的覆盖率高,6)暴露程序Bug的能力强力。
1.1 测试用例 :单位用户注册成功
步骤动作
:
|
期望的结果
:
|
进入注册页面,选择注册
|
系统展现注册页面
|
输入符合要求的单位名称、单位邮箱、密码、确认密码、 组织机构代码、验码,并确认同意《用户注册协议》, 提交注册信息
|
系统进行注册操作,发送激活邮件。注册成 功后,跳转到注册成功页面,并提示用户进行激活操作。
|
进入注册用的邮箱,进行激活操作
|
激活成功
|
用注册的邮箱和密码,进行登录操作
|
登录成功,系统展示欢迎页面
|
测试方式
|
手工
|
重要性
|
重要
|
测试环境
|
Chrome,IE |
测试前提
|
系统运行正常,邮件服务器已开启
|
功能模块
|
注册登录 |
1.2 测试用例对比
手机拍照测试用例
存在歧义的用例 | 明确清楚用例 |
标题:单拍。(标题不清楚) | 标题:单张拍照 |
....缺少用例元素“测试思路” | 测试思路:检查从按下快门到拍照结束整个过程的处理是否符合要求,包括拍照指示灯的状态,照片存储过程中屏幕的显示,拍完照片的正确性检查 |
预设条件:闪光强制关闭,电池充足 | 预设条件:闪光强制关闭,电池充足 |
步骤:....步骤不完整 1)镜头对着拍摄对象,按下快门按键。 2)按下下翻页键,浏览刚拍的照片 |
步骤: 1)用相机镜头瞄准拍摄对象,准备好后,按下快门键。 2)注意听按下快门键的声音 3)照片保存过程中,观察手机屏幕显示的变化 4)提示照片保存成功 |
预期输出:...相对的步骤没有输出 1)可见刚拍下的照片,照片正常 |
预期输出: 1)按下快门后,一秒内听到设置的快门声 2)照片保存过程中,手机屏幕显示正在保存的照片,保存完成后屏幕恢复为拍照模式 3)照片为即见即所得,查看照片的像素、色彩等于设置的模式一致。 |
2. 测试用例的好处
1)测试执行者的依据2)使得工作可重复,自动化测试的基础3)评估需求覆盖率4)用例的复用5)积累测试的方法思路以供后续借鉴
使用中带来困扰:
测试用例的设计是费时费力的工作,设计测试用例所花费的时间比执行所花费的时间还多
解决如下问题:
不知道是否较全面的测试了所有功能测试的覆盖率无法衡量对新版本的重复测试很难实施存在大量冗余测试影响测试效率
3. 用例设计方法
3.1 基于需求的设计
1 )验证需求是否正确、完整、无二义性,并且逻辑一致。2 )要从 “ 黑盒 ” 的角度,设计出充分并且必要的测试集,以保证设计和代码都能完全符合需求。
3.2 案例
1)用户需求
购买智能手机,测试用例:
1. 价格范围
2.品牌选项
3.智能手机
4.手机功能验证
打电话、接电话、发短信、收短信、听歌.......
2)软件需求
邮件事件流
1. 若用户未收到激活邮件,可在登录界面录入电子邮件及密码后,再次发送激活邮件。2. 每次发送的激活邮件,仅在发送邮件后起 24 小时之内有效,超过 24 小时后需重新发送激活邮件
测试用例
1-1 、未收到邮件,登录时输入电子邮件及密码后,再次发送激活邮件1-2 、已收到邮件,登录时输入电子邮件及密码后,不发送激活邮件2-1 、收到邮件, 24 小时内进行激活2-2 、收到邮件, 24 小时后链接过期进行激活。2-3 、收到邮件,已激活, 24 小时后链接过期,再次点击激活
页面检查
1 、收到激活邮件2 、邮件内容正确3 、激活 URl 正确,可激活4 、再次激活提示已激活5 、过期激活提示已过期
3.3 具体的设计方法
等价类
边界值
因果图
正交排列
场景设计方法
错误猜测法
3.3.1 等价类
例如将一个班级里的学生分为几类:优秀、中等、一般
3.3.2 边界值
1)输入框长度为1-10,取边界值:1、10,0、112)运动员的参赛项目为1-4项,取边界值:0项,1项,2项,3项,4项3)查询页面有999行,每50行为一页。取边界值输出0行,50行,51行,999行
3.3.3 因果图
1)恒等
2)与
只有两个原因,并且都为真,那么结果一定为真。
3)或
两个原因中,有一个为真时,结果就为真。
4)非
只有原因为加,结果才为真
1) 分析所有可能的输入和可能的输出。2) 找出输入与输出之间的对应关系。3) 画出因果图。4) 把因果图转换成判定表。5) 把判定表对应到每一个测试用例
案例一:
假设业务单据的处理规则为:“淘宝618活动,提单已提交,订单合计金额大于300元或有红包,则进优惠”。
1. 对于这条业务规则,首先通过分析所有可能的输入和可能的输出,可以得到如下结果:
● 输入:订单已提交,金额大于 300、 有红包。● 输出:优惠、不优惠。
2. 然后,进行第二步,找出输入与输出之间的对应关系。通过分析,可以看出有以下的对应关系。
1) 订单已提交,订单金额大于 300 元,则优惠。2) 订单已提交,订单金额小于等于 300 元,无红包,不优惠3) 订单已提交,有红包,则优惠。4) 订单已提交,订单金额大于 300 元,有红包,则优惠。5) 订单未提交,不优惠
3. 为了方便画出因果图和判定表,需要对所有输入和输出编号,现在编号如下
1 :订单已提交。2 :订单金额大于 300 元。3 :有红包21 :优惠22 :不优惠
5. 画判定表
有三个条件,输出有2个取值,所以表的列数为 2*2*2 = 8
6. 最终的测试用例
因果法设计测试用例可以帮助测试人员理清输入和输出的关系,但是对于比较复杂的输入和输出,会耗费大量时间
3.3.4 正交排列
当因果法设计用例过多时,使用正交排列
正交法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合。
正交试验设计(Orthogonal experimentaldesign)是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。
正交试验设计是一种基于正交表的、高效率、快速、经济的试验
因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量)
1 、有哪些因素(变量)2 、每个因素有哪几个水平(变量的取值)3 、选择一个合适的正交表4 、把变量的值映射到表中5 、把每一行的各因素水平的组合作为一个测试用例6 、加上你认为可疑且没有在表中出现的用例组合
案例:
以注册为例
3、表中的因素数=5;
表中至每个因素数的水平数=2
行数取最少的一个,即试验次数最少的一个
5、增补测试用例
3.3.5 场景设计法
1 、用户激活后再次点击邮件激活链接?2 、已注册用户再次注册?
3.3.6 错误猜测法
1 、校验中特殊字符空格的处理 ?2 、密码校验中的大小写?3 、姓名中的特殊字符?4 、密码发送是否明文
4. 测试用例的有效性
5. 测试用例的粒度和评价
5.1 测试用例的粒度
好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试
粒度:指测试用例编写的详细程度。
产品的质量要求项目对用例的要求测试时间和资源是否充分
5.2 测试用例的评价
同行评审用户检查项目组评审
3) 由测试负责人组织协调开展会议,用例编写人对用例进行讲解,参会人员有异议的当场提出。
6. 测试案例
考虑方向
|
检查点
|
测试思路描述
|
正向
|
导出数据正确性
|
导出数据,验证数据正确性
|
逆向
|
导出数据有效性
|
无数据时,导出功能是否正确
|
边界容量
|
TF
卡空间不足
|
只能容纳部分数据
|
边界容
|
TF
卡容量已满
|
|
容错
|
TF
卡写保护
|
|
容错
|
TF
卡无法识别
|
|
容错
|
人为中断
|
导出时拔掉
TF
卡
|
容错
|
导出时断电、关机等
|
再开机后检查能否正确导出
|
性能
|
连续多次导出
|
脚本实现,大量导出,查看数据是否正确
|
性能
|
检查导出速度
|
|
兼容性
|
不同品牌和容量
|
|
兼容性
|
不同分区格式
FAT,FAT32
,
NTFS
|