流儀1 後工程のテストを単体テストに取り込む [単体テスト]

 「開発環境で見つかった欠陥の修正に必要な工数を1とすると、検証環境だと10、本番環境では100になる。短納期に対応するには、遅い段階で見つかる不具合を減らすのが重要だ」。日本CAの渡辺 隆氏(DevOps&アプリケーション・デリバリ ディレクタ)は指摘する。

 先進的な現場では、機能テスト、システムテストの一部を切り出して、単体テストフェーズで実施している(図3)。早期に不具合を検出するのが狙い。後工程のテストを早い段階で実施することを「シフトレフト」と呼ぶ。左から右に流れるテストで、右にあるテストを左に移動させるイメージだ。

図3●機能テスト、システムテストの一部を単体テストフェーズで実施
図3●機能テスト、システムテストの一部を単体テストフェーズで実施
実現には、スタブ作成支援ツールの利用、単体テスト後の探索的テストの実施といったアプローチがある
[画像のクリックで拡大表示]

 「シフトレフトは特に米国でトレンドになっていて、新しいテストツールの普及も進んでいる」(渡辺氏)。その代表がスタブ作成支援ツールである。

 スタブは外部からの呼び出しに対して、結果を返すモジュールだ。内部に実際のロジックは持たない。未完成のモジュールや接続できないシステムの代わりに使って、できる範囲の機能テスト、システムテストを実行する。従来はプログラミングしてスタブを作成する必要があり、手間が掛かる上に後回しにされがちだった。

 スタブ作成支援ツールはスタブの作成を自動化する。未完成のモジュールについては、APIの定義を記述したファイルを読み込ませることで自動生成できる。既に存在するシステムについては、通信された電文のキャプチャーから自動生成する。早期にスタブを用意して、重要な機能、性能のボトルネックなど欠陥があると大きな手戻りになりそうな箇所をテストする。

 本分野で日本CAは「CA Service Virtualization」、日本ヒューレット・パッカードは「HP Service Virtualization」、日本IBMは「IBM Rational Test Virtualization Server」、米Parasoftは「Virtualize」(写真1)と主要ベンダーがスタブ作成支援ツールをそろえる。

写真1●米Parasoftのスタブ構築支援ツール「Virtualize」の画面
写真1●米Parasoftのスタブ構築支援ツール「Virtualize」の画面
ツールを使うと未完成のモジュールや接続できないシステムのスタブを短時間で作成できる。スタブを使うと機能テストやシステムテストの一部を単体テストフェーズで実施できる
[画像のクリックで拡大表示]

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。