51Testing软件测试论坛

标题: 一个关于生成测试用例的输入数据的问题 [打印本页]

作者: wheetle    时间: 2006-6-12 09:20
标题: 一个关于生成测试用例的输入数据的问题
现在有个黑盒单元,我能获得一组变量,这组变量是该单元内部涉及到的,我要用这组变量不同值的组合来组成这个测试单元的输入数据。我不知道单元内部逻辑,但是知道这组变量的类型和值域。如果单纯考虑不同值的组合,那么组合的数量可能是无数个。比如如果一个变量是实数变量,它可以有无数个取值和别的变量组合。

我的解决思路是通过分析每个变量的类型和值域,来创建一组有限数量的对等类,当让中间需要考虑到边界分析和PAIRWISE分析。然后每个对等类成成有限个变量值组合,这样就能保证输入数据是有限个的。

我的问题是:有没有成熟的方法或者或理论解决这个问题?或者高手们有没有更好的思路?

多谢多谢。
作者: xiaonan    时间: 2006-6-12 09:45
为每个输入划分等价类,得到等价类表,为每个等价类规定一个唯一编号.
设计一个测试用例,使其尽可能多的覆盖所有尚未覆盖的有效等价类.重复这步操作.使的有效等价类均被测试用例覆盖.
设计一个测试用例,使其只覆盖一个无效等价类.重复这步操作,使得所有无效等价类均被覆盖.
然后再考虑边界值,进行边界值的用例设计.如果组合太多,也可以用正交试验法的思想去减少一部分用例.
作者: wheetle    时间: 2006-6-12 16:30
版主的思路是让测试用例群能够全部覆盖等价类(有效的和无效的)。

但是我的问题是我要做自动为某类单元生成测试用例的工作。自动生成用例的框架已经建立起来了,但是尚缺自动生成测试用例的输入数据这个环节。 由于针对的对象是一类单元,内部逻辑可能千变万化,事先只能知道该单元内部要用到的变量和它们的值域。所以只能根据变量的类型和值域来自动生成不同值的组合。

其实如果能够确定每个变量的值都是有限个的,比如{1, 2, 3...10}, {A, B, C, D},那可以使用 Combinatorial Testing技术
http://www.stsc.hill.af.mil/crossTalk/2001/05/korel.html
http://www.alphaworks.ibm.com/tech/cts
这个技术实际上也是pairwise testing的扩展。

问题是有些变量的值可以是无限个,比如字符串变量,实数变量。

有个思路是为这些无限值的变量建立有限个等价类。不过我还没有好的具体方法。

[ 本帖最后由 wheetle 于 2006-6-12 16:33 编辑 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2