收藏 分销(赏)

测试用例的设计.pptx

上传人:a199****6536 文档编号:4212864 上传时间:2024-08-26 格式:PPTX 页数:46 大小:1.09MB
下载 相关 举报
测试用例的设计.pptx_第1页
第1页 / 共46页
测试用例的设计.pptx_第2页
第2页 / 共46页
测试用例的设计.pptx_第3页
第3页 / 共46页
测试用例的设计.pptx_第4页
第4页 / 共46页
测试用例的设计.pptx_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、刘家良测试用例的设计原则测试用例的设计原则黑盒测试方法用例的设计黑盒测试方法用例的设计白盒测试方法用例的设计白盒测试方法用例的设计1.组成:输入数据、预期的输出数据2.输入数据的选择:合理的、不合理的3.长期保留测试用例便于对照检查,做到有的放矢发现更多的错误,提高程序可靠性 对不合理的输入数据,程序应拒绝接受,并给出提示作为保存文档作为保存文档修改后的程序可能出现新的错误,需反复测试 为以后维护提供方便黑盒测试黑盒测试黑盒测试黑盒测试(又称行为(又称行为测试)把测试对象看测试)把测试对象看做一个黑盒子,测试做一个黑盒子,测试人员完全不考虑程序人员完全不考虑程序内部的逻辑结构和内内部的逻辑结构

2、和内部特性,只依据程序部特性,只依据程序的需求规格说明书,的需求规格说明书,检查程序的功能是否检查程序的功能是否符合它的功能需求。符合它的功能需求。白盒测试白盒测试白盒测试白盒测试(又称为结构(又称为结构测试)把测试对象看作测试)把测试对象看作一个透明的盒子,测试一个透明的盒子,测试人员根据程序内部的逻人员根据程序内部的逻辑结构及有关信息设计辑结构及有关信息设计测试用例,检查程序中测试用例,检查程序中所有逻辑路径是否都按所有逻辑路径是否都按预定的要求正确地工作。预定的要求正确地工作。等价类划分错误推测因果图边界值分析1.等价类划分由于不能穷举所有可能的输入数据来进行由于不能穷举所有可能的输入数

3、据来进行测试,所以只能选择少量有代表性的输入测试,所以只能选择少量有代表性的输入数据,来揭露尽可能多的程序错误数据,来揭露尽可能多的程序错误等价类划分方法将输入数据按等价类划分方法将输入数据按有效的有效的或或无无效的效的划分成若干个等价类,然后在每个等划分成若干个等价类,然后在每个等价类中选取一个代表性的数据作为测试用价类中选取一个代表性的数据作为测试用例例等价类划分方法把输入数据分为:符合规格说明要求的符合规格说明要求的合理的输入数据,主合理的输入数据,主要用来检验程序是否要用来检验程序是否实现了规格说明中的实现了规格说明中的功能功能不符合规格说明要求的不合理或非法的输入数据,主要用来检验程

4、序是否做了规格说明以外的事在确定输入数据等价类时,常常还要分析输出数据的等价类,以便根据输出数据等价类导出输入数据等价类。有效输入数据无效输入数据划分等价类输入条件输入条件有效等价类有效等价类无效等价类无效等价类根据软件的规格说明,对每一个输入条根据软件的规格说明,对每一个输入条件(通常是规格说明中的一句话或一个件(通常是规格说明中的一句话或一个短语)确定若干个有效等价类和若干个短语)确定若干个有效等价类和若干个无效等价类。无效等价类。可使用如下表格可使用如下表格确定等价类的规则:(1)如果输入条件规定了取值范围取值范围,则可以确定一个有效等价类(输入值在此范围内)和两个无效等价类(输入值小于

5、最小值及大于最大值)(2)如果输入条件规定了值的个数值的个数,则可以确定一个有效等价类(输入值的个数等于规定的个数)和两个无效等价类(输入值的个数小于规定的个数和大于规定的个数)(3)如果规定了输入数据的一组值,一组值,而且程而且程序对不同的输入值做不同的处理序对不同的输入值做不同的处理,则每个允,则每个允许的输入值是一个合理等价类,另外还有一许的输入值是一个合理等价类,另外还有一个不合理等价类(任意一个不允许的值)个不合理等价类(任意一个不允许的值)。输入的输入的考试成绩在考试成绩在“0100”之间之间合理的等价类:合理的等价类:0100不合理的等价类:不合理的等价类:100和和3 输入边数

