Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[2021/12/16]テストコードのないレガシーアプリケーションとの向き合い方

tosite
December 16, 2021

 [2021/12/16]テストコードのないレガシーアプリケーションとの向き合い方

ソフトウェアテストシンポジウム 2021 九州
https://www.jasst.jp/symposium/jasst21kyushu.html

tosite

December 16, 2021
Tweet

More Decks by tosite

Other Decks in Programming

Transcript

  1. 前提
 20
 コントローラーロジック(数百行) 
 関数群(数百〜数千行) 
 ビューファイル(数百〜数千行) 
 1ファイルで全ての処理を実行している
 


    コントローラー・ビュー・
 ビジネスロジックが密結合している
 ためテストが難しい
 
 当然、既存のテストコードは
 ほとんどない状態

  2. 前提
 21
 1ファイル(数千行)
 コントローラーロジック(数百行) 
 関数群(数百〜数千行) 
 ビューファイル(数百〜数千行) 
 ・1ファイルで全ての処理を実行


    ・コントローラー・ビュー・
  ビジネスロジックが密結合
  しているためテストが難しい
 ・当然、既存のテストコードは
  ほとんどない状態

  3. フェーズ3. 落ちるテストを記述
 45
 修正する関数のテストケース 
 既存の仕様を満たすテスト郡 
 リファクタリング後に 
 仕様を満たすようになるテスト郡

    
 リファクタリング前にレッドにな ることを確認しておく リファクタリング後は グリーンになることを確認 することで安全に仕様を 変えることができる 脆弱性が混入されていないことを 
 確認するテスト郡