文档库 最新最全的文档下载
当前位置:文档库 › 三角形等价类划分

三角形等价类划分

三角形等价类划分
三角形等价类划分

等价类划分:

边界值测试

缺陷分析:

测试用例编写之等价类划分法

测试用例编写之等价类划分法 一、概念 等价类划分法指把所有可能的输入数据,即程序的输入域分成若干个部分(子集)后,从每个子集中选取少数具有代表性的数据作为测试用例的方法。是一种重要且常用的黑盒测试的测试用例设计方法。 二、等价类划分 等价类可分为两种情况:有效等价类与无效等价类。有效等价类是指:对程序的规格说明是有意义的、合理的输入数据所构成的集合;无效等价类意义与之相反。 三、确定等价类的规则 如何确定等价类,这是使用等价类划分方法的一个重要问题。等价类的划分在很大程度上是试探性的,一般规则如下: 1)如果输入条件规定了取值的范围或取值的个数([0,99]),则可确定一个有效等价类和两个无效等价类(<0 ;[0,99];>99); 2)如果一个输入条件说明了一个“必须成立的”情况(如变量名必须以字母开头),则可划分一个有效等价类(以字母开头)和一个无效等价类(不以字母开头); 3)如果输入条件规定了输入数据的一组可能的值,而且程序是用不同的方式处理每一种值,则可为每一种值划分一个有效等价类,并划分一个无效等价类; 4)如果某个输入条件规定了一个输入值得离合(即离散值),且程序对不同的输入值做不同的处理,那么每个允许的值确定为一个有效等价类,另外还有一个无效等价类。(任意一个不允许输入的值、)例:优、良、中、差,则此时有4个有效等价类和1个无效等价类(非优、良、中、差的值就为无效) 5)如果某个输入条件规定输入数据是整型,那么可以确定3个有效等价类(正整数、零、负整数)和一个无效等价类(非整数)。 6)如果某个输入条件规定处理的对象是表格,那么可确定一个有效等价类(表有1项或多项)和一个无效等价类(空表)。 7)如果能够确知,已划分的某等价类中的各元素在程序中的处理方式是不同的,则应据此将此等价类进一步划分成更小的等价类。 四、建立步骤 根据已列出的等价类表,按以下步骤确定测试用例: 1) 为每个等价类规定一个唯一的编号; 2) 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步,最后使得所有的有效等价类都被测试用例所覆盖;

等价类与边界值练习题解

解答: 等价类 一、某程序规定:"输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。) 分析题目中给出和隐含的对输入条件的要求: (1)整数(2)三个数(3)非零数(4)正数 (5)两边之和大于第三边(6)等腰(7)等边 如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 " 非三角形 " 。 2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。 3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。 4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。 列出等价类表并编号

覆盖有效等价类的测试用例: a b c 覆盖等价类号码 3 4 5 (1)--(7) 4 4 5 (1)--(7),(8) 4 5 5 (1)--(7),(9) 5 4 5 (1)--(7),(10) 4 4 4 (1)--(7),(11) 覆盖无效等价类的测试用例:

二、设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。 1)划分等价类并编号,下表等价类划分的结果 日期的类型及长度①6位数字字符②有非数字字符 ③少于6位数字字符 ④多于6位数字字符 年份范围⑤在1990~2049之间⑥小于1990 ⑦大于2049 月份范围⑧在01~12之间⑨等于00 ⑩大于12 2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、 ⑤、⑧,设计的测试用例如下: 测试数据期望结果覆盖的有效等价类 200211 输入有效①、⑤、⑧ 3)为每一个无效等价类设计一个测试用例,设计结果如下: 测试数据期望结果覆盖的无效等价类 95June 无效输入② 20036 无效输入③ 2001006 无效输入④ 198912 无效输入⑥ 200401 无效输入⑦ 200100 无效输入⑨ 200113 无效输入⑩

等价类划分法实例