6、输入边数3输入的考试成绩输入的考试成绩为优、良、中、为优、良、中、及格、不及格及格、不及格合理的等价类:合理的等价类:优、良、中、优、良、中、及格、不及格及格、不及格不合理的等价类:不合理的等价类:其他确定等价类的规则:(4)如果输入条件规定了输入值必须如果输入条件规定了输入值必须遵循的遵循的规则规则,那么可确定一个有效等价类(符合此,那么可确定一个有效等价类(符合此规则)和若干个无效等价类(从各个不同的规则)和若干个无效等价类(从各个不同的角度违反此规则)。角度违反此规则)。在在Pascal语言中语言中对变量标识符规对变量标识符规定为定为“以字母开头以字母开头的的串串”合理的等价类:合理的等

7、价类:以字母开头的串以字母开头的串不合理的等价类:不合理的等价类:以数字开头的串以数字开头的串以标点符号开头的串以标点符号开头的串(5)如果已知的等价类中各个元素在程序中的处理方式不同,则应将等价类进一步划分成更小的等价类。以上只是列举了一些规则,实际情况往往是千变万化的,在遇到具体问题时,可参照上述规则的思想来划分等价类。确定测试用例:为每个等价类编号。为每个等价类编号。第一步第一步设计一个测试用例,使其尽可能多地覆盖设计一个测试用例,使其尽可能多地覆盖尚未被覆盖的合理等价类,重复这步,直尚未被覆盖的合理等价类,重复这步,直到所有的合理等价类都被测试用例覆盖。到所有的合理等价类都被测试用例覆

8、盖。第二步第二步设计一个测试用例,使其只覆盖一个不合设计一个测试用例,使其只覆盖一个不合理等价类。重复这步,直到所有的不合理理等价类。重复这步,直到所有的不合理等价类都被覆盖。等价类都被覆盖。第三步第三步某些程序中对某一输入错误的检查往往会屏蔽对其他输入错误的检查。因此必须针对每一个不合理等价类,分别设计测试用例。等价类划分法实例:某一报表处理系统,要求用户输入处理报表的日期,假设日期限制在1990年1月至1999年12月,即系统只能对该段时期内的报表进行处理。如果用户输入的日期不在此范围内,则显示输入错误信息,该系统规定日期由年、月的6位数字字符组成,前4位代表年,后两位代表月。现用等价类划

9、分法设计测试用例,来测试程序的“日期检查功能”范围:范围:1990年1月1999年12月遵循的规则:遵循的规则:6位数字字符前4位代表年后2位代表月不在此范围报错1.划分等价类并编号:划分等价类并编号:输入数据合理等价类不合理等价类报表日期的类型和长度1.6位数字字符2.有非数字字符3.少于6个数字字符4.多于6个数字字符年份范围5.在19901999之间6.小于19907.大于1999月份范围8.在112之间9.等于010.大于122.2.为有效等价类设计测试用例为有效等价类设计测试用例测试数据期望结果覆盖范围199905输入有效1、5、8输入数据有效等价类报表日期1.6位数字字符年份范围5

10、.在19901999之间月份范围8.在112之间3.为每一个不合理有效类至少设计一个测试用例测试数据期望结果覆盖范围99May输入无效219995输入无效31999005输入无效4198912输入无效6200001输入无效7199900输入无效9199913输入无效10输入数据无效等价类报表日期2.有非数字字符3.少于6个数字字符4.多于6个数字字符年份范围6.小于19907.大于1999月份范围9.等于010.大于12在在7个不合理有效类的测试用例个不合理有效类的测试用例中,不能出现相同的测试用例,中,不能出现相同的测试用例,否则相当于一个测试用例覆盖否则相当于一个测试用例覆盖了一个以上不合

11、理等价类,是了一个以上不合理等价类,是程序测试不完全。程序测试不完全。2.边界值分析程序最容易在边界发生错误程序最容易在边界发生错误通常与等价划分结合进行通常与等价划分结合进行是对等价类划是对等价类划分方法的补充。分方法的补充。步骤:1.确定边界情况。通常,输入等价类和输出等价类的边界是重点测试的程序边界2.确定测试数据。测试数据应:刚好、刚刚 边界值,而非选择每个等价类内的典型值or任意值1如果输入条件规定了值的如果输入条件规定了值的范围范围,则选择刚刚达到这个范围的边界的值则选择刚刚达到这个范围的边界的值以及刚刚超出这个范围的边界的值作以及刚刚超出这个范围的边界的值作为测试输入数据。为测试

