私はソフトウェア開発と単体テストの作成について考えていました。私は次のアイデアを得ました:
開発者のペアがあるとしましょう。各ペアはコードの一部を担当します。ペアの1つは機能(コードの記述)を実装し、2つ目は機能の単体テストを記述します。テストはコードの後に記述されます。私の考えでは、彼らはお互いを助けますが、かなり別々に働きます。理想的には、2つの同様のサイズの機能で動作し、テスト準備のために交換します。
このアイデアにはいくつかの利点があると思います。
- テストは、実装の詳細を確認できる誰かが作成します。
- ペアプログラミング(2つの機能を同時に使用)よりも作業を少し速くする必要があります。
- テストとコードの両方に責任者がいます。
- コードは少なくとも2人でテストされ、
- コードをテストしている人が書いたコードのエラーを検索することは、より良いコードを書いてコーナーを避ける特別な動機付けになるでしょう。
また、コード開発とテスト開発の間にコードレビューのために別の開発者を追加することも良い考えです。
このアイデアの欠点は何ですか?それはすでに私にとって未知の方法論として説明されており、ソフトウェア開発で使用されていますか?
PS。私はプロのプロジェクトマネージャーではありませんが、プロジェクト開発プロセスについては何かを知っており、いくつかの最も一般的な方法論を知っています。
assert true
すべてのテストに合格したため、同僚がテストとして書いて、それを1日と呼んでいるのを見ました。1つの重要なステップが欠落していました。テストは最初に失敗し、テストではなくコードを変更して合格する必要があります。