软件测试3.2等价类设计方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.2.1等价类划分
这两个示例仅仅只是对等价类的一个简单的 展示,在实际运用中,还需要对等价类进行 细分。如果测试对象的规格说明中规定等价 类的一些元素需要不同的处理,这些元素就 需要归类到一个等价类。对每个等价类,应 该选择一个代表值来进行测试。
当然,最好的测试值是验证等价类边界的那些值。有 时由于自然语言无法精确说明等价类的边界,使得需 针对输入数据划分等价类的原则同样适 要求文档的描述容易存在误解或者不正确的地方。例 用于输出数据。毫无疑问,根据输出数 如,在用自然语言阐释需求时,“超过3年”可能指数 据来获取测试用例的代价会更高,因为 值3包含在等价类之内(EC:x≥3),也可能是在等价 针对每个输出数据的代表值,必须确定 类之外(EC:x>3)。这样,加入x = 3的测试用例就 相应的输入数据的组合。同样,对输出 会发现这个歧义,而且测试过程中会导致测试对象失 数据也必须考虑无效值的等价类的情况。 效。在边界值分析这一节中我们会详细地讨论这个问 题。
3.2.2等价类划分方法
5)如果输入条件规定了必须满足的情形,那么生成两 个等价类:一个合法等价类;一个非法等价类。 示例:输入的第一个字符必须是一个数字,那么得到 两个等价类:一个合法等价类 {s|s 的第一个字符是数 字};一个非法等价类{s|s的第一个字符不是数字。}
0
1)如果一个输入条件规定了输入值的范围 ,那么得到三个等价类:一个合法等价类 ,两个非法等价类。 示例:如图3-1所示,规定值的范围是1,2 ,„,99,那么得到三个等价类:合法等 价类{1,„,99};两个非法等价类 {x|x<1}和{x|x>99}。
3)如果处理每个合法输入的方式都不相同,那 么为每个合法输入生成一个合法等价类。 示例:如果在一个菜单中选择输入,那么应该 为每个菜单项定义一个等价类。
3.2.1等价类划分
划分等价类时,将所有可能的输入数据,即程序的输入域,划分为若干 部分,然后从每一部分中选取少数有代表性的数据作为测试用例。使用这一 方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程 序中的错误都是等效的。测试某等价类的代表值,就等价于对这一类其他值 的测试。 因此,根据测试输入条件识别一组等价类需要一种系统化的方法。每个 等价类代表一组可能的测试输入,这时不用为每个等价类中的一种元素生成 一个测试用例,而是根据等价类的属性选择一个代表性的测试用例。在选择 等价类时要格外谨慎,必须确保一个等价类中的所有元素行为相似。
在公司的工作时间 超过5年,可以得到 相当于其月收入的 75%的年终奖金;
3.2.1等价类划分
根据员工在公司的不同服务年限,计算奖金很容易得到有效 输入值(正确或有效等价类,即vEC)的4个不同等价类,如表3-2 所示。
3.2.1等价类划分
而除了有效输入值以外,也必须对无效值进行测试。同样需 要获取无效输入值的等价类,并且利用这些无效等价类的代表值 来执行测试用例。在前面提到的例子中,有表3-3所示的两个无效 等价类。其中无效等价类以iEC来表示。
注意,在第二类等价类中,值70 是随意选择的,因为没有一个人 可能被公司雇佣这么长的时间, 公司的最大服务年限应该根据客 户的实际情况而定。
为了完成测试用例 的设计,测试人员 需要定义每个测试 用例的前置条件和 期望结果。
划分等价类和选择其中的代表值都需要仔细斟酌。 测试中发现缺陷的可能性很大程度上依赖于等价 类划分的质量,以及选择哪个测试用例来执行。 通常,从规格说明等文档中获取等价类并不是一 件简单的事情。
3.2.2等价类划分方法
为了达到等价类划分的目标,需要进行两个步骤:第 一,识别等价类;第二,识别测试用例。识别等价类 很大程度上是一种针对给定输入或外部条件的启发式 过程。下面具体介绍如何使用等价类划分方法:
3.2.2等价类划分方法
2)如果输入条件规定了一个输入值集合,并且每个处理起来都不同 ,那么为集合中每个元素生成一个合法等价类,一个非法等价类。 示例:如果从具有N个元素的集合中选择输入,那么得到N+1个等价类 :为每个元素生成一个合法等价类{M1},„,{MN} ;生成一个包含 了集合之外所有元素的非法等价类{x|x∉ {M1,„, MN}}。
3.2等价类设计方法
3.2.1
等价类划分 等价类划分方法 等价类划分的测试运用
目录
CONTENTS
3.2.2
3.2.3
3.2等价类设计方法
等价类划分就是解决如何选择适当的数据子集来代表整个数据集的问题, 通过降低测试的数目去实现“合理的”覆盖,覆盖了更多的可能数据,以发 现更多的软件缺陷。 等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能 的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选 取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类 和无效等价类Baidu Nhomakorabea代表组成,从而保证测试用例具有完整性和代表性。利用这 一方法设计测试用例可以不考虑程序的内部结构,以需求规格说明书为依据, 选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求, 尽可能多地发现错误。等价类划分法是一种系统性的确定要输入的测试条件 的方法。
3.2.1等价类划分
下面通过一个计算年终奖金的例 子来说明等价类划分。某公司要 求开发用于计算员工年终奖金的 应用软件,奖金获取机制如下:
03
员工在公司的工作 时间超过 3年,可以 得到相当于其月收 入 50% 的年终奖金;
01
工作时间超过 8年, 可以得到相当于其 月收入100%的年终 奖金。
02
3.2.1等价类划分
等价类的划分有两种不同的情况: 01 02
1)有效等价类:指对 于程序的规格说明来 说,是合理且有意义 的输入数据构成的集 合。
2)无效等价类:是指对于程序的规格说明来说, 是不合理的,无意义的输入数据构成的集合。此处 应注意,正确的术语应该是“无效值的等价类”, 而不是“无效等价类”,因为等价类本身并不是无 效的,只是这个类对于某个特定的输入值是无效的。
相关文档
最新文档