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日)