私の友人は、自分の職場でTDDとピンポンペアをする方法を説明していました。彼は「敵対的」なアプローチを取っていると言いました。つまり、テスト担当者がキーボードを実装者に渡すと、実装者はテストパスを行うために、最も単純な(そして時には間違ったことを)簡単に実行しようとします。TDDとの対立/ナイーブなペアリング:どの程度効果的ですか?
例えば、彼らは項目GetName()メソッドと「サリー」、GetNameメソッドの実装のためのテストチェックをテストしている場合は、単純に次のようになりますでしょう、もちろん、パス
public string GetName(){
return "Sally";
}
テスト(naively)。
これは、実際の動作やコンポーネントの期待状態をテストするのではなく、特定の確定値をチェックする素朴なテストを排除するのに役立つと説明しています。また、より多くのテストを作成し、最終的にはデザインを改善し、バグも少なくします。
それは良いとは言いましたが、彼との短いセッションでは、それ以外の場合よりも1回のテストを繰り返すのに時間がかかり、余計な価値が得られていないようでした。
このアプローチを使用していますか?もしそうであれば、それは報われましたか?
私はこの人のチームに少なくとも怒っている人を見ることができますが、彼らは友人であり、彼らはスマートな尻ではないことに気付きました。それで、彼らのためにうまくいきました – chadmyers