在自动化测试中,随机测试是很常见的,一般人都知道srand和rand()配合使用产生伪随机数序列,但是如何选择seed, 其实是个问题,用最简单的time(NULL)是可以,但是如果在一个脚本里面快速执行很多遍时,很有可能时间还没有超过1个时间颗粒度,这样前后执行的测试取的是一样的随机数。
一般可以再加上 getpid()这个因素。seed=time(NULL)+getpid();
另外一点,一次执行程序,只需要设置一次srand。 不需要在一个loop里面反复设置。 一次设置就已经设置好一个随机序列,而不只是下一个随机数。