デバッグ用のログの出力と処理速度を天秤にかける
ロジックを新たに作成し、一見正しく動作していました。
結合テストをすると、処理結果のデータが正しくなく、動作が正しくありません。
デバッグ用のログ出力をどんどん追加して何度も試していけば、どこが正しくないのかわかります。
何度も試したいところですが、データ数が多いため、むやみやたらに追加すると、ログの出力が負荷となって結合テストを1度行うだけでも処理に時間がかかるようになります。
一点のデータに対してデバッグ用のログを出力
処理結果のデータにはシステムの処理上、一意の値のインデックスが割り振ってあります。
デバッグ用のログから、処理結果のデータが正しくなくなっているインデックスがわかります。
一意の値のインデックスがわかるので、一意の値のインデックスが利用でる箇所では、一意の値のインデックスの場合だけ、デバッグ用のログ出力を行うようにプログラムを改修します。
一意の値のインデックスが利用できない箇所では、正しくないデータがとりうる値を用いて判定して、デバッグ用のログ出力を行うようにプログラムを改修します。
こうしてデバッグ用のログ出力追加とテストを繰り返して、正しくない箇所を特定して修正ができました。
デバッグ用のログを追加する箇所が的確であれば、すぐに正しくない箇所を特定して修正ができます。
どこが影響しているんだろうと、どこにデバッグ用のログを追加すればいいかと悩む状態だと、時間がかかります。
結合テストをする段階での修正作業は、完了まで手間がかかります。