検収試験
検収試験 (英: acceptance testing)は、工学のさまざまな分野で、仕様または契約要件が満たされているかどうかを判断するために実施される試験のこと。受け入れテストとも呼ばれる。これには、化学試験、物理試験、またはパフォーマンステストが含まれる場合がある。
システム工学では、システムの配信前にシステムで実行されるブラックボックステスト(たとえば、ソフトウェアの一部、製造された機械部品のロット、または化学製品のバッチ)が含まれる場合がある[1]。
検収試験は、ユーザー検収試験(UAT)、エンドユーザーテスト、運用検収試験(OAT)、検収試験駆動開発(ATDD)、またはフィールドテストとも呼ばれる。検収基準は、システムまたはコンポーネントがユーザーや顧客による検収時に満たすべき基準である[2]。
スモークテストは、ソフトウェアのビルドをメインのテストプロセスに導入する前の検収試験として利用できる。
概要
[編集]テストは、テスト対象の1つ以上のアイテムのプロパティの検出および/または評価を容易にするために実行される一連の活動である[3]。 テストケースと呼ばれる個々のテストは、テストの目的を達成するためにテスト項目の実行を促進するために開発された、事前定義された一連のテストアクティビティを実行する。正しい実装、エラーの識別、品質検証、その他の重要な詳細を含む。 テスト環境は通常、予想される実稼働環境と同一または可能な限り近くなるように設計されている。これには、ソフトウェアのテストを実行することを目的とした、または実行するために使用されるすべての機能、ハードウェア、ソフトウェア、ファームウェア、手順、および/またはドキュメントが含まれる。
UATおよびOATテストケースは、理想的には、ビジネス顧客、ビジネスアナリスト、テスター、および開発者と協力して作成されます。これらのテストには、ビジネスロジックテストと運用環境条件の両方が含まれていることが不可欠です。ビジネス顧客(製品所有者)は、これらのテストの主要な利害関係者である。テスト条件が検収基準を正常に達成すると、利害関係者は開発が正しい方向に進んでいることを確信できる[4]。
- ユーザー検収試験(UAT)基準(アジャイルソフトウェア開発)は通常、ビジネス顧客によって作成され、ビジネスドメイン言語で表現される。これらは、スプリント/反復中に「再生された」ユーザーストーリーの完全性を検証するための高レベルのテストである。
- 運用検収試験(OAT)基準(アジャイル、反復、または順次開発を使用するかどうかに関係なく)は、機能要件と非機能要件の観点から定義される。機能の安定性、移植性、信頼性の主要な品質属性をカバーする。
手順
[編集]すべてのテストケースが1回のテスト反復内で実行されるとは限らないため、検収試験業務は複数回実行する必要がある場合がある[5]。
検収試験業務は、事前定義された検収試験手順を使用して実行され、使用するデータ、従うべきステップバイステップのプロセス、および実行後の期待される結果をテスターに指示する。実際の結果は、期待される結果と比較するために保持される[5]。 実際の結果が各テストケースの期待される結果と一致する場合、テストケースは合格したと言われる。不合格のテストケースの数がプロジェクトの所定のしきい値に違反しない場合、テスト業務は合格したと言われる。その場合、スポンサーとメーカーの間で事前に合意された条件で、システムが拒否または受け入れられる可能性がある。
テストが成功裏に実行された場合の予想される結果:
- テストケースは、所定のデータを使用して実行されます
- 実際の結果が記録されます
- 実際の結果と期待される結果が比較され、
- テスト結果が決定されます。
目的は、開発された製品が機能要件と非機能要件の両方を満たしているという信頼を提供することである。検収試験を実施する目的は、完了し、検収基準が満たされている場合、スポンサーが定義された要件(ビジネスと製品プロバイダー/開発者の間で以前に合意された)を満たすものとして製品開発/拡張を承認することが期待されることである。
検収試験の種類
[編集]検収試験の典型的な種類は次の通りである。
- ユーザー検収試験
- これには、工場検収試験(FAT)が含まれる場合があります。つまり、製品またはシステムが宛先サイトに移動される前にベンダーによって行われるテストであり、その後、サイトのユーザーによってサイト検収試験(SAT)が実行される場合があります。 [6]
- 運用検収試験
- 運用準備テストとも呼ばれます。これは、システムを使用および保守できるようにするためのプロセスと手順が実施されていることを確認するためにシステムに対して実行されるチェックを指します。これには、バックアップ施設に対して行われるチェック、災害復旧の手順、エンドユーザー向けのトレーニング、保守手順、およびセキュリティ手順が含まれる場合があります。
- 契約および規制の検収試験
- 契約検収試験では、システムが受け入れられる前に、契約に文書化されている受け入れ基準に対してシステムがテストされる。規制検収試験では、システムが政府、法律、および安全の基準を満たしていることを確認するためにテストされる。
工場検収試験
[編集]コンポーネントまたはシステムが要件を満たしているかどうかを判断するために、製品が開発され、サプライヤ組織の従業員によって実行されるサイトで実施される検収試験。通常、ハードウェアとソフトウェアが含まれる[7]。
- アルファおよびベータテスト
- アルファテストは開発者のサイトで行われ、外部の顧客にリリースされる前に、内部スタッフによる運用システムのテストが含まれる。ベータテストは顧客のサイトで行われ、システムが他の顧客にリリースされる前に、自分の場所でシステムを使用してフィードバックを提供する顧客のグループによるテストが含まれる。後者はしばしば「フィールドテスト」と呼ばれる。
関連項目
[編集]出典
[編集]- ^ Black, Rex (August 2009). Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing. Hoboken, NJ: Wiley. ISBN 0-470-40415-9
- ^ ISO/IEC/IEEE International Standard - Systems and software engineering. ISO/IEC/IEEE. (2010). pp. vol., no., pp.1–418
- ^ ISO/IEC/IEEE 29119-1-2013 Software and Systems Engineering - Software Testing - Part 1- Concepts and Definitions. ISO. (2013) October 14, 2014閲覧。
- ^ ISO/IEC/IEEE DIS 29119-4 Software and Systems Engineering - Software Testing - Part 4- Test Techniques. ISO. (2013) October 14, 2014閲覧。
- ^ a b ISO/IEC/IEEE 29119-2-2013 Software and Systems Engineering - Software Testing - Part 2- Test Processes. ISO. (2013) May 21, 2014閲覧。
- ^ Prasad, Durga (March 29, 2012). “The Difference Between a FAT and a SAT”. Kneat.com July 27, 2016閲覧。
- ^ “ISTQB Standard glossary of terms used in Software Testing”. March 15, 2019閲覧。