このエントリーをはてなブックマークに追加LINEで送る

12.2. テストのプロセス区分

ハッピィ・エンジニアリング表紙

 最終的に信頼性を測る基準になるのはテストである。信頼性を確保するために、テストがどのような観点で、どのようなプロセス区分となっているかについて、再認識しておきたい。

 

 プログラミングプロセスは、プログラマによるデバッグの終了をもって完了するプロセスである。テストプロセスはここから開始され、運用開始の直前まで行われる長いプロセスである。

 

 一般的に、テストプロセスは以下の4つの区分に分割される。

 

  • 単体テスト
  • 結合テスト
  • システムテスト
  • フィールドテスト

 

単体テスト(プログラム設計に対応するテスト)

ドライバとスタブ*1を利用し、モジュールの動作を確認するテストである。

 

 XP(eXtreme Programming)などでは、開発するプログラムのごく一部の機能をテスト用のプログラムから書き始め、そのテストが通るプログラムを書き、さらに次の機能のテストプログラムを書き、と部分的にテストとコーディングを繰り返す方法を取る。

 

結合テスト(詳細設計に対応するテスト)

 単体テストが終了したモジュールを結合して行うテストである。モジュール間のインタフェースを確認し、サブシステム単位での機能確認を行う。

 

 かつては、不具合の切り分けやプログラム修正が容易になるように、スタブやドライバを利用しながら段階的にテストを行うのが一般的であった。しかし、昨今では、いきなりすべてのプログラムを結合してテストを行うことが多いように思われる。

 

システムテスト(基本設計に対応するテスト)

 プログラムがすべて組み上がった状態で、システムが基本設計書に記載されている内容を満たしているかを確認するテストである。基本設計書には要件定義の内容が網羅されるため、システムの機能だけではなく、非機能要件に該当する部分もテスト対象となる。つまり、機能テストのほかに、性能テスト・ストレステスト・セキュリティテスト・障害復旧テストなどがテスト範囲に含まれる。基本的にブラックボックステストとして行う。

 

フィールドテスト(要件定義に対応するテスト)

 ユーザ企業が主体となり、プログラムが本番環境・本番データを利用してきちんと動作することを確認するテストである。実際の業務手順に従った形で行う。ネットワーク環境や、相互に依存するほかのシステムとの連携などを確認する。

 

 またエンドユーザが操作し、ユーザインタフェースが利用可能かどうか、使い勝手の悪いところはないか、などを判断するテストでもある。この段階でユーザの受け入れを判断する。

 

 現在では、システムに要求される機能の複雑化や、システム構造そのものの複雑化などの要因のために、「ユーザ側ではフィールドテストのテスト設計ができない状況」になっている。

 

 例えば、過去においては、メインフレームとダム端末によるシステムであり、他システムとの連携もほとんどなかった。そのため、フィールドテストでは、エンドユーザの操作を主体としたテストをすれば十分だったのである。

 

 ところが現在では、業務パッケージが導入され、さらに複数のシステムと複雑に連携しながら動作するサーバシステムがあたりまえになっている。このように、複雑化したシステムについて、ユーザ企業が主体となってフィールドテストのシナリオを作成し、検証していくことが、極めて困難になった。

 

 そのため、現在では、フィールドテストをSIベンダが代行するケースや、フィールドテスト自体を省略し、一定の期間をSIベンダのSEが立ち合うような代替策が取られている。

 


*1 ドライバ:テストデータをテスト対象のプログラムに引き渡し、戻り値からテスト結果を出力するプログラム。スタブ:テスト対象のプログラムから呼び出されるプログラムの役割をするダミープログラムである。テスト対象のモジュールのインタフェースに従って、下位のモジュールとして最小限の処理を行う。
シェアしてくれると嬉しいです!
このエントリーをはてなブックマークに追加LINEで送る

12.2. テストのプロセス区分 ハッピィ・エンジニアリング関連ページ

12.1. 品質とは何か?
ソフトバンククリエイティブから刊行されたハッピィ・エンジニアリングが無料で読めるサイトです。
12.3. 現状のシステム品質
ソフトバンククリエイティブから刊行されたハッピィ・エンジニアリングが無料で読めるサイトです。
12.4. 品質低下の根本要因
ソフトバンククリエイティブから刊行されたハッピィ・エンジニアリングが無料で読めるサイトです。
12.5. 欠陥とは何か?
ソフトバンククリエイティブから刊行されたハッピィ・エンジニアリングが無料で読めるサイトです。
12.6. 品質向上の手法
ソフトバンククリエイティブから刊行されたハッピィ・エンジニアリングが無料で読めるサイトです。
12.7. 品質は作り込まれる
ソフトバンククリエイティブから刊行されたハッピィ・エンジニアリングが無料で読めるサイトです。

ハッピィ・エンジニアリングとは? 書籍を読む プロフィール コンサルティング