システム品質の維持向上を図ることが開発プロジェクトにとって重要なテーマ/ 効率化と品質向上のために、テスト工程はどうあるべきか?

情報システムに対する「品質」の要求がますます切実なものとなるなか、ソフトウエアの品質担保に向けた“最後の砦”ともいえる「テスト工程」の改善は、まさに今日の開発プロジェクトにとって重要なテーマの1つである。野村総合研究所(NRI)では、同社の提供するSIフレームワーク「オブジェクトワークス」にテスト工程の効率化を支援する「オブジェクトワークス/TEST」を追加するなど、開発全体の標準化の一部としてテスト工程を行うための「テストフレームワーク」構築を強力に支援している。

システム品質の維持向上を図ることが開発プロジェクトにとっての重要なテーマ

ソフトウエアの効率化と品質担保に向けた“最後の砦”であるテスト工程への注目が高まる
 

 近年、ITの社会全体に対する影響力がさらに増大し、情報システムの構築、ソフトウエア開発プロジェクトにおいては、かねてからの要請であった「コスト」や「工期」に加え、ソフトウエアの「品質」に対する要求が切実なものとして浮上してきている。つまり、ますます厳しくなるユーザーの短納期、低コストの要求に応えながら、成果物の品質の維持向上を図ることこそが、激しいビジネス競争のなかに身を置くユーザーの要求を満たすうえで、開発プロジェクトにとっては避けることのできない重要な課題となってきている。

 こうした動向を背景に、ソフトウエア開発に関わる一連の工程の中でも、特に「テスト」に対する関心が、いままさに急速に高まりつつある状況だ。言うまでもなく、テスト工程は、ソフトウエアの品質の如何に直結するフェーズであり、まさに開発の効率化と品質を担保する“最後の砦”だと捉えることができる。昨今では、このテスト工程における取り組みを改善するための方法論やテスト支援ツールなどの数々が考案されてきている。なかでも、テスト支援ツールには、テストの実行・結果検証などを自動化する単体テストドライバや操作を記録するキャプチャリプレイツールなどが広く市場に出回っている。


テスト支援ツールの導入をめぐる「誤解」を解消することが肝要

 しかしその一方で、こうしたテスト支援ツールの導入に失敗するという事例も少なからず見受けられる。そして、その原因のひとつとしてあげられるのが「コスト圧縮に対する多大な期待」である。具体的には、支援ツールの導入によりテスト工程を自動化することで、作業工程と人員コストを削減できるという期待に対し、実際にはツールの導入に関わる手間が思いのほか大きく、使いこなすためにはツール仕様についての学習も必要となるほか、自動実行用テストデータやテストコードの準備といった作業も不可欠であるといった現実にぶつかってしまう。その結果、導入時に思い描いていたような省力化を実現できず、導入に際しての期待と現実の成果との間にギャップが生じてしまっていることから、「テスト支援ツールは役に立たない」と判断してしまっているユーザーも多い。

 ここにおいて改めて問い直さねばならないのは、ツールの導入によって目指すべき本来の目的とは何なのかということである。言い換えれば、テスト支援ツールはコスト削減につながりにくいという評価の裏には、ツール活用の目的そのものに対する誤解があるのではないだろうか。

 そもそもテスト支援ツールの導入によって目指されるべき本来の目的は、システムの品質向上にあり、その導入自体、品質向上に向けた取り組みを標準化するための一環と捉えるべきなのである。つまり、「品質」という視点を欠いて、テスト支援ツールを単一のプロジェクトに導入したのみで、その成果をテスト工程の個々の作業に関わるコストの問題と短絡的に結びつけて判断すべきではないのだ(図1)。

 要するに、そうしたテスト支援ツールの導入に関わる誤解を改め、開発ライフサイクル全体の標準化の一環として、テスト工程の標準化にテスト支援ツールを貢献させるという観点に立った継続的な取り組みを実践していくことで、はじめてコストの削減効果も得られることになる

 

 

効率化と品質向上のために、テスト工程はどうあるべきか?

 

 

「テストフレームワーク」=「テスト支援ツール」+「テスト標準」

