「これまで以上に短納期のプロジェクトが増えた。設計や実装で手一杯になり、どうしてもテストにしわ寄せがいく」「うちはソフトウエアがどんどん大規模化し、テストの設計がとても難しくなっている」。
中堅・若手のテストエンジニアが集まるコミュニティー「WACATEワカテ」の実行委員らは、テストを取り巻く環境の変化を次々に口にする。
WACATEはテストエンジニア向けに、年2回のワークショップを開催。企業向けのカスタムソフト、パッケージソフト、組み込みソフトなど、さまざまなIT現場を対象にしている。そのメンバーらが抱く現場感覚として、テストに求められる量的・質的な負荷が増大していると言うのだ。これが、テストの“爆発”である。
ここ数年、システムを取り巻く環境は大きく変化した(図1)。その変化は大きく四つある。前述したようにプロジェクトの短納期化がその一つだ。二つめは、スマートデバイスを端末として使うシステムが急増した点。PCのブラウザーに加えて、スマートデバイスのブラウザーでもテストしなければならない。納期が短くなっているだけに、これまでよりも量的に多くのテストを短期間で実施する必要がある。
スマートデバイスについては質的な変化もある。スマートデバイスを使ったシステムでは、UX(ユーザーエクスペリエンス)を重視しないと使われるシステムにならない。UXを高める設計と、それを検証するテストがこれまでのテストに追加されるのだ。
三つめのセキュリティ脅威の増大と、四つめのパブリッククラウド利用の拡大も、質的な変化である。セキュリティでは、脆弱性のあるプログラムの書き方をしていないか、テストで検出できる対策が必要だ。パブリッククラウドでは、システムテストで実施する非機能要件のテストにおいて特有の観点が必要になる。
こうしたテストの量的・質的な変化が、プロジェクトに重くのしかかっている。うまく対応できないと、品質の低いシステムをリリースしてしまったり、リリース直前に大問題が見つかってプロジェクトが炎上したりする。WACATE実行委員の一人は「テストのツールや技法は確立されてきているのに、テストが炎上するケースが増えたと感じる」と嘆く。