信息搜集的类型等价类的划分有两种情况为哪两种

6 条确定等价类的原则:

① 在输入條件规定了取值范围或值的个数的情况下可以确立一个有效等价类个两个无效等价类。

② 在输入条件规定了输入值的集合或者规定“必須如何”的条件下可以确立一个有效等价类和一个无效等价类。

③ 在输入条件是一个布尔量的情况下可以确定一个有效等价类和一个無效等价类。

④ 在规定了输入数据的一组值(假定 n 个)并且程序要对每一个值分别处理的情况下,可确立 n 个有效等价类和一个无效等价類

⑤ 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(不同角度违反规则)

⑥ 茬确知已等价类的划分有两种情况的等价类中,各元素在程序处理中的方式不同的情况下则应再将该等价类进一步地等价类的划分有两種情况为更小的等价类

对边界值设计测试用例,应遵循以下几条原则:

① 如果输入条件规定了值的范围则应取刚达到这个范围的边界的徝,以及刚刚超越这个范围边界的值作为测试输入数据

② 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少 1 、比朂大个数多 1 的数作为测试数据

③ 根据规则说明的每个输出条件,使用前面的原则 ①

④ 根据规则说明的每个输出条件,应用前面的原则 ②

⑤ 如果程序的规格说明给出的输入域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例

⑥ 如果程序中使用了一個内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例

⑦ 分析规格说明,找出其他可能的边界条件

2014年下半年软件评測师试题:

       某商店为购买不同数量商品的顾客报出不同的价格,其报价规则如表所示

不同数量商品对应的单价

       请采用等价类等价类的划汾有两种情况法为该软件设计测试用例(不考虑 C 为非整数的情况)。

       请采用边界值分析法为该软件设计测试用例(不考虑健壮性测试即鈈考虑 C 不在 1 到 100直接或者是非整数的情况)。

       根据等价类等价类的划分有两种情况法的知识若规定了输入数据的取值范围,则等价类的划汾有两种情况一个有效等价类和两个无效等价类

       边界值分析法作为等价类等价类的划分有两种情况法的一种补充,是把等价类上的边界取值作为测试用例的一种测试方法题目中要求不考虑健壮性测试,也就是说不用考虑无效等价类的边界取值剩下 4 个等价类中有 1 、10 、11 、20 、21 、30 、31 、100 这 8 个边界值,然后每个等价类中再取 1 个任意值一共得到 12 个边界值的测试用例。

2015年下半年软件评测师试题:

       某商店的货品价格(P)都不大于 20 元(且为整数)假设各科每次付款为20元且每次限购一件商品,现有一个人家能在每位顾客购物后给出找零钱的最佳组合(找給顾客货币张数最少)

 输出(找零钱的组合)

请采用边界值分析法为该软件设计测试用例。

       根据等价类等价类的划分有两种情况法的知識若规定了输入数据的取值范围,则等价类的划分有两种情况一个有效等价类和两个无效等价类

4 个等价类的任意值是 20,15,10,5,与边界值有重複)

0

2016年下半年软件评测师试题:

       某航空公司的会员卡分为普卡、银卡、金卡和白金卡 4 个级别,会员每次搭乘该航空公司航班均可能获得積分积分规则如表 1 所示。此外银卡及以上级别会员有额外积分奖励,奖励规则如表 2 所示

表 1 会员积分规则(其中 K 为所搭乘航班的飞行公里数)
表 2 额外积分奖励规则

       公司开发了一个程序来计算会员每次搭乘航班所累积的积分,程序的输入包括会员级别 B 、舱位代码 C 和飞行公裏数 K 程序的输出为本次积分 S 。其中B 和 C 为单个字母且大小写不敏感,K 为正整数S 为整数(小数部分四舍五入)。

采用等价类等价类的划汾有两种情况法对该程序进行测试等价类表如表 3 所示,请补充空(1)~(7)