12、输入数据。2如果输入条件规定了如果输入条件规定了值的个数值的个数,则分别选择最大个数、最小个数、比则分别选择最大个数、最小个数、比最大个数多最大个数多1、比最小个数少、比最小个数少1的数据的数据作为测试输入数据。作为测试输入数据。设计原则输入的输入的考试成绩在考试成绩在“1100”之间之间测试数据:测试数据:0,1,100,101输入文件包括输入文件包括1255个记录个记录1个记录个记录255个记录个记录0个记录个记录256个记录个记录3对每个输出条件分别按照以上两对每个输出条件分别按照以上两个原则输出值的边界情况。个原则输出值的边界情况。4如果程序的输入或输出是个有序如果程序的输入或输出是个

13、有序集合,例如,顺序文件、表格,则应集合,例如,顺序文件、表格,则应把注意力集中在有序集的第把注意力集中在有序集的第1个元素个元素和最后一个元素上。和最后一个元素上。设计原则输出的金额值输出的金额值0且且1000即即0,1000)输出金额:输出金额:0,999(合理)(合理)-1,1000(不(不合理)合理)将上例用边界值分析法设计测试用例。程序中判断输入日期(年月)是否有效,假设使用如下语句:if(ReportDate=MinDate)then 产生指定日期报表else 显示错误信息endif若“=”误写为“”,则上例中所有测试用例都不能发现这一错误实例“报表日期”边界值分析法测试用例输入等

14、价类测试用例说明测试用例期望结果选取理由报表日期1个数字字符5个数字字符7个数字字符有1个非数字字符全部是非数字字符6个数字字符51999519990051999.5May199905显示出错显示出错显示出错显示出错显示出错输出有效仅有一个合法字符比有效长度少1比有效长度多1只有一个非法字符6个非法字符类型、长度均有效输入等价类测试用例说明 测试用例期望结果选取理由日期范围在有效范围边界上选取数据199001199912199000199913输入有效输入有效显示出错显示出错最小日期最大日期刚好最大日期月份范围月份为1月份为12月份12199801199812199800199813输入有效输

15、入有效显示出错显示出错最小月份最大月份刚好最大月份“报表日期”边界值分析法测试用例3.错误推测思路:思路:列出可能有的错误;列出可能有的错误;列出容易发生错误的特殊情况。列出容易发生错误的特殊情况。以此为基础设计测试方案。以此为基础设计测试方案。根据:根据:直觉、经验直觉、经验工具:常见错误清单、判定表等。工具:常见错误清单、判定表等。例如,测试一个排序子程序,可考虑如下情况:例如,测试一个排序子程序,可考虑如下情况:输入表为空;输入表为空;输入表只有一个元素;输入表只有一个元素;输入表的所有元素都相同;输入表的所有元素都相同;输入表已排序。输入表已排序。又如,测试二分法检索子程序,可考虑如下

16、情况:又如,测试二分法检索子程序,可考虑如下情况:表中只有一个元素;表中只有一个元素;表长为表长为2 2n n;表长为表长为2 2n n-1-1;表长为表长为2 2n n+1+14.因果图等价类划分和边界值分析未考虑多个输入数据等价类划分和边界值分析未考虑多个输入数据的组合引起的错误的组合引起的错误自然语言自然语言因果图因果图判定表判定表设计测试用例设计测试用例因果图方法的特点是:因果图方法的特点是:考虑输入条件的组合关系;考虑输出条件对输入条件的依赖关系,即因果关系;测试用例发现错误的效率高;能检查出功能说明中的某些不一致或遗漏。有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1

17、元5角硬币,按下“可乐”、“雪碧”、“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。分析原因:投入1元5角硬币;投入2元硬币;按“可乐”按钮;按“雪碧”按钮;按“红茶”按钮。中间状态:已投币;已按钮。结果:退还5角硬币;送出“可乐”饮料 送出“雪碧”饮料;送出“红茶”饮料。因果图因果图判定表判定表5.综合策略在任何情况下都应在任何情况下都应该使用该使用边界值分析边界值分析的方法;的方法;必要时用必要时用等价划分等价划分法法补充;补充;必要时再用必要时再用错误推错误推测法测法补充;补充;检查上述测试用例的检查上述测试用例的逻逻辑覆盖程度,如未满足辑覆盖程度,如

