掲載日 2008年11月7日
大塚商会グループの一員で、企業の基幹系ソフトウェア「SMILEシリーズ」や情報系ソフトウェア「eValueシリーズ」などのパッケージ・ソフトウェアを開発・販売している株式会社OSK(以下、OSK)は、多岐にわたる製品開発の品質確保を、IBM Rational® Functional Testerを活用することで効率よく実行しています。
お客様ニーズ

R&D本部
品質保証部 部長
福島 満氏
製品ボリュームや品質に関する課題を自動化ツールで解決
OSKにとって、SMILEαAD、SMILEie、SMILEis、SMILE BSといった基幹系パッケージ・ソフトウェアが多機能・多種類であることは、そのメンテナンス上で大きな課題でした。R&D本部 品質保証部 部長の福島満氏は次のように説明します。
「一つの製品が数百万ステップあり、法改正やオペレーティングシステムへの対応など既存の顧客も含めてすべての製品をメンテナンスし維持することは、いくら人手があっても足りません」さらに福島氏は、品質面での課題についても話します。「人手による作業では新たな発見も可能ですが、逆に『漏れ』や『見落とし』も生じます。また製品の品質を向上させるために、検査の精度や密度も上げていかなければなりません」
OSKはこれらの課題を解決するために、機能テストや回帰テストを高度に行う自動化ツールの導入を決定しました。
「人でなくてもできる作業は、自動化ツールでの処理に変更して確実に行う。自動化ツールではできない作業は人がやる。このように作業を振り分けて、根本から検査の密度を高めたいと考えました」(福島氏)
ソリューション

回帰テスト
テストロジック設定の可否と使用言語に注目
OSKは二つの点に注目して、自動化ツール製品を選定しました。一つは、いくつかのテストをある程度まとめて行える仕組み、つまりテストロジックが設定できるかどうかです。
「お客様の要望に応じて動きを変えるパッケージ・ソフトウェアの性質上、一つの製品でも設定の違いで複数の動き方をします。それらの機能を組み合わせると、製品のテストケースは途方もなく多くの数になります。従ってテストロジックを設定できなければ、パッケージ・ソフトウェアのテストを処理しきれません」(福島氏)
OSKはフリーのソフトウェアの採用も検討しました。しかしテストロジックが設定できないという点で、OSKは採用を見送りました。
OSKが注目したもう一つの点は、テストロジックを作成する言語です。自動化ツール製品ではキーボードからの入力やマウスの操作を自動的に記録できますが、それらを高度なテストロジックとするためには使用言語レベルでの修正が必要になります。このとき通常の開発時に使用する言語と同等のものを利用できれば、技術者への新たな教育は必要ありません。R&D本部 品質保証部の平本正敏氏は次のように話します。「作業者の習熟度という点からも、多く利用しているMicrosoft® Visual Basicを自動化ツールのベースに利用できるという点で、IBM Rational Functional Testerへの期待は大きかったです」
OSKはこのような注目点を元に自動化ツールとして、IBM Rational Functional Testerを選びました。
導入効果