1.某程序规定:"输入三个整数a 、b 、c 分别作为三边的边长构成三角形。通过程序 判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。) 分析题目中给出和隐含的对输入条件的要求: (1)整数(2)三个数(3)非零数(4)正数 (5)两边之和大于第三边(6)等腰(7)等边 如果a 、b 、c 满足条件(1 )~ (4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为" 非三角形" 。 2)如果三条边相等即满足条件(7),则程序输出为" 等边三角形" 。 3)如果只有两条边相等、即满足条件(6),则程序输出为" 等腰三角形" 。 4)如果三条边都不相等,则程序输出为" 一般三角形" 。 列出等价类表并编号

覆盖有效等价类的测试用例: a b c 覆盖等价类号码 3 4 5 (1)--(7) 4 4 5 (1)--(7),(8) 4 5 5 (1)--(7),(9) 5 4 5 (1)--(7),(10)4 4 4 (1)--(7),(11)

覆盖无效等价类的测试用例: 2.设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1 月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。 现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。(不考虑2月的问题) 1)划分等价类并编号,下表等价类划分的结果

2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别 为①、⑤、⑧,设计的测试用例如下: 测试数据期望结果覆盖的有效等价类 200211 输入有效①、⑤、⑧ 3)为每一个无效等价类设计一个测试用例,设计结果如下: 测试数据期望结果覆盖的无效等价类 95June 无效输入② 20036 无效输入③ 2001006 无效输入④ 198912 无效输入⑥ 200401 无效输入⑦ 200100 无效输入⑨ 200113 无效输入⑩ 3.NextDate 函数包含三个变量:month 、day 和year ,函数的输出为输入日期后一天 的日期。例如,输入为2006年3月7日,则函数的输出为2006年3月8日。要求输入变量month 、day 和year 均为整数值,并且满足下列条件: ①1≤month≤12 ②1≤day≤31 ③1920≤year≤2050 1)有效等价类为: M1={月份:1≤月份≤12} D1={日期:1≤日期≤31} Y1={年:1812≤年≤2012} 2)若条件①~ ③中任何一个条件失效,则NextDate 函数都会产生一个输出,指明相 应的变量超出取值范围,比如"month 的值不在1-12 范围当中" 。显然还存在着大量的year 、month 、day 的无效组合,NextDate 函数将这些组合作统一的输出:" 无效输入日期" 。其无效等价类为: M2={月份:月份<1} M3={月份:月份>12} D2={日期:日期<1} D3={日期:日期>31} Y2={年:年<1812} Y3={年:年>2012} 弱一般等价类测试用例 月份日期年预期输出 6 15 1912 1912年6月16日 强一般等价类测试用例同弱一般等价类测试用例 注:弱--有单缺陷假设;健壮--考虑了无效值

第5次实验等价类划分测试

软件测试实验报告 实验题目:黑盒测试技术之等价类划分测试 姓名:何晓晓 学号:1012210110 班级:10计本1 指导老师:蒋平

一、实验介绍 1.实验技术 等价类划分是一种典型的、常用的黑盒测试方法,这类方法是把所有可能的输入数据划分成若干个部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。 2.实验对象 完成一段程序,要求实现这样的功能。输入三个整数a,b,c,分别作为三角形的三条边,取值范围为1-100,判断由三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形以及不构成三角形。判断结果打印输出。 #include void main(void) { int a,b,c,k; printf("请输入三角形的三边长(0-100):"); scanf("%d %d %d",&a,&b,&c); if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)) { if((a+b>c)&&(a+c>b)&&(b+c>a)) { if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=b)) k=1; if(a==b&&a==c) k=2; if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a)) k=3; switch(k) { case 1:printf("等腰三角形\n"); break; case 2:printf("等边三角形\n"); break; case 3:printf("直角三角形\n"); break; default:printf("一般三角形\n"); break; } } else printf("不能构成三角形\n");

等价类的定义

