ソフトウェアテスト

  1. Qbook+
  2. ソフトウェアテスト
  3. ソフトウェア開発における「第三者検証」のメリット

ソフトウェア開発における「第三者検証」のメリット

ソフトウェア開発における「第三者検証」のメリット

現代の私たちの生活は、数えきれないほど多くのソフトウェア搭載機器やシステムによって支えられています。家電製品、交通機関、ガス電気などの生活インフラから始まり、携帯電話や、ショッピング、ビジネスにおける業務システムなど、ソフトウェアの存在なくして、私たちの生活は考えられません。 さて、こうした私たちの暮らしを豊かにしているソフトウェアは、日々、世に送り出されています。では、ソフトウェアが正しく、そして安全に機能するかは、どのようにテストされているのでしょうか。 今回は、客観的な視点からソフトウェアの評価テストを行う「第三者検証」についてご紹介したいと思います。

 

ソフトウェアテストを行わない場合に起こるリスクとは

8607-00005-02

まずはじめに、ソフトウェアを世の中に送り出すためには、必ずテストが必要であることを考えてみたいと思います。テストを行う理由の1つに、ソフトウェアのトラブル回避が挙げられます。
高性能なソフトウェアは構造も複雑で、使用中にトラブルが起こる可能性も考えられるため、事前にテストを行いさまざまな環境下で運用可能かどうかを確認しておく必要があります。
仮にテストを行わずにソフトウェアをリリースした場合、以下のようなリスクが生じるおそれがあります。

・コスト増加
・時間の損失
・信用、ブランドイメージ低下
・システム障害や事故

不具合の修正にはコストも時間もかかりますし、一度大きなトラブルが起これば企業のイメージ低下はおろか、企業そのものの存続の危機にもつながります。ソフトウェアの品質を高めるとともに、後々のリスクを最小限に抑えるためにもソフトウェアテストは重要です。

第三者検証とは

さて、テストの重要性を確認したところで、今度は第三者検証について考えてみましょう。本コラムでいう「第三者検証」とは、開発にかかわっていない第三者がテスト対象のソフトウェアもしくはシステムの品質の検証や評価を行うことを指します
第三者が検証を実施することで、検証の客観性や信頼性などが高まる、コストが削減できるなど、様々なアドバンテージが期待できます。

第三者検証はなぜ必要?

ソフトウェア開発において、多くの開発現場では、ソフトウェアを作った開発者自身が、自ら作ったソフトウェアをテストしています。それでは不十分なのでしょうか。なぜ、第三者の視点で行うソフトウェアテストが必要なのでしょうか。以降では第三者が検証することの優位性を考えてみたいと思います。

第三者検証のメリット

ここでは、第三者検証を行う代表的なメリットを4つご紹介します。

【メリット1】開発者自身のテストでは見逃しがちな不具合の発見率が高まる

第三者検証を行うことで、開発担当者では見逃しがちな不具合の発見率を高めることができます。なぜ、それが可能になるのか、簡単にご説明します。

「自分の間違いは自分では気づきにくい」
まず、「自分で作ったものを自分自身がテストすることの困難さ」を考えてみたいと思います。人間の脳は「思い込み」から自由ではありません。とりわけ、自分が作ったソフトウェアを自分がテストする場合「ちゃんと動くはずだ」あるいは「ちゃんと動いてほしい」という「思い込み」が働きます。自分の書いた文章を何度も読み返したつもりでも、第三者が校正すると多くの誤字脱字が発見されることは、皆さんも経験があると思います。これは、人間の脳は思い込みを優先させて、現実に目の前にある間違いを「あえて気付かない」という性質があるからです。だからこそ、新聞や書籍の出版に「校正者」が不可欠であるように、ソフトウェアテストにも第三者による検証が有効であり、また必要である理由でもあります。

「作り手の視点」と「使う側の視点」は違う

8607-00005-03
ソフトウェアテストで発見することができる不具合には、いくつか種類があります。
仕様書に記載された正常系の機能操作などは、比較的、テスト項目の作成も容易であり、開発担当者や運用担当者自身が行った場合も不具合は発見できるでしょう。

しかし、正常系に比べて仕様書に記載が薄くなりがちな、異常系操作や、エラー処理、禁則処理、割り込み処理など、「特定条件下でのみ発見される不具合」は一般的なテストでは手薄になりがちな傾向があります。また、システムの機能面だけでなく、使い勝手の良さ、安全性や利便性などにも着目し、いわゆる非機能要件の観点からの検証も成果物の検証には必要です。

自分自身で機能を設計・実装した開発担当者は、仕様書に記載されている割合が多いシステム面の基本挙動や機能面に注目が向きがちです。逆に、仕様書に記載が少なくなりがちな異常系の操作や挙動、非機能面における不具合を見落としやすい傾向が存在します。開発期間が切迫し、時間的余裕がない場合はなおさらその傾向は高まります。
だからこそ、先入観のない第三者の視点やさまざまなテスト経験・スキルを持つテストエンジニアが第三者検証を行うことにより、見逃しがちな不具合の発見率が高まるのです。

