システム‐テスト【system test】
システムテスト
【英】system test
システムテストとは、システム開発におけるプログラムの検証作業の中でも、構築したシステムが全体として予定通りの機能を満たしているかどうかを確認するテストのことである。開発者側の最終テストのことである。
システムテストは、個々の機能や仕組みを総合した全体像としてのシステムを対象として、設計のとおりにプログラミングされているか、機能間の連携は取れているか、機能や性能は仕様書の通りになっているか、といったことを検証する。システムアドミニストレータ(システム開発の管理責任者)を参加させ、実際の使用環境に近い形で動作させる、開発の現場における最終検査である。
プログラムの検証作業では、はじめに個々のプログラムモジュールがきちんと仕様どおりに機能しているかを確認する「単体テスト」が行われる。単体テストによって個々のプログラムモジュールが問題なく機能すると確認されたら、それらのモジュールの組み合わせはうまく動作するかを検証する「統合テスト」が行われる。結合テストによって連携が確かめられた次に、モジュールの組み合わせをさらに複合させ、システムとしての機能を確認するシステムテストが行われる。システムテストをクリアすると、顧客に試用してもらって顧客の要望がきちんと満たされているかどうかを確認する「承認テスト」が行われれ、顧客の承認が下りるとシステムの完成となる。
システムテスト
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/08/27 18:30 UTC 版)
システムテスト (英: system testing)は、完成したソフトウェアシステムに対して行うテストであり、ソフトウェアシステムが要件に準拠しているか評価するため、完全な統合環境のシステムで実施されるテストのこと[要出典]。総合テスト、総合試験も呼ばれる。
システムテストは、統合テストに合格したすべての統合コンポーネントを入力として使用する。統合テストの目的は、一緒に統合されたユニット(集合と呼ばれる)間の不整合を検出することである。システムテストは、「集合体間」内とシステム全体の両方の欠陥を検出する狙いがある[要出典]。コンポーネントまたはシステムのテスト時に生成、観察された動作をテスト結果とする[1]。システムテストでは入出力に注目してテストを行うので、ブラックボックステストである。
システムテストは、機能要件仕様(FRS)またはシステム要件仕様(SRS)、あるいはその両方のコンテキストでシステム全体に対して実行される。システムテストでは、設計だけでなく、動作や顧客の期待についてもテストする。また、ソフトウェアまたはハードウェアの要求仕様で定義されている範囲を超えてテストすることも目的としている[要出典]。
アプローチ
- 破壊試験:さまざまな荷重下での試験片の性能または材料の挙動を理解するために、試験片の破損に対して試験が実施される。
- 非破壊検査:損傷を引き起こすことなく、材料、コンポーネント、またはシステムの特性を評価するための分析手法。
- フォールト・インジェクション:システムの動作を調べるために異常な方法でシステムにストレスをかけるテスト手法[2] [3] [4] 。
分野固有のテスト方法
ソフトウェアテスト
ソフトウェアテストは、テスト対象のソフトウェア製品またはサービスの品質に関する情報を利害関係者に提供するために実施される試験である[5]。 ソフトウェアテストは、ソフトウェアの客観的で独立したビューを提供し、企業がソフトウェア実装のリスクを認識して理解できるようにする。ソフトウェアテストでは、ソフトウェアコンポーネントまたはシステムコンポーネントを実行して、対象の1つ以上のプロパティを評価する。一般に、これらのプロパティは、テスト対象のコンポーネントまたはシステムが、その設計と開発の元になった要件を満たし、あらゆる種類の入力に正しく応答し、許容可能な時間内にその機能を実行し、十分に使用可能で、インストールでき、意図した環境で実行し、利害関係者が望む一般的な結果を達成する。単純なソフトウェアコンポーネントでさえ可能なテストの数は事実上無限であるため、すべてのソフトウェアテストは、利用可能な時間とリソースに対して実行可能なテストを選択するための戦略を採用してテストを行う。
モバイルデバイスのテスト
モバイルデバイステストは、携帯電話、PDAなどのモバイルデバイスの品質を保証する。テストは、ハードウェアとソフトウェアの両方で実施される。また、さまざまな手順の観点から、テストにはR&Dテスト、工場テスト、および認定テストという種類がある。モバイルデバイステストでは、実際の携帯電話でのモバイルアプリケーション、コンテンツ、およびサービスの監視とトラブルシューティングからの一連のアクティビティを行う。また、ハードウェアデバイスとソフトウェアアプリケーションの検証と妥当性確認も行われる。
関連項目
- 自動試験装置
- テストケース
- テストフィクスチャ
- テスト計画
- テスト自動化
- 品質管理
- フォールト・インジェクション
出典
- ^ “ISTQB Standard glossary of terms used in Software Testing”. 2020年12月21日閲覧。
- ^ Moradi, Mehrdad; Van Acker, Bert; Vanherpen, Ken; Denil, Joachim (2019). Chamberlain, Roger; Taha, Walid; Törngren, Martin. eds. “Model-Implemented Hybrid Fault Injection for Simulink (Tool Demonstrations)” (英語). Cyber Physical Systems. Model-Based Design (Cham: Springer International Publishing) 11615: 71–90. doi:10.1007/978-3-030-23703-5_4. ISBN 978-3-030-23703-5.
- ^ “Optimizing fault injection in FMI co-simulation through sensitivity partitioning | Proceedings of the 2019 Summer Simulation Conference” (英語). dl.acm.org. 2020年6月15日閲覧。
- ^ Moradi, Mehrdad, Bentley James Oakes, Mustafa Saraoglu, Andrey Morozov, Klaus Janschek, and Joachim Denil. "Exploring Fault Parameter Space Using Reinforcement Learning-based Fault Injection." (2020).
- ^ Kaner, Cem (17 November 2006). Exploratory Testing (PDF). Quality Assurance Institute Worldwide Annual Software Testing Conference. Orlando, FL. 2014年11月22日閲覧。
参考文献
- Black, Rex (2002). Managing the Testing Process (2nd ed.). Wiley Publishing. ISBN 0-471-22398-0
システムテスト (system testing)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/23 10:14 UTC 版)
「ソフトウェアテスト」の記事における「システムテスト (system testing)」の解説
詳細は「システムテスト」を参照 プログラムを単独ではなく、他のプログラムやハードウェア、通信ネットワーク、データベースなどと組み合わせて実施するテストである。開発環境と実行環境が異なる場合には、実際の実行環境を使って行うこともある。顧客にしか実際の実行環境がない場合には、顧客環境で行う場合がある。実際の環境を利用することが高価であったり時間がかかる場合には、模擬試験環境 (simulator) を作成して実施することがある。この場合には、模擬環境のシステム試験、実環境でのシステム試験と区分する。模擬環境では、複数の事象を同時に発生させることが難しかったり、逆に実環境ではありえない事象を発生させることができなかったり、それぞれの短所・長所を見極めて試験を実施する。エンタープライズ系と組込みソフトウェアで本質的な違いがあるわけではなく、OS、言語、ネットワーク、データベース、接続機器数の違いが大きい。
※この「システムテスト (system testing)」の解説は、「ソフトウェアテスト」の解説の一部です。
「システムテスト (system testing)」を含む「ソフトウェアテスト」の記事については、「ソフトウェアテスト」の概要を参照ください。
- システムテストのページへのリンク