「Property-Based Testing with PropEr, Erlang, and Elixir」(2019年)

Property-Based Testing with PropEr, Erlang, and Elixir: Find Bugs Before Your Users Do
- 作者:Hebert, Fred
- 発売日: 2019/02/05
- メディア: ペーパーバック
とある方がQiitaで投稿していて、ひそかに気になっていた「プロパティベースドテスティング」の書籍です。
最初は、基本的な考えとしては、TDDなのか?、ランダムテストなのか?、コンコリックテスティングをベースにしたものか?と思いながら読みました。
参考文献も拝見してみると、プロパティベースドテスティングは以下のようなテストだそうです。
テストデータをランダムに半自動生成して、
その生成された全ての値について、
満たすべき性質を満たしているかテストする
また、ここでのプロパティとは下記の意味のようです。
プロパティ
特定の入力が与えられると出力として期待される特性
考えとしては、ユニットテストだけでなく、システムテストでも十分応用できそうなやり方でした。
近年のAI技術を利用したテストツールはこのやり方がベースなのかなと思うくらいです。
本書は、ツールベースで説明しているので、実際には書籍のコードを実践しながら読み解いていく書籍でしたが、ツールはまだ触っておらず、ツール概要ぐらいしか理解できていない状況です。(汗)
python、Javaでもツールは既に存在していて、試すことはできそうなので、近いうちにサンプルだけでも試してみようと思います。
参考
ACM Learning Center
Property based testing を試してみよう - Qiita
Property Based Testing でドメインロジックをテストする
PythonでProperty-based Testing - Qiita
JavaでProperty-Based testing その1 [JPopulator + Junit] - Qiita