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

レガシーシステムに自動テストを導入する第一歩 / 2020-phpcon-tdd-in-legacy-product

takaram
December 12, 2020

レガシーシステムに自動テストを導入する第一歩 / 2020-phpcon-tdd-in-legacy-product

PHPカンファレンス2020で行ったLTのスライドです

takaram

December 12, 2020
Tweet

More Decks by takaram

Other Decks in Programming

Transcript

  1. 自己紹介 • 名前 ◦ 荒巻 拓哉 • 所属 ◦ 株式会社ラクス

    ◦ メール配信サービス「配配メール」の開発 ◦ 新卒2年目
  2. 実装戦略 1. 画面のテストを作成 2. オールグリーンになるのを確認 3. コントローラのロジックを部品化 4. APIのテストを作成 5.

    3.の部品でAPIを実装 既存ロジックの リファクタリング テスト駆動で新機能の 実装
  3. 実装戦略 1. 画面のテストを作成 2. オールグリーンになるのを確認 3. コントローラのロジックを部品化 4. APIのテストを作成 5.

    3.の部品でAPIを実装 • コントローラを呼び出す機能テスト ◦ in: リクエストパラメータ ◦ out: DBの更新結果
  4. その他の効果 • スイッチングコスト低減 ◦ 実装 → 手動テスト → 修正 はスイッチングコスト高

    ◦ 実装後すぐにテスト結果がわかると楽 • チームの設計力強化 ◦ テストしやすさを考慮した設計が身につく