天网 发表于 2005-4-28 18:07:54

第225贴【2005-04-28】:随机测试

随机测试是这样一种测试,在测试中,测试数据是随机产生的。举例来说,我们测试一个系统的姓名字段,姓名长度可达20个字符,那么可能随机输入以下20个字符:ty5%,,ijs5ajUjjkkkk,显然,没有人会姓这样一个姓名,并且可能该字段不允许出现%等一些字符,所以对随机产生的输入集合我们要进行提炼,省略掉一些不符合要求的测试集。并且这样随机产生的用例可能还只覆盖了一部分等价类,大量的情况无法覆盖到。这样的测试有时又叫猴子测试( monkey testing)。
    随机测试有这样一些缺点:
   。测试往往不太真实;
   。不能达到一定的覆盖率;
   。许多测试都是冗余的;
   。需要使用同样的随机数种子才能重建测试

    这种随机测试在很多时候没有多大的用处,往往被用来做为“防崩溃”的手段,或者被用来验证系统在遭受不利影响时是否能保持正常。

21muse 发表于 2005-4-29 16:14:28

不同意“随机测试在很多时候没有多大的用处”说法

可以认为“随机测试”的优先级没那么高,但其重要程度决不低。

天网 发表于 2005-4-29 16:19:35

呵呵,欢迎提出更多关于随机测试的心得

ghostystep 发表于 2005-4-30 15:56:50

如果测试真的只是覆盖了一部分等价类,而漏掉了不少其他等价类,那么应该是一个不合格的测试用例设计,更何况我觉得随即测试在等价类覆盖上应该有自己的优势的。我觉得随机测试的设计,本身就需要充分考虑等价类划分的问题,然后再进行实际的实施。

天网 发表于 2005-5-8 23:29:08

如果考虑等价类的话,可能已经不是我们这里所讨论的随机测试的含义了

ghostystep 发表于 2005-5-9 14:41:26

可是没有任何原则的随机测试又有什么意义呢?跟交给用户去做Beta测试有什么区别?只是时间上的不同?

随机测试虽然是随机的,但还是应该有一些规划,有它的组织者,设计者,这样才能比较充分的利用资源。

[ Last edited by ghostystep on 2005-5-9 at 14:44 ]

鬼鬼 发表于 2005-5-10 17:13:37

也说两句!

我觉得“随机测试在很多时候没有多大的用处”这句话的确有些问题,应该说是不准确,而不是全无道理的。对于功能点的测试我们实在是不能依靠随机测试的方法,测试的效率和测试人员定的测试目标、计划,编写的测试大纲、用例是有很大关系的。
所以,随机测试从这个角度上看,确实不能取代有计划的测试,“没有多大用处”好像没有什么不对。但是,对于输入校验,或是数据量承受能力等等,应该还是很有用处的。因为有些时候随机测试还是可以测试出系统中很重要的问题的。
这样看来,“随机测试在很多时候没有多大的用处”也就不难接受了啊!
只是希望天网能更好的措辞!或者说明角度!
其实什么事情多有它的相对性!就说它很有用,好像也不尽然,是不是!^_^

ljftgg 发表于 2005-7-2 15:13:47

本人支持鬼鬼的说法.

wzb521 发表于 2005-7-4 10:29:32

凡事都不能说绝对,大家也太挑剔了,如果没用,那这个理论为什么会被天网拿出来告诉大家?
大家都说重要,但实际工作中,我们用到吗?
相信大家宁可用探索测试,也不会用这个测试吧?
还是以实际为主,过分挑剔字眼,没什么必要。

winterson 发表于 2005-7-25 17:23:02

大家都说的很不错,各有各的道理
我也来说两句,其实随机测试应该是测试初期的一个做法,在用例体系还不够完善时,随机测试是必要的,而且是会发现一些问题的,所以在发现问题之后的总结,用例变更就显得很重要了;但不能倚赖随机测试,因为其实我们应该把测试工作看成一个收敛的工作,而不是无限随机扩散,这就要求测试准备过程尽量周全,科学使用用例设计的各中方法;
一点体会,大家多提提意见哦!

fy_owen 发表于 2005-7-25 17:36:54

我也来说两句。
本人在上一家公司做测试时,很多隐藏很深的bug都是随机测试测出来的,可能大家会说用例写的不好,但是用例不可能完全覆盖的。所以说随机测试是必不可少的一部分!

songfun 发表于 2005-7-26 20:30:25

补充一点:

一般随机测试往往会由一批资深的tester和“特别不了解系统”的tester进行。

婧颦 发表于 2005-8-1 13:10:12

随机测试有它存在的价值,如果你能用好它,会让你有很好的收获!我以前是做收款机测试的,而收款机最重要的地方就是PLU链,我曾经用我们开发部开发的随机测试工具两次测出了PLU的致命bug ,所以,我觉得随机自动化测试在有序压力测试方面是很有用的。

kf0342 发表于 2005-10-1 01:48:34

随机测试应该在保证系统测试完成的情况下开展的发散性测试。

softkk 发表于 2005-11-22 15:11:18

学习中,
随机测试提出了一个新的问题,测试的冗余性和测试的有效性之间的联系

2005_wei 发表于 2005-11-23 09:38:59

我认为随机测试不受测试用例的约束,可以测试出许多测试用例都测不到的BUG,很有必要。

jennie98 发表于 2005-11-23 10:27:17

同意16楼的,顶

codecnzgj 发表于 2006-2-5 22:50:16

1\随机测试在某些开发流程要求不是很严格的软件上,都可以作为开发提交软件给测试的先决条件.
2\正规流程执行完成后进行的随机测试,是很有可能发现许多测试用例都测不到的BUG.如果发现不到,那顺便体会一下暂时无BUG的感觉吧.

rzhch_002 发表于 2006-5-23 23:09:48

已经从头到尾看过 大家说的都不错

linda_pengwei 发表于 2006-5-25 11:08:32

随机测试能发现很多问题(bug), 特别是在测试第一阶段时,那时test case的cover率不高,而随机测试正好能找到case没有cover的地方。
页: [1] 2
查看完整版本: 第225贴【2005-04-28】:随机测试