暗号学と計算理論において、ヤオのテストは、 1982年にアンドリュー・チチ・ヤオ[ 1 ]によって定義された擬似乱数列に対するテストである。ある単語列がヤオのテストに合格するのは、それなりの計算能力を持つ攻撃者が、それを一様ランダムに生成された列と区別できない場合である。
を多項式、をビット長のシーケンスの集合の集合とし、各 に対して、を 上の確率分布、を多項式とします。予測集合とは、未満のサイズのブール回路の集合です。を入力 に対して、 から確率でランダムに選択された文字列が となる確率とします。つまり 、
さらに、をビット長のシーケンスを入力として、から一様にランダムに選択される確率とします。がヤオのテストに合格するのは、すべての予測コレクション、有限個を除くすべての、すべての多項式 に対してであるときです 。
次ビットテストの場合と同様に、上記の定義で用いられた予測集合は、多項式時間で動作する確率的チューリングマシンに置き換えることができる。これにより、ヤオのテストのより厳密な定義も得られる(アドルマンの定理を参照)。実際、上述の非一様回路を用いて擬似乱数列の決定不可能な性質を決定できるのに対し、 BPPマシンは常に指数時間決定論的チューリングマシンによってシミュレートできる。