我在java中创建一个模块,随着时间的推移需要一些样本并推断出一些教育。只是一个标准的统计模型。
现在为了测试它我需要随着时间的推移生成一些样本,并更改它们,并验证结果..随着时间的推移,并能够断言结果与不同的样本随时间变化匹配,并更改一些基本参数运行相同的模拟。
现在不是自己构建这样复杂的测试用例而是试图搜索是否已经有这样的java测试库可以减少这些测试用例的工作量,我真的找不到一个......任何人都知道这样的图书馆? (如果不是最佳做法?)
感谢
答案 0 :(得分:0)
看看Apache Math。有许多用于统计的类,它们具有包含数据的单元测试。还有一个用于生成随机数据的类:
Commons Math随机软件包包含
的实用程序generating random numbers generating random vectors generating random strings generating cryptographically secure sequences of random numbers or strings generating random samples and permutations analyzing distributions of values in an input file and generating values "like" the values in the file generating data for grouped frequency distributions or histograms
数据生成实用程序使用的随机数据源是 可插拔。默认情况下,JDK提供的PseudoRandom Number Generator 使用(PRNG),但可以使用“插入”替代发电机 适配器框架,提供替换的通用工具 带有替代PRNG的java.util.Random。其他非常好的PRNG 适用于提供的蒙特卡洛分析(但不适用于密码学) 图书馆里有来自Makoto Matsumoto的Mersenne Twister Takuji Nishimura和最近的WELL发电机(嗯 Pierre,FrançoisPanneton,Equidistributed Long-period Linear) L'Ecuyer和Makoto Matsumoto。
下面的2.2-2.6节展示了如何使用commons math API 生成不同种类的随机数据。这些例子都使用了 默认JDK提供的PRNG。 PRNG可插拔性包含在2.7中。该 仅使用替代PRNG的示例所需的修改是 用invocations替换无参数构造函数调用 包括RandomGenerator实例作为参数。