Skip to Content
Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス
book

Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス

by Titus Winters, Tom Manshreck, Hyrum Wright, 竹辺 靖昭, 久富木 隆一
November 2021
Intermediate to advanced
684 pages
10h 37m
Japanese
O'Reilly Japan, Inc.
Content preview from Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス

14章大規模テスト

Joseph Graves 著

Tom Manshreck 編

 これまでの章では、Googleでのテスト文化がどのように確立され、小規模なユニットテストがどのようにして開発者のワークフローの基盤部分となったかについて詳しく語ってきた。しかし、他の種類のテストについてはどうだろうか。結論から言うと、実際にはGoogleは大規模テストを多数用いており、大規模テストは健全なソフトウェアエンジニアリングに必要となるリスク緩和戦略を構成する重要な一要素である。しかし大規模テストは、テストが価値のある資産であってリソースの浪費ではないよう担保しようとすると、小規模テストより多くの課題を突きつける。「大規模テスト」という言葉の意味するもの、どんな場合に大規模テストを実行するか、そして大規模テストを効果的に保つためのベストプラクティスについて、本章では論じていくことになる。

14.1 大規模テストとは何か

 前に言及したように、Googleには具体的なテスト規模の観念がある。小テストは、1つのスレッド、1つのプロセス、1つのマシンに限定される。大規模テストには同様の制約がない。しかしGoogleにはテスト範囲の概念もある。ユニットテストはインテグレーションテストより必然的に範囲が小さい。そして範囲が最大のテスト(エンドツーエンドテストまたはシステムテストと呼ばれることがある)は一般に、いくつかの本物の依存関係と、比較的少数のテストダブルを伴う。

 大規模テストは、小テストとは異なる多数の要素から成る。そして小テストと同じ制約には縛られていない。それ故に、下記のような特徴を示すことがある。

  • 大規模テストは遅いかもしれない。Googleでは、大テスト†1には15分か1時間のデフォルトのタイムアウト時間があるが、何時間、それどころか何日間も実行されるテストもある。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

サイトリライアビリティワークブック ―SREの実践方法

サイトリライアビリティワークブック ―SREの実践方法

Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, 玉川 竜司
プログラミングRust

プログラミングRust

Jim Blandy, Jason Orendorff, 中田 秀基

Publisher Resources

ISBN: 9784873119656Other