本日はフィールド試験についてお話をしたいと思います。

弊社で現在鋭意開発中のシステム(とある公的な施設向け)ですが、昨日3時間に及ぶミーティングの結果、7月1日から2ヶ月間のフィールド試験を実施、その後9月1日から本格運用開始ということになりました。

今回7月から実施するフィールド試験ですが、フィールド試験は単体試験、結合試験、総合試験をクリアした後に行われるお客様が実際に利用する環境に最も近い状態で行う最終試験です。ということは、この試験をクリアすればお客様にお渡しすることができるようになるわけです。

これまでの試験における試験項目とフィールド試験で実施する試験項目は大きな違いがあります。それは環境です。

  • 単体、結合、総合試験
    社内の実験室などで行うある程度整った環境で行う試験
  • フィールド試験
    お客様の利用環境に近い環境(=不確定要素を含む環境)で行う試験

環境が異なるくらいで試験結果に影響はそれほど変わらないだろうと思うかもしれません。私も以前はそう思っていました。しかしながら、環境が異なるということはこれまでになかった様々な問題を生み出す大きな原因となるのです。

実際にあった良い例として、無線LANを使ったシステムが挙げられます。

無線LANは周辺環境の電波状態の影響を大きく受けます。実験室でも電波の強弱、接続、切断などの試験項目を実施しており、その試験には合格しているのにも関わらず、フィールドの無線LAN環境下では接続が瞬断(一瞬だけ切断すること)することによって、ソフトウェアが正常に動作しなくなることがあります。

なぜそのようなことが発生するのか?それは実験室で試験を行う場合は電波の強弱、接続、切断は試験者が手動で意図的に発生させます。フィールド試験においても手動でそのような試験を行うのですが、その時の周辺環境からの影響によって、予期せぬ動作(絶妙なタイミングで事象を発生)を引き起こすのです。過去にあった現象例を以下に挙げます。

  • 短期間の連続で瞬断が発生(手動では厳しいタイミングで発生=ログで判明)
  • 接続、切断の無限繰り返し(手動で行うには困難な回数)

このように意図的な試験では確認できなかった問題をフィールド試験では洗い出すことができます。そして、お客様に納品する前の最後のバグ取りのチャンスがフィールド試験でもあります。フィールド試験でもバグが出ないシステムを作り上げるのがベストではありますが、現実的には困難です。フィールド試験がバグを全部洗い出す最後のチャンスだ!という意気込みで挑むのがフィールド試験だと私は考えて取り組んでいます。

今回、開発中のシステムもフィールド前の全ての試験項目はクリアしましたが、フィールド試験でどのような結果となるのか?結果についてはまた書きたいと思います。今回は以上です。