等价类划分 商品之间的等价交换 1、价值规律的基本内容 ①商品生产要遵循商品的价值量由社会必要劳动时间决定——商品的价值量 由生产商品的社会必要劳动时间决定。 ②商品交换要遵循等价交换原则——以价值量为基础,实行等价交换。 2、价值规律表现形式:价格受供求关系影响围绕价值上下波动。 ①价值规律的表现形式也称价值规律的实现形式和发生作用的形式。 ②等价交换是商品交换的一个重要原则。“等价”是指交换双方商品的价值都 要相等,即各自商品所消耗的社会必要劳动时间相等。货币出现以后,商品的价格却由货币来衡量,表现为价格。等价交换也就是要求商品的价格应该与价值相符合,因为价格由价值决定。 ③在现实生活中,价格与价值经常不一致,这是由商品的供求关系的变化引 起的,使价格上涨或下跌;反过来,价格的上涨或下跌也会影响供求关系,使供求趋于平衡,从而使价格接近价值。 ④由于价格与供求之间存在着相互制约的关系,这样就会产生以下情况: 第一:价格的上涨和下跌,都不会距离价值太远,它总是围绕价值上下波动。 第二:从一个较长时间来看,从全社会来看,商品的平均价格还是与它的价值相一致。 ⑤价格围绕价值上下波动表明:社会必要劳动时间决定价值量这一内容,始 终作为一种趋势,作为一个规律在贯彻着。所以,价值规律的表现形式不仅不违背规律,反而正是价值规律的表现形式,而且是唯一的表现形式。价值规律基本内容和表现形式是一致的,价格围绕价值上下波动就是价值规律基本内容的外在表现,价格和价值相符的本质,在实际交换中只能通过价格围绕价值波动这种形式才能实现。价格最终还是由价值决定。 等价类划分 等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。利用这一方法设计测试用例可以不考虑程序的内部结构,以需求规格说明书为依据,选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求,尽可能多地发现错误。等价类划分法是一种系统性的确定要输入的测试条件的方法。由于等价类是在需求规格说明书的基础上进

ok等价类划分和边界值分析法实例

一、等价类划分法实例: 1.输入条件为某个范围的取值: 例: 在某大学学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,它的有效和无效等价类分别为? 2.输入条件为输入值的集合: 例: 假设PowerPoint打印输出幻灯片的页数分别为{1,2,3,6,9 },则根据黑盒测试中的等价类划分技术,它的有效和无效等价类分别为? 3.输入为BOOL变量,它的有效和无效等价类分别为? 4.输入条件中由若干规则组成,其中各个规则都是独立的:例: 一条输入的字符串中不能含有“#”和“&”两个特殊字符(其他字符都是合法的)的规则,它的有效和无效等价类分别为?5.输入条件由一个合法的规则组成: 例: 某个变量的取值必须为100,那么它的有效和无效等价类分别为? 6.为输入条件的组合关系划分等价类: 输入条件同时满足x>10和y<200两个判断表达式决定,那

么它的有效和无效等价类分别为? 二、边界值分析法实例: 1.大小范围边界 例: 若10≤x≤200,利用边界值分析法需要选择哪些测试数据? 若10

等价类划分法实例