18、未满足所要求的所要求的的的逻辑覆盖标逻辑覆盖标准准,在增加例子,在增加例子如需求说明中含有输入条件的组合情况,则一开始就使用因果图逻辑覆盖基本路径测试循环覆盖以程序内部的逻辑结构为基础的设计测试用例追求程序内部的逻辑结构覆盖程度主要的覆盖技术有:主要的覆盖技术有:逻辑覆盖 语句覆盖语句覆盖 判定覆盖判定覆盖 条件覆盖条件覆盖 判定判定/条件覆盖条件覆盖 条件组合覆盖条件组合覆盖 路径覆盖路径覆盖入口入口(a1)and(b=0)(a=2)or(x 1)返回返回语句段语句段ft语句段语句段ft123451)语句覆盖运行测试用例时,被测程序运行测试用例时,被测程序的的每个可执行语句都至少执每个可执行

19、语句都至少执行一次行一次选择路径:选择路径:124测试数据:测试数据:a=2,b=0,x=2a:(a1)and(b=0)c:(a=2)or(x 1)ac语句段语句段语句段语句段tfft12354不足:不足:将a:(a1)and(b=0)错写为 a:(a1)or(b=0);将c:(a=2)or(x 1)错写为 c:(a=2)or(x 1)and(b=0)c:(a=2)or(x 1)ac语句段语句段语句段语句段tfft12354不足:不足:将c:(a=2)or(x 1)错写为 c:(a=2)or(x 1)and(b=0)c:(a=2)or(x 1)ac语句段语句段语句段语句段tfft12354不足

20、:不足:a=1,b=0,x=3(a1,b=0,a2,x1)a=2,b=1,x=1(a1,b0,a=2,x1)满足条件覆盖,不满足判定覆盖满足条件覆盖,不满足判定覆盖四个条件:a1,b=0,a=2,x1选择数据,使判定式a出现结果a1,b=0a1,b0使判定式a出现结果a=2,x1a2,x1才能满足条件覆盖4)判定/条件覆盖被测程序的每个判定表达式被测程序的每个判定表达式中的中的每个条件每个条件的所有可能结的所有可能结果都果都至少出现一次,至少出现一次,并使每每个判定表达式个判定表达式的所有可能结的所有可能结果都果都至少执行一次至少执行一次选择路径:选择路径:124,135测试数据:测试数据:a

21、=2,b=0,x=3(124)a=1,b=1,x=1(135)a:(a1)and(b=0)c:(a=2)or(x 1)ac语句段语句段语句段语句段tfft12354不足:不足:条件组合中的某些条件会抑制其条件组合中的某些条件会抑制其他条件。他条件。如:如:“与与”运算中,第一个条件为假,运算中,第一个条件为假,则这个表达式后几个条件不起作用则这个表达式后几个条件不起作用5)条件组合覆盖被测程序的每个判定表达式中条被测程序的每个判定表达式中条件的各种可能值的组合都至少出件的各种可能值的组合都至少出现一次现一次测试数据:测试数据:a=2,b=0,x=2(124)覆盖条件组合)覆盖条件组合(1)(5

22、)a=2,b=1,x=1(134)覆盖条件组合)覆盖条件组合(2)(6)a=1,b=0,x=2(134)覆盖条件组合)覆盖条件组合(3)(7)a=1,b=1,x=1(135)覆盖条件组合)覆盖条件组合(4)(8)a:(a1)and(b=0)c:(a=2)or(x 1)ac语句段语句段语句段语句段tfft12354不足:不足:没有覆盖程序可能的所有路径没有覆盖程序可能的所有路径125被漏,这条路径出错,就不能被漏,这条路径出错,就不能测出测出八种组合:(1)a1,b=0 (2)a1,b0(3)a1,b=0 (4)a1,b0(5)a=2,x1 (6)a=2,x1(7)a2,x1 (8)a2,x16

23、)路径覆盖覆盖被测程序所有可能的路径覆盖被测程序所有可能的路径选择路径:选择路径:a=2,b=0,x=2(124)覆盖条件组合)覆盖条件组合(1)(5)a=2,b=1,x=1(134)覆盖条件组合)覆盖条件组合(2)(6)a=1,b=1,x=1(135)覆盖条件组合)覆盖条件组合(4)(8)a=3,b=0,x=1(125)覆盖条件组合)覆盖条件组合(1)(8)a:(a1)and(b=0)c:(a=2)or(x 1)ac语句段语句段语句段语句段tfft12354不足:不足:为满足条件组合覆盖为满足条件组合覆盖发发现现错错误误能能力力语句覆盖语句覆盖每个语句都至少执行一次每个语句都至少执行一次判定

