ベリサーブのエキスパートが語る、ソフトウェア・テストで企業が抱える課題と「Oracle Application Testing Suite」の使いどころ

コンシューマーからエンタープライズまで、社会のあらゆる領域でITの活用が進む中、ソフトウェアが果たす役割の重要性も年々高まっている。当然、ソフトウェアの品質を高いレベルに保つことが、製品/サービスの質を向上させ、不具合による改修やリコールのリスクを低減するうえで重要なポイントになるが、現状、国内企業の取り組みにはまだ課題が多いようだ。オラクルのテスト・ソリューション・スイート「Oracle Application Testing Suite(ATS)」も活用しながら、品質検証をはじめソフトウェアの品質向上を支援するさまざまなサービスの提供で業界をリードするベリサーブのエキスパートらに、ソフトウェア・テストを巡り国内企業が直面する課題と、Oracle ATSの効果的な活用ポイントを聞いた。(編集部)

自社製品型と受託型、国内ソフトウェア開発プロジェクトには2つのタイプ。
受託型は品質向上の取り組みに多くの課題が

 2001年に大手SIerのソフトウェア品質検証部門から分離独立するかたちで設立して以来、さまざまな業種の企業および開発会社に対してソフトウェアの品質検証やセキュリティ検証、テスト・プロセス改善などの品質向上支援サービスを提供してきたベリサーブ。近年はスマート・デバイスや携帯電話、カーナビなどの自動車関連ソフトウェア、家庭用および商業施設用のエネルギー制御システム、およびその他の組み込みデバイスに加えて、各種Webサービスや企業システムを対象にした品質向上支援サービスでも顧客数を伸ばしている。

 その同社において、企業システム向けに品質向上支援サービスを提供している東日本第二事業部 事業部長の桑野修氏は、同社が支援に当たるソフトウェア開発プロジェクトの特徴を次のように説明する。

ベリサーブ 東日本第二事業部 事業部長の桑野修氏

 「ソフトウェアの品質向上という観点からは、日ごろ当社がご支援している開発プロジェクトは2つのタイプに大別できます。

 1つ目のタイプは、発注側が外部に提供する製品やサービスを開発する自社製品型のプロジェクトです。例えば、メーカーが作る自社製品の組み込みソフトウェア、自社のパッケージ・ソフトやWebサービスなどがこれに当たります。

 2つ目のタイプは、エンドユーザーからの委託で開発会社がソフトウェアを作るプロジェクトです。このタイプのプロジェクトでは大抵"1品もの"のソフトウェアを作りますが、発注側が定めた予算/納期内に収めるために、品質向上に関して十分な取り組みを行えていないケースが散見されます」

 それでは、これら2つのタイプのプロジェクトでは、品質向上の取り組みに関してどのような違いが見られるのか。桑野氏は次のように続ける。

 「自社製品型のプロジェクトでは通常、複数の顧客に提供する製品/サービスを開発しますが、品質に不具合があった場合の修正/リコールのリスクが大きいため、ソフトウェアの品質向上に関する投資を惜しまず、積極的な取り組みを行う傾向が見られます。

 一方、受託型のプロジェクトに関しては現状、予算や納期などの制約から、当社が提供しているような品質向上サービスを十分に活用できていないケースが多いと感じます。発注側や受託側の品質保証部門やPMO(Project Management Office)が品質検証を行う場合でも踏み込み方が浅くなりがちで、開発会社が行うテストの実施状況をチェックリストで確認する程度となり、不安を抱えながらプロジェクトを進めるケースが大半だという印象です」

