アプリケーションの機能テスト自動化が、なぜ進んでいないのか?
日本における商用テストツール(Distributed Automated Software Quality=DASQ)の販売がスタートした時期は?
Microsoft Test(MS Test)という、マウスの軌跡、キーボードやマウスのイベントをアナログ的に記録するというテストツールがあったことを覚えている人は、少なくないかと思います。(あるいは、後にオブジェクトレベルでの記録・再生に対応したMS Visual Test =1996年発売開始)
しかしながら、本格的な商用の機能テストツールとなると、Mercury Interactive社製品の日本市場への参入時期となり、住商エレクトロニクス(=現・住商情報システム)が日本国内総代理店としてのビジネスをスタートさせた1994年6月のことです。
今は、2009年10月ですから、15年もの歳月により現在のDASQ市場を形成したことになります。
--
Mercury Interactive社の古い業績レポートを見てみるとわかりますが、1998年の資料で
The following is an excerpt from a 10-K SEC Filing, filed by MERCURY INTERACTIVE CORPORATION on 3/31/1998.
http://sec.edgar-online.com/mercury-interactive-corp/10-k-annual-report/1998/03/31/Section2.aspx
スクロールしていくと
ITEM 6. SELECTED CONSOLIDATED FINANCIAL DATA
YEAR ENDED DECEMBER 31, ------------------------------------------- 1997 1996 1995 1994 1993 -------- -------- -------- ------- ------- (IN THOUSANDS, EXCEPT PER SHARE AMOUNTS) Statements of Operations Data: Revenue: License................. $ 56,683 $ 43,270 $ 32,765 $20,270 $11,830 Service................. 20,017 11,280 6,685 3,180 1,170 -------- -------- -------- ------- ------- Total revenue......... 76,700 54,550 39,450 23,450 13,000 -------- -------- -------- ------- ------- Cost of revenue: License................. 4,351 3,419 2,626 1,594 1,637 Service................. 6,225 3,240 1,887 872 364 -------- -------- -------- ------- ------- Total cost of revenue... 10,576 6,659 4,513 2,466 2,001 -------- -------- -------- ------- ------- Gross profit.............. 66,124 47,891 34,937 20,984 10,999 -------- -------- -------- ------- ------- |
記憶が正確ではないのですが、当時40~50%のシェアを有しており、今から5年前の2004年頃には65%超のシェアを有するDASQのマーケットリーダーであるMercury Interactive社の日本進出時の売上が、$23M程度だったわけです。
そして、2004年の同社レベニューは$685Mにまで成長しており、10年で約30倍の売上となるまで成長しています。
--
世界では、30倍に市場が伸び、では日本ではどうなのだろうか?という点です。
現在、日本のDASQ市場は、サービスを含めると数十億(メーカ出荷)~100億レベル(エンドユーザ)の市場にあるとは思いますが、世界の5%~10%程度にとどまっていることになります。
少し前の(2004年)の書籍 ですが、
『ソフトウエア企業の競争戦略』 著者:マイケル・A. クスマノ
http://www.amazon.co.jp/dp/4478374813
の中(第4章開発のベスト・プラクティス、P281~「パフォーマンスに関する地域差」)の記述ですが、日本のソフトウェア開発は、不具合(バグ)発生率の調査レポートによると、米国の1/20、インドの1/13、欧州その他の地域の1/11という世界で最も高い品質レベルにあるという結果が出ており、更に、一人当たりのプログラム生産性も世界トップレベル(米国の1.7倍、インドの2倍、EUよりやや高いレベル)とのことです。
--
日本の技術者のスキルレベルの高さ、ソフトウェア開発手法・品質管理手法、技術者管理手法が、品質の高いソフトウェアを生み、更に自社独自ツールの開発を促進し、外部の商用パッケージ導入不要という道を通ってきたのではないかと考えられます。
一方で、ここ5年ほどを考えると、レガシー系の開発・運用・保守は、当然なされているかと思いますが、新たなアプリケーションがWeb系に急速にシフトしたことで、そのテストの複雑さ・多様性・網羅性に対応することに、苦労があると聞いています。
- 想定していた機能テストよりも、実際には、数倍以上のテストを再実行した
→ 手動テストで対応したために、膨大な時間を要してしまった - アプリケーションの大幅な変更(バージョンアップ)が無くても、ミドルウェアやOS/ブラウザの複数環境でのテストが必要になった
→ 実際には、正常系のテストさえも、手動で継続的に実施することは困難 - ツールを買ったのは良いけれども、使いこなすのに1ヵ月以上掛ってしまう
→ テスト本番に間に合わない。手間がかかりすぎる。専任者のアサインが必要。 - フリーのテストツールで十分に間に合っている
→ 意外に属人的で、チームとして、社としては標準化が困難 - 画面の仕様変更により、作成したスクリプトが無駄になる
・
・
・
つまり、日本においては、
- 技術・品質レベルが高い=商用テストツール不要論
- テストツールは使いたいけど使えない=高い、難しい、手間がかかる
本当にそうなのでしょうか?
また、どのようなケースが機能テストの自動化に向いていて、どのようなケースが向いていないのか?という考察がどれだけなされているのでしょうか?
--
<<次回に続きます>>