软件测试基础
测试用例书写策略
场景图法
定义:场景图也叫流程图法。是在测试过程中模拟用户使用软件的流程,针对此流程来设计
测试用例的方法。场景图法包含基本流和备选流两种,基本流指进行一项业务正确的流程,
备选流指异常流程
步骤:①理解需求,根据产品经理给出的原型图或者需求文档,理出业务流程
②找出业务的流程逻辑;③根据逻辑画出流程图;④根据流程图编写测试用例,从开始至结
尾每条分支就是一个用例;
案例:
需求分析:
可以设定自动检修,设定后可修改时间,自动检开始后可自动停止和手动停止;
未设定自动检修时可以手动检修手动停止
生成基本流和备选流场景:
根据场景生成用例:
说明:场景法适用于业务有先后顺序的测试,在测试中常常在冒烟和系统测试使用;还需
要结合等价类和边界值方法使测试用例覆盖度更高
等价类
黑盒测试:不考虑系统设计内部逻辑结构,只需要了解输入和输出是否正常;从理论上讲,只有穷举测试,才能够充分。实际情况肯定不可能,故引入等价类测试方法。
定义:等价类测试是把程序的输入域划分为若干等价类,然后选取其中少部分代表一类,以此检验程序功能实现。
等价类划分的特点:
有效等价类:合乎程序规范的有意义的输入
无效等价类:不合乎程序规范的无意义的数据集合
举例:①输入规定范围:如1<a<100,可确定一个有效的等价类和两个无效的等价类;②规定条件:“以字母开头”,可划分为一个有效等价类和一个无效等价类;③布尔输入:可划分为一个有效等价类和一个无效等价类;④可在划分的基础上进一步划分。
用例书写:①根据需求为确定输入输出,确定有效等价类和无效等价类;②列出等价类表;③根据等价类表设计测试用例:为每一个等价类划分一个唯一的编号,设计测试用例,使尽可能多的有效等价类被覆盖,重复直至所有有效等价类都被覆盖,设计测试用例,使其覆盖一个尚未被覆盖的无效等价类,重复直至所有的无效等价类均被覆盖。
不足点:孤立考虑各个输入的输入,没有考虑到组合情况,可用因果图补充;只是单纯选择等价类,没有健壮性考虑,可用边界值补充
案例说明:
需求分析:温度超限时产生报警(0,33),异常显示;不超限时正常显示。
①温度低于0°和温度高于33°,实时报警显示“温度超限”,数据红色显示
②温度在0°和33°之间,无报警显示,数据正常显示
③报警显示延时10S有效
有效等价类 编号 无效等价类 编号
0<D<33 1 D<=0 3
T>10 2 D>=33 4
T<10 5
测试用例:
用例编号:
D T 预期输出 实际输出 覆盖等价类 测试结果
T1 10 12 无报警 无报警 1、2 Pass
T2 0 12 报警 报警 3、2 pass
T3 44 12 报警 报警 4,2 pass
T4 44 5 无报警 无报警 5,1 pass
边界值(190611更)
边界值法用于对等价类不足的补充
边界点:上点、内点、离点
上点:边界上的点
内点:边界内的点
离点:离边界值最近的与上点不同类的点
边界值法的使用:首先确定有效边界,其次选取边界上的点书写测试用例。
因果图
在前面等价类中可以看到,等价类方法孤立地分析每种输入情况,没有考虑输入组合时的情况;因此结合因果图法考虑输入的组合,完善用例。
因果图使用方法:
①分析需求文档中的原因和结果
②根据原因和结果,形成输入和输出
③根据输入和输出生成判定表
④根据判定表书写测试用例
生成判定表:
条件桩:列出了问题的所有条件
动作桩:列出了问题规定可能采取的操作
条件项:列出特定条件的取值
动作项:列出在条件项目的各种取值情况下应该采取的动作
步骤:
确定规则的个数
列出所有的条件桩和动作桩
填入条件项
填入动作项
合并相似规则
案例:
需求:订购单的检查
如果金额超过500元且未过期,则发出批准单和提货单;若金额超过500元且已过期,则不发批准单和提货单;如果金额低于500元,则不论过期与否都发批准单和提货单,在过期的情况下还发出过期通知书。
1):分析原因和结果
原因:1.超过500元 2.低于500元 3.过期 4.未过期
结果:21.发出批准单和提货单 22.不发批准单和提货单 23.发批准单核提货单及过期通知书
2):因果图
3):判定表
1 1 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0
2 1 1 1 0 1 1 0 1 1 0 0 0 1 0 0 0
3 1 1 0 1 1 0 1 1 1 1 0 0 0 1 0 0
4 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0
21 N N N N N N O 0 N N 1 N N N N
22 N N N N N N 1 0 N N 0 N N N N N
23 N N N N N N 0 1 N N 0 N N N N N
caseN N N N N N Y Y N N Y N N N N N
根据判定表写测试用例。
错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
错误推测法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们设计测试用例。
1、错误推测法的常见依据
在单元测试时理出的在模块中的常见错误
以前产品测试中曾经发现的错误
产品在客户实际使用过程中发现的错误
容易发生错误的情况
一些公共模块,功能
修复了bug的功能和模块
2、测试用例评审中的使用
猜错法充分发挥人的经验,在一个测试小组中集思广益,方便实用。
组织测试小组(也可以有外来人员)进行错误猜测,是有效的测试方法。
[1]: https://blog.csdn.net/femalcoder/article/details/70768037
[2]:https://blog.csdn.net/caozhangyingfei0109/article/details/42003143