9章テスト

自動テストの世界は、私が初めてコードを書いたときから大幅に進歩しました。そして、毎月のように新しいツールやテクニックが登場し、さらに改善されているようです。しかし、分散システムに広がるコードの機能を効果的かつ効率的にテストする方法には、課題が残っています。本章では、より粒度の細かいシステムのテストに関する問題を分析し、自信を持って新機能をリリースできるようにする解決策をいくつか紹介します。

テストは、多くの分野を対象とします。自動テストについてだけ話す場合でも、考慮すべきことが数多くあります。マイクロサービスでは、別のレベルの複雑さが追加されます。ソフトウェアをできるだけ迅速に本番環境に投入すること、ソフトウェアが十分な品質を備えているかを確認することの間の、時には相反する力のバランスを取るためには、実行できる各種のテストを理解することが重要です。テスト全体の範囲を考えると、このトピックを幅広く検討しようとは思いません。その代わり、本章では、単一プロセスモノリシックアプリケーションなどの、より分散していないシステムと比べた場合、マイクロサービスアーキテクチャのテストがどのように異なるかに重点を置いて、検討します。

本書の第1版以来、テストが実施される場所も変わってきています。以前は、主にソフトウェアが本番環境に進む前に、テストを行っていました。しかし最近では、本番環境に進んだ時点で、アプリケーションのテストを検討することが多くなっています。開発環境、本番環境の境界が、さらに曖昧になっています。これについては、10章でさらに詳しく説明しますが、その前に本章で触れておきます。

9.1 テストの種類

多くのコンサルタントと同じように、私も世界を分類する方法として4象限を使うことがあるのですが、この本に4象限がないことを心配していました。幸い、Brian ...

Get マイクロサービスアーキテクチャ 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.