システム開発に占めるテスト工数の割合は大きい。特に稼働中のシステムに対して機能の追加や変更をする「エンハンス開発」では、古い機能が積み重なり、テスト対象が雪だるま式に大きくなる。開発工数の半分近くがテストに費やされているという現場も珍しくない。テスト工数が足を引っ張ってスピーディーな機能追加ができなくなると、システムの競争力を落としてしまう恐れもある。今こそソフトウエアテストの無駄取りで効率化しよう。

 「テストの効率化手法はかなり確立されていて、正攻法ともいえるパターンがある」。テストのコンサルティングを手掛けるSHIFTの佐藤孝俊執行役員兼ビジネストランスフォーメーション事業本部サービスプロモーション部部長はこう話す。具体的には、テスト設計ではテストケースの再利用、組み合わせテスト、リスクベースドテストの3つ、テスト実行ではテスト自動化、要員配置の見直しの2つ、合わせて5つが鉄板テクニックとなる。

 ただし、やみくもな適用は現場を混乱させる。最初に実施すべきは現状の棚卸しだ。「テスト工程でどういったタスクを実施していて、どのくらいの時間を使っているのか、どこに問題があるのかを明らかにする」(佐藤部長)。棚卸しのベースとなるのが、テスト工数の予算と実績、バグ票、テストケース、チーム体制と役割分担、開発やテストの業務フローといった、過去のプロジェクトで残された客観的な事実だ。

テスト効率化の正攻法
[画像のクリックで拡大表示]

 テスト工程に無駄があれば、多くの工数を使っている箇所から効率化手法を取り入れる。3カ年計画のテスト効率化プロジェクトを1年目から成功させたアフラック生命保険では「現状調査でテスト工程のタスクを明らかにして、工数が大きなタスクから効率化手法の適用を進めた」(川山相重システムテスト推進課課長代理)という。

過去に作ったテストケースを使い回す

 テストを効率化する手法は「テスト設計の効率化」と「テスト実行の効率化」の2つに大別できる。

 テスト設計は、実施するテストを決めてテストケースを作成するタスクだ。これを効率化する代表的な手法には(1)テストケースの再利用、(2)組み合わせテスト、(3)リスクベースドテストの3つがある。

 テストケースの再利用とは、過去に作成したテストケースを使い回すこと。機能追加や改修が既存機能に影響しないかを確認する「リグレッションテスト」の効率化で効果が大きい。ポイントは過去のテストケースを見つけやすくすることだ。前出のアフラックはテスト管理の専用ツールを導入した。そこまでの投資が難しいという現場では、テストケースとテスト対象機能を対応させた表を作成するという手がある。これでもテストケースの再利用を助ける効果が大きい。

 組み合わせテストとは、複数のパラメーターの組み合わせがある場合にテストケース数を絞り込む技法だ。代表的な手法としては「オールペア法」や「直交表」がある。全パターンの組み合わせを網羅するのではなく、2つの条件の組み合わせを網羅するようにする。「教科書的な方法だが、きちんと実施できている現場は少ない。適用できているかどうかを確認する価値は大きい」(SHIFTの佐藤部長)。

 リスクベースドテストとは、リスクに着目してテストケースを絞り込む手法だ。これは詳しく後述する。

テスト実行の効率化、自動化か人を変えるか

 テスト実行はソフトウエアを動かして、不具合の有無を確認するタスクだ。このタスクを効率化する代表的な手法としては(1)テスト自動化、(2)要員配置の見直しがある。要するに、人がやらずにコンピュータがやらせるか、手早くテスト実行をできる人に任せるかの二択だ。

 テスト自動化は、テスト自動化ツールを利用して、主に画面上の操作を自動実施して結果の正しさを確認する。テスト自動化ツールでは、オープンソースの「Selenium」が代表格だ。テスト実行用のプログラム(テストスクリプト)を一度作成すれば、2回目からはそれを実行するだけでコンピュータが同じテストを自動実施する。人手をかけずに済むし、ヒューマンエラーも減る。

 要員配置の見直しは文字通り。担当者がテストに不慣れだったり不向きだったりすれば、交代を検討する。アフラックではテストと開発でチームを分けた。テストはテスト専門の人材が担当する。作業の習熟スピードが高まったという。SHIFTの佐藤部長は「開発をやりたくてテストへのモチベーションがない人もいる。やりたくない人に無理にやらせても効率は高まらない」と話す。

この先は日経 xTECH Active会員の登録が必要です

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