LoginSignup
1
0

More than 3 years have passed since last update.

マイクロサービスにおけるE2Eテストはどうするべきか?

Posted at

概要

  • マイクロサービスにおける問題と感じるものの中にマイクロサービスにおけるE2Eテストがあります。
  • 今回は、この問題と解決策の1つを記事にしていきます。

マイクロサービスにおけるE2Eテスト

問題点

  • なぜマイクロサービスにおけるE2Eテストが問題なのかというと、それはテストスコープがかなり大きい点にあります。

なぜテストスコープが大きくなるの?

その理由は、下記の2つにあります。

  • 1つ目にマイクロサービスでは、複数のサービスにまたがりテストを実行しなければいけない
  • 2つ目にテスト時に全てのサービスをデプロイし、テストのシナリオを全てのサービス揃えないといけない

解決策

  • この場合の解決策として、コンシューマ駆動契約を利用する方法があります。

コンシューマ駆動契約(Consummer Driven Contracts - CDC)とは?

  • サービスの利用側/提供側で「サービスの振る舞い(動作の期待値や使用)」契約と定義し、サービス利用側(コンシューマ)が契約を結ぶことを責務とし、その契約を壊していないことを利用側/提供側双方でテストをする方法です。

メリット

  • サービス利用者側(コンシューマ)の視点から定義されてるので、予期せぬ契約を拾い上げることができます。
  • また、サービス利用者側(コンシューマ)の視点の要求も理解できるので、今後の改善の指標にも使えます。

デメリット

  • 契約が破壊された時にマイクロサービスを所有するチーム間でのコミュニケーション(例えば問題点の検出など)が必須
  • 契約された内容(主にI/F)のみしか保証されない

まとめ

  • 今回は、マイクロサービスにおける問題であるE2Eテストとその解決策としてのコンシューマ駆動契約についてまとめていきました。

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0