(完整word版)测试用例八大设计方法和实例
(完整word)软件测试用例文档模板(带实例)
数据
期望结果
实际结果
测试状态(P/F)
1
选择用户名称,按“提交"按钮。
用户名=administrators,密码为空
显示警告信息“帐号或密码不能为空!”
(符合)
P
2
选择用户名称,输入错误密码,按“提交”按钮。
用户名为administrators,密码=123
显示警告信息“帐号或密码不错误!”
测试目的
检查维护窗体界面与设计的符合性。
预置条件
能够登录进入到系统
特殊规程说明
(无)
参考信息
系统概要设计说明和详细设计说明
测试数据
操作步骤
操作描述
数据
期望结果
实际结果
测试状态(P/F)
1
…
…
…
…
…
2
3
4
5
6
7
8
9
10
11
12
测试人员
彭贝贝、李绍霞、唐姣凤
开发人员
杨丽娟
负责人
李虎(手写)
软件测试用例模板(带实例)
工ct_MA_Login_1
项目/软件
工程管理系统案例研究项目
程序版本
1.0。0
功能模块
Login
编制人
李虎、彭贝贝、唐姣凤
用例编号
Project_MA_Login_1
编制时间
2005-2—22
相关用例
Project_MA_Main_1、Project_MA_Interface_1、Project_MA_Priority_1
编制人
李虎、彭贝贝、唐姣凤
用例编号
Project_MA_Interface_3
优秀的测试用例案例
优秀的测试用例案例一、正常登录情况。
1. 测试用例名称:使用正确的用户名和密码登录。
测试步骤:打开登录页面。
在用户名输入框中输入已经注册好的正确用户名,比如说“超级飞侠”。
在密码输入框中输入对应的正确密码,就像给超级飞侠输入它的秘密指令“123456abc”。
点击登录按钮。
预期结果:页面成功跳转到用户的个人主页,能看到类似“欢迎回来,超级飞侠!”这样的欢迎语,并且可以看到个人信息、功能菜单等只有登录后才能看到的东西。
二、边界值情况。
1. 测试用例名称:使用最短允许的用户名和密码登录。
测试步骤:进入登录页面。
输入系统允许的最短用户名,假如是3个字符的“abc”。
输入系统允许的最短密码,比如6个字符的“123456”。
点击登录按钮。
预期结果:成功登录,进入到和正常登录一样的个人主页,显示欢迎语等相关信息。
2. 测试用例名称:使用最长允许的用户名和密码登录。
测试步骤:打开登录界面。
输入最长可接受的用户名,假设是20个字符的“这个用户名超级超级超级长1234567890”。
输入最长可接受的密码,像是30个字符的“这个密码超级超级长abcdefghijklmnopqrstuvwxyz123”。
按下登录按钮。
预期结果:顺利登录,显示个人主页和欢迎信息,没有任何报错提示。
三、异常情况。
1. 测试用例名称:用户名不存在登录。
测试步骤:来到登录页面。
在用户名框里输入一个根本没注册过的名字,例如“不存在的大侠”。
在密码框里随便输入一串字符,像“888888”。
点击登录按钮。
预期结果:页面弹出提示框,上面写着“用户名不存在,请重新输入或者注册”之类的话,并且停留在登录页面,不允许进入个人主页。
2. 测试用例名称:密码错误登录。
测试步骤:打开登录窗口。
输入一个正确注册过的用户名,比如“勇敢小战士”。
但是在密码框里输入错误的密码,像是“错误密码123”。
点击登录按钮。
预期结果:弹出提示框,显示“密码错误,请重新输入”,页面保持在登录界面,不能进入个人主页。
测试用例八大设计方法和实例
测试⽤例⼋⼤设计⽅法和实例测试⽤例设计⽅法1等价类划分1.1 理论知识等价类划分是⼀种典型的⿊盒测试⽅法。
这⼀⽅法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试⽤例。
等价类是指某个输⼊域的⼦集合。
在该⼦集合中,各个输⼊数据对于揭⽰程序中的错误都是等效的。
等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。
因此,可以把全部的输⼊数据划分成若⼲的等价类,在每⼀个等价类中取⼀个数据来进⾏测试。
这样就能以较少的具有代表性的数据进⾏测试,⽽取得较好的测试效果。
等价类划分是把所有可能的输⼊数据,即程序的输⼊域划分成若⼲部分(⼦集),然后从每⼀个⼦集中选取少数具有代表性的数据作为测试⽤例.该⽅法是⼀种重要的,常⽤的⿊盒测试⽤例设计⽅法.1) 分类:划分等价类: 等价类是指某个输⼊域的⼦集合.在该⼦集合中,各个输⼊数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这⼀类其它值的测试.因此,可以把全部输⼊数据合理划分为若⼲等价类,在每⼀个等价类中取⼀个数据作为测试的输⼊条件,就可以⽤少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和⽆效等价类.有效等价类:是指对于程序的规格说明来说是合理的,有意义的输⼊数据构成的集合.利⽤有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.⽆效等价类:与有效等价类的定义恰巧相反.设计测试⽤例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更⾼的可靠性.2)划分等价类的⽅法:下⾯给出六条确定等价类的原则:①在输⼊条件规定了取值范围或值的个数的情况下,则可以确⽴⼀个有效等价类和两个⽆效等价类.②在输⼊条件规定了输⼊值的集合或者规定了“必须如何”的条件的情况下,可确⽴⼀个有效等价类和⼀个⽆效等价类.③在输⼊条件是⼀个布尔量的情况下,可确定⼀个有效等价类和⼀个⽆效等价类.④在规定了输⼊数据的⼀组值(假定n个),并且程序要对每⼀个输⼊值分别处理的情况下,可确⽴n个有效等价类和⼀个⽆效等价类.⑤在规定了输⼊数据必须遵守的规则的情况下,可确⽴⼀个有效等价类(符合规则)和若⼲个⽆效等价类(从不同⾓度违反规则).⑥在确知已划分的等价类中各元素在程序处理中的⽅式不同的情况下,则应再将该等价类进⼀步的划分为更⼩的等价类.3)原则:设计测试⽤例:在确⽴了等价类后,可建⽴等价类表,列出所有划分出的等价类:输⼊条件有效等价类⽆效等价类... ... ...... ... ...然后从划分出的等价类中按以下三个原则设计测试⽤例:①为每⼀个等价类规定⼀个唯⼀的编号.②设计⼀个新的测试⽤例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这⼀步.直到所有的有效等价类都被覆盖为⽌.③设计⼀个新的测试⽤例,使其仅覆盖⼀个尚未被覆盖的⽆效等价类,重复这⼀步.直到所有的⽆效等价类都被覆盖为⽌.之所以这么做,是因为程序中对于某⼀个错误输⼊的检查,往往会屏蔽对于其他错误输⼊的检查。
测试用例8种方法
测试用例8种方法随着科技的发展,越来越多的软件正在涌现,为用户提供更丰富的体验。
但是,随着软件的复杂程度的不断提高,构建软件项目的成功变得越来越困难。
测试用例可以帮助开发团队更有效地识别软件问题。
测试用例是一种测试系统中软件需求/规格/功能的一种编写方式,它由几种指定的测试步骤组成,用以检验软件功能是否满足预期结果。
测试用例具有简单明了,可重复使用,容易发现问题;可将其用于各种测试项目,具有方法性和实用性等特点,是软件测试中不可缺少的一部分。
本文尝试介绍8种不同的测试用例方法,帮助软件开发团队更加有效地识别软件问题,并且加速软件项目的实施进度,以达到改进软件质量和可靠性的目标。
首先,基于功能性的测试用例方法旨在让开发团队知道软件如何完成具体任务。
这类用例会模拟真实场景并执行不同的功能,以检测软件是否表现如预期。
其次,系统集成测试用例方法旨在检测不同模块之间的整合情况。
这类用例可以帮助开发者发现系统差异和冲突。
第三,基于性能的测试用例方法旨在检测软件在特定条件下的表现情况。
这类用例可以帮助开发团队增强用户体验,比如,测试软件在同时处理多个任务时的表现情况。
第四,基于安全性的测试用例方法旨在检测软件系统是否具有安全性,以便确保用户数据不被泄露或篡改。
第五,基于回归性的测试用例方法,目的是检测程序是否在新版本中没有发生变化,以确保系统正常运行。
第六,基于边缘的测试用例方法旨在检验软件是否能够正确处理较大和较小的输入输出值。
第七,基于可用性的测试用例方法旨在检测软件的可用性,即用户是否能够轻松地使用软件。
最后,基于可执行性的测试用例方法旨在检测软件是否能够正常运行,以及它是否能够按照用户在文档中定义的方式工作。
总之,测试用例方法能够帮助开发团队更好地理解软件性能情况,以及它们是否能够满足用户的需求。
它们有助于发现软件的缺陷,最大限度地提高软件质量和可靠性,并保证软件最终能够被成功部署。
因此,为了识别软件问题,构建软件项目,提高软件质量,采用上述8种测试用例方法是至关重要的。
(完整word版)易用性测试用例集(word文档良心出品)
菜单和工具栏有清楚的界限
12
菜单和状态条通常使用5号字体
13
每个菜单快捷键不应有重复
14
菜单项提示符(如“…”)使用要准确
15
工具栏图标大小应该一致
16
菜单深度不宜超过3层
17
当前不能进行的操作应该置为灰色
快捷键
编号
测试内容(快捷键操作)
是否通过
备注
1
编辑:Ctrl+A全选;Ctrl+C拷贝;Ctrl+V粘贴;Ctrl+X剪切;Ctrl+Z撤销操作;Ctrl+Y恢复操作;Ctrl+D删除;Ctrl+F寻找;Ctrl+H替换;Ctrl+I插入;Ctrl+Tab下一窗口
2
文件操作:Ctrl+P打印;Ctrl+W关闭;Ctrl+N新建;Ctrl+S保存;Ctrl+O打开
3
主菜单:Atl+F文件;Alt+E编辑;Atl+T工具;Atl+W窗口;Atl+H帮助
4
Windows保留键:Ctrl+Esc任务窗口切换;Alt+F4关闭窗口;Alt+Tab切换到下一应用;Enter缺省按钮/确认操作;Esc取消按钮/取消操作;Shift+F1上下文相关帮助
20
按钮、提示信息尽量避免中英文混用
21
一组按钮应对齐(横向或竖向)
22
各按钮文字数量最好相同
23
各按钮文字字号应该一致
24
Shift+Tab可以反向在各控件上切换
25
提示信息无全角、半角混用
26
(完整word版)测试用例设计
举例1、保险费率计算(按照输入域划分等价类的例子):✓某保险公司承担人寿保险,该公司保费计算方式为:保费=投保额*保险率,保险率依点数不同而有别,10点以上(含10点)费率为0.6%,10点以下费率为0.1% ✓点数的计算是年龄、性别、婚姻、抚养人数所得的点数的总和✓输入:年龄、性别、婚姻、抚养人数✓输出:保险率输入数据说明:解答:第一步:输入和输出变量确认✓输入:年龄、性别、婚姻、抚养人数✓输出:保险率✓等价类划分原则:按照输入变量来确认等价类(有效等价类和无效等价类)第二步:等价类划分第三步:设计测试用例1、设计测试用例,尽可能的覆盖尚未覆盖的有效等价类。
➢(1)(8)(10)(12)➢(2)(9)(11)(13)➢(3)(8)(10)(14)2、设计测试用例,使得每一个新设计的测试用例只包含一个无效等价类,其他的选择有效等价类。
➢(4)(8)(10)(12)➢(5)(9)(11)(13)➢(6)(8)(10)(14)➢(7)(8)(10)(14)➢(1)(8)(10)(15)➢(2)(9)(11)(16)➢(3)(8)(10)(16)说明:在设计无效部分的测试用例的时候,有效等价类部分,可以任意选择。
思考:若使用边界值法可以增加哪些用例?是否可以用判定表方法设计测试用例?举例2(因果图法设计测试用例):某电力公司有A、B、C、D四类收费标准,其规定如下图用电类别用电额度用电期间收费类型居民用电<100度/月——A类>=100度/月B类动力用电<10000度/月非高峰期B类>=10000度/月非高峰期C类<10000度/月高峰期C类>=10000度/月高峰期D类第一步:分析题目,列出原因和结果,并编号;输入条件(原因)输出动作(结果)1:居民用电A:A类计费2:动力用电B:B类计费3:<100度/月C:C类计费4:<10000度/月D:D类计费5:用电高峰期第二步:画出因果图,所有原因结点在左边,所有结果结点在右边,并建立四个中间结点,表示处理的中间状态第三步:把因果图转换为判定表;第四步:为判定表每一列设计一个测试用例;一、程序如下:Int A.B;Double X;if (A > 1 && B == 0)X = X/A;if (A == 2 || X > 1)X = X + 1;cout<<A<<B<<X;要求:1、画出程序流程图;2、分别使用语句覆盖、判定覆盖、条件覆盖、条件组合覆盖方式设计测试用例;3、在TD上编写出测试用例二、有一个员工管理系统,现对其录入模块进行测试。
(完整word版)接口测试用例的设计
接口测试用例的设计接口测试是项目测试的一部分,它测试的主要对象是接口,是测试系统组件间接口的一种测试。
接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点。
测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。
如何设计接口测试用例?首先,明确出发点,和所有的测试一样,接口测试出发点是你要证明所测的程序是错误的。
以这个出发点为导向,你的设计行为就会尽量朝这个方向,更易发现问题其次,选择好测试对象。
对于一个系统做接口测试选择好的测试对象是接口测试关键。
一个系统有无数的接口,每个接口如果分别测试,那将是很痛苦的一件事情,而且任何一个内部接口的变动,都将导致我们用例的不可用。
可将这些最外层的接口分为两类:一类是数据进入系统的接口;一类是数据流出系统的接口。
进入系统的接口实际是我们用例的执行调用的接口。
可通过变化参数对这些接口进行调用,模拟外部的使用;而流出的接口则是我们用例真正该验证的点。
数据从哪里流出,流出时的状态如何,此时系统又是什么状态都是我们所应该验证的。
然后,确认完整的测试对象的功能:确认外部接口提供给使用这些接口的外部用户什么样的功能,外部用户真正需要什么样的功能。
此两个功能一定要准确详细,用例的设计要严格按照测试对象功能设计才是正确的用例。
最后当出发点、对象、功能都确定了,就可以真正设计用例了。
下面详细介绍下如何去设计一个结构好、可读性高、渗透性强的接口测试用例。
接口测试用例设计和测试用例设计一样,用例设计的内容应该包括:主要测试功能点、测试环境、测试数据、执行操作以及预期结果。
1)接口测试环境分为两种:一种是程序内部的环境;一种是程序的所调用外部接口的环境。
2)接口测试测试数据分为接口参数数据和用例执行所需系统数据。
数据的设计、准备测试用例的数据上需要花费更多的心思。
要通过好的测试数据使用例查找问题。
接口参数数据需对每个参数根据测试接口的实际的功能进行分析,在符合业务逻辑的情况下进行逻辑组合排列,不要遗漏了某些边界值和错误点的数据。
常见测试用例的设计方法
常见测试用例的设计方法一、等价类划分法。
这就像是把东西分类哦。
比如说,我们要测试一个输入框能接受的数字范围。
如果规定是1到100之间的整数,那我们就可以把这个范围分成几个等价类。
像1到10是一类,11到50是一类,51到100是一类。
为什么这么分呢?因为在每个小类里,它们的性质差不多呀。
对于1到10这个小类,我们只要测试其中一个数字,比如5,就大概能知道这个小类里其他数字的情况啦。
这就好像一群小伙伴,他们都有相似的特点,测试了一个就大概了解一群啦。
二、边界值分析法。
这个可有趣啦。
还是上面那个1到100的输入框例子哦。
最容易出问题的往往是边界的地方呢。
那我们就得重点测试1和100这两个边界值,还有比1小一点的,像0,比100大一点的,像101。
就像走在悬崖边,最危险的就是边缘那一块啦。
边界值就像是那些特殊的小伙伴,他们处在边缘位置,得特别关注他们,因为他们很可能会有不一样的表现呢。
三、决策表法。
想象一下我们在做选择。
比如说要去旅游,天气是晴、雨、雪,交通工具是汽车、火车、飞机,目的地是海边、山区、城市。
这时候就可以用决策表啦。
把各种情况列出来,像天气晴的时候坐汽车去海边怎么怎么样,天气雨的时候坐火车去山区又怎么怎么样。
这样就把所有可能的组合都考虑到了,就像把所有旅游的路线和情况都安排得明明白白,一个都不落下,是不是很有条理呢?四、因果图法。
这有点像找事情的因果关系呢。
比如说,有个系统登录功能,密码正确和用户名正确是原因,能成功登录就是结果。
但是呢,如果密码错误或者用户名错误,就不能登录啦。
我们就可以用因果图把这些关系画出来,就像画一个小地图一样,把原因和结果之间的联系都清楚地展现出来。
这样在测试的时候,就知道该怎么去操作,去验证这些因果关系是不是正确啦。
五、场景法。
这个就像是在演小话剧一样。
比如说测试一个电商网站的购物流程。
从用户登录,到挑选商品,加入购物车,结算,支付,每一步都是一个场景。
我们要按照这个场景一步一步地去测试,就像演员按照剧本表演一样。
测试用例的8种方法
测试用例的8种方法一、等价类划分法。
这就像是把东西分类啦。
比如说,测试一个输入框能输入数字,那我们就可以把数字分成好多类,像正整数、负整数、零这些。
这样,我们从每个类里挑一个代表来测试,就不用把每个数字都试一遍啦,多省事呀。
就好像一群小动物,我们按种类挑几只看看情况就大概知道整个群体的情况了,是不是很机智呢?二、边界值分析法。
这个方法可有趣啦。
它就专门盯着边界的地方。
还是说输入数字的例子,如果规定只能输入1到100的数字,那1和100就是边界值呀。
往往这些边界的地方最容易出问题呢。
就像住在房子边缘的人可能会遇到一些独特的情况,比如靠近路边可能会吵一点。
在测试的时候,边界值可不能放过,它们就像调皮的小鬼,最容易捣乱啦。
三、决策表法。
这就像是做选择题的一个大表格。
有很多条件,每个条件又有不同的选项,组合起来就像一个超级大的菜单。
比如说,要测试一个购物系统,根据用户是否是会员、购买金额多少、是否是促销商品这些条件,来决定最后的折扣或者赠品。
我们就把这些条件和结果都列在决策表里,然后按照表格一个一个测试,就像按照菜单点菜一样,明明白白的。
四、因果图法。
这个有点像找因果关系呢。
比如说,输入某个值会导致某个结果,那我们就把这个因果关系画出来。
如果输入错误密码会导致登录失败,那错误密码就是因,登录失败就是果。
把这些因果关系都整理好,就像在整理一个故事的情节一样,这样能更好地发现问题,就像把故事里不合理的情节找出来一样好玩。
五、正交试验法。
这是一种很高效的方法哦。
就像是从很多因素里挑选出一些有代表性的组合来测试。
假如有好几个变量影响一个结果,像颜色、大小、材质影响一个产品的受欢迎程度。
我们不可能把所有组合都试一遍,那就用正交试验法,挑出一些关键的组合,就像从很多宝藏里挑出最有价值的那几颗宝石一样。
六、场景法。
想象一下一个完整的场景哦。
比如测试一个在线旅游系统,从用户开始搜索旅游目的地,到选择酒店、预订机票,再到最后的旅行体验。
(完整word版)测试用例(word文档良心出品).doc
0.2文档范围
测试用例文档是针对校园一卡通信息系统的,因此文档范围控制在对校园一卡通
恰当
输入/动作
期望的输出/相应
实际情况
《C程序设计》从扫描仪扫描经
显示用户是否超期,未超期还书
吻合
过
成功
《JAVA程序设计》从扫描仪扫
显示用户超期天数(
4天)
吻合
描经过
功能D描述
续借功能
用例目的
测试用户能否正常续借
前提条件
操作系统正常运行,用户一卡通正常,扫描仪正常以及各硬件配置
恰当
输入/动作
期望的输出/相应
登录成功
与期望相吻合
码:hujianfeng
输入:管理员
ID:0078002010,密
密码越界
吻合
码:abcdefghijkldlddfdf
输入:管理员
ID:0078002010,
密码输入格式不正确
与期望相吻合
密码:123456
功能B描述
借书功能
用例目的
测试用户能否正常借书
前提条件
操作系统正常运行, 用户一卡通正常, 扫描仪正常以及各硬件配置
实际情况
《C程序设计》从扫描仪扫描经
显示用户是否超期,未超期还书
吻合
过
成功
《JAVA程序设计》从扫描仪扫
显示用户超期天数(
4天),
吻合
描经过
3.健壮性测试用例
举例说明测试用例的设计方法
举例说明测试用例的设计方法测试用例是测试工作的基本单位,它是根据需求规格、设计文档、用户手册等编制的一组测试输入、执行条件以及预期结果的描述。
测试用例的设计方法决定了测试覆盖的程度和测试效果,下面将介绍几种常见的测试用例设计方法。
1.等价类划分法等价类划分法是将输入域划分为若干等价类,从每个等价类中选取一个或多个代表进行测试。
等价类即具有相同功能或特性的输入数据的集合,因此只需测试代表性的输入数据即可覆盖整个等价类。
例如,对于一个用户登录的测试用例,可以将密码输入分为长度为0、小于最小长度、等于最小长度、大于最小长度的等价类,并从每个等价类中选择一个或多个具体密码进行测试。
2.边界值法边界值法是基于输入值的边界和特殊值进行测试。
由于输入值的边界和特殊值往往是导致软件错误的主要原因,因此重点测试这些值可以有效地增加测试覆盖度。
例如,对于一个输入范围为1-100的测试用例,可以测试输入值为1、100、0、101,以及大于最大值和小于最小值的情况。
3.错误推测法错误推测法是根据开发人员的经验和技术背景,推测出可能存在的错误,并设计相应的测试用例进行测试。
这种方法基于经验和直觉,能够快速发现可能出现的错误,但测试覆盖度相对较低,需要结合其他方法使用。
例如,对于一个表单提交的测试用例,根据经验可能会存在表单验证、字段长度限制、特殊字符过滤等错误,可以设计相应的测试用例进行验证。
4.判定表驱动法判定表驱动法是根据系统的规则和逻辑,设计一个判断表,并利用表中的条件和结果进行测试。
判定表通常由条件列、动作列和预期结果列组成,以根据不同条件产生不同的动作和结果。
通过覆盖判定表中的各种条件和结果组合,可以有效地测试系统的各个分支和边界条件。
例如,对于一个购物车下单的测试用例,可以设计一个判定表,包含条件列(如库存量、金额、优惠券等)、动作列(如提交订单、提示库存不足等)和预期结果列(如订单状态、余额变化等)。
5.数据驱动法总之,测试用例设计方法有很多种,可以根据实际情况和需求选择合适的方法,或者综合多种方法进行设计。
测试用例八大设计方法和实例
测试用例八大设计方法和实例测试用例设计是软件测试中的一个重要环节,用于检测软件是否符合预期的要求以及发现潜在的缺陷。
在测试用例设计过程中,常常会使用到八大设计方法,包括等价类划分法、边界值分析法、错误猜测法、因果图法、决策表测试法、状态转换测试法、路径测试法和场景测试法。
下面将对这八大设计方法进行详细介绍,并给出相应的实例。
1.等价类划分法:等价类划分法是根据输入值的有效类别来设计测试用例的方法。
根据输入值的特征和限制条件,将输入值划分为等价类,每个等价类中的输入值具有相同的功能和行为,只需选择一个典型的输入值进行测试即可。
例如,对一个要求输入0-100之间的整数的程序,可以划分为三个等价类:小于0的整数、0-100之间的整数以及大于100的整数。
2.边界值分析法:边界值分析法是根据输入值的边界情况进行测试用例设计的方法。
通常在输入值的边界处可能存在错误和异常的情况,因此需要特别关注这些边界条件。
例如,对一个要求输入1-100之间的整数的程序,可以选择1、100两个边界值以及1和100之间的数作为测试用例。
3.错误猜测法:错误猜测法是通过猜测可能存在的错误,设计测试用例来验证系统是否能正常处理这些错误情况。
例如,在一个登录系统中,可以猜测用户输入错误的用户名或密码,然后设计对应的测试用例来测试系统是否能正确地处理这些错误情况。
4.因果图法:5.决策表测试法:决策表测试法是通过建立决策表,来设计测试用例的方法。
决策表是一种用于描述系统决策逻辑的表格,其中包含了系统所有的输入条件和相应的输出结果。
通过对决策表进行覆盖分析,设计出相应的测试用例。
例如,在一个银行系统中,可以根据不同的账户类型、账户余额和交易金额等因素,设计测试用例来测试不同交易类型的处理逻辑。
6.状态转换测试法:状态转换测试法是适用于状态机模型的一种测试方法。
状态机是描述系统行为的一种图形化表示方法,通过对状态之间的转换进行测试用例设计。
史上最全的测试用例设计方法总结
测试用例的设计方法(全)(南京大蜗牛转载整理)等价类划分方法:一.方法简介1.定义是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
该方法是一种重要的,常用的黑盒测试用例设计方法。
2.划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
1)有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
2)无效等价类与有效等价类的定义恰巧相反。
无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。
对于具体的问题,无效等价类至少应有一个,也可能有多个。
设计测试用例时,要同时考虑这两种等价类。
因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
3.划分等价类的标准:1)完备测试、避免冗余;2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;3)并是整个集合:完备性;4)子集互不相交:保证一种形式的无冗余性;5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"。
4.划分等价类的方法1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
如:输入值是学生成绩,范围是0~100;2)在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类;3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
(完整word版)测试用例设计规范
百胜FIS 2.0 CMD 测试用例规范目录1本系统功能测试 (2)1.1模块功能测试 (2)1.1.1测试用例属性 (2)1.1.2测试用例功能设计原则 (2)1.2模块间数据交互测试 (7)1.2.1关联点(前置条件、后置条件) (7)1.2.2数据交互 (7)1.3兼容、安全、UI测试 (7)1.3.1兼容测试 (7)1.3.2UI测试 (7)1.3.3安全测试 (8)2系统间接口测试 (8)3测试用例执行 (8)4附录 (10)4.1场景法设计 (10)4.1.1定义 (10)4.1.2场景设计 (10)4.1.3设计步骤 (15)4.2边界值设计 (15)4.2.1定义 (15)4.2.2设计方法 (15)4.3等价类划分设计 (15)4.3.1定义 (15)4.3.2设计方法 (16)1本系统功能测试1.1模块功能测试1.1.1测试用例属性1.1.2测试用例功能设计原则设计测试用例的方法参考本文档的附录1.根据需求文档划分测试场景,按照测试场景命名测试步骤名称。
如下图所示:2.用例编号的命名规则为“模块名称(缩拼)”+“-”+“4位编号”,编号自0001号开始。
例如:基础信息模块的用例编号,JCXX-0001;【注】该条为EXCEL测试用例书写规则3.对于XX点的测试需求,至少需要确定两个测试用例。
一个测试用例代表预期的条件,它可用于核实行为是否正确或符合预期结果(正面测试)。
另一个测试用例代表不可接受的、异常的或意外的条件,它可用于核实是否以预期结果实现(负面测试);4.每条测试用例是该页面中唯一的检查项;5.每条用例描述的系统默认状态、默认数据也是该页面唯一的检查项。
1.1.2.1数据输入本系统中需输入的类型包括:文本框、下拉框、复选框、单选框、日期控件◆公共用例A.文本框/文本域(100、1000个字符):长度校验、类型校验、是否必填项校验1)超出数据库长度、页面定义的长度均不允许输入2)当定义的长度“数据库长度>页面长度”时,超出页面长度则不允许输入3)禁止输入的文本框,默认禁灰显示B.下拉框:选择数据后是否有联动效果、点击后下拉显示数据内容、点击空白后下拉框收缩C.单选框:选中、更换D.复选框:选中、取消E.日期控件:弹出位置、选中后日期按格式要求显示在日期输入框、输入日期后点击日期控件自动定位到所选择的的日期F.分页:下拉框条数选择、首页、上一页、下一页、尾页、GO、输入框页数◆各模块需书写的用例A.文本框:字符长度限制校验、输入类型校验、描述是否必填B.下拉框:是否有默认值、选择项数据来源(需描述来源是:页面固定、数据库调用(描述出来源的数据表))【注】前期可以不需要描述数据表、后期确定后需补充C.单选框:个数、显示方式(例如:是、否)、默认项D.复选框:个数、显示方式、是否默认勾选E.日期控件:是否有选择范围控制1.1.2.2需求覆盖测试用例中的测试点要覆盖需求规格说明书中的业务场景以及业务规则(具体内容如下),且书写的测试操作步骤、预期结果(正确、是否类词语不能出现)无歧义。
(完整word版)软件测试 测试用例实例(含:功能测试用例、性能测试用例、兼容性测试用例)
测试用例实例(含:功能测试用例、性能测试用例、兼容性测试用例)目录一、功能测试用例................................................................................. - 2 -二、性能测试....................................................................................... - 10 -2.1预期性能测试用例.................................................................. - 10 -2.2 用户并发测试用例................................................................. - 10 -2.3 大数据量测试用例................................................................. - 11 -2.4 疲劳强度测试用例................................................................. - 11 -2.5 负载测试测试用例................................................................. - 11 -三、兼容性测试................................................................................... - 12 -用例编号TestCase_LinkWorks_WorkEvaluate项目名称LinkWorks模块名称WorkEvaluate模块项目承担部门研发中心-质量管理部用例作者完成日期2005-5-27本文档使用部门质量管理部评审负责人审核日期批准日期注:本文档由测试组提交,审核由测试组负责人签字,由项目负责人批准。
常用测试用例设计方法
常⽤测试⽤例设计⽅法⼋⼤⽅法及综合策略⼀、等价类法概述:根据程序对数据的要求,把程序的输⼊域划分成若⼲个部分区分出哪些数据是有效的,哪些数据是⽆效的,(有效等价类与⽆效等价类)从每个部分中选取少数代表性数据作为测试⽤例步骤:划分等价类细化等价类 (对等价类进⾏编号)建⽴等价类表编写测试⽤例要点:被选为测试⽤例的数据在测试中的作⽤等价于这⼀类中的其他值如果等价类中的⼀个测试能够捕获⼀个缺陷,那么选择该等价类中的其他测试也能捕获该缺陷如果等价类中的⼀个测试不能捕获缺陷,那么选择该类中的其他测试也不会捕获到缺陷⼆、边界值法概述:找到测试数据的边界点,也就是有效等价类和⽆效等价类的边界点对边界点数据专门进⾏测试步骤:找到测试数据的边界点,分析出上点、离点、内点根据上点、离点、内点写出测试⽤例要点:如果输⼊条件规定了值的范围,则应取边界点数据,以及边界点两边的数据进⾏测试如果输⼊条件规定了值的个数,则⽤最⼤个数及其两边的点、最⼩个数及其两边的点作为测试数据根据规格说明的每个输出条件,使⽤前⾯的原则根据规格说明的每个输出条件,应⽤前⾯的原则如果程序的规格说明给出的输⼊域或输出域是有序集合,则应选取集合的第⼀个元素和最后⼀个元素作为测试⽤例三、因果图法概述:在⼀个模块或⼀个界⾯中,有多个控件,这些控件存在约束关系或组合关系,且输出依赖于输⼊条件,则可以使⽤因果图法步骤:找出所有的输⼊条件找出所有的输出条件明确所有输⼊条件之间的制约关系以及组合关系明确所有输出条件之间的制约关系以及组合关系找出怎么样的输⼊条件组合会产⽣那种输出结果根据因果图写出判定表根据判定表写出测试⽤例要点:恒等、或(V)、与(∧)、⾮(~)、互斥(E)、包含(I)、唯⼀(O)、要求(R)、屏蔽(M)因果图法主要考虑控件之间条件的组合关系每个控件的条件不宜过多,最好为2个控件较多,或每个控件的条件过多,不宜⽤因果图法四、判定表法概述:判断表主要侧重输⼊条件之间的逻辑关系(画因果图只是⼀个辅助⼯具,通过分析最终得到判定表,再通过判定表编写测试⽤例)步骤:找出所有的输⼊条件找出所有的输出条件明确所有输⼊条件之间的制约关系以及组合关系明确所有输出条件之间的制约关系以及组合关系找出怎么样的输⼊条件组合会产⽣那种输出结果根据因果图写出判定表根据判定表写出测试⽤例要点:判定表的组成:适合使⽤判定表设计测试⽤例的条件:规格说明以判定表的形式给出,或很容易转换成判定表条件的排列顺序不影响执⾏哪些操作规则的排列顺序不影响执⾏哪些操作当某⼀规则的条件已经满⾜,并确定要执⾏的操作后,不必检验别的规则如果某⼀规则要执⾏多个操作,这些操作的执⾏顺序⽆关紧要五、正交法概述:能够使⽤最⼩的测试过程集合获得最⼤的测试覆盖率步骤:根据所测程序中控件的个数以及每个控件的取值个数,选取⼀个合适的正交排列表把控件以及取值列出来,并对取值进⾏编号把控件以及取值映射到正交排列表中根据映射好的正交排列表编写测试⽤例要点:⼀、 n阶拉丁⽅: ⽤n个不同的拉丁字母排成⼀个n阶⽅阵, 每个字母在任⼀⾏、任⼀列中只出现⼀次⼆、正交拉丁⽅: 设有两个n阶的拉丁⽅,如果将它们叠合在⼀起,恰好出n2个不同的有序数对三、正交表是⼀种特制的表,记为:m是每个控件包含的取值个数K表⽰控件的个数n是表的⾏数, n=k(m-1)+1n=k1(m1-1)+k2(m2-1)+…kx(mx-1)+1L为正交表的代号Ln(m1^k1 m2^k2…mx^kx)正交排列法的局限性:基本都要求每个控件中取值的个数要相等,这在实际软件中很少遇到正交表的性质:每⼀列中,不同的数字出现的次数相等任意两列中数字的排列⽅式齐全⽽且均衡即:正交表的两⼤优越性,“均匀分散性,整齐可⽐性”通俗的说,每个因素的每个⽔平与另⼀个因素各⽔平各碰⼀次,这就是正交性种类:各列⽔平数均相同的正交表混合⽔平正交表例:L8(4*24)——⼀个控件有4个属性,4个控件有2个属性六.场景法概述:场景法就是模拟⽤户操作软件时的场景,主要⽤于测试系统的业务流程在冒烟测试时也主要采⽤场景法进⾏测试步骤:根据说明,描述出程序的基本流及各项备选流根据基本流和各项备选流⽣成不同的场景对每⼀个场景⽣成相应的测试⽤例要点:⼀、基本流:按照正确的业务流程来实现的⼀条操作路径(模拟正确的操作流程)⼆、备选流:导致程序出现错误的操作流程(模拟错误的操作流程)七.⼤纲法概述:在⼀个程序或程序的某个模块中,涉及到多个窗⼝,每个窗⼝中能够完成多个动作这些窗⼝⼜相互联系, 为了弄清窗⼝和窗⼝之间的关系,或者说动作和动作之间的关系,可以使⽤测试⼤纲⽅法步骤:找出所有的窗⼝以及每个窗⼝的输⼊动作找到各个窗⼝之间的联系,并据此编写测试⽤例要点: (综合策略)为了测试程序的业务逻辑、业务流程、主要功能的正确性,错误处理能⼒,使⽤场景法设计测试⽤例需要输⼊数据的地⽅,进⾏等价类划分,包括输⼊条件和输出条件的等价划分使⽤边界值分析⽅法补充⽤例可以⽤错误推测法追加⼀些测试⽤例对照程序逻辑,检查已设计出的测试⽤例的逻辑覆盖程度,如果没有达到要求的覆盖标准或发现还有遗漏,应该再补充⾜够的测试⽤例如果程序的功能说明中含有输⼊条件和输出条件的组合情况,则⼀开始就可选⽤因果图法或判定表⽅法对于参数配置类的软件,要考虑各个参数之间的组合情况,使⽤正交排列法为了更真实模拟⽤户的操作流程、顺序,可以使⽤状态转换图⽅法设计测试⽤例如果程序的模块有多个窗⼝,并有相关联的操作,可以使⽤测试⼤纲⽅法设计测试⽤例⼋、状态转换图法概念:找出软件所有的状态以及导致这些状态发⽣变化的所有输⼊动作进⽽⽤图形的⽅法把相关联的输⼊动作和状态联系在⼀起,真实模拟⽤户的操作顺序流程步骤:找出程序的所有输⼊动作,并进⾏编号找出程序的所有状态找出什么动作会导致什么状态发⽣,画出状态转换图把相关联的动作和状态联系起来,设计测试⽤例要点:两个重要的概念::(核⼼)软件的状态输⼊的动作状态转换图法⼩结:每种状态⾄少访问⼀次【⽆论⽤什么⽅法,每⼀种状态都必须测试】测试看起来最常见最普遍的状态转换【根据产品说明书,通过与客户、开发⼈员沟通,了解哪些操作更常⽤、更重要】测试状态之间最不常⽤的分⽀【这些分⽀是最容易被产品设计者和程序员忽视的】测试所有错误状态及其返回值【错误没有得到正确处理、错误提⽰信息不正确等情况是常有的】九、综合策略为了测试软件的业务流程,业务逻辑,基本功能的正确性,错误处理能⼒,采⽤场景法编写⽤例需要输⼊数据的地⽅,进⾏等价类划分,包括输⼊条件和输出条件的等价划分使⽤边界值分析⽅法补充测试⽤例可以⽤错误分析法追加测试⽤例对照程序的逻辑,检查测试⽤例的逻辑覆盖程度,如果没有达到覆盖标准或发现有遗漏,则要补齐⽤例如果软件的功能说明⾥有输⼊条件和输出条件的组合情况,⼀开始就考虑⽤因果图和判定表⽅法对于有参数配置的软件,要考虑各个参数的组合情况,则可以⽤正交排列表法来设计测试⽤例为了模拟⽤户的操作流程,顺序,则可以⽤状态转换图法设计测试⽤例如果⼀个软件或⼀个界⾯⾥有多个窗⼝,每个窗⼝可以完成多步动作,且每个窗⼝之间存在联系,可以采⽤⼤纲法来设计⽤例。
常用测试用例设计方法
常⽤测试⽤例设计⽅法1、等价类思想:数据分为两类:有效数据、⽆效数据优点:简单⾼效、快速评估⽤例数量缺点:只考虑了输⼊的有效和⽆效,选取的数据⽐较随机,边界上的缺陷不太容易发现适⽤范围:只要存在输⼊的需求2、边界值建⽴在等价类基础上优点:更容易发现边界上的问题缺点:只有存在边界时才能使⽤适⽤范围:有输⼊参数,且输⼊参数有类型或范围长度的边界3、判定表设计步骤:S1、根据需求确定判断条件:条件桩S2、根据需求确定输出结果:动作桩S3、组合所有的判断条件的情况:条件项S4、根据需求分析每⼀列条件组合对应的输出结果:动作项S5、每⼀列就是⼀条测试⽤例优点:达到所有条件判断的全组合覆盖缺点:条件桩过多时,⽤例呈指数倍增长:2的n次⽅适⽤范围:存在多个且⽆关联的条件判断组合4、正交试验法设计步骤:S1、根据需求提取因⼦:输⼊S2、明确每个因⼦的状态:缺点每个输⼊有⼏个取值S3、⽤符号代替因⼦状态,画出因⼦状态表S4、将因⼦状态带⼊正交试验法S5、如果有多个因⼦状态需要进⾏拆分S6、将符号替换成⽂字S7、⼀⾏对应⼀条测试⽤例的取值优点:覆盖输⼊参数之间的两两组合缺点:输⼊参数必须是相互独⽴的,不能有依赖关系适⽤范围:使⽤正交实验法的前提,输⼊参数有固定的取值,不同的取值组合对应不同的路径5、流程分析法设计步骤:S1、根据需求,分析相关的判断条件例:假如、当、如果、若S2、将所有的条件判断画⼊流程图中S3、先画正常的处理路径:基本流S4、逐⼀画每个异常的处理路径:备选流S5、⼀条路径对应⼀条测试⽤例优点:覆盖了需求的输⼊、处理、输出缺点:覆盖输⼊的取值不多,需要对业务熟悉适⽤范围:对业务熟悉、流程⽐较复杂的需求6、状态迁移图设计步骤:S1、根据需求-->状态的名称S2、根据需求-->画出N*N的状态矩阵:N表⽰状态的个数S3、将状态矩阵化成状态树注意:⼀个节点只画⼀次1)⼴度优先a、找⼀个起始点b、画出第⼀个节点可以到达的所有节点c、逐层画每个节点所有可达的节点d、直到所有的节点画完2)深度优先a、找⼀个起始点b、画第⼀个节点的所有可达节点c、先画最左侧节点的所有可达d、逐层画每⼀层最左侧节点的可达(暂时不去画右边的可达节点)e、所有左侧的节点都画完f、在往上倒推,画未画过的节点g、直到画完所有节点的可达7、输⼊域覆盖法是⼀种综合的⽅法,综合了等价类、边界值等主要考虑三⽅⾯内容的测试S1、极端测试例:在⼀个输⼊框:99999999999999999999999999999999.....S2、中间范围测试:等价类边界值已经覆盖S3、特殊值测试例:打电话,电话卡没钱能够拨打:110、119、120、10086、10010、1228、输出域覆盖法设计步骤:从输出结果倒推输⼊例:S1、⽤例标题:验证⽤户信息详情界⾯的信息显⽰与登录账号的信息⼀致S2、预置条件:已存在账号:张三,密码:123456,⼯号:555,联系⽅式:188******** S3、输⼊⽤户名:张三,密码:123456S4、操作步骤1)在⽤户登录界⾯输⼊以上数据2)点击登录按钮3)查看⽤户详情S5、预期结果:详情界⾯⽤户名显⽰张三,⼯号显⽰555,联系⽅式显⽰:188******** 9、因果图法因果图符号:恒等当C为真时则得出e例:如果分数⼤于等于60--->及格⾮当C为假时则得出e例:如果分数⼤于等于60(为假)--->不及格或C1、C2、C3任意⼀个为真时,则得出e例:商店苹果、橘⼦、草莓(任意⼀种)--->买到⽔果与C1、C2、C3必须都为真,则得出e例:招聘要求:必须⼤专以上、35岁以下、会写测试⽤例异a、b只能有⼀个为真,也可以全部都为假例:鱼和熊掌不可兼得或a、b⾄少有⼀个为真,也可以全部为真例:购物付款 1)刷卡,2)付现⾦唯⼀a、b中⼀个为真,⼀个为假例:主管沟通 1)国外发展, 2)国内发展要求当A为真时要求B也为真强制当A为真的时,强制B为假优点:考虑了输⼊情况的组合和相互制约的关系缺点:因果图不好画,有时候很难从需求中提取原因和结果⼀般很少⽤,⽤于研究或军⼯企业会⽤到10、错误推测法根据经验猜测例⼦1:⽤户名/商品名不允许重名a、肯定要验证添加相同名称的商品/⽤户能否添加成功b、删除原有的⽤户/商品,再次添加⼀个相同名称的⽤户/商品,进⾏测试例⼦2:查询未⽀付订单记录查看其中⼀个订单的详情,返回后a、回到原始界⾯,查询信息不存在b、如果想要查看第⼆个未⽀付的订单详情,需要重新输⼊查询信息进⾏查询11、异常分析法宗旨:构造环境异常S1、断⽹S3、停⽌服务S4、终⽌程序S5、强制关机S6、程序进⾏中,点击取消:⽐如上传⽂件S7、退出。
测试用例设计方法
测试⽤例设计⽅法本篇由本⼈整理⿊盒、⽩盒、接⼝测试⼀系列⽤例设计⽅法。
⿊盒测试⽤例设计⽅法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。
(⼀)等价类划分法定义:等价类划分法是把所有可能输⼊的数据,即程序的输⼊域划分策划国内若⼲部分(⼦集),然后从每⼀个⼦集中选取少数具有代表性的数据作为测试⽤例。
⽅法是⼀种重要的、常⽤的⿊盒测试⽤例设计⽅法。
等价类是指某个输⼊域的⼦集合。
在该⼦集合中,各个输⼊数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这⼀类其他值的测试,因此,可以把全部输⼊数据合理划分为若⼲等价类,在每⼀个等价类中取⼀个数据作为测试的输⼊条件就可以⽤少量代表性的测试数据取得较好的测试结果。
等价类划分有两种不同的情况:有效等价类和⽆效等价类。
有效等价类,是指对于程序的规格说明来说是合理的、有意义的输⼊数据构成的集合。
利⽤有效等价类可检验程序是否实现了规格说明所规定的功能和性能。
⽆效等价类指对程序的规格说明是不合理的或⽆意义的输⼊数据所构成的集合。
对于具体的问题,⽆效等价类⾄少应有⼀个,也可能多个。
划分标准:1) 完备测试、避免冗余2) 划分等价类重要的是:集合的划分、划分为互不相交的⼀组⼦集,⽽⼦集的并是整个集合3) 并是整个集合:备性4) ⼦集互不相交:保证⼀种形式的⽆冗余性5) 同⼀类中标识(选择)⼀个测试⽤例,同⼀等价类中,往往处理相同,相同处理映射到“相同的执⾏路径”。
划分⽅法:1) 在输⼊条件规定了取值范围或值的个数的情况下,则可以确⽴⼀个有效等价类和两个⽆效等价类。
如:输⼊值是学⽣成绩,范围是0~100;2)在输⼊条件规定了输⼊值的集合或者规定了“必须如何”的条件的情况下,可确⽴⼀个有效等价类和⼀个⽆效等价类:3)在输⼊条件是⼀个布尔量的情况下,可确定⼀个有效等价类和⼀个⽆效等价类。
布尔量是⼀个⼆值枚举类型, ⼀个布尔量具有两种状态: true 和 false 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测试用例设计方法1等价类划分1.1 理论知识等价类划分是一种典型的黑盒测试方法。
这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。
等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。
等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。
因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。
这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。
等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.1) 分类:划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.无效等价类:与有效等价类的定义恰巧相反.设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性.2)划分等价类的方法:下面给出六条确定等价类的原则:①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.3)原则:设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类:输入条件有效等价类无效等价类... ... ...... ... ...然后从划分出的等价类中按以下三个原则设计测试用例:①为每一个等价类规定一个唯一的编号.②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止.之所以这么做,是因为程序中对于某一个错误输入的检查,往往会屏蔽对于其他错误输入的检查。
因此,必须针对每一个无效等价类分别设计测试用例1.2 实例1、保险费率计算人人保险公司承担人寿保险已有多年历史,该公司保费计算方式为投保额*保险率,保险率又依点数不同而有别, 10 点以上费率为 0.6 % , 10 点以下费率为0.1 % :输入数据说明一、分析输入数据型式。
年龄:一或两位数字。
性别:以英文「 Male 」、 Female 」、「 M 」、「 F 」表示。
婚姻:「已婚」、「未婚」。
扶养人数:空白或一位数字。
保险费率: 10 点以上, 10 点以下。
二、划分输入数据三、设计输入数据。
四、根据以上分析设计测试用例:2边界值分析法2.1 理论知识边界值分析方法是对等价类划分方法的补充,也是一种黑盒测试方法,适度等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
(1)边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.(2)基于边界值分析方法选择测试用例的原则:1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据.2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据.3)根据规格说明的每个输出条件,使用前面的原则1).4)根据规格说明的每个输出条件,应用前面的原则2).5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例.6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例.7)分析规格说明,找出其它可能的边界条件.2.2 实例找零钱最佳组合假设商店货品价格 (R) 皆不大于 100 元(且为整数),若顾客付款在 100 元内 (P) ,求找给顾客之最少货币个(张)数?(货币面值 50 元 (N50) , 10 元 (N10) , 5 元 (N5) , 1 元 (N1) 四种)一、分析输入的情形。
R > 1000 < R < = 100R <= 0P > 100R<= P <= 100P < R二、分析输出情形。
N50 = 1N50 = 04 > N10 >= 1N10 = 0N5 = 1N5 = 04 > N1 >= 1N1 = 0三、分析规格中每一决策点之情形,以 RR1, RR2, RR3 表示计算要找 50, 10, 5 元货币数时之剩余金额。
R > 100R <= 0P > 100P < RRR1 >= 50RR2 >= 10RR3 >= 5四、由上述之输入/输出条件组合出可能的情形。
R > 100R <= 00 < R <= 100, P > 1000 < R <= 100, P < R0 < R <= 100, R <= P <= 100, RR = 500 < R <= 100, R <= P <= 100, RR = 490 < R <= 100, R <= P <= 100, RR = 100 < R <= 100, R <= P <= 100, RR = 90 < R <= 100, R <= P <= 100, RR = 50 < R <= 100, R <= P <= 100, RR = 40 < R <= 100, R <= P <= 100, RR = 10 < R <= 100, R <= P <= 100, RR = 0五、为满足以上之各种情形,测试资料设计如下:1. 货品价格 = 1012. 货品价格 = 03.货品价格 = -14. 货品价格 = 100, 付款金额 = 1015. 货品价格 = 100, 付款金额 = 996. 货品价格 = 50, 付款金额 = 1007. 货品价格 = 51, 付款金额 = 1008. 货品价格 = 90, 付款金额 = 1009. 货品价格 = 91, 付款金额 = 10010. 货品价格 = 95, 付款金额 = 10011. 货品价格 = 96, 付款金额 = 10012. 货品价格 = 99, 付款金额 = 10013. 货品价格 = 100, 付款金额 = 1003错误推测法1、定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.2、错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。
1)例如, 输入数据和输出数据为0的情况;输入表格为空格或输入表格只有一行。
这些都是容易发生错误的情况。
可选择这些情况下的例子作为测试用例。
2)例如,前面例子中成绩报告的程序,采用错误推测法还可补充设计一些测试用例:I.程序是否把空格作为回答II.在回答记录中混有标准答案记录III.除了标题记录外,还有一些的记录最后一个字符即不是2也不是3IV.有两个学生的学号相同V.试题数是负数。
3)再如,测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:I.输入的线性表为空表;II.表中只含有一个元素;III.输入表中所有元素已排好序;IV.输入表已按逆序排好;V.输入表中部分或全部元素相同。
4因果图方法4.1 理论知识前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型).因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.利用因果图生成测试用例的基本步骤:(1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符.(2) 分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图.(3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件.(4) 把因果图转换为判定表.(5) 把判定表的每一列拿出来作为依据,设计测试用例.从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加.前面因果图方法中已经用到了判定表.判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确.判定表通常由四个部分组成.条件桩(Condition Stub):列出了问题得所有条件.通常认为列出得条件的次序无关紧要.动作桩(Action Stub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束.条件项(Condition Entry):列出针对它左列条件的取值.在所有可能情况下的真假值.动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作.规则:任何一个条件组合的特定取值及其相应要执行的操作.在判定表中贯穿条件项和动作项的一列就是一条规则.显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列.判定表的建立步骤:(根据软件规格说明)①确定规则的个数.假如有n个条件.每个条件有两个取值(0,1),故有种规则.②列出所有的条件桩和动作桩.③③填入条件项.④④填入动作项.等到初始判定表.⑤⑤简化.合并相似规则(相同动作).B. Beizer 指出了适合使用判定表设计测试用例的条件:①规格说明以判定表形式给出,或很容易转换成判定表.②条件的排列顺序不会也不影响执行哪些操作.③规则的排列顺序不会也不影响执行哪些操作.④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则.⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要.4.2 符号4.3 实例4.3.1实例一某软件规格说明中包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。