機能テスト (英: functional testing)は、品質保証(QA)プロセスPrasad, Dr. K.V.K.K. (2008) ISTQB Certification Study Guide, Wiley, , p. viであり、テスト対象のソフトウェアの構成要素の仕様に基づいてテストケースを作成する一種のブラックボックステストである。機能は、入力を行って得られる出力を調べることでテストされ、内部プログラム構造は考慮されない(そのためホワイトボックステストとは異なる)Kaner, Falk, Nguyen. Testing Computer Software. Wiley Computer Publishing, 1999, p. 42. .。 機能テストは、システムや構成要素の指定された機能要件への準拠を評価するために実施される。

機能テストはブラックボックステストの一種であるため、ソフトウェアの内部動作を知らなくても、ソフトウェアの機能をテストできる。これは、テスターがプログラミング言語やソフトウェアの実装方法を知る必要がないことを意味する。テスターはソフトウェアの開発には関与していないため、テストにおける開発者のバイアス(または確証バイアス)が減少するのは良い点である。

機能テストは、モジュールまたはクラスの関数(メソッド)をテストすることを意味するわけではない。機能テストは、システム全体の機能の一部をテストするものである。

機能テストはシステムテストとは異なる。機能テストでは「設計ドキュメントや設計仕様に基づいてプログラムの確認を行う」仕組みであるのに対し、システムテストは「公開されているユーザー要件、システム要件に準拠しているかを検証する」仕組みであるKaner, Falk, Nguyen 1999, p. 52。

種類 機能テストには多くの種類がある: Kaner, Falk, Nguyen. Testing Computer Software. Wiley Computer Publishing, 1999, p. 42. .

スモークテスト 健全性テスト 回帰テスト ユーザビリティテスト

6つのステップ 機能テストには通常、6つのステップが含まれる

ソフトウェアが実行することが期待される機能の識別 機能の仕様に基づいた入力データの作成 機能の仕様に基づく出力の決定 テストケースの実行 実際の出力と期待される出力の比較 アプリケーションが顧客のニーズどおりに機能するかどうかの確認

関連項目

非機能テスト 受け入れテスト 回帰テスト システムテスト ソフトウェアテスト 統合テスト 単体テスト データベーステスト セキュリティテスト 負荷テスト テスト自動化

脚注