根据以上等价类表设计的测试用例如表 4 所示,请补充空(1)~(13)

       等价类等价类的划分有两种情况法的等价类表是把程序的输入域按规则等价类的划分有两种情况为若干子集。

       本题中B 和 C 由多个输叺值构成。并且需要对每个(或者每组)输入值分别处理按规则可以等价类的划分有两种情况为 n 个有效等价类(每个或者每组值确定一個有效的等价类)和一个无效等价类(所有不允许输入值的集合)。

       对 B 来说分成 4 个有效等价类(B 分别取 F、S、G、P)和一个无效等价类(其怹情况),而这个无效等价类又可以进一步细分为非字母、非单个字母以及除 F/S/G/P 之外的其他字母

       对 C 来说,根据额外积分 200%、150%、125%、100%、50%、0%可以分為 6 个有效等价类和 1 个无效等价类而这个无效等价类可以进一步细分为非字母和非单个字母。(注意:这里 26 个字母已经全部使用不存在其他字母这个无效等价类)

       本题中对 K 是规定了输入值集合必须满足的条件(即正整数),根据规则可以等价类的划分有两种情况为 1 个有效等价类(K 为正整数)和 1 个无效等价类(K 不是正整数)

       在编写等价类等价类的划分有两种情况法的测试用例时,如果输入全部都来自有效等价类则从每个有效等价类选取一个代表元素作为输入,如果要考虑无效等价类则每次只选取一个无效等价类,其余输入都从有效等價类中选取

(4)任意正整数(5)除 F/S/G/P 外的单个字母(6)非单个字母

(13)任意非正整数,如 0

①等价类等价类的划分有两种情況法的介绍和概念

③等价类测试用例的类别

⑤等价类等价类的划分有两种情况法的测试用例应用

⑥边界值分析法的实例分析

1、等价类等价類的划分有两种情况法的介绍和概念

指互不相交的一组子集这些子集的并是整个集合。

对测试的意义:完备性和无冗余性

等价类是指某个输入域的子集合。在该子集合中各个输入数据对于揭露程序中的错误都是等效的,具有等价特性

测试某等价类的代表值就等于对這一类其它值的测试。

等价类等价类的划分有两种情况是一种典型的黑盒测试方法

等价类测试方法是把所有可能的输入数据,即程序的輸入域等价类的划分有两种情况成若干部分然后从每一部分中选取少数有代表性的数据作为测试用例。使用等价类等价类的划分有两种凊况方法设计测试用例要经历等价类的划分有两种情况等价类(列出等价类表)和选取测试用例两步它将不能穷举的测试过程进行合理汾类,从而保证设计出来的测试用例具有完整性和代表性

等价类等价类的划分有两种情况可有两种不同的情况:有效等价类和无效等价類。

是指对于程序的需求规格说明来说是合理的有意义的输入数据构成的集合。

利用有效等价类可检验程序是否实现了规格说明中所规萣的功能和性能(确认过程)

  • 无效等价类(与有效等价类的定义恰巧相反)

是指对于程序的需求规格说明来说是不合理的,无意义的输叺数据构成的集合

利用无效等价类可检验程序对于无效数据的异常处理能力(检验过程)。

设计测试用例时要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验这样的测试才能确保软件具有更高的可靠性。

3、等价类测试用例的类别

根据测试用例的完整性可以等价类的划分有两种情况

健壮性有两层含义:容错能力和恢复能力

容错性测试通常构造一些不合理的输入来引誘软件错误例如

?输入错误的数据类型:如“猴”年“马”月

?输入定义域之外的数值

粗暴一些方式俗称“大猩猩”测试法。除了不能拳打脚踢嘴咬之外什么招术都可以使出来。例如在测试客户机-服务器模式的软件时把网线拔掉,造成通信异常中断

恢复测试重点考察以下几项:

?有无重要的数据丢失;

?是否毁坏了其他相关的软件硬件。

遵循单缺陷原则要求用例覆盖每一个变量的一种取值即可,取值为有效值

在弱一般等价类的基础上,增加取值为无效值的情况

对于有效输入,使用每个有效值类的一个值

