使用等价类划分的方法进行测试用例的编写
- 格式:doc
- 大小:58.00 KB
- 文档页数:2
⿊盒测试《等价类划分》-有这篇就够了⼤家好,我是吉提。
在疫情消停不下来的2020年,既然不好跳槽,不好涨薪,也不好发挥创造⼒,那么就沉下⼼来,跟我⼀起,巩固软件测试基础知识。
积攒⼒量,蓄势待发。
本⽂将会详细描述“等价类划分",它是⿊盒测试最基本的⽤例设计⽅法。
⽬录:1. 定义(What)2. 为什么使⽤该⽅法?(Why)3. 如何划分等价类?(How)4. 设计测试⽤例5. 使⽤场景6. 根据测试⽤例的完整性划分7. 等价类划分注意事项8. 等价类划分的优缺点9. 实战演练1. 定义(What)等价类划分法是⼀种典型的,并且是最基础的⿊盒测试⽤例设计⽅法。
采⽤等价类划分法时,完全不⽤考虑程序内部结构,设计测试⽤例的唯⼀依据是软件需求规格说明书。
所谓等价类,是输⼊条件的⼀个⼦集合,该输⼊集合中的数据对于揭⽰程序中的错误是等价的。
从每⼀个⼦集中选取少数具有代表性的数据,从⽽⽣成测试⽤例。
等价类⼜分为有效等价类和⽆效等价类。
有效等价类代表对程序有效的输⼊,⽽⽆效等价类则是其他任何可能的输⼊(即不正确的输⼊值)。
有效等价类和⽆效等价类都是使⽤等价类划分法设计⽤例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输⼊,也能接受⽆效输⼊的考验。
2. 为什么使⽤该⽅法?(Why)理想的测试,是从所有可能的输⼊中找出某个⼩的⼦集,并且是可能发现错误最多的⼦集。
即:使⽤最少的测试数据,达到最好的测试质量(最⾼性价⽐)。
这个⼦集如何确定?可以借助测试⽤例的两个特性:测试⽤例数量达到最少;某个测试⽤例要能覆盖⼤部分其他测试⽤例。
第⼆个特性就暗⽰我们,应该尽量将程序输⼊范围进⾏划分,将其划分为有限数量的等价类,这样就可以合理地假设测试每个等价类的代表性数据等同于测试该类的其他任何数据。
这两种特性形成了称为等价类划分的⿊盒测试⽅法。
因此,等价类划分是⿊盒测试最基本的⽅法。
3. 如何划分等价类?(How)在给定了输⼊或外部条件之后,等价类的划分原则如下:如果输⼊条件规定了⼀个取值范围(例如,“数量可以是1到999”),那么就应确定出⼀个有效等价类(1<数量<999),以及两个⽆效等价类(数量<1,数量>999)。
⿊盒测试⽤例设计⽅法⼀、等价类划分法 该⽅法是将系统的输⼊域划分为若⼲部分,然后从每个部分选取少数代表性数据进⾏测试,这样可以避免穷举法产⽣的⼤量⽤例。
等价类是指某个输⼊域的⼦集合,在该⼦集合中,各个输⼊数据对于揭露软件中的错误都是等效的。
并合理地假定:测试某等价类的代表值就等于对这⼀类其它值的测试。
有效等价类:是指对于系统的规格说明来说是合理的,有意义的输⼊数据构成的集合。
利⽤有效等价类可以验证程序是否实现了规格说明中所规定的功能和性能。
⽆效等价类:是指对于系统的规格说明来说是不合理或⽆意义的输⼊数据所构成的集合。
设计测试⽤例时,要同时考虑这两种等价类。
因为,软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具备有更⾼的可靠性。
1、划分等价类 基于特性测试⼦项所对应的 SRS ⽚段,可以参考下⾯⼏条原则:1.在输⼊条件规定了取值范围或值的个数的情况。
例⼦:在1<x<5中。
⼀个有效等价类:1<x<5,两个⽆效等价类:x>=5 和 x<=1。
2.在输⼊条件规定了输⼊值的集合或者规定了必定如何的条件的情况下,可确⽴⼀个有效等价类和⼀个⽆效等价类。
例⼦:规定字段”星期”是输⼊星期⼏。
该输⼊条件⼀个有效等价类是输⼊的值属于从星期⼀到星期⽇的集合,⼀个⽆效等价类是不属于星期⼀到星期⽇的其他值。
3.在输⼊条件是⼀个布尔量的情况。
例⼦:性别,如果规定输⼊“男”为有效,则⼀个有效等价类:“男”,⼀个⽆效等价类:“⼥”。
4.在规定了输⼊数据的⼀组值假定 n 个,并且程序要对每⼀个输⼊值分别处理的情况下,可确⽴ n 个有效等价类和⼀个⽆效等价类。
例⼦:PPT的打印效果分为幻灯⽚加框和幻灯⽚不加框,则对于打印效果这个输⼊条件,n (这⾥ n =2)个有效等价类:幻灯⽚加框,幻灯⽚不加框;⼀个⽆效等价类:加框和不加框外的其他值。
5.在规定了输⼊数据必须遵守的规则的情况下,可确⽴⼀个有效等价类符合规则和若⼲个⽆效等价类从不同⾓度违反规则。
实验1、黑盒测试:等价类划分法
一、实验目的
1、掌握等价类的概念。
2、掌握等价类划分法的测试用例设计方法。
二、实验内容
对三角问题使用等价类划分的方法来设计测试用例,并执行测试,然后撰写实验报告。
三角形问题:规定输入三个整数a、b、c分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型(等边三角形、等腰三角形、一般三角形、构不成三角形),并在屏幕上输出0<a,b,c<200输入数据时进行有效性检验。
用C或Java或其它语言写出源程序。
三、实验步骤:
①划分等价类,得到等价类表。
等价类表格式如下:
②运用弱健壮等价类测试用例设计法设计测试用例,得到测试用例表。
测
③执行测试,填写软件缺陷报告。
简单软件缺陷报告格式如下:。
1.等价类划分法等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。
等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。
使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。
2.划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
等价类的划分有两种不同的情况:①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
②无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。
对于具体的问题,无效等价类至少应有一个,也可能有多个。
在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
3.划分等价类的标准:1)完备测试、避免冗余;2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;3)并是整个集合:完备性;4)子集互不相交:保证一种形式的无冗余性;5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径".4.划分等价类的原则。
(1) 如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。
例如,在程序的规格说明中,对输入条件有一句话:“…… 项数可以从1到999 ……”则有效等价类是“1≤项数≤999”两个无效等价类是“项数<1”或“项数>999”。
⿊盒测试⿊盒测试⼀第⼀课1. 实验⽬的理解墨盒测试的基本⽅法,掌握等价类划分法、边界值分析等测试⽤例的设计⽅法。
2.实验内容(1) 等价类划分⽅法1) 三⾓形问题等价类划分设计测试⽤例2) NextDate问题,对它的输⼊进⾏分析,划分等价类,然后根据等价类设计测试⽤例。
(2) 边界值和因果图1)NextDate问题⽤边界值分析法设计测试⽤例分析NextDate问题中的逻辑,⽤边界值分析法的思想设计测试⽤例。
2) 有⼀个处理单价为5⾓钱的饮料的⾃动售货机软件测试⽤例的设计。
其规格说明如下:若投⼊5⾓钱或1元钱的硬币,押下[橙汁]或[啤酒]的按钮,则相应的饮料酒送出来。
若售货机没有零钱找,则⼀个显⽰[零钱找完]的红灯亮,这时再投⼊1元硬币并押下按钮后,饮料不送出来⽽且1元硬币也退出来;若有零钱找,则显⽰[零钱找完]的红灯灭,在送出饮料的同时退还5⾓硬币。
⽤因果图法对⾃动售货机设计测试⽤例。
要求:(1) 1)必做(1) 2)与(2)1)2)选做其⼀3.实验准备(1)主流PC机⼀套,要求安装windows操作系统、Virtul Studio6.0、C++Test、java等⼯具;(1)理解等价类划分法、边界值分析法的思想,划分依据;(2)熟悉上述⽅法测试⽤例设计的理论4.实验步骤(1)三⾓形问题1) if (!(a+b<=c||a+c<=b||b+c<=a)&&(a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)) {if (a==b && a==c)MessageBox("等边三⾓形");else if (a==b || a==c || b==c)MessageBox("等腰三⾓形");elseM essageBox("⼀般三⾓形");}else {if(a<1||a>100)MessageBox("a不在范围内,不满⾜条件1,不能构成三⾓形");else if(b<1||b>100)MessageBox("b不在范围内,不满⾜条件2,不能构成三⾓形"); else if(c<1||c>100)MessageBox("c不在范围内,不满⾜条件3,不能构成三⾓形"); else if(a>=b+c)MessageBox("不满⾜aelse if(b>=a+c)MessageBox("不满⾜belse if(c>=b+a)MessageBox("不满⾜c}M essageBox("判断结束!");}2) 实验的输⼊和输出样式3) 测试⽤例设计⽤等价类分析法设计测试⽤例,按照下列步骤进⾏:⑴分析题⽬中给出的条件和隐含的输⼊要求,输⼊条件如下:①正整数②三个数③构成⼀般三⾓形④构成等腰三⾓形⑤构成等边三⾓形⑥不能构成三⾓形⑵根据输⼊条件的要求划分等价类,列出等价类表并编号,如下表:⑶设计测试⽤例,覆盖上表中的等价类,如下表:注:提⽰1(输⼊不符合要求)提⽰2(请输⼊数据)(2)(2) (2) NextDate问题⽤边界值分析法设计测试⽤例1)对于NextDate问题,分析它的输⼊限制;NextDate是⼀个有三个变量(⽉份、⽇期和年)的函数。
用等价类划分方法为该程序进行测试用例设计在软件测试中,测试用例设计是非常重要的一部分。
等价类划分方法是一种常用的测试用例设计方法,它可以帮助测试人员快速有效地设计测试用例,同时提高测试覆盖率和测试效率。
等价类划分方法的基本原理是将输入和输出的数据分为若干个
等价类,每个等价类中的数据具有相同的性质和功能。
在测试用例设计中,我们只需要选择每个等价类中的一个代表性数据进行测试,就可以覆盖整个等价类的测试需求。
例如,在一个登录系统中,用户名和密码都是输入数据。
我们可以将用户名和密码的输入数据分为三个等价类:有效输入、无效输入和边界输入。
有效输入是指符合要求的用户名和密码,无效输入是指不符合要求的用户名和密码,边界输入是指用户名和密码的输入达到最小和最大范围的情况。
根据等价类划分方法,我们可以选择代表性数据进行测试。
例如,我们可以选择一个有效的用户名和密码进行测试,一个无效的用户名和密码进行测试,一个边界输入的用户名和密码进行测试,这样就可以覆盖所有的测试需求。
总之,等价类划分方法是一种非常有效的测试用例设计方法,它可以帮助测试人员快速高效地设计测试用例,提高测试覆盖率和测试效率。
在实际的软件测试中,测试人员应该根据需求和输入输出特点,合理运用等价类划分方法进行测试用例设计。
- 1 -。
等价类划分法设计测试用例的方法
等价类划分法是软件测试中常用的一种设计测试用例的方法。
它的基本思想是将输入条件或输出结果分成若干个等价类,每个等价类中的数据具有相同的功能和性质。
然后,从每个等价类中选择一些典型的数据作为测试用例,以验证系统的正确性和可靠性。
具体来说,等价类划分法设计测试用例的步骤如下:
1. 确定输入条件和输出结果:首先要明确被测试的系统的输入
条件和输出结果,包括数据类型、取值范围、格式等信息。
2. 划分等价类:将每个输入条件和输出结果划分成若干个等价类,每个等价类中的数据具有相同的功能和性质。
划分的依据可以根据实际情况选择,比如数据的取值范围、数据类型、特殊字符等。
3. 选择典型数据:从每个等价类中选择一些典型的数据作为测
试用例,以验证系统的正确性和可靠性。
选择的数据应该能够充分覆盖每个等价类的特征,并且能够引发系统可能存在的错误或异常情况。
4. 编写测试用例:根据选定的典型数据,编写相应的测试用例。
测试用例应该包括输入数据、预期输出结果和实际输出结果等信息,以便进行测试结果的比对和分析。
5. 执行测试用例:依据设计的测试用例,对系统进行测试,记
录测试结果和相应的问题,以便进行问题的排查和修复。
等价类划分法是一种简单有效的测试用例设计方法,能够提高测试用例的覆盖率和效率,减少测试工作的时间和成本。
但是,在实际应用中需要根据具体情况进行灵活运用,以达到最佳的测试效果。
根据等价类表写测试用例
等价类表是一种测试技术,可以将输入或输出值划分为不同的等价类,来设计测试用例。
根据等价类表写测试用例的步骤如下:
1. 确定输入或输出值的范围。
2. 将范围划分为不同的等价类,每个等价类应该有相同的属性,例如:有效的输入、无效的输入、边界值等等。
3. 每个等价类选择一个代表性的值,作为测试用例的输入或输出。
4. 针对每个等价类设计相应的测试用例,确保测试用例完全覆盖了所有等价类。
例如,假设我们要测试一个登录页面的用户名和密码输入框,根据等价类表可以将输入值划分为以下等价类:
有效的用户名:包括字母、数字、下划线等字符,长度为1到20个字符。
无效的用户名:包括特殊字符、空格等非法字符,长度为0或大于20个字符。
有效的密码:包括字母、数字、下划线等字符,长度为6到12个字符。
无效的密码:包括特殊字符、空格等非法字符,长度为0或小于6或大于12个字符。
根据这个等价类表,我们可以设计以下测试用例:
有效的用户名和密码:使用符合要求的用户名和密码,登录成功。
无效的用户名和密码:使用非法字符、空格等非法输入,登录失败。
用户名为空:用户名为空,登录失败。
密码为空:密码为空,登录失败。
用户名长度超过20个字符:用户名长度超过20个字符,登录失败。
密码长度小于6个字符:密码长度小于6个字符,登录失败。
密码长度大于12个字符:密码长度大于12个字符,登录失败。
用户名和密码不匹配:输入符合要求的用户名和错误的密码,登录失败。
通过等价类表设计测试用例,可以有效地提高测试用例的覆盖率,减少遗漏测试用例的可能性。
等价类划分法测试用例
等价类划分法是一种常用的黑盒测试用例设计方法,用于确定测试用例的输入域的子集。
这种方法主要基于对输入条件的分类,将所有可能的输入条件划分为若干个等价类,然后从每个等价类中选取一个具有代表性的值进行测试。
以下是等价类划分法的测试用例设计步骤:
1.确定输入条件:首先需要明确测试对象的功能和输入条件,确定测试用例的输入范围和类型。
2.确定等价类:根据输入条件的约束和取值范围,将所有可能的输入划分为若干个等价类。
等价类是指具有相同测试意义的输入条件,它们在测试中具有相同的效果。
3.编写等价类表:列出所有的等价类,包括有效等价类和无效等价类。
有效等价类是指符合程序规格说明要求的输入条件,而无效等价类则是指不符合规格说明要求的输入条件。
4.设计测试用例:针对每个等价类,设计一个或多个测试用例,使得每个测试用例都能覆盖该等价类的所有输入条件。
对于有效等价类,需要设计合理的输入数据来验证程序的正常工作情况;对于无效等价类,需要设计异常的输入数据来验证程序的容错性和错误处理能力。
5.执行测试:按照设计的测试用例进行测试,记录测试结果并进行分析。
如果测试结果与预期不符,需要对程序进行修改和优化。
需要注意的是,在使用等价类划分法设计测试用例时,需要遵循完备性、互斥性和代表性的原则。
完备性是指测试用例覆盖了所有可能的输入条件;互斥性是指每个等价类中的输入条件是唯一的;代表性是指每个等价类的代表值具有相似的测试意义。
任务名称:等价类表和测试用例表1. 简介等价类表和测试用例表是软件测试中常用的工具,用于帮助测试人员设计和执行测试用例。
通过合理地划分输入数据的等价类别,可以减少测试用例的数量,提高测试效率。
本文将详细介绍等价类表和测试用例表的概念、作用和使用方法,并提供一些实际案例进行说明。
2. 等价类表的概念等价类表是一种将输入数据按照其特性划分为不同等价类别的工具。
等价类是指具有相同功能和行为的输入值的集合。
通过将输入数据划分为等价类别,可以简化测试用例的设计和执行,提高测试效率。
3. 等价类表的作用等价类表在软件测试中起到了重要的作用,主要包括以下几个方面:3.1 减少测试用例的数量通过合理地划分等价类别,可以将大量的可能输入数据归为同一类别,从而减少测试用例的数量。
例如,对于一个要求输入年龄的输入框,可以将年龄划分为三个等价类别:小于18岁、18到60岁、大于60岁。
这样,我们只需要选择每个等价类别中的一个测试用例进行测试,就可以覆盖所有可能的输入情况。
3.2 提高测试效率由于测试用例的数量减少了,测试人员可以更快地设计和执行测试用例。
这样可以节省时间和资源,提高测试效率。
3.3 增强测试覆盖率通过合理地划分等价类别,可以确保测试用例能够覆盖到各个等价类别中的典型值和边界值。
这样可以增强测试的覆盖率,减少遗漏测试情况的风险。
4. 等价类表的使用方法使用等价类表设计测试用例主要包括以下几个步骤:4.1 确定输入数据首先,需要明确要测试的功能或模块所需要的输入数据。
这些输入数据可以是用户输入、外部数据源、系统状态等。
4.2 划分等价类别根据输入数据的特性,将其划分为不同的等价类别。
等价类别应该具有相同的功能和行为,即属于同一类别的输入数据应该具有相同的测试结果。
划分等价类别时,应考虑典型值、边界值和异常值等情况。
4.3 选择测试用例从每个等价类别中选择一个或多个测试用例进行测试。
测试用例应该能够覆盖到等价类别中的典型值和边界值,以及可能引起异常情况的异常值。
测试用例设计方法有哪些测试用例设计方法有以下几种:1. 等价类划分法(Equivalence Partitioning):根据输入数据的特征,将输入数据集划分成若干个等价类,从每个等价类中选取一个代表作为测试用例。
这样可以有效地降低测试用例的数量,同时保证覆盖了不同输入数据的情况。
2. 边界值分析法(Boundary Value Analysis):在等价类中,选取边界值进行测试,因为通常边界值处更容易出现错误。
对于输入数据,选取它的最小值、最大值和边界值的前后一个值作为测试用例。
3. 错误推测法(Error Guessing):根据过去的经验和直觉,识别潜在的错误和缺陷,并设计测试用例来验证这些错误和缺陷。
这种方法主要依赖测试人员的经验和判断力。
4. 因果图法(Cause-Effect Graphing):根据系统或软件的功能和逻辑关系绘制因果图,然后从中选择特定的情况进行测试。
这种方法可以确保覆盖到所有可能的输入和条件组合。
5. 决策表测试法(Decision Table Testing):根据系统的规则和条件,建立一个决策表,表中包含各种可能的输入和对应的输出。
然后选择不同的条件组合进行测试,确保覆盖了所有的规则。
6. 认知测试方法(Cognitive Testing):根据用户使用软件的心理逻辑和思维方式,设计测试用例。
测试人员需要理解用户的需求和预期行为,从而设计出符合用户思维方式的测试用例。
7. 数据驱动测试方法(Data-Driven Testing):根据系统或软件的逻辑关系和各种输入数据,设计测试用例。
可以使用测试数据生成工具来生成测试用例,或者利用现有的数据进行测试。
8. 状态迁移法(State Transition Testing):适用于测试涉及状态转换的系统或软件。
根据系统的状态图或状态转换图,设计测试用例来覆盖不同的状态转换路径。
9. 随机测试方法(Random Testing):随机选择输入数据进行测试,以发现可能被疏忽的错误和缺陷。
利用等价类划分法设计测试用例你想搞清楚“等价类划分法”是个什么鬼?别担心,听我慢慢道来!先告诉你,这玩意儿其实就是测试界的“万能钥匙”。
咋说呢?你想象一下,如果你要给一件事找对策,最省事的办法是什么?当然是把事儿给分门别类,分好类后,你就可以轻松搞定了,不用每次都从头到尾再来一遍。
比方说,给一堆水果分类,你能说香蕉、苹果、橙子、葡萄都得按照每种水果的特点来考察,这样才能精准找到你要的答案。
测试方法也是一样,你得把数据分成几类,然后挑几组代表性的案例就能覆盖大部分的情况了。
想象一下你正在做一个系统的测试,假设这个系统要求用户输入一个年龄。
你不能从0岁到100岁之间每个数字都测试一遍吧?那得多麻烦!我们要干的事就是,把所有的可能性按照合理的规则分成几类。
比如,低于0岁就是不合法的,0岁到120岁是正常范围,超过120岁又不合法。
是不是一下就觉得简单多了?如果系统能对每一类输入正确处理,那大部分情况基本上就能覆盖到,少数特殊情况就看系统怎么应对。
等价类划分法不单单是区分合法和不合法的输入那么简单,它还能帮你搞定一些复杂的输入,比如密码强度、商品价格、用户年龄段这些。
你想想,测试一个“成人票价”系统时,输入可能是18岁、25岁、65岁,换句话说,这些输入分成“成人”和“非成人”两类,搞清楚了这两类,就能放心大胆地测试系统了。
再比如,输入商品价格,你能拿每一分每一毫都测试一遍吗?当然不能!你得把价格分成几类,例如低于10元、中间10到100元、100元以上,这样就能大致覆盖到绝大部分情况了。
别小看这种方法,等价类划分法可是测试的得力助手!它就像你打游戏时,站位正确一样,给你一个稳稳的安全区,不用担心随时“掉线”。
想象一下,你要测一个登录功能,输入框要有用户名和密码。
你也不可能测试每一种用户名和密码的组合吧?合理的做法是,先把用户名和密码的输入情况分成“合法用户名”、“非法用户名”两类,再把密码分成“合法密码”和“非法密码”两类。
等价类划分经典实例-三⾓形测试⽤例设计
测试背景:
某程序规定:"输⼊三个整数 a 、 b 、 c 分别作为三边的边长构成三⾓形。
通过程序判定所构成的三⾓形的类型,当此三⾓形为⼀般三⾓形、等腰三⾓形及等边三⾓形时,分别作计算 … "。
⽤等价类划分⽅法为该程序进⾏测试⽤例设计。
(三⾓形问题的复杂之处在于输⼊与输出之间的关系⽐较复杂。
)
分析题⽬中给出和隐含的对输⼊条件的要求:
(1)整数 (2)三个数 (3)⾮零数 (4)正数 (5)两边之和⼤于第三边 (6)等腰 (7)等边
如果 a 、 b 、 c 满⾜条件( 1 ) ~ ( 4 ),则输出下列四种情况之⼀:
1)如果不满⾜条件(5),则程序输出为 " ⾮三⾓形 " 。
2)如果三条边相等即满⾜条件(7),则程序输出为 " 等边三⾓形 " 。
3)如果只有两条边相等、即满⾜条件(6),则程序输出为 " 等腰三⾓形 " 。
4)如果三条边都不相等,则程序输出为 " ⼀般三⾓形 " 。
⽆效等价类:
针对所有的输⼊条件来分析,输⼊⽆效则满⾜⽆效等价类
有效等价类:
针对输⼊条件,满⾜输⼊条件的则为有效等价类。
实验一黑盒测试法——等价类划分法实验目的:1.掌握等价类划分的方法2.掌握按等价类方法设计测试用例实验内容:1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序,找出缺陷并改正,给出缺陷报告。
#include "iostream.h"void main(){int a,b,c;cout<<"请输入三角形的三条边(界于1-100之间)"<<endl;cin>>a>>b>>c;if(a<=1||a>=100)cout<<"a的值超过允许的范围!";if(b<=1||b>=100)cout<<"b的值超过允许的范围!";if(c<=1||c>=100)cout<<"c的值超过允许的范围!";if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";if(a==b&&b==c)cout<<"是等边三角形!";if(a==b||b==c||a==c)cout<<"是等边三角形!";if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";三角形问题:划分等价类测试用例:1、覆盖有效等价类的测试用例2、覆盖无效等价类的测试用例缺陷报告:输入数据如图所示:以下部分由BUG修改人填写输入数据如图所以:以下部分由BUG修改人填写以下部分由BUG修改人填写以下部分由BUG修改人填写以下部分由BUG修改人填写2、某城市电话号码由三部分组成,分别是:1)地区码:以0开头的三位或者四位数字(包括0);2)电话号码:以非0、非1开头的七位或者八位数字。
测试用例的设计方法(全)等价类划分方法:一.方法简介1.定义是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
该方法是一种重要的,常用的黑盒测试用例设计方法。
2.划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
1)有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
2)无效等价类与有效等价类的定义恰巧相反。
无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。
对于具体的问题,无效等价类至少应有一个,也可能有多个。
设计测试用例时,要同时考虑这两种等价类。
因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
3.划分等价类的标准:1)完备测试、避免冗余;2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;3)并是整个集合:完备性;4)子集互不相交:保证一种形式的无冗余性;5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"。
4.划分等价类的方法1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
如:输入值是学生成绩,范围是0~100;2)在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类;3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。