必要なのは、各テストとそれが実行するコードの間の関係です。
これは静的に計算できますが、難しく、それを行うツールを知りません。さらに悪いことに、そのようなツールがあった場合、テストの影響を判断するための静的分析は、実際にはテスト自体を実行するよりも時間がかかる可能性があるため、魅力的な方向には見えません。
ただし、これはテスト カバレッジ ツールを使用して計算できます。個々のテストごとに、そのテストを実行し (合格すると仮定します)、テスト カバレッジ データを収集します。これで、「テスト i のカバレッジ c がある」というペア (t_i,c_i) がたくさんあります。
コード ベースが変更された場合、テスト データ カバレッジ セットを参照できます。簡単なチェック: (t_i,c_i) の場合、c_i がファイル F に言及しており、F が変更されている場合、t_i を再度実行する必要があります。ほぼすべての表現でテスト カバレッジ データが与えられた場合、これは抽象的に簡単に検出できます。ほとんどのテスト カバレッジ ツールは、テスト カバレッジ データの保存方法を具体的に示していないため、これは実際には見た目よりも困難です。
実際、理想的には、c_i が F のプログラム要素に言及し、そのプログラム要素が変更された場合、t_i を再度実行する必要があります。
当社のSD テスト カバレッジ ツールは、メソッドのレベルで Java および C# にこの機能を提供します。パッケージ化した実際のテストを、収集したテスト カバレッジ ベクトルに関連付けるには、スクリプトをセットアップする必要があります。実際問題として、これは非常に簡単な傾向があります。