トップページSIソリューション第三者検証サービス (テスティング・サービス)8. インタビュー8.1. 第1回: ソフトウエアの品質向上と効率的なテスティング - 第三者検証サービスの活用

8.1. 第1回: ソフトウエアの品質向上と効率的なテスティング - 第三者検証サービスの活用

サービス&テスティングセンター 技術部長 榎木誠一

サービス&テスティングセンター
技術部長 榎木誠一

ソフトウェア品質の確保・向上のため、ソフトウェア検証が注目されている。

ソフトウエアの品質問題が叫ばれるようになって久しい。ソフトウェアの品質確保には、十分なテストが欠かせないが、開発者みずからテストを実施する場合、客観性に限界があると考えられている。この問題の解決策として、東芝情報システム株式会社 (以降、東芝情報システム) は、ソフトウェアを客観的に検証するサービス第三者検証サービス (テスティング・サービス)を提案している。

東芝情報システムが提案する第三者検証サービス (テスティング・サービス)とはどのようなものなのだろうか? 東芝情報システム サービス&テスティングセンター 技術部長 榎木誠一氏にお話をうかがった。

不具合の頻発は会社の存続にも影響する

—— まず、第三者検証サービス (テスティング・サービス) を提供される目的についてお聞きしたい。

榎木: 第三者検証サービス (テスティング・サービス)を提供する目的は、ソフトウェア開発の支援です。具体的には三つ。品質コストスピードです。

—— 品質とは何ですか?

榎木: ソフトウェア品質の向上のことです。

近年、ソフトウェアの大規模化・複雑化が急激に進んでいます。また、ソフトウェアの利用領域の拡大に伴い、信頼できるソフトウェアが求められています。

信頼できるソフトウェアを開発するためには、ソフトウェア品質を客観的に評価する必要があります。ソフトウェア品質を客観的に評価するためには、開発部門とテスト部門を分離し、異なる視点でソフトウェアを評価することが不可欠だと、弊社では考えています。第三者検証サービス (テスティング・サービス) では、ソフトウェア開発にテスト部門として参加し、客観的な視点でテストを実施します。

弊社は、ソフトウェアの開発スキルテストスキルは異なるものだと考えます。弊社の第三者検証サービス (テスティング・サービス)では、テストに関して十分に教育と経験を積んだテストエンジニアがテストの実施にあたります。テストエンジニア の専門的な視点で、開発者が見落としがちな問題点を発見します。

—— コストとは何ですか?

榎木: ソフトウェア開発コストのことです。

大規模化・複雑化が進むソフトウェア開発では、常に開発コストが問題となります。

品質でもお話ししたように、テストエンジニアはテストのプロフェッショナルです。テストに関する専門的な知識・ノウハウをもとに、効率的にテストを実施することができます。結果として、ソフトウェア品質を維持・向上させつつ、テストのコストを圧縮することができます。特に、テストエンジニアが計画するテストでは、コストは常に重要なファクターとして考慮されます。無駄なテストは省きつつ、リスクを勘案してテスト計画を立案します。

また、開発部門がテストを実施する場合、人員・時間などの開発リソースを、テストに振り向けることになります。開発リソースが減少した結果、開発の進捗は鈍化・停止してしまうことになります。テスト部門がテストを実施する場合、一見、テスト実施リソースが追加されてコストアップしているように思われがちですが、トータルの開発コストを比較した場合、コスト圧縮につながります。

さらに、ソフトウェアに欠陥を含んだままリリースしてしまった場合、その対処には欠陥を発見する以上のコストがかかってしまいます。第三者検証サービス (テスティング・サービス) によるソフトウェア品質向上は、そのリスクの回避につながります。

—— スピードとは何ですか?

榎木: ソフトウェア開発スピードのことです。

顧客ニーズ・市場ニーズに即応するためには、ソフトウェア開発期間を圧縮することが必要です。素早いサービスイン、タイムトゥマーケットなど、ソフトウェア開発にはスピードが求められています。

