日本はテストエンジニアの地位が低すぎる
「日本はテストを担当するエンジニアの地位が低すぎます。プログラミングのスキルが高くないとテストを担当させられる。これでは、構築するITシステムの品質は向上しません」
株式会社富士通システムズ・イースト ICT先進技術開発本部 本部長代理の川端功微氏は、テスト工程をもっと重視しないとITシステムの品質は上がらないにもかかわらず、日本ではテストがないがしろにされていると言う。プロジェクトの工程に遅れが生じた場合も、カットオーバーの時期は変更されないことが多い。その結果、テスト工程にしわ寄せが行くのはよくある話。テスト工程期間が短縮されるならまだしも、テストが省略されることさえもあると聞く。そんなことでは、品質の高いシステムを作るのはむずかしい。
また、多くの開発システムプロジェクトでは、顧客のIT部門、元請けSI、下請けとなる協力会社という体制をとることが多い。仮に、そのプロジェクトにきっちりとテスト工程が組み込まれていても、実際にテスト作業を行うのは協力会社のエンジニアというのが普通。
「協力会社がテストをきちんとやっていない。あるいは元請けもそれをきちんと管理、チェックできない課題もあります。テストは、いわゆる、地位の低いエンジニアの仕事であり、システムエンジニア、ましてやプロジェクトマネージャー職の仕事ではないと考えがちなのも、テストを重視しない一因でしょう」(川端氏)
さらに、テストを手作業でやっていることも問題だ。手作業によるテストの場合は、標準化された手順なりがきちんと整備されていることは少ない。そして、テストを担当するエンジニアのスキルに依存してしまうことがほとんどだ。
「そのため、テストを行うエンジニアの経験と勘に頼っている状況、エンジニアのスキルの差がテスト品質の差になり、結果システム品質の差となってしまいます」(川端氏)
人に依存した手作業によるテストの弊害
手作業でのテストの弊害を取り除く1つの方法が、テストツールの活用だ。とはいえ、テストツール導入には以外と高い敷居がある。まず第一に、多くのテストツールの値段が高いということが挙げられる。そしてさらに難しくしているのが導入する際のライセンス形態。多くのテストツールが、プロジェクト単位での課金となっているのだ。そのため、開発するシステムプロジェクトごとに、テストツールを購入しなければならない。
前述の通り、日本においてはユーザー企業が自社内でシステムを開発することはほとんどなく、SIベンダーなどに外注する。そして、開発するシステムごとに予算が組まれ、それに対し見積もりを行う。これではプロジェクト予算が厳しいときには、なかなかテストツール費用を組み込めないのだ。さらに、こちらのプロジェクトではA社のツール、あちらのプロジェクトではB社のツールということにもなりかねず、テストツールを使いこなすスキルを身につけるのもままならない。
また、現状のテストツールは、高価であることを裏付けるように機能が豊富なものが多い。そのぶん使い方は複雑化している。ツール独自のスクリプト言語を憶えなければ使いこなせないものも多く、これもまたテストツール利用を妨げる原因になる。
「さらに、テストにまつわる課題の解決のためには、テストツールを入れるだけではだめです。まずは、テストプロセスをきちんと整備する必要があります。何をインプットし、どういうアウトプットで次の工程に進むのか。経験や勘ではなく、標準的なプロセスを誰でも実施できるようにしなければなりません」(川端氏)
そこで富士通システムズ・イーストでは、2008年に1年間という時間を使って同社で標準となるテストフレームワークの構築を行った。この作業は川端氏が所属するICT先進技術開発本部のメンバーが中心となり、現場のエンジニアも一緒になって構築が行われた。フレームワークのベースには、JSTQB(Japan Software Testing Qualifications Board)を用いた。現場エンジニアも参加したことで、実践的なフレームワークに仕上がった。
また、全社で標準となるテストツールの選定も行っている。富士通システムズ・イーストでは、以前からテストツールの利用は積極的に進めてきた。そこからさらに1歩踏みだし、構築した標準テストフレームワークを活用するためのツールを選定したのだった。テストツールには、テストの計画、設計や管理を行うもの、機能や回帰テスト、負荷テストを行うものなど各種ある。それぞれの分野で標準ツールを選定するだけでなく、ツールの活用方法の提示や教育プログラムの実施も行われた。