分析题目中给出和隐含的对输入条件的要求: (1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边 如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 " 非三角形 " 。 2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。 3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。 4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。 列出等价类表并编号 覆盖有效等价类的测试用例: a b c 覆盖等价类号码 3 4 5 (1)--(7) 4 4 5 (1)--(7),(8) 4 5 5 (1)--(7),(9) 5 4 5 (1)--(7),(10) 4 4 4 (1)--(7),(11) 覆盖无效等价类的测试用例: 2. 设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990 年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能 "。(不考虑2月的问题) 1)划分等价类并编号,下表等价类划分的结果

2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分 别为①、⑤、⑧,设计的测试用例如下: 测试数据期望结果覆盖的有效等价类 200211 输入有效①、⑤、⑧ 3)为每一个无效等价类设计一个测试用例,设计结果如下: 测试数据期望结果覆盖的无效等价类 95June 无效输入② 20036 无效输入③ 2001006 无效输入④ 198912 无效输入⑥ 200401 无效输入⑦ 200100 无效输入⑨ 200113 无效输入⑩ 3.NextDate 函数包含三个变量:month 、 day 和 year ,函数的输出为输入日期 后一天的日期。例如,输入为 2006年3月 7日,则函数的输出为 2006年3月8日。 要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件: ①1≤month≤12 ②1≤day≤31 ③1920≤year≤2050 1)有效等价类为: M1={月份:1≤月份≤12} D1={日期:1≤日期≤31} Y1={年:1812≤年≤2012} 2)若条件① ~ ③中任何一个条件失效,则 NextDate 函数都会产生一个输出,指明相 应的变量超出取值范围,比如 "month 的值不在 1-12 范围当中 " 。显然还存在着大量的 year 、 month 、 day 的无效组合, NextDate 函数将这些组合作统一的输出: " 无效输入日期 " 。其无效等价类为: M2={月份:月份<1} M3={月份:月份>12} D2={日期:日期<1} D3={日期:日期>31} Y2={年:年<1812} Y3={年:年>2012} 弱一般等价类测试用例 月份日期年预期输出 6 15 1912 1912年6月16 日 强一般等价类测试用例同弱一般等价类测试用例

等价类划分方法

1.某程序规定:"输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。) 分析题目中给出和隐含的对输入条件的要求: (1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边 如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 " 非三角形 " 。 2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。 3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。 4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。 列出等价类表并编号

覆盖有效等价类的测试用例: a b c 覆盖等价类号码 3 4 5 (1)--(7) 4 4 5 (1)--(7),(8) 4 5 5 (1)--(7),(9) 5 4 5 (1)--(7),(10)4 4 4 (1)--(7),(11)覆盖无效等价类的测试用例

2.设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。 1) 划分等价类并编号,下表等价类划分的结果 2) 设计测试用例,以便覆盖所有的有效等价类。在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:

等价类测试案例

等价类划分 等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。利用这一方法设计测试用例可以不考虑程序的内部结构,以需求规格说明书为依据,选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求,尽可能多地发现错误。 由于等价类是在需求规格说明书的基础上进行划分的,并且等价类划分不仅可以用来确定测试用例中的数据的输入输出的精确取值范围,也可以用来准备中间值、状态和与时间相关的数据以及接口参数等,所以等价类可以用在系统测试、集成测试和组件测试中,在有明确的条件和限制的情况下,利用等价类划分技术可以设计出完备的测试用例。这种方法可以减少设计一些不必要的测试用例,因为这种测试用例一般使用相同的等价类数据,从而使测试对象得到同样的反映行为。对于等价类我们从以下几个方面讨论它的划分方法。 有效等价类划分 有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。有效等价类可以是一个,也可以是多个,根据系统的输入域划分若干部分,然后从每个部分中选取少数有代表性数据当做数据测试的测试用例,等价类是输入域的集合。 无效等价类划分 无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的、不合理的输入数据集合。利用无效等价类,可以找出程序异常说明情况,检查程序的功能和性能的实现是否有不符合规格说明要求的地方。 等价类划分的方法有 按区间划分。 按数值划分。 按数值集合划分。 按限制条件或规划划分。 按处理方式划分。 等价类划分的原则如下:

等价类划分法及边界值分析法测试实验

