等价类方法
等价类的定义
等价类是把所有的输入数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。是一种非常重要的、常用的黑盒测试用例设计方法。
释义
核心是根据输入值的可选条件划分有效等价类和无效等价类,分别设计出正向测试用例和反向测试用例。
范例
例如:输入框测试,输入数值范围为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、根据输入值设计对应的测试用例
根据以上输入值分别设计测试用例即可。
代码参考:
import tensorflow as tf
import numpy as np
x_data = np.float32(np.random.rand(2, 100))
y_data = np.dot([0.100, 0.200], x_data) + 0.300
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
等价类参考: 百度参考