自動テストをどこから追加するか
単体テストの場合
No | |
---|---|
新機能の開発時 | まっさらな状態からスタートできるのでテストを組みやすい |
リファクタリング | コードの構成を見直す機会だから |
単体テストを実装しやすいのは 副作用 を持たないメソッド。この部分から実装すると良い。
副作用とは?
ある機能がプログラム上のデータを変化させ、周囲の状態を変化せることによって他の処理に影響を与えてしまうこと。
副作用を持たないことを 参照透過性がある という。
UIテストの場合
対象のプロダクトのうち、もっともよくあるフローから検討すべき。ユーザーが一番使う機能に実装することでそこから他のケースへと広げられる。
ただし!
UIテストは運用コストが高い。(デザイン変更があった場合に都度修正の必要が出てくる)なので、できるだけ単体テストから実装していくのが良い。