系统测试设计测试用例方法.docx
- 文档编号:3944449
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:65
- 大小:35.63KB
系统测试设计测试用例方法.docx
《系统测试设计测试用例方法.docx》由会员分享,可在线阅读,更多相关《系统测试设计测试用例方法.docx(65页珍藏版)》请在冰豆网上搜索。
系统测试设计测试用例方法
系统测试用例设计方法
--------------曹德卿
本人参考了一些书籍,把各种测试用例设计方法都收集到一起,并采用常用软
件,通过实例,采用各测试用例设计方法设计测试用例。
希望我能把各种测试用例
设计方法都描述清楚。
如果大家有什么问题,可以联系我,我的联系方式在页脚处。
我入行不久,大胆写了这篇东西,也是我第一次写东西,写得不好,请大家多
多包涵,里面难免有很多问题,请大家指正!
注:
本文里的所有用例都采用用例的标准格式编写,但是不一定适合公司的要求。
所以我认为,编写用例的格式要符合公司的测试框架,以便统一维护。
要能灵活运
用测试用例设计方法。
谢谢!
风姿清扬
2006-9-12
软件测试——系统测试用例设计方法
一、测试用例格式以及写作要点.............................................................................................3
二、系统测试用例设计方法...........................................................................................................4
1、等价类划分法.........................................................................................................................5
2、边界值分析法.........................................................................................................................6
3、判定表法.................................................................................................................................7
4、因果图法.................................................................................................................................9
5、状态迁移图法.......................................................................................................................15
6、流程分析法...........................................................................................................................20
7、正交试验法...........................................................................................................................34
8、错误推测法...........................................................................................................................41
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@2软件测试——系统测试用例设计方法
一、测试用例格式以及写作要点
测试用例编号
测试项目
测试标题
重要级别
预置条件
输入
操作步骤
预期输出
以上是一般的测试用例格式,可以根据公司具体要求删除一些或加入其它项。
测试用例编号
测试用例编号是由字母和数字组合而成的,用例的编号应该具有唯一性,易识别性。
比
如可以采用统一的约定,产品编号—ST—系统测试项名—系统测试子项名—编号。
这样看
到编号就可以知道是做的什么测试,测试的对象是什么。
也方便维护。
测试项目
你现在这个测试用例所测的项目名,可以是测试用例所属的大类,被测需求,被测的模
块,或者是被测的单元。
例如:
计算器加法功能。
测试标题
测试标题是对测试用例的简单描述。
用概括的语言描述该测试用例的测试点。
每个测试
用例的标题不能够重复,因为每个测试用例的测试点是不一样的。
例如:
手机在没有SIM
卡的情况下,拨打119。
重要级别
重要级别分为高中底三等:
高:
保证系统基本功能、重要特性、实际使用频率比较高的用例;
中:
重要程度介于高和底之间的测试用例;
底:
实际使用频率不高、对系统业务功能影响不大的模块或功能的测试用例。
注:
一般情况下,重要级别为高的测试用例,一个测试子项里有且尽有一个,大多数都
是重要级别为中的测试用例。
因为一般我们会进行一个系统测试预测试,如果重要级别为高
的太多,则就失去了预测试的实际意义。
预置条件
就是执行当前测试用例的前提条件,如果不满足这些条件,则无法进行测试。
输入
测试用例执行时,需要输入的外部信息。
例如某一个文件,数据记录等。
操作步骤
执行当前测试所要经过的操作步骤,需要给出每一步操作的描述,测试人员根据测试用
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@3软件测试——系统测试用例设计方法
例操作步骤,完成测试用例的执行。
预期输出
当前测试用例的预期输出结果。
用来与实际结果比较,如果相同则该测试用例通过,否
则该测试用例失败。
二、系统测试用例设计方法
1、等价类划分法
何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一
个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。
等价类分为有效等价类和无效等价类,有效等价类就是由那些对程序的规格说明有意义
的、合理的输入数据所构成的集合;无效等价类就是那些对程序的规格说明不合理的或无意
义的输入数据所构成的集合。
划分等价类的方法:
下面给出六条确定等价类的原则。
1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两
个无效等价类。
2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立
一个有效等价类和一个无效等价类。
3、在输入条件是一个布尔量的情况下,可确定一个有效等价类。
4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情
况下,可确立n个有效等价类和一个无效等价类。
5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)
和若干个无效等价类(从不同角度违反规则)。
6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等
价类进一步的划分为更小的等价类。
根据等价类划分原则,将等价类填入下表。
等价类表
输入条件有效等价类无效等价类
根据等价类表,然后从划分出的等价类中按以下三个原则设计测试用例:
1、为每一个等价类规定一个唯一的编号。
2、设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一
步,直到所有的有效等价类都被覆盖为止。
3、设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,
直到所有的无效等价类都被覆盖为止。
举例:
拿PowerPoint的打印功能界面做例子,用等价类方法,划分等价类。
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@4软件测试——系统测试用例设计方法
根据原则划分等价类,填入等价类表。
输入条件有效等价类无效等价类
打印机名称可选择的打印机
打印到文件TRUE、FALSE
打印范围全部、当前幻灯片、幻灯片
幻灯片不大于幻灯片总数的自然数集合小于1的整数
打印份数[1,32767]小于1的整数,大于32767的整数
逐份打印TRUE、FALSE
打印内容幻灯片、讲义、备注页、大纲视图
颜色/灰度颜色、灰度、纯黑白
每页幻灯片数{1、2、3、4、6、9}除了1、2、3、4、6、9以外整数
顺序水平、垂直
根据纸张调整大小TRUE、FALSE
幻灯片加框TRUE、FALSE
测试用例略。
等价类划分是最常用的方法,通常和边界值分析法一起用,在下面的流程分析
法里,我会将等价类、边界值和流程分析法一起举例,一起写测试用例。
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@5软件测试——系统测试用例设计方法
2、边界值分析法
测试经验丰富的前辈们公司我们,大量的错误是发生在输入或输出范围的边界上,而
不是发生在输入输出范围的内部。
因此针对个中边界情况设计测试用例,可以查处更多的错
误。
首先来了解一下边界点的定义,边界点分为上点、内点和离点。
如图:
闭区间
离点
离点
上点上点内点
半开半闭区间
离点上点
上点离点内点
开区间
上点
上点离点离点内点
结合上面的图示。
上点,就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那
上点就在域范围内,如果该点是开放的,那上点就在域范围外;
内点,就是在域范围内的任意一个点;
离点,就是离上点最近的一个点,如果边界是封闭的,那离点就是域范围外离上点最近
的点,如果边界是开放的,那离点就是域范围内离上点最近的点。
现在大家都知道边界点了,那接下来就讲一下,边界值分析方法的原则:
1、如果输入(输出)条件规定了取值范围,则应该以该范围的边界值及边界附近的值
作为测试数据;
2、如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少
一,比最大个数多一的数作为测试数据;
3、如果程序规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集
合的第一个和最后一个元素作为测试数据;
4、如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值
作为测试数据。
举例:
闭区间[50,100]的上点为50和100,离点是49和101,在域范围内的都是内点;
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@6软件测试——系统测试用例设计方法
半开半闭区间(50,100]的上点为50和100,离点是51和101,在域范围内的都是内点;
开区间(50,100)的上点为50和100,离点是51和99,在域范围内的都是内点;
测试用例略。
在下面的流程分析法里,我会将等价类、边界值和流程分析法一起举例,
一起写测试用例。
3、判定表法
现在我们先讲判定表法,再讲因果图法,因为判定表法经常和因果图法一起用,先进行
因果图分析,再结合判定表,最后完成测试用例。
在多个条件决定多个动作,并且每个条件的取值只有两种情况下,我们就可以采用因果
图和判定表方法。
注:
条件和动作之间的逻辑关系是明确的,可以直接使用判定表法;如果条件和动作关
系不明确,则要先使用因果图法。
判定表通常由四部分组成,如图:
条件桩条件项
动作桩
每一个部分之间用双线或粗条线分开,左上部称条件桩,它列出决定一组条件的对象;
右上部称条件项,它列出各种可能的条件组合;左下部称动作桩,它列出所有的操作,右下
部为动作项,它列出在对应的条件组合下的动作。
表的右部一般有很多列。
举例:
订购单的检查。
如果金额超过500元,又未过期,则发出批准单和提货单;如果金额超
过500元,但过期了,则不发批准单;如果金额低于500元,则不论是否过期都发出批准单
和提货单,在过期的情况下还需要发出通知单。
将这段需求进行判定表分析,可以得到如下判定表。
金额>500>500<=500<=500
状态未过期已过期未过期已过期
发出批准单OOO
发出提货单OOO
发出通知单O
在很多情况下,一个判定表写出来以后,是很复杂的,我们需要对其进行简化。
如果表
中有两条或多条规则具有相同的动作,并且其条件项之间存在极为相似的关系,我们就可以
将其合并。
动作项
比如表中,条件:
>500、未过期;<=500、未过期。
这两个条件项导致的结果是一样的,
并且条件项之间很相似,我们就可以将它们合并。
结果如下:
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@7软件测试——系统测试用例设计方法
金额>500<=500
状态未过期已过期已过期
发出批准单OO
发出提货单OO
发出通知单O
这里在引入一个概念,规则,以上判定表里,右部的每一列(条件项和对应的动作项)
都是一条规则。
以上判定表里每一条规则都可以转化为测试用例。
用例:
1、
测试用例编号ORDER_ST_CHECK_001
测试项目订购单的检查
测试标题状态为未过期
重要级别高
预置条件无
输入499
操作步骤1、输入金额:
499
2、选择未过期
3、点击确定
预期输出发出批准单和提货单
2、
测试用例编号ORDER_ST_CHECK_002
测试项目订购单的检查
测试标题金额>500,状态为已过期
重要级别中
预置条件无
输入501
操作步骤1、输入金额:
501
2、选择已过期
3、点击确定
预期输出批准单、提货单和通知单都不发出
3、
测试用例编号ORDER_ST_CHECK_003
测试项目订购单的检查
测试标题金额<=500,状态为已过期
重要级别中
预置条件无
输入499
操作步骤1、输入金额:
499
2、选择已过期
3、点击确定
预期输出发出批准单、提货单和通知单
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@8软件测试——系统测试用例设计方法
4、因果图法
接下来我们讲因果图法。
前面说过在多个条件决定多个动作,并且每个条件的取值只有
两种情况下,我们就可以采用因果图和判定表方法。
因果图法就是从程序规格说明书的描述中找出因(输入条件)和果(输出或程序状态的
改变),通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例。
首先我们来了解一下因果图的基本符号,我会在边上加些注解以帮助大家理解。
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@9软件测试——系统测试用例设计方法
A)Ci=1,Ei=1;
CiEi
Ci=0,Ei=0;恒等
因
果
图
符
号
约
束
符
号
C1
Ei
或
B)Ci=1,Ei=0;
Ci=0,Ei=1;
C2
C3
CiEi
非
C1,C2,C3有一个以上=1,Ei=1;C)
C1,C2,C3全=0,Ei=0;
C1
C1,C2,C3全=1,Ei=1;
D)
Ei
与
C2
C3
C1,C2,C3有一个以上=0,Ei=0;
b
a
异
E
a和b同时只能有一个
为1,但可以都为0
b
a
或
I
a
O
b
唯一
a和b同时只能有一个
为0,但可以都为1
a和b有且仅
有一个为1
b
aa
MR
b
要求强制
a=1,要求b也要=1;
其它不约束
a=1,强制b=0;
其它不约束
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@10软件测试——系统测试用例设计方法
接着我们讲一下使用因果图法的步骤:
1、根据程序规格说明书描述的语义内容,分析并确定“因”和“果”,将其表示成连接
各个原因与各个结果的“因果图”。
需要注意的是,由于语法或环境的限制,某些原因和结
果的组合情况是不可能出现的。
为表明这些特定的情况,需要在因果图上使用若干个约束符
号来标明约束条件;
2、将得到的因果图转换成判定表;
3、为判定表中每一列所表示的情况设计一个测试用例。
对于较为复杂的问题,这个方法常常是十分有效的。
具体我们来举个例子来讲,可以更好的
理解。
举例:
以中国象棋中马的走法为例子,具体说明:
1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋
子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子
(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如
果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7如果不
属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
对说明进行分析,得到原因和结果:
原因:
1、落点在棋盘外;
2、不构成日字;
3、落点有自方棋子;
4、绊马腿;
5、落点无棋子;
6、落点为对方棋子;
7、落点为对方老将。
结果:
1、不移动;
2、移动;
3、移动己方棋子消除对方棋子;
4、移动并战胜对方。
根据分析出来的原因和结果,我们可以画出因果图,如下:
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@11软件测试——系统测试用例设计方法
1、落点在棋盘外
画得不好,比较乱,大家请见谅。
我只加了些必要的约束条件,还有一些没有加,不过
后面会讲的。
11这个结点称做中间结点,是为了让因果图的结构更加明了,简化因果图导出的判定
表。
分析得出以下两个结论。
只有1、2、3、4都不成立时,产生11,跟5、6、7结合分别
得出22、23、24三个结果;不管5、6、7哪个成立,只要1、2、3、4有一个成立,就产生
结果21;再加上落点有自方棋子的状况。
可以得到判定表如下:
111100000000000000
200011100000000000
300000011110000000
400000000001110000
500010010001001000
601001001000100100
条
件
700100100100010010
中
间
结
果
1100000000000001111
2111111111000
2200000000100
2300000000010
结
果
2400000000001
进一部分析,将各种不可能产生的组合情况,取消掉,我用灰色表示出来了。
这些都是
之前没有写的一些约束条件导致的。
比如落点在棋盘外,那么落点就不可能在对方棋子上了。
最后将判定表内的规则转换成测试用例。
7、落点为对方老将
2、不构成日字
3、落点有自方棋子
4、绊马腿
5、落点无棋子
6、落点为对方棋子(非将)
11、1-4不成立
21、不移动
22、移动
23、移动已方棋
消除对方棋子
24、移动并战胜对方
∧
∨
~
~
~
~
∧
O
∧
E
∧
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@12软件测试——系统测试用例设计方法
用例:
1
测试用例编号CHINESECHESS_ST_MOVE_MA_001
测试项目象棋马的移动
测试标题条件1-4不成立,移动马,落点是对方老将
重要级别高
预置条件无
输入点击马,点击棋子的落点
操作步骤1、点击自方马;
2、点击对方老将。
预期输出移动棋子并提示战胜对方。
2
测试用例编号CHINESECHESS_ST_MOVE_MA_002
测试项目象棋马的移动
测试标题条件1-4不成立,移动马,落点是对方棋子(非老将)
重要级别中
预置条件无
输入点击马,点击棋子的落点
操作步骤1、点击自方马;
2、点击对方棋子。
预期输出移动棋子并除去对方棋子。
3
测试用例编号CHINESECHESS_ST_MOVE_MA_003
测试项目象棋马的移动
测试标题条件1-4不成立,移动马,落点无棋子
重要级别中
预置条件无
输入点击马,点击棋子的落点
操作步骤1、点击自方马;
2、点击无棋子的落点。
预期输出移动棋子。
4
测试用例编号CHINESECHESS_ST_MOVE_MA_004
测试项目象棋马的移动
测试标题绊马腿,落点为对方老将
重要级别中
预置条件无
输入点击马,点击棋子的落点
操作步骤1、点击自方马;
2、点击对方老将。
预期输出不移动棋子。
作者:
曹德卿QQ:
56441359MSN:
yifei91wky@13软件测试——系统测试用例设计方法
5
测试用例编号CHINESECHESS_ST_MOVE_MA_005
测试项目象棋马的移动
测试标题绊马腿,落点为对方棋子(非老将)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 测试 设计 方法