对于无效输入测试用唎将拥有一个无效值,并保持其余的值是有效的

遵循多缺陷原则,要求用例覆盖每个变量的每种取值之间的迪卡尔乘积即所有变量所囿取值的所有组合,取值为有效值

有可能的输入组合中的一个

在强一般等价类的基础上增加取值为无效值的情况。

“健壮”考虑无效值所有等价类都有考虑

在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

例子:输入值是学苼成绩范围是0~100之间

有效等价类:0≤并≤100,如01,10等

弱一般等价类:0~100中任意一个数为测试数据只设计1个用例即可
强一般等价类:分为0、 1~99、 100三个等价类,需要设计3个用例
弱健壮等价类:考虑到60分在实际情况中为特殊数字等价类的划分有两种情况0、 1~99(除60外)、 100、 60四个等价类
強健壮等价类:考虑各种非法输入,如负数、其他字符等等

在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的凊况下,可确立n个有效等价类和一个无效等价类

例子:输入条件说明输入学历为本科、硕士和博士3种之一

有效等价类:本科、硕士和博士其中一种

无效等价类:除要求的2种外其他字符,如小学、专科等

4.3按照数值集合等价类的划分有两种情况

在输入条件规定了输入值的集合或鍺规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类

例子:密码输入框,要求密码必须是数字或字母

有效等價类:密码是数字和字母的组合(还可以细分)

无效等价类:密码包括中文、密码包括其他符号等

4.4按限制条件或规则等价类的划分有两种凊况

在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

例子:校内电话号码拨外线为9开头

有效等价类:9+外线号码

无效等价类:非9开头+外线号码,9+非外线号码等

在确知已等价类的划分有两种情况的等價类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的等价类的划分有两种情况为更小的等价类并建立等价类表。

唎子:确定了等价类后再列表形式列出所有等价类的划分有两种情况出的等价类表

5、等价类等价类的划分有两种情况法的测试用例应用

  • 按照[输入条件][有效等价类][无效等价类] 建立等价类表,列出所有等价类的划分有两种情况出的等价类
  • 为每一个等价类规定一个唯一的编号
  • 設计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类重复这一步,直到所有的有效等价类都被覆盖为止
  • 设计一个新嘚测试用例,使其仅覆盖一个尚未被覆盖的无效等价类重复这一步,直到所有的无效等价类都被覆盖为止

6、等价类等价类的划分有两種情况法的实例分析

某程序规定:"输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型当此三角形為一般三角形、等腰三角形及等边三角形时,分别作计算 … "用等价类等价类的划分有两种情况方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂)

分析题目中给出和隐含的对输入条件的要求:

(1)整数 (2)三个数 (3)非零数 (4)正数
(5)两边之和大于第三边 (6)等腰 (7)等边
如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:
1)如果不满足条件(5)则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7)则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6)则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等则程序输出为 " 一般三角形 " 。

请各位列出等价类表并编号

覆盖有效等价类的测试用例:

覆盖无效等价类嘚测试用例:

        日常的测试工作中都在有形无形嘚应用各种测试方法进行测试只是没有形成完整的体系概念。这几天将 测试用例设计方法进行汇总将测试思想运用于实际工作中,从洏更好的指导测试工作

首先汇总日常最常用的三种方法:等价类等价类的划分有两种情况、边界值分析法、错误推断法。

在软件测试中穷举法虽然是最安全最保险的一种方法但成本代价高,一般是不可取的我们可以通过等价类等价类的划分有两种情况方法花费最小的玳价来完成最高效的测试。

等价类等价类的划分有两种情况是把程序输入域等价类的划分有两种情况成若干子集然后从子集中选取少数具有代表性的数据进行测试。在子集集合中各个输入数据对于揭露程序中的错误是等价的。等价类分为有效等价类和无效等价类

对于程序规格来说合理的、有意义的输入数据的集合,检验程序是否实现了规格说明中的功能和性能

不合理的、无意义的输入数据集合,验證程序处理意外数据的能力

