测试用例设计技术

上传人:c****d 文档编号:242980948 上传时间:2024-09-13 格式:PPT 页数:34 大小:230.50KB
返回 下载 相关 举报
测试用例设计技术_第1页
第1页 / 共34页
测试用例设计技术_第2页
第2页 / 共34页
测试用例设计技术_第3页
第3页 / 共34页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2009.5.16,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,测试用例设计培训,主讲:,-张老师,1,重要目标,1 软件测试方法:,白盒测试=静态测试:,系统代码走查,代码检查,静态分析,黑盒测试=动态测试:,运行代码,通过数据处理的结果,来判断程序的逻辑错误,。,灰盒测试=静态+动态:,运行代码,通过单元测试工具junt/aunit/dunit来分析和检查程序的逻辑错误。,2 对应的测试用例设计方法为:,白盒测试用例设计方法,黑盒测试用例设计方法,2,测试用例设计培训,内容,测试用例设计概述,测试用例设计方法,实例,3,测试用例设计概念,测试用例:,测试用例(Test Case),就是一组数据或者动作的集合,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性(正确性和容错能力)(输入一组数据)是否正常的工作。,(通俗的说,就是描述找bug的过程-涉及到的数据和动作),测试用例设计方法:,测试用例设计方法随着软件系统的,测试需求,不同而其测试策略也不同。,4,测试用例设计重要性,为了能从数量极大的可用测试用例中挑选适量的测试数据,使得采用这些测试数据(用例)能够达到最佳的测试效果,或者说采用这些测试用例能够高效率地把隐藏的bug挖掘出来,必须精心设计测试用例。,软件测试中的致命缺陷就是测试的不完全和不彻底性。采用有效合理的测试用例设计方法,将会尽可能的避免该缺陷。,5,测试用例内容,测试用例设计概述,测试用例设计方法,实例,6,测试用例设计方法,白盒测试用例设计,方法,灰盒测试用例设计,方法,黑盒测试用例设计,方法,7,常用测试用例设计方法,一、基本路径测试 (代码行数覆盖),二、白盒测试用例设计方法(代码逻辑覆盖),顺序语句覆盖,判定覆盖,判定-条件覆盖,条件组合覆盖,路径覆盖。,三、黑盒测试用例设计方法(数据逻辑覆盖),登陆,基础数据,等价类,边界值,正交排列,8,一、基本路径测试-,代码行数覆盖,如:,a=2;,b=3;,c=a+b;,printf (“%d”,c),运行结果 5,9,二、白盒测试,用例,设计,-,代码逻辑覆盖,路径测试就是设计足够的测试用例, 覆盖程序中所有可能的路径。(语句覆盖就是设计若干个测试用例, 走查所测程序,使得每一可执行语句至少执行一次。),判定覆盖就是设计若干个测试用例, 走查所测程序, 使得程序中每个判断的取TURE分支,和取FALSE分支至少经历一次。 判断覆盖又称分支覆盖。,10,二、白盒测试,用例,设计,-,代码逻辑覆盖,判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果(取TURE分支,和取FALSE分支)至少执行一次。 也就是说要求各个判断的所有可能的条件取值组合至少执行一次。,(输入)条件组合覆盖就是设计足够的测试用例,检查所测程序, 使得每个判断的所有可能的(输入)条件取值组合至少执行一次。,11,三、黑盒测试用例设计方法 -,数据逻辑覆盖,登陆业务,基础数据业务,等价类,边界值,业务流程,12,黑盒测试用例设计,基础数据的矩阵覆盖法,涉及到的横坐标是各个功能,涉及到的纵坐标实现功能的菜单/工具栏/快捷键/按钮等,课堂练习:登陆界面的测试用例设计:,13,黑盒测试用例设计等价类(定义),是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。,等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。,14,黑盒测试用例设计等价类(定义),等价类划分可有两种不同的情况:有效等价类和无效等价类。,有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。,无效等价类:与有效等价类的定义恰巧相反。,15,黑盒测试用例设计等价类(方法),在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。,在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。,在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。,在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。,在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。,在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。,16,黑盒测试用例设计等价类(设计),为每一个等价类规定一个唯一的编号。,设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步。直到所有的有效等价类都被覆盖为止。,设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步。直到所有的无效等价类都被覆盖为止。,17,黑盒测试用例设计边界值(方法),使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。,18,黑盒测试用例设计边界值(方法),如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。,如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。,如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。,如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。,分析规格说明,找出其它可能的边界条件。,19,黑盒测试用例设计直角排列法,比穷举法、正态分布法简单易懂;,是一种半自动化设计测试例的方法,大大减少了设计测试例的工作量;,有助于测试人员分析被测对象的属性及属性取值;,确保每个属性值都被取到,保证了测试的全面性;,已最少个数的测试例,覆盖最多的路径和功能点。,20,黑盒测试用例设计直角排列法(步骤),第一步:理清被测对象;,第二步:被测对象的属性(数据和功能);,第三步:各属性的取值;,第四步:利用直角矩阵选择器,确定测试例个数;,第五步:删选优化测试例。,21,黑盒测试用例设计测试用例设计步骤,各类技术文档作为测试用例设计的依据,分析被测对象的规格,分析测试要素,分析测试要素取值,构建初始测试用例,通过评审或其他方式确认测试用例,在测试实现和执行的过程中修正测试用例.,22,软件测试用例的内容实例,测试用例设计概述,测试用例设计方法,实例,23,实例,白盒测试用例设计实例,一个程序模块,按照设计case的直角法:四个分支,ace,acd,abd,abe,以A1B0和 A2X1判断条件,的取值为设计case的依据:,A1B0的取值分别取真和假;,A2X1的取值分别取真和假;,得出case的个数为,1*3+1*1+3*3+3*1=16,t,f,f,f,t,t,t,f,相,乘,注意:,该例子的case不会到达16个,请大家思考,24,实例,白盒测试用例设计实例,从上图可知该程序模块有4条不同的路径。4个可执行语句。这4条路径可分别表示为:,L1(ace), 简化为: ace,L2(abd), 简化为: abd,L3(abe), 简化为: abe,L4(acd), 简化为: acd,测试用例的设计注意如下问题:,输入的(A,B,x), 输出的(A,B,x),(2,0,4), (2,0,3), 覆盖ace L1,假如该程序段中的两个逻辑运算有问题, 例如, 第一个判断中的逻辑运算符“”错写成了“”, 或者第二个判断中的逻辑运算符“”错写成了“”, 利用上面的测试用例, 仍然可覆盖所有4个可执行语句。 这说明虽然做到了语句覆盖测试, 但可能发现不了判断中逻辑运算中出现的错误。,(2,0,4), (2,0,3), 覆盖aceL1,(1,1,1), (1,1,1), 覆盖abdL2,假如第二个判断中的条件x1被错写成了x1, 利用上面两组测试用例, 仍能得到同样的结果。,25,Case例子,3*1,(a=.5 b=0 x=1),(a=1.5 b=1 x=1),(a=.5 b=1 x=1),26,实例,白盒测试用例设计实例,控制流图的一个基本路径集 :,path1:1 - 11,path2:1 - 2 - 3 - 4 - 5 - 10 - 1 - 11,path3:1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 - 11,path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 11,设计出的case能够确保这些基本路径的执行,,就可以使得程序中的每个可执行语句至少执,行一次,每个条件的取真和取假分支也能得,到测试 。,27,实例,白盒测试用例设计实例,通过路径覆盖方法设计足够的测试用例,(假设循环次数限定为0次,1次和2次),下表为case集,该例子主要说明case的输入条件的各种组合变化引起的,程序执行路径的变化及其输出结果的变化情况,注意观察:V0、V1、V2的取值组合规律,28,实例,黑盒测试用例设计实例,对某一应用系统的转账功能进行测试,分析:,被测对象:转帐功能,分析要素:用户权限、票据号、账号、转帐金额、转帐方式,要素取值:,用户权限:用等价类法分析得到(有转帐权限、无转帐权限),票据号:用等价类法分析得到(票据号有效、票据号无效),账号:用等价类法分析得到(账号有效、账号无效),转帐金额:用等价类和边界值分析得到(转帐金额小于等于用户实际金额、转帐金额大于用户实际金额)边界值是用户实际金额,转帐方式:(同城不同行转帐、同行转帐、异地电汇、异地信汇),29,实例,黑盒测试用例设计实例,30,实例,黑盒测试用例设计实例,案例筛选优化过程:,首先分析第一个要素“用户权限”,其取值只有2个,即“用户权限”的值只有可能是1或2,这样3和4的取值所在的情况就可以删除,之后在考虑“用户权限”的2个取值的具体情况,一个是用户权限有效(1),另一个是用户权限无效(2),当取值为有效时,所有的情况都可以保留,当取值为无效时,只保留一个就可以了(一旦最高优先级的条件不能满足,那么其他低优先级的条件就不需要考虑),然后用同样的方法判断其他的条件,最后等到一个临时结果(编号1,2,5),31,实例,黑盒测试用例设计实例,案例筛选优化过程:(续),这时可以从最后一个要素开始分析,要使最后一个要素有意义那前4个要素必须都成立(值为1),而要素“转帐方式”有4种取值而现在的结果中有效情况只有一种(No1),所以可以增加3种(即,见表中No2,3,4),现在考虑要素“转帐金额”,可以增加在前3个要素都成立时,“转帐金额”取值为大于用户实际金额的情况(即,见表中No5)。,接着考虑要素“帐号”,可以增加在前2个要素都成立时,“帐号”取值为帐号无效的情况(即,见表中No6)。,接着考虑要素“票据号”,可以增加在第一个要素都成立时,“票据号”取值为票据号无效的情况(即,见表中No7)。,这样就补齐了所有的情况,从而得到最终结果,32,实例,黑盒测试用例设计实例,生成测试用例表:,33,Q&A 谢 谢!,34,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!