【メリット2】テスト要員の常駐不要、リソースを開発業務に専任

第三者検証をテスト工程に導入することのもう一つのメリットは、テスト要員を常時常駐させる必要がなくなることです。
「テスト」と「開発」を切り分けることで、テストに使用していた人的リソースを開発業務に専念させることができます。

【メリット3】コスト削減につながる

ソフトウェアリリース後に不具合が見つかった場合、多くの修正コストがかかりますが、第三者検証を導入し、問題点を早期発見できれば作業の手戻りを減少させ、コスト削減にもつながります。最近では、実装前の仕様書のレビューの段階から第三者検証会社が参加し、仕様書の漏れ抜けや、あいまいな個所を指摘修正することにより、多くのコスト削減効果が報告されています。
また、メリット2でも記載しましたが、テスト要員を第三者検証会社にアウトソースすることで、開発の閑散期における、常駐のテスト要員のコストも削減可能です。

【メリット4】信頼の担保と資産として活用できる

第三者検証会社は、テスト業務を請け負うに当たっては、テスト計画書、テスト設計仕様書、テストケース、テストサマリーレポートといった、質の高いテストドキュメントを成果物として提供できる会社もあります。こうしたテストドキュメントは、ソフトウェアの安全保証ができるため、クライアントに対して信頼を担保することができます。また、質の高い第三者検証会社が提供するドキュメントは、専門会社としての知見から作成するため、今後の開発プロジェクトで参照する資産としての活用が可能です。

以上、見てきたように、質の高い第三者検証会社を導入することで、自社の開発者のみのテストだけでは得られない、多くのアドバンテージが存在します。では、第三者検証会社を選ぶポイントはどこにあるのでしょうか。

質の高い第三者検証会社を選ぶポイント

【ポイント1】体系的な自社のテストメソッドを持っている

第三者検証会社として、一貫したテストのプロセスと手法を持っているかどうかは、大きなポイントです。質の高い第三者検証会社は、たとえ開発仕様書に記載されていなくても、異常系や非機能要件を漏れ抜けなくテストできるテスト観点や、テスト設計手法を持っており、開発者自身では見落としがちな不具合を体系的に見つけるメソッドを持っています。

【ポイント2】自社スタッフの教育体制がしっかりしている

テストはともすれば「属人的」なものになりがちです。第三者検証テスト会社がアサインするエンジニアが人によって考え方がバラバラでは、安心して、テストを任せることができません。質の高い第三者検証会社は、ポイント1で紹介した体系的なテストメソッドを、同じく、体系的に自社のエンジニアに教育する体制を持っています。そのことにより、常に一定の質のテストサービスを提供できるようにしています。

【ポイント3】体系的なテストドキュメントを提供できる

テストドキュメントの質が高くなければ、ソフトウェア品質の保証はままなりません。テスト計画、テスト設計、テストケース、テストサマリーレポートがとわかりやすく、客観的に書かれていること。再利用可能なこと。仕様変更や時期のバージョンアップに資産として使えるレベルであることなどが、質の高い第三者検証会社を選ぶポイントです。

【ポイント4】各ドメインの豊富な検証経験を蓄積している

体系的なテストメソッドを確実にするのが、豊富なテスト経験の蓄積です。一口にソフトウェアテストといっても、組み込み系、業務系、Web系、といった、ドメインに加え、さらに専門の業務知識も要求されます。第三社検証会社を選ぶにあたっては、過去にどれだけの豊富なドメインのテスト案件を経験しているかも大事なポイントです。

質の高い第三者検証会社を選ぶにあたっては、こうしたポイントを満たしているかどうかをご検討下さい。

おわりに

近年ソフトウェアが現代の私たちの生活に占める重要性は、ますます増大しています。良い第三者検証会社をうまく開発現場に活用することができれば、ソフトウェアの品質、コスト、納期の改善に大きな効果が期待できます。是非、第三者検証会社を一度ご検討されてはいかがでしょうか。

資料ダウンロード

  • ソフトウェアテストの勘所

    ソフトウェアテストを始めて行うエンジニアのための勘所を抽出しガイドブックにまとめました。テストに初めて触れる方、メンバーにテストを説明する方にご利用しやすくまとめています。

  • ソフトウェア開発データ白書記載データとの比較資料

    一般的なテストプロジェクトとバルテスのテストプロジェクトを比較した冊子です。1000Hあたりの不具合検出数、実施テストケース数などを算出し、どの程度の差があるのかを比較しております。

  • 大手50サイトの診断結果から見る最新Webセキュリティの傾向 2018年版

    バルテスがセキュリティ診断を行った50サイトにおける脆弱性傾向をまとめた資料です。どういったレベルの脆弱性が見つかっているのか、その割合はどういったものなのかなどを具体的な数値としてまとめています。

Qbook+編集部
ライター:
Qbook+編集部

バルテス株式会社 Qbook+編集部。 ソフトウェアテストや品質向上に関する記事を執筆しています。

関連記事