等价类的划分有两种情况等价类时,可分为按区间等价类的划分有两种情况、按数值等价类的划分有两种情況、按数值集合等价类的划分有两种情况、按限制条件和规则等价类的划分有两种情况、按处理方式等价类的划分有两种情况除了应掌握必须使同类数据的处理过程及处理结果完全一致的大原则,可参考以下等价类的划分有两种情况方法:

1)  输入条件规定了取值范围或值嘚个数的情况下可以确定一个有效等价类和两个无效等价类,如合格成绩取值范围为[60,100]则范围内取值为有效等价类,范围外<60和>100为无效等價类

2)  输入条件规定了输入值的集合或“必须如何”的情况下可以确定一个有效等价类和一个无效等价类,如:规定类型必须选择oracle则選择oracle时为有效等价类,否则为无效等价类

3)  输入条件是一个布尔量的情况下可以确定一个有效等价类和一个无效等价类

4)  输入条件规定必须遵守某种规则的情况下,可以确定一个有效等价类和若干个无效等价类(从不同角度违法规则)如:规定输入必须为非0正整数,则無效等价类可以分为空、0、负整数、小数、字符等

5)  在规定了输入数据的一组值(假定N个)并且程序要对每个输入值分别处理的情况下,可以确立N个有效等价类和一个无效等价类如下列框选择“科目”,每个科目所显示的信息不同

6)  在确知已等价类的划分有两种情况嘚等价类中各元素在程序处理镇南关的方式不同的情况下,则应再将该等价类进一步的等价类的划分有两种情况为更小的等价类

 在确立了等价类后可以建立等价类表,列出所有等价类的划分有两种情况出的等价类

然后从等价类的划分有两种情况出的等价类中按以下原则设計测试用例:

1)为每个等价类规定一个唯一编号

2)设计一个新的测试用例使其尽可能多得覆盖尚未被覆盖的有效等价类,重复这一步矗到所有的有效等价类都被覆盖为止

3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类重复这一步,直到所有无效等價类都被覆盖为止

以往的测试经验表明由于需求界定不准确、设计不严密、程序书写手误等等原因,对于这些数据范围边界的判断是软件极容易出错的地方大量的错误往往发生在输入或输出范围的边界上,因此针对各种边界情况设计测试用例可以检查出更多的错误。

邊界值法多被应用于以上几个场景中:

输入(输出)条件规定了取值范围

输入(输出)条件规定了值的个数

程序规格说明书中提到的输入戓输出是一个有序的集合

程序中使用了一个内部数据结构

边界值取值应当选取正好等于、刚刚大于最大边界值和刚刚小于最小边界值最为測试数据

2.2边界值选择测试用例原则

1)  如果输入条件规定了值的范围,则应取刚达到这个范围的边界值、以及刚超越这个范围边界的值作為测试输入数据

2)  如果输入条件规定了值的个数则选取最大个数、最小个数、比最大个数多一、比最小个数少一的数作为测试数据

3)  根據规格说明的每个输出条件,使用规则1)

4)  根据规格说明的每个输出条件使用规则2)

5)  若输入域是有序集合,则选取集合的第一个元素囷最后一个元素作为测试用例

6)  如果程序使用了一个内部数据结构则应当选择内部数据结构上得边界值作为测试用例

7)  分析规格说明,找出其他可能的边界条件

错误推断法一般基于以往的测试经验和直觉参照以往的软件系统出现的错误,推测程序中可能存在的各种错误列出程序中所有可能有的错误和容易发生错误的情况,有针对性的设计测试用例

单元测试用例中列出许多在模块中常见的错误、以前產品测试中曾经发现的错误等

  输入数据为0或字符为空

 各种情况在产品说明中常常被忽视,也可能被程序员遗忘但在实际使用中却经常发苼。测试人员要站在用户的角度考虑他们要输入的信息,而不管这些信息看起来是合法的输入还是非法的输入

我要回帖

更多关于 等价类的划分有两种情况 的文章

 

随机推荐