コストの件でもお話ししましたが、開発部門とテスト部門が平行して作業を実施することで、ソフトウェア開発期間を短縮することができます。

また、テスト部門による欠陥の早期発見は、開発の手戻りを抑制します。これにより開発速度を加速することができます。

—— それらは従来言われていることでは?

榎木: そのとおりです。しかし、よりニーズは高まり、切実な問題になっています。

たとえば、組み込みソフトウェア分野を考えてみましょう。 携帯電話, カーナビゲーション, MFP (デジタル複合機), POS システム, 自動改札機, デジタル家電 などの製品でソフトウェアに欠陥が見つかった場合、その欠陥を修正して再度配布するコストは大きなものになるでしょう。

また、エンタープライズシステム分野・業務システム分野を考えてみましょう。 医療系システム, 官公庁系システム, 流通・金融システム, 製造業システム, 報道・交通システム, 基幹業務システム などの製品でソフトウェアに欠陥が見つかった場合、欠陥が及ぼす影響度は、致命的なものになる可能性があります。

近年のソフトウェア開発においては、不具合の発生は企業の存続に影響を及ぼす可能性があります。従来のようにソフトウェア開発部門がテストの役割を担うという方法は、限界なのではないか? 弊社が第三者検証サービス (テスティング・サービス)を提供する目的は、そこにあります。

「Wモデル」の採用で問題を早期発見

—— 第三者検証によるテストはどのように実施されるのか?

榎木: 第三者検証サービス (テスティング・サービス)では、ソフトウェア開発工程モデルとしてW モデルを採用しています。W モデルで定義されるプロセスに沿って、テストを実施します。

また、テスト結果はテストサマリーレポートにまとめ、お客様、開発者、プロジェクト・マネージャーへ報告します。

—— W モデルとは?

榎木: ソフトウェア開発工程モデルのひとつです。

W モデル

図10 W モデル


従来、工程モデルとして、ウォーターフォール型開発手法のVモデルが定義されていました。これを改良したものがW モデルです。

—— W モデルを採用するメリットは?

榎木: W モデルを採用するメリットは、問題の早期発見です。

従来のVモデルには、大きな欠点がありました。

Vモデルでは、要求分析・基本設計・機能設計・コーディングので、各種テストを実施することになっています。この工程に沿って開発を進めた場合、大きな手戻りが発生することがあります。

たとえば、納品直前の検証工程で不具合を発見した場合、基本設計以前の工程にさかのぼってやり直す必要があるかもしれません。このようなリスクは無視できません。

W モデルでは、この点が改善されています。

W モデルでは、テストの計画テストの設計テストの作成は、コーディングより前の工程で、開発工程と平行して実施します。

これにより、ソフトウェア設計段階においても、ソフトウェアの設計エラーを発見することができるようになっています。結果として、手戻りの削減が可能となり、工期の短縮も期待できます。

—— テストサマリーレポートについて、もう少し詳しくお願いします。

榎木: テストサマリーレポートはテスト結果を要約したレポートです。

単なる要約ではなく、テスト結果に基づいた評価も含んでいます。テスト結果から、不具合を分析し、その重要度・影響度を測るとともに、不具合要因についても考察します。

弊社は、発見された現象の裏に隠された問題を発見することが重要だと考えています。また、同時に、問題が開発プロセスにある場合、その問題に対する改善についても提言します。

限られた期間で効率的に検証するための専門技法・手法

—— テストに関する専門的な知識・ノウハウとは、どんなものですか?

榎木: 弊社のテストに関する専門的知識・ノウハウは広範囲にわたります。これらは東芝情報システム 第三者検証技術標準」としてまとめています。

これは、弊社が作成した第三者検証作業に関する技術標準文書です。テスト概要・進め方、テスト作成文書、テスト技法・手法、テストツールを調査した結果をまとめています。第三者検証サービス (テスティング・サービス) の作業は、この技術標準文書に沿って進められます。

