有料会員限定記事 現在は登録会員(無料)の方も閲覧可能です
システム開発に占めるテスト工数の割合は大きい。特に稼働中のシステムに対して機能の追加や変更をする「エンハンス開発」では、古い機能が積み重なり、テスト対象が雪だるま式に大きくなる。開発工数の半分近くがテストに費やされているという現場も珍しくない。テスト工数が足を引っ張ってスピーディーな機能追加ができなくなると、システムの競争力を落としてしまう恐れもある。今こそソフトウエアテストの無駄取りで効率化しよう。
「エンハンス開発(機能拡張・保守)のテスト工数が増え続け、開発工数全体の50%を占めるまでになっていた」。アフラック生命保険の横山謙介システム開発管理部システムテスト推進課長はこう明かす。テスト工数の大きさは新商品対応、制度対応のコストや時間に直結し、経営層や利用部門から問題視する声が上がっていた。
この問題を解決すべく、横山課長が率いるチームは2016年にテストを効率化して工数を引き下げるプロジェクトを開始した。プロジェクトは3カ年計画だが、1年目で早くも無駄取りの効果が表れている。「施策の実施を始めた2017年で、開発全体に占めるテスト工数の割合を従来の50%から40%に減らせた。最終年の2019年には30%にまで下げられる見通しだ」(横山課長)。テスト工数比率30%を達成すれば、プロジェクト実施前と比べ約4割ものテスト工数の削減となる。
横山課長のチームが取り組んだテスト効率化プロジェクトで実施している施策は大きく3つ。「開発とテストの分離」「テストケースの再利用」「テスト実行の自動化」である。
1つめは開発とテストの分離である。テストを専門に請け負うベンダーを採用して、開発とテストで担当するベンダーを分けた。従来は要件定義からテストまで一括で同一のベンダーに委託していた。
2つめはテストケースの再利用。一度作成したテストケースは全て保存するルールにして、過去に作成したテストケースを再利用できるようにした。また、テストデータの作成を手順書にして、一定のスキルがあるメンバーならば誰でもテストデータを作成できるようにした。
3つめはテスト実行の自動化だ。テストケースに従ってシステムを自動実行して、期待する結果になっているかどうかを確認するテスト自動化ツールを導入した。採用したツールは非公表だが、画面だけでなくバッチ処理の機能テストも自動化できるツールを選定した。
テスト効率化の施策の立案・実施は、テスト担当ベンダーに選定されたパクテラ・テクノロジー・ジャパンなどが支援した。
設計段階でテストケースを作成
開発とテストを分離した結果、開発プロセスは大きく変わった。新しい開発プロセスでは、設計の段階でテストケースまで作成する。
例えば要件定義が終わったら、テスト担当ベンダーは要件定義書を受け取ってレビューを実施して、テスト実施可能な水準に達しているかどうかを見る。レビューが終わったら、システムテストの計画策定からテストケースの作成までを完了させる。テストケースの作成は外部設計と並行して別チームで実施する。
外部設計後も同様の流れだ。内部設計と並行して結合テストのテストケースを作成する。プログラムの開発が一通り終わった後、テスト工程はテストケースがある状態で始まる。
従来は設計・製造が終わってからテストケースを作成していた。テスト工数の見積もりがブラックボックス化されているうえ、想定外のテスト要件が後になって分かる場合もあった。
新しい開発プロセスのメリットは「工期短縮」「コストダウン」「見積もり精度の向上」の大きく3つだ。
工期短縮については、テスト担当ベンダーがテスト作業に専念するので、作業の習熟スピードが高まった。コストダウンでは、テスト専門ベンダーがオフショア拠点も活用。従来よりも低い作業単価でテストを実施できるようになった。見積もり精度の向上では、テスト工数が予想より上振れする事態を避けられるようになった。設計段階でテストケースの作成まで実施するためだ。
この先は会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!
日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら