Test Driven Deveopment (TDD) とDesign By Contact (DbC)とAll Pair Testingを組みわせたら最強の開発プロセスを実現するテスティングフレームワークが作れるのではないかと思った。だらだらとまとまりなく書きます。 TDDは仕様を決定したら、先にテストを書き、テストが通るようにコードを書く。テストが不合格ならテストが間違っているかコードが間違っている。だから、どちらかを直せばよい。テストが通れば両方が正しい。両方が間違っている場合もありうるが、正解は1個だが間違いは多様なので両方を同じように間違えることは無視していいほど小さい。仮に両方を同じように間違えるときは仕様を誤解していたときだけで、それは人間のバグで手が滑ってコードを書き間違えたようなケースとは別の問題となる。少なくともサブルーチンレベルでは単純な間違いをなくせる非常に有効な