スマートフォンやパソコンなど、私たちの周りにはソフトウェアで動いている機器が数え切れないほど存在します。
その開発の工程でソフトウェアテストは、どんな目的でおこなわれており、それがなぜ必要なのかを解説します。
ソフトウェアの現状
近年、さまざまなモノのIoT(Internet of Things)化が進み、ソフトウェアはますます身近なものになってきました。それらが問題なく動いているのは、ソフトウェア開発の段階で、数多くのテストをクリアして世に出ているからです。
つまり、ソフトウェアテストは、製品の品質を左右する重要なものであると言えます。
近年では、ネット上で個人情報を取り扱うことも増え、システムの脆弱性などが問題視されることも少なくありません。
ソフトウェアの欠陥による事故や損失
万が一、ソフトウェアに欠陥があった場合、どのような事故や損失が考えられるでしょうか?
それらは、大きく4つのタイプに分けることができます。
1.経済的な損失
経済的な損失には、トラブルが発生した製品の改修費用や、クレーム受付、見つかった欠陥の修正、再テストにかかるコストなどが挙げられます。さらに、その製品を使っていたユーザーが受ける損失もあった場合、賠償問題に発展する可能性があります。
有名なものでは2000年問題(99年までしかカウントしないシステムの誤作動)などがあります。米国の調査によれば、ソフトウェアの欠陥が原因で発生する損害は、年間595億ドルにものぼるそうです。
また、そのうちの3分の1はソフトウェアテストで回避できた問題だと言われています。
2.時間の浪費
上記で説明した経済的損失で発生するコストのほとんどは、時間的な損失に置き換えられます。
しかし、これは単純な時間の損失にはとどまりません。
なぜなら、その欠陥を修正するために使う時間は、本来は別の開発担当者の時間であったかもしれません。それが原因で、次のプロジェクトに遅れが出てしまった場合、それは次の機会損失へとつながります。
3.信用の失墜
一度、欠陥を出してしまうと、その製品の品質は低いものと見なされます。
それは会社の信用の失墜につながり、同製品の競争力の低下につながります。有名な企業であればあるほど、この影響範囲は大きく、企業のブランドイメージそのものの低下につながりかねません。
4.障害や死亡事故
これまでは、主に時間やお金の損失について触れてきましたが、ソフトウェアの欠陥は、最悪の場合、障害や死亡事故につながります。
例えば、自動車や電車の制御システムに欠陥があった場合、大きな事故につながりかねません。
他にも医療機器などに欠陥があった場合などは、人の命に直結する可能性があります。
「当たり前品質」と「魅力的品質」
製品の品質は、顧客の満足度に直結します。顧客は、なんらかの目的があって、その手段としてソフトウェアを使います。その目的が達成できていると感じられなければ、たとえ仕様書どおりにシステムが動いていたとしても、顧客の満足度は低いでしょう。
つまり、最終的に顧客に喜んでもらえなければ、製品の品質は高いとは言えないのです。
では、品質を上げるためにはどうしたらいいのでしょうか?
製品の品質は、大きく「当たり前品質」と「魅力的品質」の2つに分けることができます。このふたつがどちらも高い状態にあって、はじめて「品質が高い」と言えます。
「当たり前品質」とは、その製品が仕様書通りに動くことを指します。そもそもこれが満たされていないと、顧客は次の魅力的品質まで見ない場合があるため、まずは当たり前品質を徹底しましょう。
これに対し、「魅力的品質」とは、その製品を使いたくなるような特徴を指しています。
例えば、この製品が他の製品よりも早く動作する、他の製品ではできないことができる、などが当てはまります。
ソフトウェアの品質に関しては、外部品質、内部品質とは?ソフトウェア品質特性についても併せてご覧ください。
【参考文献】
『ソフトウェアテスト教科書 JSTQB Foundation 第3版』
【参考URL】
https://www.juse.or.jp/departmental/point02/08.html,(参照 2016年7月30日)