では、システム開発における効率化と品質を向上させるために、テスト工程はどうあるべきか。そこにおいて、最も重要なポイントとなるのが、開発に携わるベンダーやテストプロセスを統制するため、テスト支援ツールの活用やテスト工程を標準化するということである。それは具体的にいうなら、どのようなツールを使って、どういうテストを実施し、どういった証跡を残し、どう報告すればよいかといったことを明確に定義し、プロジェクトを統制するための最適な「テストフレームワーク」を構築することにほかならない。このフレームワークこそが、テスト支援ツールの活用を適切にコントロールし、常に高品質なテストを実施するためのプロセスを確立するうえで不可欠なものとなるのだ。

 NRIでは、そうした観点から、テスト支援ツールの利点を最大限に活かし、テスト工程の作業全体を統制するための枠組みとなる独自のテストフレームワークを整備、提供している。本来、テストフレームワークに求められる要件としては、テスト工程全般にわたる作業が明確に定義され、標準化されていることであり、テスト支援ツールによる自動化はそれに向けての有効な手段となる。しかし、テスト工程において一般的なテスト支援ツールが自動化できるのは、テスト対象となるソースからのテストコード自動生成をはじめ、画面操作のキャプチャによるテストスクリプトの生成や、テストの自動実行および実行結果の保存など、あくまでもテスト実行操作に関わる部分が中心である。要は、そのサポート範囲に自ずと限りがあるのだ。

 これに対し、例えばツールの設定方法や構成管理ルール、あるいはテストの仕様として何を記載するか、どんな観点でテストデータを作成するか、さらにはテスト結果をどんなフォーマットで報告するかなど、実際にテストプロセスを進めていくうえで管理すべき内容は多岐にわたっており、ツール単独ではルール化できない部分も多い。そこで、テスト操作やテストデータなどツールによってルール化できる部分にはテスト支援ツールを利用し、ツール単独でルール化できない内容については「テスト標準」というかたちで規定を設けて統制をとるというのがNRIの考え方だ。つまり、「テスト支援ツール」+「テスト標準」で構成されるのが同社の提唱するテストフレームワークなのである。開発全体の基盤整備と標準化の流れの中で、テストの工程においても、テスト支援ツールを上手く活用しながら、成果物や実施手順などの工程定義を整理・標準化しフレームワーク化することで、テストプロセスの強固な標準化と統制が可能になる。


テスト工程の品質向上と効率化を支援する「オブジェクトワークス/TEST」

 NRIでは、J2EEおよび.NET Framework環境に対応したSIフレームワーク「オブジェクトワークス」を提供している。オブジェクトワークスは開発・実行基盤製品として、トランザクション制御やセキュリティコントロール、システム連携、印刷機能などの広範囲なIT基盤機能を提供するもので、すでに数多くの企業システムにおいてその高度な信頼性と生産性が実証されている。

 「オブジェクトワークス」には、システム開発におけるテスト工程の効率化と品質向上を支援するためのコンポーネント「オブジェクトワークス/TEST」が搭載されている。オブジェクトワークスが提供してきた「PL(プレゼンテーションロジック)単体テスト支援機能」「BL(ビジネスロジック)単体テスト支援機能」「整合性チェックツール」「監査情報レポート機能」のほか、最新バージョンでは、「オンラインテスト支援機能」が新しく追加されるなど、更なる強化が図られている。

 このような形で、整備された開発基盤にテストフレームワークを構築することにより、NRIでは開発全体の標準化の一部としてテスト工程の標準化を強力に実現しているのである(図2)。また、NRIでは、アプリケーション開発標準化支援サービスのひとつとしてテストフレームワークの策定もサポートしている。こうした開発標準と一体化されたテストフレームワークおよびサービスを活用することで、テスト工程全般にわたるプロセスの標準化が実現され、ひいてはそれがテスト工程の効率化ばかりではなく、システムの維持管理フェーズを含めた開発ライフサイクル全体での品質管理を実現し、情報システムに関わる長期的なガバナンスの強化とTCO削減に大きく貢献することとなる。

図2:先頃登場したNRIの提供する標準開発基盤「オブジェクトワークス」の最新バージョンでは、テスト工程の品質向上と効率化を支援するためのコンポーネントとして「オブジェクトワークス/TEST」が搭載されている。

 

 情報システムがユーザーのビジネスの根幹を担うに至っている今日、システムの品質を担保するうえでテスト工程の改善が開発プロジェクトにとって最重要のテーマとなっていることはこれまで述べたとおりだ。そして、開発標準の中にテスト工程の標準となるテストフレームワークを明確に位置づけて取り組むことで、システム開発全体のQCD、すなわち「品質」「コスト」「納期」のバランス向上に大きな役割を果たすことは言うまでもないだろう。

 

 

 

 

 

詳細は

http://granarch.nri.co.jp/contents/etc/ITPro_test/index.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值