WRブログ

テスト観点~概要と具体的な観点~

ソフトウェアの開発においてテストは、製品の品質や信頼を担保するためには欠かせません。
ここで説明する「テスト観点」とは、テストの中でも重要な要素のひとつです。

■ソフトウェア開発における「テスト」の重要性
テストには、用途に合わせてさまざまな種類があります。
ソフトウェア開発でもっとも行われる「単体テスト」「結合テスト」「システムテスト」「受け入れテスト」、通信や動作の速度を計る「スピードテスト」や、サーバーなどがどれくらいの負荷に耐えられるかを計る「耐久テスト」、実際のユーザーの動きを想定して行う「ユーザーテスト」などです。

これらのさまざまな「テスト」は、ソフトウェア開発に限らず、製品を作るうえで、ユーザーやクライアントの信頼を得るために大切な工程のひとつです。
そのため、ソフトウェア開発においても、製品開発以上の時間をかけてテストを行うことがあります。
お金や人の命に関わる製品(交通システム、医療機器など)では、さらに膨大な時間と人を使ってテストを行います。
■テストを行ううえで重要な「テスト観点」とは
製品の品質を左右するテスト、そのテストを行ううえで重要なのが「テスト観点」です。
テスト観点とは、製品のどの部分を、どのようにテストするのかを決めるためのものです。

例えば、データ登録システムの場合、入力画面は正しく表示されているか、入力されたデータは正しい形式になっているか、登録されたデータに間違いはないか…と、テスト観点はさまざまです。
これらを細部まで網羅することで、より厳密なテストが行うことができ、製品の品質向上へとつながります。
■正しい動き、間違った動き、様々な「観点」からシステムをテストする
では次に、どのようにテスト観点を決めていけば良いのでしょうか?
有名なものにT.Ostrandの4つのテスト観点があります。
これは、「User-view(ユーザー視点)」、「Spec-view(仕様視点)」、「Fault-view(バグ視点)」、「Design-view(設計・実装視点)」の4つのテスト観点からテストを行うというものです。

例えば、データ登録機能のテストを行う場合、User-view(ユーザー視点)では、実際のユーザーの動きを想定した、正しいデータの入力をした場合、間違ったデータを入力した場合などをテストします。
Spec-view(仕様視点)では、求められている仕様をきちんと満たしているか、正しい動きをするのかをテストします。
Fault-view(バグ視点)では、入力途中で通信が切れた場合や、異なる形式のデータが送られてきた場合など、考えられるバグや、わざとバグが起こりそうなことをテストします。
Design-view(設計・実装視点)では、設計の構造自体にバグはないか、動作していても脆弱な実装になっていないか、などをテストします。

他にも、ソフトウェア品質評価に関する国際規格(ISO/IEC 25000)では、機能性、信頼性、使用性、効率性、保守性、移植性の6つを評価されるため、それらを意識したテスト観点をもつことも、国際的な信頼の確保に有効です。
★まとめ
★1.テストは製品の信頼・品質を左右する

★2.テスト観点とはどのようにテストするのかを決めるためのもの

★3.さまざまなテスト観点から、網羅的にテストを行うことが重要

ソフトウェア開発におけるテストの重要性と、テストを行うために必要なテスト観点について、ご理解いただけましたでしょうか。
バグが全くないソフトウェアを作ることは不可能ですが、綿密なテストと、それを支える網羅的なテスト観点をもつことで、バグを限りなくゼロに抑えることができます。

【参考文献】:
西 康晴. “テスト観点に基づくテスト開発方法論 VSTePの概要” .2013/5/10,
http://qualab.jp/materials/VSTeP.130510.color.pdf,(参照 2016年6月23日)

【無料ダウンロード】ソフトウェア品質向上ガイドBOOK

第三者検証のスペシャリスト集団である株式会社ウェブレッジが、特に上流工程でのソフトウェア品質向上の手法に関してまとめた資料を無料でご提供しております。

ソフトウェア品質向上ガイドブック

ソフトウェア品質向上ガイドブック

ソフトウェア品質向上ガイドブック

Scroll Up