Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 随机过程的单元测试?_Unit Testing_Simulation_Stochastic Process - Fatal编程技术网

Unit testing 随机过程的单元测试?

Unit testing 随机过程的单元测试?,unit-testing,simulation,stochastic-process,Unit Testing,Simulation,Stochastic Process,有没有一种合理的方法对随机过程进行单元测试?例如,假设您为特定的系统模型编写了一个模拟器。模拟器根据RNG的种子随机工作,因此无法预测系统的状态,如果可以,每次测试都应在尝试测试类的任何方法之前将系统置于特定状态。有更好的方法吗?这里有一个例子介绍了这个主题。基本上,您需要将受控随机性注入测试对象。也许您可以使用JUnit理论来解决这个问题 两个明显的选择是消除随机性(即,使用固定的已知种子进行单元测试并从中继续),或进行统计测试(即,运行相同的测试用例一百万次,并验证均值和方差(等)是否符合预

有没有一种合理的方法对随机过程进行单元测试?例如,假设您为特定的系统模型编写了一个模拟器。模拟器根据RNG的种子随机工作,因此无法预测系统的状态,如果可以,每次测试都应在尝试测试类的任何方法之前将系统置于特定状态。有更好的方法吗?

这里有一个例子介绍了这个主题。基本上,您需要将受控随机性注入测试对象。

也许您可以使用JUnit
理论来解决这个问题


两个明显的选择是消除随机性(即,使用固定的已知种子进行单元测试并从中继续),或进行统计测试(即,运行相同的测试用例一百万次,并验证均值和方差(等)是否符合预期)。后者可能是对系统更好的测试,但您将不得不面对一些错误警报。

您需要找到系统的Q0和p00。p00为预测状态,而qo为 计算状态。预测状态可导致找到循环系统
最小值,例如系统中的k。

固定种子方法的一个缺点可能是,如果您更改正在测试的算法,使其对随机生成器执行更多调用(或更少调用),那么您还必须再次修复单元测试以满足此更改。