非機能要件については要件定義の曖昧さが不具合の主要因に

 このように桑野氏は、特に受託型プロジェクトにおける品質向上の取り組み不足に危機感を抱いている。ただし、その原因が受託側だけにあるのかと言えば、そうとは限らないようだ。

 定義が曖昧になりがちな非機能要件を例にとれば、金融業界など発注側が高い品質レベルを求めるプロジェクトでは、受託型であっても要件が明確に定められ、その充足状況に関しても厳しく検証が行われるケースが多いという。

 しかし、業種によっては、非機能要件の定義が不明確なまま"暗黙の了解"の下で進められるプロジェクトが多数を占めるところもある。そうしたプロジェクトでは、カットオーバー後にシステムが問題なく動けばそれで済むが、性能/キャパシティ不足などの問題が見つかった際には、「それは仕様で明示されていなかったことなので、追加予算で対応します」、「それも含めて受託側の責任ではないか」といった具合に受託側と開発側で責任の押し付け合いとなり、結局は両者が損をすることになる。近年はシステムの性能やキャパシティ、セキュリティに関する意識は高まってきていると桑野氏は語るが、それでもまだ、取り組みは不十分なようだ。

 「そうした受託型プロジェクトで行われるテストの内容を見ていると、大抵は作ったものが正しく動くかどうかだけをテストしており、例えば『ユーザーはこんな使い方もするのではないか』という想定レベルが非網羅的です。限定的なテストケースしか作っておらず網羅性が低いうえ、短期間で大量のテストを行わなければならない場合に、『どこからどこまでを、どういった優先順位でテストするのか』に関して発注側との間で合意形成できていないケースも少なくありません。発注側に『受託側にお任せ』という意識がまだ根強くあることも、このような問題が起こる原因の1つだと見ています」

負荷テスト、回帰テスト、テスト管理は、
Oracle Application Testing Suiteなどのツールの活用を標準とすべし

 ベリサーブは、ソフトウェア・テストを巡るこうした状況そのものを、「第三者検証機関」という立場で発注側/受託側の双方を支援することによって改善しようと努めてきた。その中で同社が有効性を強く認識していることの1つが、「ツールによるテスト自動化」である。同社は現在、さまざまな業種を対象にした品質検証サービスの中で、オラクルのテスト・ソリューション・スイートであるOracle ATSの活用を進めている。

 「現状、ソフトウェア・テストの効率化や自動化に関しては、課題を抱えている企業が大半です。ソフトウェアの品質向上を効果的に行うには、本来、テスト・プロセスの整備や適切な要求仕様の策定など、上流フェーズでの取り組みにこそ力を入れるべきなのですが、多くの企業は性能検証やテスト管理など下流フェーズの作業に人手と労力をかけ、人海戦術に頼っているのが実情です。この領域は今日、Oracle ATSのようなツールで効率化/自動化することによって高いROI(投資対効果)を得ることが可能になっているわけですから、それをうまく活用することが、品質向上を効果的に行ううえで不可欠なはずです」

 桑野氏が「高いROIが得られる」と評するOracle ATSは、次の3つのツールによって構成される。

  • Oracle Load Testing:Webアプリケーションやデータベースの負荷テスト・ツール。多数のユーザーによるアクセスを擬似的に生成し、本番稼働前にアプリケーションの性能面の課題を検証することができる。最新バージョンでは、Test as a Service(TaaS)のコンセプトを取り入れ、ネットワーク上に用意した負荷テスト・サーバから、プロジェクトごとに都度、必要な数の疑似アクセスを生成し、アプリケーションの負荷テストを行うことが可能になった

  • Oracle Functional Testing:Webアプリケーションの機能テスト/回帰テストの効率化/自動化を実現するツール。画面操作のキャプチャ&リプレイによってテスト・スクリプトを簡単に作成できる点を特色とする

  • Oracle Test Manager:Oracle ATSによるテスト工程を管理するツール。テストに関する作業状況や品質情報などの一元的な管理、テスト資産の組織的な再利用、組織間における効果的な情報共有を可能にする

 これらのツールのうち、Oracle Load Testingに関して、ベリサーブは長年にわたって利用し続けてきた古株のユーザーである。同ツールの特色について、ベリサーブ 東日本第二事業部 ネットワーク検証サービス部 部長の松岡秀和氏は次のように説明する。

