はい、テストをコードと一緒に保持するというあなたのアイデアが気に入っています。
この目標を達成するために使用できるフレームワークの 1 つがFitNesseです。これは、ビジネス担当者、開発者、およびテスター間のコラボレーションをサポートする、よく知られたテスト管理ツールです。FitNesseのGit プラグインを使用すると、テストを Git リポジトリ内に保持できます。
Concordionという名前の別のフレームワークに基づく受け入れテストも、ソース コード リポジトリに保持しています。Concordion の仕様は 2 つの部分で構成されています。機能を説明する整形式の HTML ドキュメントと、ドキュメント内の具体的な例を見つけてテスト対象のシステムを検証するために使用する Java や C# などのアプリケーションのプログラミング言語で記述されたフィクスチャ コードです。
当社の実行可能な仕様は、製品所有者またはテスターによって、 Microsoft WebExpressionやBlueGriffonなどの WYSIWYG HTML エディターで記述されています。それらをリポジトリに保管し、TortoiseGit経由でアクセスします。これは、チームのすべてのメンバーが技術的なバックグラウンドを持っているため、非常にうまく機能します。技術者以外を関与させるには、おそらく、最新の更新をローカル リポジトリにプルする小さなスクリプトを作成し、選択したエディターを起動して、編集後の変更を中央リポジトリにプッシュする必要があります。
Excel 用の Concordion 拡張機能が利用可能であることに注意してください。これにより、Excel スプレッドシートでテスト データ (つまり、入力値と期待される出力値) を指定し、これを使用してアプリケーションをテストできます。
IMHO テストは、多くの場合、ソフトウェア プロジェクトにおけるある種の詳細な分析です。多くの詳細が議論および指定されていないため、テスターは多くの場合、機能の詳細について考える仕事をします。残念ながら、これは開発者が作業を行った後に発生するため、多くの再作業と追加コストが発生します。したがって、ATDD の取り組みに基づいて、テストの自動化に進む前に、仕様に関するチームのコラボレーションを改善するように努める必要があります。
詳細を共同で定義するためにスプリントの 5 ~ 10% を投資するメリットについて、Gojkoの講演をご覧ください。例による仕様のアイデアに基づいて仕様ワークショップを行って以来、私たちのチームの仕様作業は大幅に改善されました。