連載
» 2014年07月01日 18時00分 公開

テスト自動化のROIを計算してみよう(終):ROIの試算例から見る、日本でテスト自動化が進まない理由 (2/2)

[太田健一郎,STAR(テスト自動化研究会)]
前のページへ 1|2       

GUIテスト自動化におけるROIの試算

テストを内製化し、手動と自動でエンジニア単価が同一の場合

 次に、下記の条件でGUIテスト自動化におけるROIを求めてみましょう。

  • 新規のソフトウェアでテストも一から作成する
  • 試算対象期間「t」としては12カ月(250日)と24カ月(500日)を選ぶ
  • 手動テスト、自動テストのいずれのエンジニア単価も1年当たり960万円=1カ月当たり80万円=1日当たり4万円=1時間当たり5,000円とする
  • 手動テストの実行では、1年当たり10人のフルタイムのメンバーが、自動テストでは1年当たり1人のメンバーが必要
  • 自動テストでは、オープンソースの無料ツールを使い、ハードウェア分の90万円の固定費が減価償却3年(36カ月)で必要
  • 手動テストの開発には1年当たり5人、自動テストの開発には1年当たり15人必要
  • 自動テストでは、1年後に、1年当たり1人分のメンテナンスコストが発生する
  • 自動テストでは、オープンソースの無料ツールを使い、ハードウェア分の90万円の固定費が減価償却3年(36カ月)で必要

■利益

ΔB(t) = Σ(自動テストによる固定費の削減分)(t) + Σ(n2回手動テストを実施した場合の変動費)(t) - Σ(n1回自動テストを実施した場合の変動費)(t)
Σ(自動テストによる固定費の削減分)(t) = なし
Σ(n2回手動テストを実施した場合の変動費)(t) = 1年当たりに必要な手動テスト実行の人数 * エンジニアの1年当たりの単価 * 年数
Σ(n1回自動テストを実施した場合の変動費)(t) = 1年当たりに必要な自動テスト実行の人数 * エンジニアの1年当たりの単価 * 年数

 具体的な値を代入すると、下記のようになります。

ΔB(12カ月) = 0 + (10 * 9,600,000 * 1) - (1 * 9,600,000 * 1) = 86,400,000(円)
ΔB(24カ月) = 0 + (10 * 9,600,000 * 2) - (1 * 9,600,000 * 2) = 172,800,000(円)

■コスト

ΔC(t) = Σ(自動テストによる固定費の増加分)(t) + Σ(自動テストの開発費) - Σ(手動テストの開発費) + Σ(自動テストのメンテナンスコスト) (n1/N)
Σ(自動テストによる固定費の増加分)(t) = 3年間のハードウェアのコスト * (経過年数 / 3)
Σ(自動テストの開発費) = 1年当たりに必要な自動テストのエンジニアの人数 * 1年当たりのエンジニア単価
Σ(手動テストの開発費) = 1年当たりに必要な手動テストのエンジニアの人数 * 1年当たりのエンジニア単価
Σ(自動テストのメンテナンスコスト) = 1年後に発生する自動テストのメンテナンスコスト = 1年後のメンテナンスに必要なエンジニアの人数 * 1年当たりのエンジニア単価

 具体的な値を代入すると、下記のようになります。

ΔC(12カ月) = (900,000 * (1/3)) + (15 * 9,600,000) - (5 * 9,600,000) + 0 = 96,300,000(円)
ΔC(24カ月) = (900,000 * (2/3)) + (15 * 9,600,000) - (5 * 9,600,000) + 1 * 9,600,000 = 106,200,000(円)

■ROI

ROI(t) = ΔB(t) / ΔC(t)
ROI(12カ月) = 86,400,000 / 96,300,000 = 0.897(→損益分岐点に達しない)
ROI(24カ月) = 172,800,000 / 106,200,000 = 1.627(→63%リターン)

