QAの革新なくしては、世界水準のソフトウェアはつくれないInterview(2/3 ページ)

» 2005年01月14日 16時55分 公開
[ITmedia]

テストの自動化が鍵を握るQAプロセスの刷新

Q. なぜ、サイボウズではそこまでQAにこだわるのでしょうか?

加藤 当社が提供するグループウェアという製品は、じつにさまざまなお客様に、さまざまな環境で利用されます。また、現在では多くの企業でミッションクリティカルな基幹となる情報システムとなっています。ソフトウェアとして最高水準の品質が要求されるのです。

 このような要求に対して、安定的で信頼できる製品を提供していくことはサイボウズにとってのミッションであり、それを実現していくのがQAスタッフの役割なのです。

Q. 実際、どのような環境で利用されているのですか?

加藤 たとえばOSを例にとっても、大きなカテゴリだけでWindows、Linux、Solaris、FreeBSDの4つに対応しています。それぞれに各バージョンがあって、さらにWebサーバやクライアントPCとの組み合わせが加わります。この組み合わせだけでじつに3千以上になります。

 また、利用者の規模も数名から数万人に及ぶ場合もあります。仕事が始まる朝の9時から9時15分の間には、これら数万の人たちが一斉にシステムにアクセスします。非常にヒット率の高いチケット予約サイトのような処理が毎日行われているわけです。

Q. それらの要求に対して品質を高めていくためには、ソフトウェアテストの自動化が不可欠であると?

加藤 理想を言えば100%ですが、なにせ組み合わせが膨大ですので、今回の改革では50%程度のテストカバレージを目標としています。それでも必要となるテストパターンは、数億とおりにもなるのです。また、私は、少しでもコードをいじったらすべて最初からテストをやり直すべきだ、と考えています。実際、わずか1行のコードを直しただけなのにソフトウェアがまったく動かなくなってしまったという経験があります。

 これほど膨大なテストを常に一定した状況で行うことは人間の力では不可能です。だからこそ自動化が必要であり、マーキュリーの製品を導入したのです。具体的には機能テスト、負荷検証、テストプロセスの管理をマーキュリーの製品で行っていくことになります。

Q. マーキュリーの製品を選択した理由は?

加藤 私自身、ボーランドにいた時にマーキュリーの製品を使っていて、その優秀さは経験済みでした。特に負荷検証に関してはLoadRunner以外には考えられませんでしたね。それはLoadRunnerだけが唯一ランデブー機能を備えていたテストツールだったからです。

 また、今回のプロジェクトは、ソフトウェアテストだけでなく、開発のライフサイクルすべてに及ぶ大がかりなもので、そのためにボーランドの製品も導入しています。ボーランドのStarTeamで不具合の管理を行っており、この不具合の管理とソースコード管理を連携させたかったのです。というのも、不具合の改善というのはどこかコードを直しているわけで、ソフトウェアテストのためにはしっかりした連携が不可欠となります。マーキュリーのQualityManagement(TestDirector)を採用したのは、この管理と連携を行うことが目的です。

Q. 独自にテストツールの開発も行っているそうですね。

加藤 ええ、ユニットテストとhttpレベルのテストの2つのフレームワークを社内で独自に開発しています。プログラマーとhttpレベルのテストを社内のツールで、UIレベルのテストと負荷検証をマーキュリーの製品で自動化していきます。1年がかりのプロジェクトですが、それによってまずは30%のテストカバレージを自動化する計画です。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