测试用例设计方法常用总结

一、使用等价类边界值法设计测试用例
1.什么是等价类
等价类:把用户的输入划分为几种情况,每种情况选取一个数据进行测试,等价类分为有效类和无效类。
(1)有效类:
符合程序输入要求的叫有效等价类。
一般找符合输入的中间长度,再分情况,混合的或者每一种单纯的。
(2)无效类:
不符合程序输入要求的各种情况叫无效等价类。
2.什么是边界值法
边界值法:边界值法是对程序的输入或输出的边界值进行测试的一种方法,是等价类法的一种补充。选取正好等于,刚刚大于或刚刚小于边界值作为测试数据。(根据输入要求补充到有效类和无效类中)
相关概念:
(1)上点:
刚好在长度边界上的点,跟开区间、闭区间没关系
例如:<1> [ 6 , 18 ] 或 ( 6 , 18 ) 上点都是6和18
<2> ( 6 , 18 ] 或 [ 6 , 18) 上点都是6和18
闭区间上点属于有效类
开区间上点属于无效类
(2)离点:
刚好在长度边界内\外(离点:离长度边界最近的点)和开区间,闭区间有关系
离点规律:闭区间向外取离点,开区间向内取离点,简称:外闭内开
例如:<1> [ 6 , 18 ] 的离点为5和19
<2> ( 6 , 18 )的离点为7和17
<3> ( 6 , 18 ] 的离点为7和19
<4> [ 6 , 18) 的离点为5和17
补充的离点数据,属于有效类还是无效类,看具体需求。
(3)“内点”或“域内范围”:符合要求的有效取值范围。
开区间的上点,在域内范围里。
闭区间的上点,在域内范围外。
小结:
<1> 取离点规律:闭外,开内
<2> 上点与区间类型(闭区间,开区间)没有关系;根据需求判断上点属于有效类还是无效类,即上点不一定属于有效类。
3.优点与缺点
优点:
简单高效
边界值法更容易发现Bug,大量的错误是发生在输入或输出范围的边界上。
可以评估用例数量=(1+N)4 N是输入项数量
缺点:
只能单个输入框的有效性和无效性
不能分析输入项之间的组合情况
4.适用范围:
适合所有用户的输入情况,最典型的“文本框”
还有选项较多的下拉框
二、使用判定表法设计测试用例
1.什么是判定表?
判定表:判定表也称决策表,能够分析输入条件的全组合,以及分析每一种输入组合产生的结果。
2.相关概念
条件桩:功能的所有输入条件(功能要判断的所有条件)
动作桩:功能产生的结果
3.画判定表的步骤
(1)根据需求,列出所有条件桩,记做个数N
(2)列出所有的动作桩
(3)列出条件桩的全部条件项(条件桩的全组合),2的N次方个全组合
(4)分析每一种组合对应的动作桩
4.优点与缺点
优点:
可以分析判断条件(条件桩或输入条件)之间的全组合,分析需求更全面
缺点:
当条件桩较多时,需要分析的组合数成倍增加
5.适用范围
需求中存在多个判断条件,条件之间的不同组合可能产生不同的结果,可以使用判定表,分析这些条件之间的全组合。
三、正交实验法
1、什么是正交实验法?
正交实验法:是从大量的试验数据中挑选适量的、有代表性的测试数据,
从而安排测试的一种方法。
2、挑选数据的原则
(1)从全组合中去掉重复高的组合,保留下来的就是测试数据
(2)比如:3个因子(输入项),去掉任意重复的两两组合
3、相关概念
因子:(因素)输入项的名称
状态(水平):每一个输入项的具体选项(每一个因子包含的正确选项)
4、(根据正交表)手工设计用例步骤
(1)从需求中提取所有因子和状态,画出因子状态表
(2)用字母代替因子状态表中的文字
(3)合并或补充因子状态表:为了要符合参考的正交表
(4)将合并或补充后的因子状态表,带入到正交表,注意要使用自己定义的符号
(5)若有合并的状态,要进行拆分
(6)用文字替换字母
5、allpairs工具设计用例
(1)免安装,
将解压后的allpairs工具包放在C盘根目录下
(2)步骤
<1>在C盘的allpairs文件夹(目录)下,新建一个文本文档—比如文件名叫a文件命名规则:必须以字母开头,可以包含字母或数字
<2>将因子状态表内容复制到文档a中
<3>进入到Dos窗口,开始—运行–输入cmd命令–确定
<4>切换到C盘的allpairs目录下 cd C:/allpairs
<5>输入命令,生成用例, allpairs.exe a.txt -> b.xls
<6>查看b文档中的Test Cases—对应测试用例
(3)优点:
不需要考虑使用哪个正交表,不需要分析合并或补充状态
(4)缺点:
通过工具设计的用例数总是比套用正交表的用例数多
6、备注
(1)不需要自己推导正交表,正交表早已经推导出来了
(2)找正交表的方法,百度xx因子正交表
7、优点与缺点
(1)优点:
<1>比等价类边界值法测试充分,又能有效减少全组合的用例数量
<2>能够从大量的试验数据中,挑选合适、适量的数据进行测试
(2)缺点
<1>设计出的都是正常测试用例,不包含异常测试用例
7、适用范围
功能中存在多个因子(输入项),每个因子(输入项)下都有多个状态(有效选项),并且这些状态(选项)之间可以任意组合。
四、场景法
1、什么是场景法?
场景法就是模拟用户操作软件时的场景,主要用于测试多个功能之间的组合使用情况
2、步骤
(1)确定基本流和备选流。
基本流:从开始到业务流程结束一条或多条最简单的基本操作。(视需求而定)
模拟正确的操作流程
备选流:基本流以外的分支流程,模拟异常操作情况。
(2)根据基本流和备选流确定场景
(3)每一个场景就是一个测试用例
3、优点:
从用户的角度出发对产品多个功能的组合进行测试,能够快速检测被测功能或软件是否可用。
4、缺点:
场景法侧重于软件流程能否跑通,不关注被测流程中的具体操作(单个功能)。每个场景测通后,还需要对流程中的具体操作(单个功能)进行详细测试。
5、适用范围:
所有软件。
被测的功能涉及到了多个界面、多个操作,适合用场景法。
五、状态迁移法
1.需求特点
能够从一种状态转移到多个规定的状态
2.步骤
(1)从需求中列出所有的状态,状态个数记作N
(2)画N
N状态矩阵,例:5*5矩阵
(3)根据需求,分析状态之间的可达性
可达:能够从A状态转移到B状态,则A可达B
一步可达、直接可达,不能隔着步骤
(4)根据状态矩阵画状态树( 树状图)
广度优先:
先找一个状态作为根节点,根节点:一般找用户经常开始操作的“状态”
再画根节点可达的所有状态,逐层按照从左到右的顺序画图(viso软件画图)
画图原则:一个状态只能画一次,不是说一个状态只能出现一次
直到所有状态都画完

深度优先
先找一个状态作为根节点,根节点:一般找用户经常开始操作的状态
再画根节点可达的所有状态,先画最左侧的状态,让树状图向下方延伸(viso画图)
先画最上面的状态,让树状图向右侧延伸(用思维导图软件)当无法向下方延伸时,从最后一层逐层向上检查,若有未画的状态,补充画完(viso软件画图)
当无法向右侧延伸时,还要检查其他未分析过的状态,若存在未画的状态,补充画完(用思维导图软件)
画图原则:一个状态只能画一次
(5)编写用例
从根节点到叶子节点,一条路径对应一条用例
(6)优点
能够分析状态之间的可达性
设计的都是正常测试用例
(7)缺点
不包含状态之间不可达的情况
设计的都是正常用例,有时候需要补充状态下不可达的情况
注:状态间不可达的情况无法测试
(8)适用范围
需求中明确存在多个状态;或者把软件中的操作比作状态。

你可能感兴趣的:(笔记,软件测试)