まっさらな状態からテスト戦略を定義してチーム内で認識合わせするために、何を決めるべきかを書いていく。(ソフト開発チーム立ち上げ時にやることを参照) 疎かにすると後できっと酷い目に遭う。
テスト対象とレベルの定義
テストピラミッドの概念を導入し、どのレベルのテストにどれだけリソースを割くかを定義する。
- ユニットテスト
- 誰がやる?
- カバレッジ目標は?
- 重要なビジネスロジックや複雑な部分は必ず記述する
- 結合テスト
- 誰がやる?
- どこをテストするべきか?
- 重要な経路の検証のみにする
- E2Eテスト
- 誰がやる?
- ハッピーパスに絞って、数は少なくする
開発フローにおけるテストの立ち位置
開発フローにおいてテスト記載を強制する仕組みを作るかを決定する。
- PRマージ前にユニットテストの記述とPASSを義務化する?
テスト実行環境と自動化
- CI/CDを設定するか?
- どんなテストツールを使うのか?
- テスト用の環境の建て付けをどうするか?(dev / stg / prdの棲み分けは?)
品質基準と責任範囲の明確化
- テストに対して誰がどんな責任を持つのか?を決める
- 誰がどの種類のテストを作成するのか?
- 誰がどの種類のテストの実行をするのか?