[Wiki] [一覧]

プロパティベーステスト(Property-Based Testing)

概要

プロパティベーステスト(Property-Based Testing, PBT)は、個別の入出力例ではなく、コードが満たすべき 性質(プロパティ) を宣言し、フレームワークが 大量のランダム入力を自動生成 して反例を探すテスト手法です。QuickCheck(Haskell)に端を発し、多くの言語に実装があります。テスト駆動開発 の例ベーステストを補完します。

例ベーステストとの違い

例ベースプロパティベース
入力手書きの具体例自動生成された多数の入力
主張特定の出力に等しい常に成り立つ性質
強み直感的想定外のエッジケースを発見

プロパティの例

反例の縮小(Shrinking)

失敗を見つけると、フレームワークが入力を 最小の反例 まで縮小してくれるため、デバッグが容易になります。

関連

関連ページ

参考資料(Daily フィード)