向你解释蜕变测试是什么

发表于:2010-10-19来源:作者:点击数: 标签:手机OS解释
首先,很吸引人的结论:实验结果表明,蜕变测试与特殊用例测试之间是互补的,而且就蜕变测试的源 测试用例 言,随机测试用例在测试能力和效率上优于特殊测试用例。并且,随机测试用例是不需要给出期望输出的! 具体过程是这样的: 1. 使用源测试用例来测试被

  首先,很吸引人的结论:实验结果表明,蜕变测试与特殊用例测试之间是互补的,而且就蜕变测试的源测试用例言,随机测试用例在测试能力和效率上优于特殊测试用例。并且,随机测试用例是不需要给出期望输出的!

  具体过程是这样的:

  1. 使用源测试用例来测试被测对象,如果某一个用例引起了异常,则结束测试,报告测试未通过。

  2. 对于每一个蜕变关系(metamorphic relation)MR=(R, Rf)

  a) 从源测试用例,根据关系R生成新的测试用例Xk

  b) 用Xk测试被测对象

  c) 如果被测对象异常退出,测试结束,报告测试未通过

  d) 如果被测对象正常结束并输出Yk,使用关系Rf验证,如果Rf((X1, X2), ..., (Xk, Yk))不成立,则报告测试未通过

  3. 如果没有错误报告,则认为测试通过

  举个例子来说明一下使用随机测试用例进行蜕变测试的过程:

  测试一个矩阵乘法的程序,输入矩阵A和B,输出AB的乘积C

  给出随机的A和B,记录程序输出C

  根据下表中的关系R生成A’和B’,根据关系Rf和C来验证输出C’

  这样我们就可以使用随机测试用例来测试程序了,而不需要事先知道期望输出。

原文转自:http://www.ltesting.net