Haskellで著名なテストライブラリにQuickCheckがあるが、C++ではそれに似た機能を実現するQuickCheck++というものが開発されている。今回はこのQuickCheck++について位置づけや例をまとめたい。 検査でのQuickCheckの位置づけ QuickCheckは、対象の実行領域内で対象が検査式を満たしていることをランダムに検査するために用いられる。この考え方はモデル検査にも似ている。とりあえずQuickCheckの位置づけを整理するために、モデル検査やSmallCheckといった似た技術を以下に列挙する。これらの違いは、基本的に集合や実行領域に対して、どこをどこまで検査するかという点になる。 形式手法におけるモデル検査(SMVやSPIN) 以前紹介( Cadence SMVによるアルゴリズムの検査 - 千里霧中 )したCadense SMV等によるモデル検査は、対