まっさらな状態からテスト戦略を定義してチーム内で認識合わせするために、何を決めるべきかを書いていく。(ソフト開発チーム立ち上げ時にやることを参照) 疎かにすると後できっと酷い目に遭う。

テスト対象とレベルの定義

テストピラミッドの概念を導入し、どのレベルのテストにどれだけリソースを割くかを定義する。

  • ユニットテスト
    • 誰がやる?
    • カバレッジ目標は?
    • 重要なビジネスロジックや複雑な部分は必ず記述する
  • 結合テスト
    • 誰がやる?
    • どこをテストするべきか?
    • 重要な経路の検証のみにする
  • E2Eテスト
    • 誰がやる?
    • ハッピーパスに絞って、数は少なくする

開発フローにおけるテストの立ち位置

開発フローにおいてテスト記載を強制する仕組みを作るかを決定する。

  • PRマージ前にユニットテストの記述とPASSを義務化する?

テスト実行環境と自動化

  • CI/CDを設定するか?
  • どんなテストツールを使うのか?
  • テスト用の環境の建て付けをどうするか?(dev / stg / prdの棲み分けは?)

品質基準と責任範囲の明確化

  • テストに対して誰がどんな責任を持つのか?を決める
  • 誰がどの種類のテストを作成するのか?
  • 誰がどの種類のテストの実行をするのか?