手動テストが外注で、自動テストを内製化し、手動と自動でエンジニア単価が別の場合

 スモークテストのときと同じように「手動テストの実行を外注している」と仮定し、下記のように条件を変更して再度ROIを求めてみましょう。

  • 試算対象期間「t」としては36カ月(750日)を追加する
  • 「スモークテストのときよりも、手動テストの実行と分析、報告に高いスキルが必要になる」と仮定し、手動テストの実行エンジニア単価を1年当たり720万円=1カ月当たり60万円=1日当たり3万円=1時間当たり3,750円に変更する
  • 手動テスト設計のエンジニア単価は1年当たり960万円=1カ月当たり80万円=1日当たり4万円=1時間当たり5000円のままとする
  • 「スモークテストのときよりも、自動テストの設計・実装に高いスキルが必要になる」と仮定し、自動テストのエンジニア単価は1年当たり1200万円=1カ月当たり100万円=1日当たり5万円=1時間当たり6,250円に変更する

■利益

ΔB(12カ月) = 0 + (10人 * 7,200,000 * 1) - (1人 * 9,600,000 * 1) = 62,400,000(円)
ΔB(24カ月) = 0 + (10人 * 7,200,000 * 2) - (1人 * 9,600,000 * 2) = 124,800,000(円)
ΔB(36カ月) = 0 + (10人 * 7,200,000 * 3) - (1人 * 9,600,000 * 3) = 187,200,000(円)

■コスト

ΔC(12カ月) = (900,000 * (12/36)) + (15 * 120,000,000) - (5 * 9,600,000) + 0 = 132,300,000円
ΔC(24カ月) = (900,000 * (24/36)) + (15 * 120,000,000) - (5 * 9,600,000) + 9,600,000 = 142,200,000円
ΔC(36カ月) = (900,000 * (36/36)) + (15 * 120,000,000) - (5 * 9,600,000) + 9,600,000 = 142,500,000円

■ROI

ROI(12カ月) = 62,400,000 / 132,300,000 = 0.472(→投資期間)
ROI(24カ月) = 124,800,000 / 142,200,000 = 0.878(→損益分岐点に達しない)
ROI(36カ月) = 187,200,000 / 142,500,000 = 1.317(→32%リターン)

特に人件費の高い先進国では、ツールやハードウェアのコストよりも人件費がROIに大きく影響を与える

GUI自動化におけるROI

 この条件では、「スモークテストよりテストレベルが上がるため、手動テスト実行のエンジニア単価を上げる」と同時に、「自動テストの設計、実装も難易度が上がる」と仮定し、自動テストを内製化するエンジニア単価も上げました。エンジニア単価の変更に伴いROIと損益分岐点が大きく変化しています。

 この結果から、「特に人件費の高い先進国では、ツールやハードウェアのコストよりも人件費がROIに大きく影響を与える」ことが分かると思います。逆に、「ツールやハードウェアへの投資が人件費の削減につながる」のでしたら、積極的にツールやハードウェアに投資した方がROIが高まるともいえます。

テスト自動化の提案や企画の際に、試算式を活用してみよう

 本連載では「テスト自動化でROIを試算する理由」から、「テスト自動化のROIの構成要素と複数の試算式」、そして「試算の実際」を解説してきました。

 テスト自動化に限らず、ソフトウェア開発ではさまざまな外部要素や変動要素が絡むため、精確なROIを求めるのは難しいですが、今回の試算例でも分かるように、簡易的な試算であれば最小限の構成要素から試算できます。

 テスト自動化の提案や企画の際には、定量的な交渉条件として、本連載で学んださまざまなROIの試算式を読者が活用することを楽しみにしています。

著者プロフィール

太田健一郎

テスト自動化研究会(STAR)株式会社SHIFT

大手SIerで開発支援ツール開発SEを経験した後、商用・オープンソースを使った各種の自動テスト、パフォーマンステスト、インスペクションをお客さまプロジェクトで担当。その後、大手Webサービス会社でJenkinsを始めとするCIやテスト自動化、パフォーマンスチューニングなどを担当。

現在、株式会社SHIFTでテスト自動化やCIの導入、トレーニングを担当。その他、コミュニティ活動として、JaSST実行委員会、テスト自動化研究会などに所属し、公私ともにテスト自動化を始めとする自動化に情熱を燃やしている。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。