(Up&Coming 2009年11月号) |
日本科学技術連盟主催のソフトウェア品質シンポジウムは、ソフトウェア開発に関わるさまざまな方々が一堂に会し、現場で役立つ実践的な技術や経験、ノウハウ、研究成果を発表し意見交換を行う場で、本年で28回目となる歴史のあるシンポジウムです。
今年は2009年9月10日(木)〜11日(金)に東洋大学 白山キャンパスで開催され、当社からはTestGroupのメンバーが「コストを考慮した自動テストの導入と維持」を発表いたしました。
本発表は、ソフトウェアテスト自動化特有のコストとリスクを明らかにし、コスト減の視点から自動テストの導入と維持に関する幾つかのノウハウを提示したもので、当社TestGroupの7年間に渡って継続してきた自動テストへの取り組みにより得られた経験知をベースにしています。
ここでは本発表の概要を御紹介致します。 |
|
|
▲東洋大学白山キャンパス |
●テスト自動化のコストとは
■ツールの選定/購入コストとリスク
自動テストツール導入を検討する際、それが計画するテストのニーズを満たすものか、マニュアルテストに比べどの程度効率化するか、等を多くのツールに対して比較的短期間で判断する必要が出てきますが、このフェーズには極めて高いリスクが存在します。すなわちツールの性能は自動テストの維持コストに大きな影響を与える為、選択ミスは将来のコスト増に直結する上、高価なツールであれば後戻りすることも困難になります。
■テストスクリプトの作成/メンテナンスコスト
自動テストの成否は、テストスクリプトを最小限のメンテナンスで何回使い続けられるかで決まります。何故ならスクリプトの初期作成コストは1回のマニュアルテストと比較すれば確実に大きいものですが、何回目かの使用で都度マニュアルテストを行った場合のコスト総量より小さくなる分岐点が存在するからです。どちらかというと初期作成コストよりメンテナンス(改修)コストを如何に抑えられるかがポイントとなります。
●テスト自動化のコストを下げるには
■テストツールの条件
価格と機能の両面を考慮します。ツールの購入コストは導入後の維持における足枷となり得ます。例えば高価なツールは使用開始後、より多くの人数や部署で使用するニーズ(ライセンスの追加)に対応できない可能性があります。また、より良い他ツールへの乗り換えも高価なツールであるほど減価償却の観点から困難になります。
機能に関しては極力シンプルなツールを推奨します。高価なツールはスクリプトで使える関数も多く、TestSuite的連携機能を装備しているものもありますが、それらは逆にツールのスキル習熟に対する高い障壁にもなります。多機能であるほど、自動テストの作成/メンテナンスコストも高くなる可能性が大きくなります。
■テストスクリプトの作成/メンテナンスコストを下げる条件
テストの種類とアプリケーションへの適用時期、また自動テストであることを念頭においたコーディング方法等を考慮します。テストの種類としては"回帰テスト"が、構築しやすくまた効果も見込みやすいテストと言えます。回帰テストとはソフトウェアの変更が他の部分に影響を与えていないか検査するためのテストです。当社TestGroupではテスト対象アプリケーションに対して最少の操作で計算結果等を取得し、旧版との比較を行うような自動テストを実施しています。
アプリケーションへの適用時期としては少なくとも1回の外部リリースを済ませた安定したバージョンにのみ実施するのが妥当です。ファーストリリース前のアプリケーションの仕様は常に揺れ動き続けているため、この時期に作成した自動テストスクリプトはそれに合わせてメンテナンスコストが増大する傾向にあり、コストの側面から自動テストの適用は避けるべきです。
テストスクリプトを実際に作成する場合、自動テストはインタフェースの変更を予測できないアプリケーションが相手であることを考慮します。求められるものは完璧な動作ではなくメンテナンスの早さと容易さです。従って、例えばGUI操作は必要最小限の記述で済ませ操作失敗の可能性を減らす、戻り値のチェック等も最小限に止めスクリプトの可読性を高める、等の工夫を行います。 |
|
▲自動回帰テストの実施例 |
●テストツール
「テストツールの条件」でも述べましたが、多機能高価なものよりシンプルで安価なツールの方が良いでしょう。当社TestGroupでは2年前よりシェアウェアであるWidows操作自動化ソフト"UWSC"の使用を開始し、2009年現在ほぼすべての自動テストをWinRunnerからUWSCにリプレース致しました。UWSCの導入により、WinRunner使用時に抱えていた「高価」であるが故ライセンスの追加が困難/他部署への導入が困難、「多機能」であるが故メンテナンスコストが下がりにくいといった問題点が解消され、テスト効率の向上に大きく寄与しています。
|
|
|
▲協賛メーカーの出展コーナー |
|
▲学内のシンポジウムの案内 |
本シンポジウムのURL: http://www.juse.or.jp/software/
フォーラムエイト論文発表: http://www.forum8.co.jp/product/ronbun.htm
|
|
|
|
|
>> 製品総合カタログ
>> プレミアム会員サービス
>> ファイナンシャルサポート
|