【问题标题】:What is difference between equivalence class testing and input domain partitioning?等价类测试和输入域划分有什么区别?
【发布时间】:2015-06-26 06:17:49
【问题描述】:

我现在正在学习软件测试,只是想知道等价类测试和输入域划分有什么区别,似乎他们都将要对输入域进行划分。

【问题讨论】:

    标签: testing


    【解决方案1】:

    坦率地说,在我作为软件测试工程师的职业生涯中,我并没有遇到很多关于输入域分区的提及。

    但是这个术语还是存在的,让我们试着看看等价类测试和输入域划分之间是否有区别?

    等效类技术将可能的测试数据(比如应用程序模块)划分为等效数据的分区。它们是“等价的”,因为该分区的任何成员都可以完美地代表该分区的另一个成员,理论上您只需要使用其中一个分区成员进行一次测试即可使对该分区的测试足够充分。此外,分区不应重叠。

    是的,我知道,这有点麻烦,但让我们看一下这个例子:你在网页上有一个输入字段,它接受所有类型的字符,但最多可以有 256 个字符。它为您提供以下等价分区(简化):

    • 字符类型:
      • 只有字母
      • 只有数字
      • 只有特殊字符
      • 混合字符(字母 + 数字 + 规范字符)
    • 字符数量:
      • 0
      • >0
      • 256

    每个等价分区都有子分区,例如“字母”:

    • 大写字母
    • 小写字母
    • 混合字母

    这意味着为了充分测试“字母分区”,您必须设计至少包含其中一个子分区的测试用例。假设它将是“字母 -> 大字母”:“测试输入字符串”。看看这里我们还把我们的测试字符串和“Char数量->0”等价分区结合起来了。

    所以基本上说结合“字符类型”和“字符数量”分区的子分区,您将能够设计一个最小测试集来测试该字段的输入数据。

    另一方面,程序的输入域 包含该程序的所有可能输入,这与应用程序可能输入的等价类完全相等模块

    有时谈论程序输入域的人也会说区域,这与等价分区的子分区相同。此外,这些输入域(以及相应的区域)不得重叠(因此它们必须不在等价分区测试中)。

    话虽如此,我还是将这两个术语视为一个术语,它们描述相同的事物但使用不同的词。

    【讨论】:

    • 虽然分区很好,但您只提到了 VALID 值的类。对于 char 数量,我们还可以为 INVALID 值添加类,例如:char 数量256。
    猜你喜欢
    • 2015-11-05
    • 1970-01-01
    • 2017-11-11
    • 2015-07-26
    • 2020-07-09
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多