7章テスト

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

テストは多くの領域を対象とします。自動テストについて述べるだけでも、検討すべき事項が数多くあります。マイクロサービスでは、別のレベルの複雑さが加わります。実行できるさまざまな種類のテストを理解することは、ソフトウェアをできる限り早く本番環境に展開させることと、ソフトウェアが十分な品質を保つようにすることの、場合によっては相反する作用のバランスをとるために重要です。

7.1 テストの種類

コンサルタントとして、私は世界を分類する手段として奇妙な4象限を使うのが好きですが、本書でまだ使っていないことが気に掛かっていました。幸い、Brian Marickが、適切なテストに関する素晴らしい分類システムを考え出しました。図7-1は、Lisa CrispinとJanet Gregory共著のさまざまな種類のテストを分類できる『Agile Testing』(Addison-Wesley、日本語版『実践アジャイルテスト』翔泳社)からのMarickの4象限の派生形を表しています。

Brian Marickのテスト4象限。Crispin Lisa、Gregory Janet、Agile Testing:A Practical Guide for Testers and Agile Teams, 1st Edition, c 2009。Pearson Education, Inc., Upper Saddle River, NJの許可により編集。

図7-1 Brian ...

Get マイクロサービスアーキテクチャ now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.