ベリサーブ 東日本第二事業部 ネットワーク検証サービス部 部長の松岡秀和氏

 「負荷テストに関して、予算の制約などが強いプロジェクトではオープンソースの負荷テスト・ツールを使うケースがありますが、それらのツールに関しては、擬似的な負荷生成の安定性に欠ける点に課題を感じています。ツール自体の信頼性の問題から正確かつ十分な負荷テストを行えないのでは本末転倒ですから。

 これに対してOracle Load Testingは、大規模なテストでも安定して負荷を生成することのできる高い信頼性を備えています。使いやすいGUIで作業が効率的に行える点、テスト結果のレポート形式が見やすく充実している点も大きな魅力ですね。オラクルによるサポートが得られることも、私たちがお客様に安心してサービスをご提供できるという点で重要なポイントです」

 松岡氏が挙げる特色は、オープンソース・プロダクトにはないOracle Load Testingの利点として、多くのユーザーが感じていることでもあるだろう。

 一方、桑野氏は、他の商用製品に対するOracle Load Testingの優位性として、次の点を挙げる。

 「当社はさまざまなベンダーのツールを扱ってきたことから、各社製品の特性を把握していますが、Oracle Load TestingはWebシステムの負荷テストにおいて高いコスト・パフォーマンスを発揮すると感じます。また、最近はスマート・デバイスからのアクセスを想定した負荷テストを行うケースが増えていますが、他のオープンソース・プロダクトや商用製品ではテスト(キャプチャ)できなかったアプリケーションが、Oracle Load Testingではテストできたといったこともありました。そのときは改めて、『選択肢の1つとしてOracle Load Testingを持っておくべきだな』と思いましたね」

 それでは、Oracle Functional Testingがカバーする機能テストや回帰テストの領域に関して、国内企業におけるツールの活用状況はどのようなレベルにあるのだろうか。松岡氏は次のように語る。

 「回帰テストは、負荷テスト以上に効率化や品質向上への関心が高い領域ではありますが、残念ながら現状、それらを実践できている企業は少数派です。

 今日のソフトウェアは、ライフサイクルを通じて機能の追加/変更が度々生じます。そうした中で高い品質を維持していくには、Oracle Functional Testingのようなツールによってテストを効率化/自動化することが極めて有効です。しかし、特に受託型プロジェクトでは、1回ごとのプロジェクト予算から導入コストを捻出するのが難しいといった理由から、ツールの導入を見送るケースが見られます。回帰テスト・ツールは複数回のプロジェクトを通して使ってこそ効果が上がることを考えると、コスト配分の考え方からして間違っているのです。このことが、結果としてソフトウェアのライフサイクル全般を通じた品質保証のコストを押し上げることにもつながっています」

 また、ベリサーブ 東日本第二事業部 営業部 担当部長の川瀬彰司氏は、テスト工程の一元的な管理を実現するOracle Test Managerのようなツールが、ソフトウェア・テストに関して今日の企業が抱える課題を解決するうえで重要な切り札になると語る。

ベリサーブ 東日本第二事業部 営業部 担当部長の川瀬彰司氏

 「国内企業では、テスト管理を表計算ソフトによって行っているところが多いのが実情です。しかし、それらはあくまでもスプレッドシートに過ぎず、それだけで複雑化が進むテスト工程の管理を十分に行えるとは言えません。

 例えば、仕様書の内容に紐付くテストケースや(リリース後に生じた)不具合の把握、仕様変更が生じた際の影響範囲の把握、不具合を改修した際に行うべき回帰テストの範囲の把握などは、個々の情報を紐付けてトレーサビリティを確保しながら管理するOracle Test Managerのようなツールを使うことで、正確かつ迅速に行えるようになります。それを表計算ソフトによって行おうとすれば、相当な努力とコストが必要になるでしょう。それらの努力/コストは、本来そこにかけるべきものでしょうか? 特に不具合管理は、今やツールの利用を前提としなければ、プロジェクトを円滑に回せないところまで来ています」

