第225贴【2005-04-28】:随机测试
随机测试是这样一种测试,在测试中,测试数据是随机产生的。举例来说,我们测试一个系统的姓名字段,姓名长度可达20个字符,那么可能随机输入以下20个字符:ty5%,,ijs5ajUjjkkkk,显然,没有人会姓这样一个姓名,并且可能该字段不允许出现%等一些字符,所以对随机产生的输入集合我们要进行提炼,省略掉一些不符合要求的测试集。并且这样随机产生的用例可能还只覆盖了一部分等价类,大量的情况无法覆盖到。这样的测试有时又叫猴子测试( monkey testing)。随机测试有这样一些缺点:
。测试往往不太真实;
。不能达到一定的覆盖率;
。许多测试都是冗余的;
。需要使用同样的随机数种子才能重建测试
这种随机测试在很多时候没有多大的用处,往往被用来做为“防崩溃”的手段,或者被用来验证系统在遭受不利影响时是否能保持正常。
不同意“随机测试在很多时候没有多大的用处”说法
可以认为“随机测试”的优先级没那么高,但其重要程度决不低。 呵呵,欢迎提出更多关于随机测试的心得 如果测试真的只是覆盖了一部分等价类,而漏掉了不少其他等价类,那么应该是一个不合格的测试用例设计,更何况我觉得随即测试在等价类覆盖上应该有自己的优势的。我觉得随机测试的设计,本身就需要充分考虑等价类划分的问题,然后再进行实际的实施。 如果考虑等价类的话,可能已经不是我们这里所讨论的随机测试的含义了 可是没有任何原则的随机测试又有什么意义呢?跟交给用户去做Beta测试有什么区别?只是时间上的不同?随机测试虽然是随机的,但还是应该有一些规划,有它的组织者,设计者,这样才能比较充分的利用资源。
[ Last edited by ghostystep on 2005-5-9 at 14:44 ]
也说两句!
我觉得“随机测试在很多时候没有多大的用处”这句话的确有些问题,应该说是不准确,而不是全无道理的。对于功能点的测试我们实在是不能依靠随机测试的方法,测试的效率和测试人员定的测试目标、计划,编写的测试大纲、用例是有很大关系的。所以,随机测试从这个角度上看,确实不能取代有计划的测试,“没有多大用处”好像没有什么不对。但是,对于输入校验,或是数据量承受能力等等,应该还是很有用处的。因为有些时候随机测试还是可以测试出系统中很重要的问题的。
这样看来,“随机测试在很多时候没有多大的用处”也就不难接受了啊!
只是希望天网能更好的措辞!或者说明角度!
其实什么事情多有它的相对性!就说它很有用,好像也不尽然,是不是!^_^ 本人支持鬼鬼的说法. 凡事都不能说绝对,大家也太挑剔了,如果没用,那这个理论为什么会被天网拿出来告诉大家?
大家都说重要,但实际工作中,我们用到吗?
相信大家宁可用探索测试,也不会用这个测试吧?
还是以实际为主,过分挑剔字眼,没什么必要。 大家都说的很不错,各有各的道理
我也来说两句,其实随机测试应该是测试初期的一个做法,在用例体系还不够完善时,随机测试是必要的,而且是会发现一些问题的,所以在发现问题之后的总结,用例变更就显得很重要了;但不能倚赖随机测试,因为其实我们应该把测试工作看成一个收敛的工作,而不是无限随机扩散,这就要求测试准备过程尽量周全,科学使用用例设计的各中方法;
一点体会,大家多提提意见哦! 我也来说两句。
本人在上一家公司做测试时,很多隐藏很深的bug都是随机测试测出来的,可能大家会说用例写的不好,但是用例不可能完全覆盖的。所以说随机测试是必不可少的一部分! 补充一点:
一般随机测试往往会由一批资深的tester和“特别不了解系统”的tester进行。 随机测试有它存在的价值,如果你能用好它,会让你有很好的收获!我以前是做收款机测试的,而收款机最重要的地方就是PLU链,我曾经用我们开发部开发的随机测试工具两次测出了PLU的致命bug ,所以,我觉得随机自动化测试在有序压力测试方面是很有用的。 随机测试应该在保证系统测试完成的情况下开展的发散性测试。 学习中,
随机测试提出了一个新的问题,测试的冗余性和测试的有效性之间的联系 我认为随机测试不受测试用例的约束,可以测试出许多测试用例都测不到的BUG,很有必要。 同意16楼的,顶 1\随机测试在某些开发流程要求不是很严格的软件上,都可以作为开发提交软件给测试的先决条件.
2\正规流程执行完成后进行的随机测试,是很有可能发现许多测试用例都测不到的BUG.如果发现不到,那顺便体会一下暂时无BUG的感觉吧. 已经从头到尾看过 大家说的都不错 随机测试能发现很多问题(bug), 特别是在测试第一阶段时,那时test case的cover率不高,而随机测试正好能找到case没有cover的地方。
页:
[1]
2