您好,欢迎访问三七文档
如何编写测试用例目录测试用例的概念测试用例的编写定义???测试输入执行条件预期输出满足需求?程序正常?质量保证?……描述测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则;原来测试用例这么重要啊!!!入手随机测试抽查测试遍历测试完全测试…………目标:各种制约因素(人力、财力、物力、时间、精力等)下,努力使测试更完全。在所有可能的测试用例中,哪个子集最有可能发现最多的错误???目录测试用例的概念测试用例的编写特点大局观难度大思维缜密经验丰富要求高逻辑强大全面性分类白盒测试黑盒测试黑盒测试用例(优先)+白盒测试用例(补充)=完整测试用例黑盒用例编写等价类边界值因果图判定表驱动法正交实验法功能图法场景实验法错误推断法需求转化设计文档探索式测试白盒用例编写逻辑覆盖语句覆盖判定覆盖条件覆盖判定条件覆盖多重条件覆盖条件组合覆盖循环覆盖基本路径测试黑盒-等价类等价类:选取少数有代表性的数据,这一类数据等价于这一类的其它值;找出最小的子集,可以发现最多的错误;两大特性:必须设计的用例;涵盖了大部分情况;两类情况:有效等价类;无效等价类;转化为测试用例1、按照输入条件、有效等价类、无效等价类建立等价类列表,列出所有的等价类;2、为每一个等价类固定一个编号;3、设计一个测试用例,使其覆盖一个或多个有效的等价类;4、设计一个或更多的测试用例以覆盖剩余的有效等价类;使用场景:输入条件(取值范围/值个数;必须值集合;布尔值;一组处理值;必须遵守的规则;再细分更小等价类;)等价类举例输入条件有效等价类编号无效等价类编号3个数a,b,c11、只有一个数;2、只有两个数;3、三个以上数;678整数正整数21、有一个为0;2、有两个为0;3、三个全为0;4、一个为负数;5、两个为负数;6、三个全为负数;91011121314输出一般三角形等腰三角形等边三角形a+bc;a+cb;b+ca;a=b;a=c;b=c;a=b=c;345测试用例a=3,b=4,c=5a=3,b=3,c=5a=3,b=5,c=3a=5,b=3,c=3a=3,b=3,c=3覆盖编号1-3覆盖用例1-4覆盖用例1-4覆盖用例1-4覆盖用例1-5a=3/b=4/c=5,其它无值a/b/c中其2有值,其它无值a/b/c/d,四个值a/b/c其1为0a/b/c其2为0a/b/c其3为0a/b/c其1为负a/b/c其2为负a/b/c其3为负覆盖用例6覆盖用例7覆盖用例8覆盖用例9覆盖用例10覆盖用例11覆盖用例12覆盖用例13覆盖用例14以三角形测试为例:输入3个整数做为三角形的三个边,通过程序判定三角形的类型黑盒-边界值边界值:所谓边界条件,是指输入和输出等价类中那些恰好处于边界、超过边界、或在边界以下的状态;两个特征:选择一个或多个元素,以便等价类的每一个边界都经过了测试;与仅仅关注输入条件不同,还需要考虑结果空间(输出等价类)设计测试用例;边界条件可能非常微妙,因此把他们确定下来煞费心思;使用场景:输入+输出都需要考虑(值的范围;值个数;有序集合;内部数据结构;分析规格说明;)小例子:a=[1,100],显示a;边界类举例输入条件有效等价类编号无效等价类编号3个数a,b,c11、只有一个数;2、只有两个数;3、三个以上数;678整数正整数21、有一个为0;2、有两个为0;3、三个全为0;4、一个为负数;5、两个为负数;6、三个全为负数;91011121314输出一般三角形等腰三角形等边三角形a+bc;a+cb;b+ca;a=b;a=c;b=c;a=b=c;345a+bc;a+cb;b+ca;15测试用例a=3,b=4,c=5a=3,b=3,c=5a=3,b=5,c=3a=5,b=3,c=3a=3,b=3,c=3a=1,b=1,c=2a=10,b=9,c=2a=11,b=5,c=7a=4.b=3,c=8覆盖编号1-3覆盖用例1-4覆盖用例1-4覆盖用例1-4覆盖用例1-5a=3/b=4/c=5,其它无值a/b/c中其二有值,其它无值a/b/c/d,四个值a/b/c其一=0a/b/c其二=0a/b/c其三=0a/b/c其一为负a/b/c其二为负a/b/c其三为负覆盖用例6覆盖用例7覆盖用例8覆盖用例9覆盖用例10覆盖用例11覆盖用例12覆盖用例13覆盖用例14以三角形测试为例:输入3个整数做为三角形的三个边,1a、b、c10,通过程序判定三角形的类型黑盒-因果图因果图:输入条件的组合进行分析。用一个系统的方法选择出高效的测试用例集;分析思路:1、分析规格说明描述,确定原因和结果,并赋予标识符;2、分析规格说明语义,找出原因与原因之间,原因与结果之间关系,画出因果图;3、有些原因与原因之间,原因与结果之间组合不会出现,用记号表明约束或限制条件;4、因果图转换为判定表;5、判定表的每一列作为依据,设计测试用例;使用场景:必须考虑输入条件的各种组合(一种适合于描述多种条件的组合、相应产生多个动作的形式来进行设计);黑盒-判定表判定表:分析和表达多逻辑条件下执行不同操作的情况的工具;略过因果图的绘制,直接列出所有组合进行筛选;分析思路:判定表通常有四个部分组成:条件桩、动作桩、条件项、动作项;判定表的建立步骤:(根据软件规格说明)确定规则个数;列出所有条件桩和动作桩;填入条件项;填入动作项,得到初始判定表;简化合并相似规则;使用场景:控制类和游戏。优点是能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。缺点是不能表达重复执行的动作,例如循环结构。黑盒-正交实验法正交实验法:利用因果图来设计测试用例时,输入原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到;往往因果关系非常庞大,以至于测试用例数目巨大,为了有效地、合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。分析思路:1、提取功能说明,构造因子--状态表;2、加权筛选,生成因素分析表;3、利用正交表构造测试数据集;使用场景:必须考虑输入条件的各种组合(从大量的数据中挑取适量、有代表性的点,合理有效的测试);黑盒-场景实验法场景实验法:软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果形成事件流;生动的描绘出事件触发时的情景,有利于设计用例,同时测试用例也更容易的得到理解和执行。分析思路:每条路径都反映了基本流和备选流;基本流是最简单的路径;备选流自基本流开始,会有特定条件下加入并执行,可能有多种情况;使用场景(0代表基本流):0;0+1;0+1+2;0+3;0+3+1;0+3+1+2;0+4;0+3+4;…黑盒-错误推断法错误推断法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法;更多的与用户的使用习惯及测试程序中的常见问题为主。分析思路:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据这些情况选择测试用例;注意积累与分享;使用场景:任何测试、任何情景下都会用到的方法。有常用的测试用例集,可以参照。举例:数字输入验证,分别输入数字(正数、负数、零值、单精度、双精度)、字符串、空白值、空值、临界数值;不合法的输入,系统给出必要的判断提示信息;黑盒-需求转换法需求转换法:根据需求,执行需求分析,并编写测试用例。分析思路:将需求转换为思维导图;仔细推敲每一个字的含义;与用户的使用场景和目的结合;严格设计每一个用例;可以建立一种模型,进行需求转换;使用场景:任何测试、任何情景下都会用到的方法。注意:需求的变更带来的影响;需求理解偏差带来的影响;需求含糊不清带来的影响等;黑盒-设计文档设计文档:参照设计文档,可以理解软件系统内部设计流程及处理机制,对比写好的测试用例,可以在对应功能及模块处新增;分析思路:仔细阅读设计文档;与相关人员沟通实现机制;结合测试用例编写方法,对比之前写好的用例;使用场景:任何测试、任何情景下都会用到的方法。注意:设计文档的编写正确性;设计文档的理解偏差;黑盒-探索式测试法探索式测试法:无限创意的测试点,永无止境的探索测试;我们要在测试的最前沿发挥洞察力、技术及应变措施,找出产品的缺陷;分析思路:局部探索式测试;全局探索式测试;混合探索式测试;使用场景:任何测试、任何情景下都会用到的方法。像漫游一样,自由地寻找软件中的缺陷,软件测试的未来必然有探索式测试。测试用例—总结综合策略:使用各种编写方法的综合设计策略;1)在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。2)必要时用等价类划分方法补充一些测试用例。3)用错误推测法再追加一些测试用例。4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例。5)如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法(或判定表法、正交试验法)。6)对程序的应用场景进行研究和思考,增加不同场景下的测试用例;7)对业务和程序有更深的理解之后,可以充分发挥发散思维和探索式想法;谢谢!
本文标题:测试用例编写
链接地址:https://www.777doc.com/doc-3983796 .html