たまゆら雑記

いろいろなメモを書き残します。

機能テストとは何か?

2005年06月15日 00時25分30秒 | Weblog
つい最近、機能テストって何だろうと話をしていました。
この機能テストという言葉は非常にやっかいな言葉で、コミュニケーションを取るのが難しい用語の一つです。 難しいということを知っていて、それなりに注意を払って話をしてみても伝わらないものは、なかなか伝わらないものです。

多くの書籍でも同様で、みな

好きなことを喋っている

としか思えません。えっ、そう思わないって!
では少しばかりご覧ください。機能テストにまつわるさまざまな記述を。
「ソフトウェア・テストの技法」(Myers) p.118より引用
機能テストは、プログラムと外部仕様との相違点を発見する過程である。外部仕様は、外部世界(たとえばユーザ)からみたプログラムの行動について正確に記述することである。

「ソフトウェアテスト技法」(Beizer) p.9、p21、p422より引用
機能テストでは、プログラムやシステムを1個のブラックボックスとして扱い、入力データに対する出力結果が要求仕様どおりかどうかを検証する。ソフトウェアのエンドユーザの関心事は機能であり、プログラムがどう構築されていようと問題ではない。したがって、機能テストはユーザの視点に立って実行することになる。

機能テストとは、入力データのすべての組合せに対し、プログラムの動作を検証するものである。

機能テストとは、コンポーネントをどう作ってあるかには関係なく、その指定された動きとコンポーネントの実際の動きの比較に基づいて行うテスト。「ブラックボックステスト」ともいう。

「基本から学ぶソフトウェアテスト」(Kaner) p.42及びp.52より引用
機能テストは、ブラックボックステストである。テストデータを入力し、出力を解析することで、機能を検証する。プログラムの内部構造を考慮することはほとんどない。

機能テストとは、プログラムが外部仕様と一致していることを検証することである。

「ソフトウェアテスト293の鉄則」(Kaner) p.263より引用
基本機能テスト:製品の各機能の素性を見極めるテスト。目標は各機能が実行できるかどうかを確認することなので、複雑なシナリオや難しいデータ、機能の組合せに着目したテストは避ける。

機能テスト:製品の各機能が詳細に動作するか、および基本的な信頼性を満足しているかどうかを確認するテスト。データの網羅性や、複雑なテスト結果の評価などに着目する。境界値テストや負荷テスト、異常系のテストを行う。複雑なシナリオや機能の組合せには着目しない。

「ソフトウェア開発・検証技法」(松尾谷) p.138より引用
プログラムに要求された機能(仕様で定義された項目)や要件(性能や操作性)がテスト項目として網羅されるように、テスト項目を設計する方法である。ブラックボックステストともよばれる。

「実践ソフトウェア工学(第4版) 第2分冊」(Pressman) p.365より引用

インタフェースエラーが検出され修正されると、ソフトウェアテストの最終段階で機能の確認を行う機能テストが始まる。 (中略)

機能テストには、要求仕様を満たしていることを示すためにブラックボックステストが用いられる。(中略)

機能テストでテストケースがそれぞれ実行されると、次のいずれかの状態をとることとなる。・機能や性能に関わる特性が仕様と合致し、受け入れられる。・仕様からのずれが検出され、不具合リストに追加される。


「実践ソフトウェア工学(第6版)」(Pressman) p.253とp.265訳注より引用
機能テスト(validation testing)
機能テストでは、結合が完了したソフトウェアが要求仕様に合致しているかを評価する。

validation testingは直訳すると「妥当性確認テスト」だが、仕様との整合の確認であり、verificationの一部である。

「ソフトウェアテスト手法の基本と極意」(若林)p.23,p.79より引用
コンピュータのシステムで用意されている1つひとつの機能が、正しく動作するかどうかを検査します。主につぎの様な内容を確認します。

①エンドユーザが、画面から指示する機能が正しく動作するかどうかの確認
例えば、「ファイル」の「開く」や「保存」といったデータ入出力機能「編集」の「切り取り」「コピー」「貼り付け」「検索」「置換」といった文書操作機能といった単位の検査

②バッチ処理やスケジュール処理で起動される機能が、正しく動作するかどうかの確認
1つの機能は、通常複数のモジュールが連携して処理を行います。共通関数や共通クラスといった位置づけのモジュールは、1つのモジュールが複数の機能で利用されることもあります。

「ソフトウェアの検査と品質保証」(石井)p.51より一部引用
機能テストの目的は、プログラムと機能仕様書(外部機能を規定)の不一致点をみつけることである。(中略)

一般に機能テストには、個々のプログラムの機能テストとプログラム全体をとおした機能テストがある。

「ソフトウェアエンジニアリング基礎知識体系(SWEBOK)」p.114より引用
適格性テスティングは、テスト対象のシステムの振る舞いが、仕様に合致しているかどうかを検証することが目的である。

「ソフトウェア工学 理論と実践」(pfleeger)p.321より引用
機能テストは、要求仕様によって記述された機能が結合されたシステム中で実際に実行されるかどうかを評価するものである。

どうでしたか? めまいがしませんでしたか?

最新の画像もっと見る