普段使用している電子機器も、ラーメン同様、いろいろな機能の組み合わせでできています。例えば、携帯電話機では、音声通話、メール、ブラウザ、アプリケーションの実行など多くの機能が組み合わさっており、組み合わせの数はラーメンの例の比ではありません。プログラムを作ることは、技術者には大変な仕事ですが、それ以上に手間と時間がかかるのがプログラムのテストです。テストで複数の機能を組み合わせると、テスト項目が爆発的に増加します。そのため、組み合わせは極力避け、1機能ごとにテストするのが一般的です。 3.組み合わせテストについて ソフトウェアは、いろいろな機能の集合体です。バグの大半は、単一の機能から発生します。これは、「タチの良い」バグです。厄介なのは、一見、無関係な機能同士が複雑に影響し合って発生するバグです*2)。このバグはテスト工程での発見が非常に難しく、原因特定に時間がかかります。複数の機能を組