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

Webフロントエンドのリプレイスにおけるテストとの付き合い方

berlysia
October 17, 2023
370

 Webフロントエンドのリプレイスにおけるテストとの付き合い方

berlysia

October 17, 2023
Tweet

Transcript

  1. 誰 - berlysia (べるりしあ、と読む) - Web、特にブラウザの周りに関心 - 株式会社ドワンゴ所属 教育事業のWebフロント担当 -

    Webフロントをやる人 - Webフロントのためにいろいろやる人 - 入社7年目、リプレイス7年目
  2. 大きい範囲でもリファクタリング 『レガシーソフトウェア改善ガイド』 曰く: - リファクタリング →コードの構造をメソッドやクラスのレベルで変更する - リアーキテクティング →モジュールやコンポーネントのレベルで行うリファクタリング -

    リライト →可能な限り高いレベルで行うリファクタリング - ビッグ・リライト - 全てを一気に書き直し、置き換える - インクリメンタルなリライト - 小さい単位でリライト、徐々に置き換える - 進め方によってはリアーキテクティングに限りなく近づく
  3. リファクタリングのときに欲しいテストとは 上述のような変化を起こしたときに次のことを検証するテストが欲しい - 外部から見た振る舞いが維持されているか - 機能的、非機能的を問わず - 他に意図しない問題が起きていないか - 風が吹いてなんとやら

    リファクタリング(名詞) 外部から見たときの振る舞いを保ちつつ、理解や修正が簡単になるように、ソフトウェアの内部 構造を変化させること。 これは「リグレッションテスト」に該当する でも、これは目的の名前で具体性がない 具体的に役立つテストはどんなものか?