黑盒测试实验 实验项目:等价类划分法及边界值分析法用例设计及Selenium工具实践 实验目的:1、根据产品规格说明书的要求,利用等价类划分法及边界值分析法设计测试用例;2、掌握使用Selenium工具进行黑盒测试的基本方法 实验要求:个人独立搭建测试平台、设计测试用例;使用Selenium工具录制脚本及组织测试套件。 实验过程(Windows7环境): 一、用等价类划分法和边界值分析法设计测试用例。 1.条件:产品规格说明书要求图书编号的取值位数是6~10位正整数 2.设计测试用例(建议将设计结果写在表格里) 二、测试平台的搭建 1.MySQL的安装。点击SETUP.EXE,按提示点击NEXT,注意跳过注册界面,进入配置界面 2.MySQL的配置:基本都取默认设置,要注意将字符集(Character Set)设置为GB2312并 记住登录密码。 3.创建MySQL数据库。①用记事本打开library.sql并复制文件内的所有SQL命令; ②点击开始菜单下的MySQL命令行客户端,输入登录密码后粘贴复制的SQL命令。4.用记事本修改文件夹library下的web.config,将其中密码pass改为你的MySQL登录密码。5.IIS的安装。控制面板→程序和功能→打开或关闭Windows功能→勾选Internet信息服务下的相关功能项→确定。 6.”大学图书管理系统”的安装。进入控制面板→管理工具→IIS管理器→右击”默认网站”,添加虚拟目录,并指定物理路径(即文件夹library所在路径),然后将该虚拟目录转换为应用程序。 7.火狐浏览器的安装。 8.测试工具Selenium的安装。打开火狐浏览器,将文件Selenium-ide-2.4.0.xpi拖进浏览器三、用Selenium进行脚本录制及套件组织 1.打开火狐浏览器,右击其标题栏勾选菜单栏 2.在”工具”菜单下找到并点击”Selenium-IDE”启动Selenium工具,并点击右上角”脚本录制”红按钮进入录制状态。 3.在浏览器地址栏输入http://localhost/abc/login.aspx ,输入用户名:admin ,密码:pass123正常登录后,保存为1个测试用例后,关闭Selenium-IDE然后再打开上述测试用例,之后将光标定在脚本末尾并让工具进入录制状态,将测试用例输入并保存。 4.重复3得到其他测试用例。 5.打开Selenium创建一个测试套件,并依次打开或添加已保存的测试用例并保存。

等价类划分的例子

假设有一个把数字串转变成整数的函数。运行程序的计算机字长16位,用二进制补码表示整数。这个函数是用PASCAL语言编写的,它的说明如下: function strtoint(dstr:shortstr):integer; 函数的参数类型是shortstr,它的说明是; type shortstr=array[1..6]of char; 被处理的数字串是右对齐的,也就是说,如果数字串比六个字符短,则在它的左边补空格。 如果数字串是负的,则负号和最高位数字紧相邻(负号在最高位数字左边一位)。 考虑到PASCAL编译程序固有的检错功能,测试时不需要使用长度不等于6的数组做实在参数,更不需要使用任何非字符数组类型的实在参数。 分析这个程序的规格说明,可以划分出如下等价类: 有效输入的等价类有 ⑴1~6个数字字符组成的数字串(最高位数字不是零); ⑵最高位数字是零的数字串; ⑶最高位数字左邻是负号的数字串; 无效输入的等价类有 ⑷空字符串(全是空格); ⑸左部填充的字符既不是零也不是空格; ⑹最高位数字右面由数字和空格混合组成; ⑺最高位数字右面由数字和其他字符混合组成; ⑻负号与最高位数字之间有空格; 合法输出的等价类有 ⑼在计算机能表示的最小负整数和零之间的负整数; ⑽零; ⑾在零和计算机能表示的最大正整数之间的正整数; 非法输出的等价类有 ⑿比计算机能表示的最小负整数还小的负整数; ⒀比计算机能表示的最大正整数还大的正整数。 因为所用的计算机字长16位,用二进制补码表示整数,所以能表示的最小负整数是-32768,能表示的最大正整数是32767。 根据上面划分出的等价类,可以设计出下述测试方案(注意,每个测试方案由三部分内容组成): ⑴l~6个数字组成的数字串,输出是合法的正整数。 输入:‘1’ 预期的输出:1 ⑵最高位数字是零的数字串,输出是合法的正整数。 输入:‘000001’ 预期的输出:1 ⑶负号与最高位数字紧相邻,输出合法的负整数 输入:‘-00001’ 预期的输出:-1 ⑷最高位数字是零,输出也是零。 输入:‘000000’ 预期的输出:0