テスト・プロセスの改善でも、「ツールによる自動化」が実践項目の1つに

 「ツールによる自動化がもたらすROIの認識不足」、「コスト配分の考え方の誤り」がツールの活用が今ひとつ進まない背景にあるというのが松岡氏、川瀬氏の指摘だが、加えて次のような事情もあると桑野氏は明かす。

 「Oracle Test Managerのようなテスト管理ツールは、組織的に活用することで、より大きな効果が得られますが、それには、これを標準のテスト環境として組織内に展開しなければなりません。しかし、特に受託型の場合、プロジェクトごとにメンバーが入れ替わり、予算もプロジェクト単位となるため、社内の品質検証部門などが強く旗振りを行わない限り、導入が円滑に進まないという事情もあるようです」

 逆に、自社製品型プロジェクトの場合、中長期的な視点から品質向上に取り組む意欲が強く見られる。そこで、まずはそうしたプロジェクトに対して、Oracle ATSなどを活用したテスト自動化の効果的な適用方法をより積極的に提案していきたいという。

 「今日、品質向上が思うようにいかないのは、自社のテスト・アプローチに問題があるためだと認識している企業は少なくありません。そうした企業に対して、当社ではテスト・プロセス改善に向けた支援の一環として、『テストプロセス診断サービス』を提供しています。

 このサービスでは、テスト・プロセスのどこに問題があり、どのような改善余地があるのかを診断しますが、そうした診断項目の1つに『テスト自動化』があります。テスト・プロセスの自動化への取り組み状況を調査したうえで、お客様に最適な自動化方法をご提案し、さらにそれを取り入れたテスト・プロセスの改善までご支援しています」(桑野氏)

テストプロセス診断サービスでは、上記の段階を経て、
テストがもたらす効果の最大化を目指してプロセス改善を行う

 ベリサーブは、業界の有識者らも交えて実施している「システム検証理論研究会」の成果も取り入れたソフトウェア検証方法論として「VSMethod(Veriserve Standarad Method)」を提供しており、テストプロセス診断サービスでは、同方法論のノウハウも生かしてプロセス改善に当たっている。

 また同社は、Oracle Databaseを利用したテストの効率化/自動化を実現する「Oracle Real Application Testing(RAT)」などのツールも、今後は積極的に活用していきたいという。

 「私たちがテストをご支援させていただくのは、エンタープライズ領域の中でも特に高い信頼性が求められるシステムであり、当然、データベースはOracle Databaseを利用しているケースが多く見られます。そうしたことから、Oracle RATのようなOracle Databaseとの親和性が高いテスト・ツールは、当社の中でも存在感が高まってきています」(桑野氏)

 プロセス改善から自動化まで、ソフトウェア・テストに関する包括的なサービスの提供によって多くのプロジェクトの品質向上を支えるベリサーブ。Oracle ATSをはじめとするオラクルのテスト・ソリューションを活用し、今後同社がどのようなサービスを展開していくのかに注目したい。

【課題解決/実践に役立つ情報が満載!】

 企業ITの方向性/成長戦略をお考えの皆様へ、下記のセミナーでは、ITシステム戦略の構築に役立つ情報をさまざまな角度からお届けします。

>>「達人に聞く!データベースアップグレード成功の極意」
  8月30日(金) オラクル青山センター


>>「実機で体験! テストツールで機能/負荷テストを効率化しよう」
  9月3日(火) オラクル青山センター


>>「顧客事例に学ぶ、テスト自動化によるアプリケーション品質向上の実践」
  9月5日 14:00~16:00 富士通トラステッド・クラウド・スクエア


>>「第13回システム検証セミナー~安心・安全を追求したソフトウェア検証」
  9月13日(金) 東京ドームホテル

Comments:

Post a Comment:
Comments are closed for this entry.
About

Twitter
Facebook

Search

Recent Posts
Archives
« 5月 2015
     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
      
Today