等价类方法

等价类的定义

等价类是把所有的输入数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。是一种非常重要的、常用的黑盒测试用例设计方法。

释义

核心是根据输入值的可选条件划分有效等价类和无效等价类,分别设计出正向测试用例和反向测试用例。

绘图1.png

范例

例如:输入框测试,输入数值范围为0-100的整数

1、考虑等价类划分的可选条件

等价类划分时首先需要考虑划分的维度

维度 输入类型
维度一 数值范围内(0-100)/数值范围外(-999~-1/101~999)
维度二 数值范围外(-999~-1/101~999)
维度三 非数值(!@$%……)
维度四 非整数(0.1)

2、考虑等价类的类别

有效等价类 无效等价类
有效范围的最小集合 无效范围的最小集合
数值范围内(0-100) 数值范围外(-999~-1/101~999)
非数值(!@$%……)
非整数(0.1)
空(null)

3、选取测试用例的输入值

根据这些集合设计相应的测试用例输入:
有效等价类:
数值范围内考虑边界值选取1,99,50三个输入值

无效等价类:
数值范围外考虑边界值选取:0,100,-1,101
非数值选取:ab,中文,!@#
非整数选取:0.1,0.0001
空值:NULL

4、根据输入值设计对应的测试用例

根据以上输入值分别设计测试用例即可。

代码参考:

  1. import tensorflow as tf
  2. import numpy as np
  3. x_data = np.float32(np.random.rand(2, 100))
  4. y_data = np.dot([0.100, 0.200], x_data) + 0.300
  5. b = tf.Variable(tf.zeros([1]))
  6. W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
  7. y = tf.matmul(W, x_data) + b
  8. loss = tf.reduce_mean(tf.square(y - y_data))
  9. optimizer = tf.train.GradientDescentOptimizer(0.5)
  10. train = optimizer.minimize(loss)

等价类参考: 百度参考