等价类边界值综合练习题-万年历

练习题:万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。假设日期限定在1900年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后2位表示日期。其中4、6、9、11月只有30天,平年的2月份只有28天,闰年的2月份有29天。 (备注:为简化处理,本题在进行用例设计时,不必考虑对平年、闰年的判断)

一、先用等价类划分法设计测试用例,来测试程序的"日期检查功能"。1)划分等价类并编号,下表等价类划分的结果 2)设计测试用例覆盖所有的有效等价类,设计的测试用例如下: 3)为每一个无效等价类设计一个测试用例,设计结果如下:

4)测试用例举例: 5)存在的问题: 1、在对2月、大月、小月的无效日期进行用例选择时,日期没有取到边界上,如果程序忘记了对2月份的日期进行特殊判断,而是粗略写成所有的日期都必须小于等于28,那么用例9、用例10并不能发现错误。 2、在对大月、小月进行用例选择时,按照等价类的思想,从集合{1、 3、5、7、8、10、 12}和{4、6、9、11}中任意挑选了中间数据,感觉令人不够放心。 6)解决办法: 二、结合边界值方法进行用例设计。 首先还是利用等价类的方法进行用例设计,然后看看哪些边界值已经被覆盖到

了,最后再针对没有被覆盖的边界值补充测试用例。 设计测试用例覆盖等价类和边界值

可以再补充1月31日、11月30日的测试用例,因为1月是大月的第一个月,11月是小月的最后一个月,也可以算是边界值。 设计测试用例覆盖无效等价类:

1等价类边界值练习AG

1、在各种输入条件下,测试程序的登录对话框功能。 用户名和密码的规则如下: ?用户名长度为6至10位(含6位和10位) ?用户名由字符(a-z、A-Z)和数字(0-9)组成 ?不能为空、空格和特殊字符 密码规则同用户名规则 2、根据下面给出的规格说明,进行测试用例的设计。 一个程序读入3个正整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是普通的、是等腰的、还是等边的。 3、万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息,假设日期限定在1900年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后两位表示日期。其中 4、6、9、11月只有30天,平年的2月份只有28天,闰年的2月份有29天。(备注:位简化处理,本题进行用例设计时。不考虑对平年、闰年的判断 4、现有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:日期由6 20161;(2) 2016121;(3) 20160J;(4) 198908(6) 205008(7) 201600(9) 201613(10)

5、保险费率计算<=100岁 某保险公司承担人寿保险,该公司保费计算方式为投保额*保险率,保险率又依点数不同而有别,10点以上费率为0.6 %,10点以下费率为0.1% : 年龄:一或两位数字。 性别:以英文「MALE」、「FEMALE」、「M」、「F」表示。 婚姻:「已婚」、「未婚」。 扶养人数:空白或一位数字。 保险费率:10点以上,10点以下。 请对该案例进行相应的用例设计 6.农业银行ATM机提供现金存入异地银行的业务。存入金额为1000-50,000。以100元为单位。手续费为千分之五。最多只收取50元。

等价类划分法

测试用例设计—等价类划分法 2008-10-10 11:41:40| 分类:测试| 标签:|字号大中小订阅 1.相关概念:等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。 1.2 等价类 等价类是某个输入域的集合,在这个集合中每个输入条件都是等效的。如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。 等价类分为有效等价类和无效等价类。 有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。 2.划分等价类的方法 划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合。下面给出六条确定等价类的原则。 1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。 例如:成年人每分钟的心跳60-100之间为正常。 有效等价类:60-100 无效等价类:<60 和>100 2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和 一个无效等价类。例如:用户连续输入错误密码的次数最多为3次。 有效等价类:<=3次无效等价类:>3次 3、在输入条件是一个布尔量的情况下,可确定一个有效等价类。例如:单选的选中与不选中。 4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n 个有效等价类和一个无效等价类。例如:输入数据为省份的选择。 5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。例如:规定必须输入非0的正整数。这种例子应充分考虑规则是否可以拆分为具有单一的子规则,然后得到从不同角度违反规则的无效等价类。 该例子起码可拆分为非0、数字、正数、整数4个子规则,至少每个规则对应一个无效等价类,即0、字符串、负数、小数,甚至可挖掘出输入为空的隐含等价类。

等价类划分

黑盒测试 (一)实验目的 1.掌握用边界值方法设计测试用例和执行测试的过程; 2.掌握用等价划分方法设计测试用例和执行测试的过程; (二)实验内容 测试“NextDate”函数。NextDate返回输入日期后面的那个日期。变量年、月、日都 具有整数值,且满足如下条件: C1: 1912≤年份≤2050 C2: 1≤月份≤12 C3: 1≤日期≤31 (三)实验步骤 用熟悉的语言(如C 语言)编写实现该函数的功能,并用如下方法设计测试用例,进行黑盒测试。参考源代码: #include intnextDate(intyear,intmonth,int day); void main() { //int year, month,day; nextDate(2051,12,30); } intnextDate(intyear,intmonth,int day) { /*如果还有明天,返回1; 如果输入不合法,返回-1; */ switch (month) { case 1: case 3:case 5:case 7:case 8:case 10 : if(day==31) { day=1; month=month+1; } else day=day+1; break; case 4:case 6:case 9:case 11: if(day==30) { day=1; month=month+1; } else

day=day+1; break; case 12: if(day==31) { day=1; month=1; year=year+1; if(year==2012) printf("2012 is over"); } else if(day<31) { day=day+1; } break; case 2: { if(day==28) if(((year%4==0 && year%100!=0) || year%400==0)) { day=29; } else { day=1; month=3; } else if(day==29) { day=1; month=3; } else if(day<28) { day=day+1; } else printf("二月没有%d 号!\n",day); } break; default: ; }

