機能テスト (: functional testing)は、品質保証(QA)プロセス[1]であり、テスト対象のソフトウェアの構成要素の仕様に基づいてテストケースを作成する一種のブラックボックステストである。機能は、入力を行って得られる出力を調べることでテストされ、内部プログラム構造は考慮されない(そのためホワイトボックステストとは異なる)[2]。 機能テストは、システムや構成要素の指定された機能要件への準拠を評価するために実施される[3]

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

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

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

種類

編集

機能テストには多くの種類がある: [2]

6つのステップ

編集

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

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

関連項目

編集

脚注

編集
  1. ^ Prasad, Dr. K.V.K.K. (2008) ISTQB Certification Study Guide, Wiley, ISBN 978-81-7722-711-6, p. vi
  2. ^ a b Kaner, Falk, Nguyen. Testing Computer Software. Wiley Computer Publishing, 1999, p. 42. ISBN 0-471-35846-0.
  3. ^ ISO/IEC/IEEE International Standard - Systems and software engineering. ISO/IEC/IEEE 24765:2010(E). (2010). pp. vol., no., pp.1–418, 15 Dec. 2010 
  4. ^ Calikli (September 19, 2010). “Confirmation Bias in Software Development and Testing: An Analysis of the Effects of Company Size, Experience and Reasoning Skills”. 2020年12月21日閲覧。
  5. ^ Kaner, Falk, Nguyen 1999, p. 52