TestU01
TestU01には乱数生成器を調べるための4種の機能
予めプログラムされている乱数生成器の実装
特定の統計的検定の実装
複数の統計的検定をまとめて行なう機能(batteries of statistical tests)の実装
検定を数種類の乱数生成器(entire families of RNGs)にまとめて行なえる機能の実装
が用意されている。ある特定の検定がサイズが乱数生成器によって生成された(乱数の)個数nのサンプルに適用されたとしよう。テストのp-値はnが十分小さい場合はまともな値を示す。サンプルの個数nがある値n0を超えるとp-値は0か1に指数的に近づく。上記4番目の機能はある特定のテストと与えられた一連の乱数生成器の出力の関連の研究に用いられる。これにより、乱数生成器の周期に応じて、どれくらい以上の個数の乱数を生成させると検定を通らなくなってしまうかが分るのである。
TESTU01には(10個のテストから成る)"Small Crush", (96個のテストからなる)"Crush"そして(106個のテストよりなる)"Big Crush"など数種のテスト・スイートが含まれる。各スイートに含まれる特定の検定についてはユーザーガイドにてその詳細が説明されている。1.7 GHz Pentium 4上のRed Hat Linux 9.0環境で、簡単な乱数生成器については、Small Crushはおよそ2分Crushはおよそ1.7時間Big Crushはおよそ12時間を要する。複雑な乱数生成器の場合、かかる時間は一律に2倍ないしそれ以上になる。なおDiehard testにかかる時間は同環境でおよそ15秒である。