branch10480’s blog

Topics that I've learned.

iOSアプリ開発自動テストの教科書 を読んでいく 〜 1 〜

テストピラミッドについて

テストには3種類ある。

種類 内容
単体テスト 単体に行うテスト
統合テスト モジュールどうしを組み合わせるテスト
UIテスト 実際のアプリUIを操作して行うテスト

f:id:branch10480:20210114154309p:plain

上に行けばいくほどテスト時間がかかることを示す。 また、横軸は量を表す。

UIテストは少なめに、単体テストで担保できるかどうかを優先的に考える。

全てがこの通りに行かないかもしれないが、この形が理想系だという認識を持つのが大切。 逆ピラミッド(UIテストが多い)は見た目同様もろく崩れやすい。

やるべきテスト自動化はいつだって、与えられた時間と資金よりも多い

『アジャイルサムライ』という本にあったフレーズを、テスト自動化に当てはめた場合の文。 つまり、テストには保守工数がかかるので、どんな目的でどのくらいの範囲を自動化するかを考える必要があるということ。

  1. テストの自動化 + 保守の工数
  2. その自動テストにより削減できる工数

1 < 2 にならない場合は別のアプローチを考えた方が良いかもしれない。

自動テストの実装自体が目的にならないように気をつける!

> 次回に続く