「リファクタリング」の進め方のポイント③テスト駆動でコード変更の前後で振舞いが変わっていないことを保証する

「リファクタリング」の進め方のポイント③テスト駆動でコード変更の前後で振舞いが変わっていないことを保証する|solution of eXmotion

「リファクタリング」の進め方のポイント③テスト駆動でコード変更の前後で振舞いが変わっていないことを保証する

「リファクタリング」の進め方のポイント③テスト駆動でコード変更の前後で振舞いが変わっていないことを保証する

リファクタリング」の注意すべきことポイントの一つは「振る舞い」を変えないということです。そうすることにより、「リファクタリング」の影響を局所的にとどめることができます。

とはいえ、いきなりコードを変更したものを置き換えて実行するのは、危険を伴う可能性があります。まずは「リファクタリング」箇所とその周りのモジュールとのインタフェースを確認するためのテストプログラムを作成することから始めます。

「リファクタリング」の進め方のポイント③テスト駆動でコード変更の前後で振舞いが変わっていないことを保証する|「リファクタリング」のbefore/afterで振舞いを変えない

テストプログラムでは、「リファクタリング」対象の部分をブラックボックスとして、周りのモジュールとのインターフェイスについて、それぞれ正常値・異常値・境界値を入力した場合をテストします。

「リファクタリング」前にテストを実施し、テスト結果を保存しておきます。このテスト結果が、「リファクタリング」における振舞いの仕様となります。

「リファクタリング」の進め方のポイント③テスト駆動でコード変更の前後で振舞いが変わっていないことを保証する|【リファクタリングbeforeのプログラム】「リファクタリング」箇所と関係するモジュールとのインタフェースを抽出⇒【テストプログラム】関係するモジュールを模すテストプログラムを作成⇒【リファクタリングbeforeのプログラム】+【テストプログラム】=【変更前テスト結果】「リファクタリング」実施前のプログラムでテストした結果が、目指すべき振舞いの仕様となる

「リファクタリング」の進め方のポイント③テスト駆動でコード変更の前後で振舞いが変わっていないことを保証する|サービスに関するお問い合わせ

「リファクタリング」の進め方のポイント③テスト駆動でコード変更の前後で振舞いが変わっていないことを保証する|pagetop