e2eテスト対象スコープ悩みません?

タイトル的に解決してくれそうな流れを醸し出してますが、悩んでます。。
例えば、「登録フォームのバリデーションチェックはe2eで行うべきなのか?」など、やろうと思ったら結構な範囲までe2eテストコード or SaaSにおけるRecordingができてしまうなと思ってます。

私なりの現状の考えとしては以下で、e2eテストでやるべきことってそんな多くないのかなって思い始めてきています。皆さんの会社で実行しているe2eテストの内容ってどんなものですか?

# 分岐を含む表示系
 - VRTに寄せる
# xxのユーザ状態におけるapi response
 - バックエンドのユニットテストでカバー
# その他バックエンド系のメソッド群
 - 単体テスト・結合テスト・場合によってはシナリオテスト
# 負荷系のテスト
 - スポットで怖いシナリオを一気にテスト
# 事業的に補償し続けないといけない機能のテスト
 - 事業規模にもよるが、ものすごい量にはならないはず?
1年前
view数 239
  • 1
  • 3

回答を投稿して企業にアピールしましょう!

Q&Aで投稿された回答は、
企業側に表示されるプロフィールにも投稿履歴として表示されます。

Offersにログイン・新規登録して、気になるテーマやトピックを話してみよう!

\回答があります!/

  • 1年前

    無理に自動化せずともまずはちゃんとテストの体制や仕組みを見直してもいいかなとも思いますが、小さくやっていくとするとリグレッションテストなどをしやすくするアプローチもいいと思います。
    細かい機能などは変更頻度も多いでしょうし、追従するコストも発生しやすいと思います。
    ビジュアルリグレッションテストを徐々に入れていくことで、変更箇所がリリースに対して想定通り・想定外であることを気づきやすくするところからうちはやっています。
    view数 28
    • 1
    • 1
    • 1
    • 1
  • Dai Fujihara

    プロジェクトマネジメント

    1年前

    アジャイル開発におけるQAの実現などを手伝っていますが、広義で自動化はとても大切なプラクティスになりつつあります。狭義でのテスト自動化は最重要とも言えます。

    # 分岐を含む表示系
    - ビジュアルリグレッションテスト(VRT)で十分だと思います。
    − もっというと「〜が表示されていること」とかでAssertionをいれなくてもよくなります。データを用意して表示するだけのテストで十分でしょうし、実行速度も早くなると思います。
    − できれば、データも自動で入れられるようになれば、「誰かがデータいじっちゃって落ちたー」も減らせて安定化できると思います。

    # xxのユーザ状態におけるapi response
    - バックエンドのユニットテストでカバーで良いと思います。
    - テストは表示、API、E2Eとわけるのも手です。表示は組み合わせ、APIは網羅性、E2Eは全体の流れのなかで重要なものだけにしぼる・・・といった構成にもできると思います。

    # その他バックエンド系のメソッド群
    − 基本は単体レベル(UT)、結合レベル(APIレベルのE2Eみたいな役割)の2つは必要かと思います。
    − 可能な限りUTを作り、結合レベルの負荷を下げていくと運用負荷が下がり、開発スピードが上がり、信頼性も高まります。

    # 負荷系のテスト
    − 負荷だけでなく「非機能要件テスト」で調べてみるといいと思います。
    − 負荷テスト、セキュリティテスト、長期安定化テスト・・・などいろんな非機能要件が見つかるはずです
    − 非機能要件テストは、CI/CDに組み込んでもいいでしょうし、定期的に実行する形をとる現場も多いです。

    # 事業的に補償し続けないといけない機能のテスト
    − SLA的なものを顧客と握っているなら、それがすぐに確認できるテストを定義するのがいいと思います。どちらかというとテストだけでなく、監視体制も考える必要がありそうですね。

    参考までに。
    view数 38
    • 1
    • 1