实验二 等价类划分法测试用例设计与执行

实验二 实验的目的和要求: 目的: (1)掌握等价类划分方法的步骤; (2)扩宽测试思维; 要求:能够用等价类划分的思想设计测试用例 实验内容: 问题陈述: 简单版本:三角形问题接受三个整数a、b和c作为输入,用作三角形的边。程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。改进版本:三角形问题接受三个整数a、b和c作为输入,用作三角形的边。整数a、b和c必须满足以下条件: c1:1<=a<=200 c4: a

为“非三角形”。如果三条边相等即满足条件(7),则程序输出为“等边三角形”。如果只有两条边相等、即满足条件(6),则程序输出为“等腰三角形”。如果三条边都不相等,则程序输出为“一般三角形”。

二、设计测试用例

import java.io.*; class sanj{ public static int a,b,c; public static void main(String arg[]) throws IOException{ try{ BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); //接收键值System.out.println("输入三边值,每个值输入后回车"); System.out.println("请输入:"); a=Integer.valueOf(stdin.readLine()); b=Integer.valueOf(stdin.readLine()); c=Integer.valueOf(stdin.readLine()); }catch(IOException e){ System.out.println("出现异常!"); System.exit(0); } if(a+b

边界值法练习题

1.请用边界值分析法设计三角形问题的测试用例 2.在三角形问题描述中,除了要求边长是整数外,没有给出其它的限 制条件。在此,我们将三角形每边边长的取范围值设值为[1, 100] 。边1,边2,边3,还是a、b、c 按钮名称【提交】。 边界值:0,1,2,99, 100, 101

2.请用边界值分析法写出NextDate函数的测试用例 3.在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。 边界值:year 取 1911 1912 1913 1990 2049 2050 2051 mouth取 -1 1 2 11 12 13 day取 0 1 2 30 31 32 测试用例:

3.邮箱用户名:6~18个字符,包括字母、数字、下划线,以字母开头,用户名以字母或数字结尾,用户名中必须包含@符号,@符号后可以为数字、字母,邮箱以或或.结尾

根据要求可以确定5个有效等价类和6个无效等价类 邮箱用户名测试用例:

等等(8)(9)(10)(11)任意两个、三个、四个组合都是错误的邮箱用户名。 4. 假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。 请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。 有效等价类: 0 < R < = 100 ,R<= P <= 100 R :货币价格 无效等价类:R > 100 or R<=0 ,p>100 or p 100 or R<=0 ,

等价类划分法

等价类划分法 等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,只根据对程序的要求和说明,即需求规格说明书。我们必须仔细分析和推敲说明书的各项需求,特别是功能需求。把说明书中对输入的要求和输出的要求区别开来并加以分解。由于穷举测试工作量太大,以至于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。例如,在不了解等价分配计数的前提下,我们做计算器程序的加法测试时,测试了1+1,1+2,1+3和1+4之后,还有必要测试1+5和1+6吗,能否放心地认为它们是正确的?我们感觉1+5和1+6,与前面的1+1,1+2都是很类似的简单加法。 等价类划分的方法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误(除非等价类中的某些例子属于另一等价类,因为几个等价类是可能相交的)。使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。 1、划分等价类和列出等价类表 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于发现程序中的错误都是等效的。并合理地假定:测试某个等价类的代表值就等于对这一类其他值的测试。 因此,可以把全部输入数据合理地划分为若干等价类,在每一个等价类中取一个数据作为测试输入条件,就可以用少量代表性的测试数据取得较好的测试结果。等价类划分有两种不同的情况:有效等价类和无效等价类。 有效等价类:指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明中所规定的功能和性能。 无效等价类:与有效等价类的定义相反。 设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更好的可靠性。 下面给出6条确定等价类的原则: ①在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类。 ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。 ③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。 ④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。 ⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。 ⑥在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步划分为更小的等价类。 在确立了等价类之后,建立等价类表,列出所有划分出的等价类如下表所示: 2、确定测试用例 根据已列出的等价类表,按以下步骤确定测试用例: ①为每个等价类规定一个唯一的编号。 ②设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖。 ③设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被

测试用例设计方法1——等价类边界值

测试用例设计方法1——等价类边界值 1、等价类划分 等价类划分是黑盒测试最常用的方法,使用等价类划分的方法是将输入域划分为若干个区域,并从中选择少数具有代表性的数据进行测试,这样可以避免使用大量的测试数据,也避免了盲目性。等价类划分针对程序的输入部分,常用的设计方法是:找出输入条件,划分等价类,并进行用例的设计。等价类分为有效等价类和无效等价类。所谓有效等价类是指用户输入的有效数据,并得到预期的或正常的结果;另一种是无效等价类,无效等价类是指异常的或不符合规定的输入,相应的也会得到异常的输出或提示信息。因此在划分等价类的时候又从有效和无效两方面去考虑。一般在设计测试用例时,要是一条用例尽量多的覆盖有效等价类,而无效等价类则要求一对一的覆盖。 2、边界值 边界值同样是一种经典的黑盒测试方法,他常常作为等价类的一种补充,与等价类方法一起使用。在进行程序设计时,大量的错误容易发生在输入数据或输出数据的边界上,因此使用边界值的方法可以经常检测出错误。当一个输入明确的规定了一个值的取值范围时或输入条件是一组有序的集合时,就可以使用边界值的方法来设计测试用例。关于边界值得上点、内点、离点的概念,可以参见下图。

由于等价类和边界值经常配合使用,因此两者可以合并为一个用例设计方法,下面总结一下使用等价类边界值设计测试用例的思路和方法。 1、分析需求,挖掘隐式条件,确认边界值,划分等价类 2、将划分出的等价类填入表格,进行编号 3、对有效等价类,用一条用例尽量多的覆盖 4、对于无效等价类,一对一的覆盖,最终得到测试用例 下面以最经典的三角形问题来说明如何使用等价类边界值方法设计测试用例: 输入3个数,判定是否构成三角型,并判定什么时候是等腰三角形,什么时候是等边三角形。 分析输入条件: 1、3个整数 2、任意两边和大于第三遍 3、满足1、2,且只有两个边相等

相关文档