R&D本部
品質保証部
平本 正敏氏
1日近くかかったテスト準備を15分に短縮
OSKは検査段階での利用に加えて、テスト環境の生成や製品の実装評価など、さまざまな場面でIBM Rational Functional Testerを活用しています。
テストケースの設計段階では、IBM Rational Functional Testerの導入とともに行われたテスト内容の見直し作業で、それまで見落としていた部分が発見されました。また製品の実装評価では、動作結果が仕様どおりであるかがIBM Rational Functional Testerで確認されています。
「パッケージ・ソフトウェアでは、機能強化の動作とともに従前の動作も保証しなければなりません。IBM Rational Functional Testerを使って従前の製品との違いを確認しています。つまりバグ発見のためではなく、仕様変更が正しく実装されていることを確認するためにも利用できます」(福島氏)
もちろん検査段階でも、IBM Rational Functional Testerが活用されています。「プログラムの完成度が上がってきた段階でさらに修正が加えられたとき、それまでに実施してきたテストをもう一度すべて行う必要があります。ただし、これはかなり困難なことです。それは、プログラムが完成に近づくと、チェックすべきプログラムのアウトプットや動作が膨大な量になるためです。出荷時期が迫る中で、このような膨大なチェックを何度も実行することはできません。このようなときに見落としが起こります。IBM Rational Functional Testerによって通常利用する機能を確認したところ、出力結果を目視検査しただけでは見落としてしまいそうな問題を発見できました」(福島氏)
福島氏は、IBM Rational Functional Testerの有用性に関して次のように続けます。
「ノウハウや手法などをドキュメント等に残しても、それを利用して検査しなければ意味がありません。しかし実際には利用しきれていないという状況が数多くあります。IBM Rational Functional Testerを使うことで、このようなノウハウや手法をスクリプトとして盛り込み、さらに新たに発見した場合も蓄えられます。そして、いったん作成したものは繰り返し利用できるため、この効果の継続が期待できます」
OSKはIBM Rational Functional Testerのテスト環境自体も、IBM Rational Functional Testerを使って自動生成しています。R&D本部 品質保証部の田中材氏は次のように話します。
「締日や消費税の適用など利用方法が顧客ごとに異なるため、それらに対応した検査環境を手作業で構築するには多くの時間がかかります。あらかじめすべてのテスト環境を作成しておくことは、環境維持の手間や作業の効率の上でも課題です。 その対策としてベースとなる環境を作成しておき、自動的にテスト環境を簡単に作り出せるようにしています。これによって、それまで1日近くを費やしていた作業を15分程度で終えられるようになりました」
福島氏は、テスト環境の自動生成を次のように補足します。
「テスト環境は一度作成すれば繰り返し使えるように思えるかもしれませんが、実際には機能強化されるたびにテスト環境も修正しなければなりません。ベースとなる環境に強化内容を反映させ、それをもとに複数の最新のテスト環境を自動生成することが可能になり、テストをいち早く開始できるようになります」
さらにOSKでは、IBM Rational Functional Testerのデータ・プールも活用していきたいと考えています。「入力データ以外のものもデータ・プールに格納することを思いついたとき、その利用方法が格段に進歩しました。各種のテスト環境に基づき、その設定をマトリックスにしておき、プログラムの起動時や操作時にそれを参照することで、テスト環境に合わせて自動的にテストの対象となるプログラムを選んで実行したり、操作することが可能になりました」(田中氏)
将来の展望

R&D本部
品質保証部
田中 材氏
より広くより深い利用を目指す
OSKは今後、IBM Rational Functional Testerによるテストを、内容面での拡がりや深さとともに対象製品を増やすことで、より広く展開していこうと考えています。またテスト設計の内容も再度見直して、テストの有効性を見極めようとも考えています。
さらに異なる製品間でのバージョン違いによる出力結果の差を比較したり、製品をまたいだバージョンごとの数値の整合性を検査するなど、同社の製品を使用する顧客の利便性をより一層高めようとしています。
最後に、検査自動化にかける意気込みを田中氏が語ります。「記録してただ実行するだけではなく、スクリプトにいかに魂を込めるかがカギです。そうすることで、一つのスクリプトに10の働きも100の働きもさせることができるからです。OSK魂に溢れたソウルフルなスクリプトをみんなで作っていきたいと思っています」
お客様情報
株式会社OSKは、基幹業務システムSMILEシリーズと情報管理システムeValueシリーズを中核とするパッケージ・ソフトウェアの開発や販売、ソフトウェアの開発受託、コンサルティングを含めた総合サービスを事業の中心にして、先進のITによってもたらされる新しい事業機会や経営改善の手段を提供しています。
本事例中に記載の肩書や数値、固有名詞等は初掲載当時のものであり、閲覧される時点では、変更されている可能性があることをご了承ください。
事例は特定のお客様での事例であり、すべてのお客様について同様の効果を実現することが可能なわけではありません。
IBM,IBMロゴおよびRationalはInternational Business Machines Corporationの米国およびその他の国における商標。
MicrosoftはMicrosoft Corporationの米国およびその他の国における商標。
他の会社名、製品名およびサービス名等はそれぞれの各社の商標。