24、覆盖判定覆盖每个判定的每个分支至少经过一次每个判定的每个分支至少经过一次条件覆盖条件覆盖每个判定的每个条件应取到各种可能值每个判定的每个条件应取到各种可能值判定判定/条件覆盖条件覆盖同时满足判定覆盖和条件覆盖同时满足判定覆盖和条件覆盖每个判定中各条件的每一种组合至少出每个判定中各条件的每一种组合至少出现一次现一次路径覆盖路径覆盖每个可能的路径至少执行一次每个可能的路径至少执行一次条件组合覆盖条件组合覆盖循环覆盖循环分为循环分为4种不同类型:种不同类型:简单循环简单循环、嵌套循环嵌套循环、串接循环、串接循环和非结构循环。和非结构循环。单循环按照下列规则设计测试用例:按照下列规则设计测试用例:跳过

25、循环跳过循环 一次循环:检查循环初始值一次循环:检查循环初始值 二次循环:检查多次循环二次循环:检查多次循环 m次循环:次循环:检查多次循环检查多次循环 最大次数循环最大次数循环 比最大次数多一次的循环比最大次数多一次的循环 比最大次数少一次的循环比最大次数少一次的循环按照下列规则设计测试用例:按照下列规则设计测试用例:先测试最内层循环:所有外层的循环变量置为最小值,先测试最内层循环:所有外层的循环变量置为最小值,最内层按简单循环测试;最内层按简单循环测试;由里向外,测试由里向外,测试下下一层循环:测试时此层以外的所有一层循环:测试时此层以外的所有外层循环的循环变量取最小值,此层以内的所有嵌套

26、外层循环的循环变量取最小值,此层以内的所有嵌套内层循环的循环变量取内层循环的循环变量取“典型典型”值,该层按简单循环值,该层按简单循环测试;测试;重复上一条规则,直到所有各层循环测试完毕;重复上一条规则,直到所有各层循环测试完毕;对全部各层循环同时取最小循环次数,或者同时取最对全部各层循环同时取最小循环次数,或者同时取最大循环次数大循环次数(2)嵌套循环基本路径测试在实际问题中,一个不太复杂的程序,特别是包含循环的程序,其路径数可能非常大。因此测试常常难以做到覆盖程序中的所有路径,为此,我们希望把测试的程序路径数压缩到一定的范围内。基本路径测试是Tom McCabe提出的一种白盒测试技术,这种

27、方法首先根据程序或设计图画出控制流图,并计算其区域数,然后确定一组独立的程序执行路径(称为基本路径),最后为每一条基本路径设计一个测试用例。基本路径测试步骤绘制程序图绘制程序图1计算环路复杂性计算环路复杂性2确定基本路径集确定基本路径集3设计测试用例设计测试用例41.程序图在程序图中只有两种图形符号1.节点:以标有编号的圆圈表示。2.控制流线或弧:以箭头表示,称为边或路径。1.程序图注意:1.一条边必须终止于一个结点2.在选择结构中的分支汇聚处即使无语句也应有汇聚结点(如结点9,10)3.复杂条件分解为只有单个条件的嵌套判断2.环路复杂性边和结点圈定的区域叫做区边和结点圈定的区域叫做区域域,当

28、对区域计数时,图形,当对区域计数时,图形外的区域也应记为一个区域。外的区域也应记为一个区域。环路复杂性环路复杂性V(G)为此平面图为此平面图中区域的个数中区域的个数另一种方法:V(G)=判断节点数+13.确定基本路径集确定基本路径集path1path1path1path1:1-111-111-111-11path2path2path2path2:1-2-3-4-5-10-1-111-2-3-4-5-10-1-111-2-3-4-5-10-1-111-2-3-4-5-10-1-11path3path3path3path3:1-2-3-6-8-9-10-1-111-2-3-6-8-9-10-1-111-2-3-6-8-9-10-1-111-2-3-6-8-9-10-1-11path4path4path4path4:1-2-3-6-7-9-10-1-111-2-3-6-7-9-10-1-111-2-3-6-7-9-10-1-111-2-3-6-7-9-10-1-114 4 4 4个路径组成了程序图的一个个路径组成了程序图的一个个路径组成了程序图的一个个路径组成了程序图的一个基本路径集。基本路径集。基本路径集。基本路径集。一组独立路径构成基本路径集独立路径指包括一组以前没有处理的语句或条件的一条路径4.设计测试用例设计测试用例

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服