|
||||||||||||||
| 1 2 次のページ | ||||||||||||||
| はじめに | ||||||||||||||
|
日々の生活の中でコンピュータは欠かすことのできないものになっていますが、その一方で、金融機関のシステムダウンなど、コンピュータを動かすソフトウェアの不具合がもたらす社会的・経済的損失が問題となっています。そのため、ソフトウェアの不具合を可能な限り取り除き、品質を確保するための「テスト」の重要性は、今まで以上に高まっています。 しかし、無限の実行パターンを持つソフトウェアの完全なテストを実行するのは不可能です。よって、テストはできるだけ効果のあるやり方で、できるだけ効率的に実施する必要があります。本稿では、そのためのテスト手法とテストツールについて説明します。 |
||||||||||||||
| テスト手法の分類 | ||||||||||||||
|
ソフトウェアの設計に関してオブジェクト指向などの設計手法があるのと同様に、テストにもこれまで培われてきたさまざまなテスト手法が存在します。 そして、そのようなテスト手法について体系的に分類する試みが、ソフトウェアエンジニアリング基礎知識体系(SWEBOK:Software EngineeringBody of Knowledge)(注1)を代表にいろいろな形で行われています。ここでは図1に示すテストの分類を紹介します。
※注1:
「ソフトウェアエンジニアリング基礎知識体系-SWEBOK 2004-」(ISBN:4-274-50029-2、オーム社) ![]() 図1:テスト手法の分類 |
||||||||||||||
| 静的テスト | ||||||||||||||
|
静的テストは、プログラムを実際には実行せずに行うテストです。ここではテストの分類のため静的テストと呼んでいますが、通常「テスト」はプログラムを実際に実行して行うものという認識があるので、「静的解析」などとも呼ばれています。 |
||||||||||||||
| 人間による検査 | ||||||||||||||
|
ソースコードレビューや設計書レビュー(見直し)・インスペクション(査閲)など、人間の目により成果物をチェックするテストです。これらは設計工程として実施しており、テスト工程の中で実施していないかもしれませんが、成果物のエラーを発見する点では立派なテストと言えます。 |
||||||||||||||
| コンピュータによる検査 | ||||||||||||||
|
ソースコードや形式化された設計(たとえばUMLモデル)などをコンピュータにより自動的に解析し、その中に潜むエラーや問題点(または問題になる可能性が高い部分)を検出するテスト手法です。たとえば、Javaに精通している人は性能上あまり望ましくないコードの書き方などをよく知っているわけですが、そのようなコードを自動的に検出します。 静的テストは後工程にエラーを持ち込まないようにし、手戻りを削減できるという意味で重要なテストと言えます。コンピュータによる検査で発見できるエラーについては、後述する静的テストツールが利用できます。 |
||||||||||||||
|
1 2 次のページ |
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||