—— テスト技法・手法について、もう少し詳しくお願いします。

榎木: 多くのテスト技法・手法がありますが、よく利用されるテスト技法・手法として直交表についてご説明します。

直交表は、組み合わせテストのテストケースを、合理的に削減するために使われます。

たとえばプリンターの機能をテストする場合を考えてみましょう。プリンターの出力形式を指定する要素として、用紙サイズ・印刷の向き・カラーがあると仮定します。用紙サイズが A4, B5 の 2 種類、印刷の向きが縦・横の 2 種類、カラーはモノクロ・カラー 2 種類とします。このときの要素の組み合わせは 2 × 2 × 2 で 8通りとなります。すべての組み合わせをテストする場合、テストケースも 8 ケース用意することになります。

表6 すべての組み合わせのテスト
# 用紙サイズ 印刷の向き カラー
テストケース #1 A4 カラー
テストケース #2 A4 モノクロ
テストケース #3 A4 カラー
テストケース #4 A4 モノクロ
テストケース #5 B5 カラー
テストケース #6 B5 モノクロ
テストケース #7 B5 カラー
テストケース #8 B5 モノクロ

直交表 を使い、2因子間網羅 100% の考えを用いると、このテストケースを 4 ケースに減らすことができます。

表7 直交表, 2因子間網羅 100% によるテストケース
# 用紙サイズ 印刷の向き カラー
テストケース #1 A4 モノクロ
テストケース #2 A4 カラー
テストケース #3 B5 カラー
テストケース #4 B5 モノクロ

一般的に、因子が増えるほど直交表によるテストケース削減効果が現れます。

2因子間網羅 100% の組み合わせテストだけで十分か?というご質問をいただくことがありますが、多くのバグは 2因子の組み合わせで発生する[5] ことが報告されています。

—— テストにはどのようなツールを使われますか?

榎木: お客様の要望などをお聞きした上で、テストの目的にそって常に最適なツールをご提案しています。ツールについても東芝情報システム 第三者検証技術標準」にまとめています。

特に、弊社は不具合情報管理システムとして PRISMY ™ (プリズミー) をお勧めしています。 PRISMY ™ は不具合を管理するウェブシステムです。発見した不具合情報を登録し、解決までの状況をトラッキングすることができます。不具合情報を、開発部門とテスト部門で共有することができます。

品質検証サービスの認知度向上をめざす

—— 今後のビジネス展開についてお聞きしたい。

榎木: 弊社は第三者検証サービス (テスティング・サービス)として「ソフトウェア検証サービス」「ユーザビリティ評価サービス」「ハードウェア製品品質評価サービス」「規格認定サービス」を提供しています。

「ソフトウェア検証サービス」 は、米国ではビジネスとして確立しています。しかし、残念ながら日本国内では、ビジネスとしての認知度は低い状況です。弊社は、東芝グループ各社と連携し、「ソフトウェア検証サービス」というビジネスを確立してゆきたいと考えています。

また、2005年には、検証サービス企業の業界団体 一般社団法人 IT検証産業協会 ( IVIA , IT Verification Industry Association) が設立され、業界全体も活性化が進んでいます。弊社も IVIA に参加し、積極的に活動を推進しています。

現在、弊社が第三者検証サービス (テスティング・サービス)で提供しているサービスは「ソフトウェア検証サービス」が中心となっています。しかし、将来的には、「ソフトウェア検証サービス」 で培った技術そのものを商品化することや、品質コンサルティング業務へ進出することを目指しています。

弊社は、今後も検証技術・ノウハウの蓄積に努め、ソフトウェア品質の向上に寄与することで、安心・安全な社会作りに貢献してゆきたいと考えています。

お知らせ一覧 動画一覧 お問い合わせ
東芝グループは、持続可能な地球の未来に貢献します。