システムテスト

システムテスト (英: system testing)は、完成したソフトウェアシステムに対して行うテストであり、ソフトウェアシステムが要件に準拠しているか評価するため、完全な統合環境のシステムで実施されるテストのこと。総合テスト、総合試験も呼ばれる。

システムテストは、統合テストに合格したすべての統合コンポーネントを入力として使用する。統合テストの目的は、一緒に統合されたユニット（集合と呼ばれる）間の不整合を検出することである。システムテストは、「集合体間」内とシステム全体の両方の欠陥を検出する狙いがある。コンポーネントまたはシステムのテスト時に生成、観察された動作をテスト結果とする。システムテストでは入出力に注目してテストを行うので、ブラックボックステストである。 

システムテストは、機能要件仕様（FRS）またはシステム要件仕様（SRS）、あるいはその両方のコンテキストでシステム全体に対して実行される。システムテストでは、設計だけでなく、動作や顧客の期待についてもテストする。また、ソフトウェアまたはハードウェアの要求仕様で定義されている範囲を超えてテストすることも目的としている。

 アプローチ 

 破壊試験：さまざまな荷重下での試験片の性能または材料の挙動を理解するために、試験片の破損に対して試験が実施される。
 非破壊検査：損傷を引き起こすことなく、材料、コンポーネント、またはシステムの特性を評価するための分析手法。
 フォールト・インジェクション：システムの動作を調べるために異常な方法でシステムにストレスをかけるテスト手法  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). 。

 分野固有のテスト方法 

 ソフトウェアテスト 
ソフトウェアテストは、テスト対象のソフトウェア製品またはサービスの品質に関する情報を利害関係者に提供するために実施される試験である。 ソフトウェアテストは、ソフトウェアの客観的で独立したビューを提供し、企業がソフトウェア実装のリスクを認識して理解できるようにする。ソフトウェアテストでは、ソフトウェアコンポーネントまたはシステムコンポーネントを実行して、対象の1つ以上のプロパティを評価する。一般に、これらのプロパティは、テスト対象のコンポーネントまたはシステムが、その設計と開発の元になった要件を満たし、あらゆる種類の入力に正しく応答し、許容可能な時間内にその機能を実行し、十分に使用可能で、インストールでき、意図した環境で実行し、利害関係者が望む一般的な結果を達成する。単純なソフトウェアコンポーネントでさえ可能なテストの数は事実上無限であるため、すべてのソフトウェアテストは、利用可能な時間とリソースに対して実行可能なテストを選択するための戦略を採用してテストを行う。

 モバイルデバイスのテスト 
モバイルデバイステストは、携帯電話、PDAなどのモバイルデバイスの品質を保証する。テストは、ハードウェアとソフトウェアの両方で実施される。また、さまざまな手順の観点から、テストにはR＆Dテスト、工場テスト、および認定テストという種類がある。モバイルデバイステストでは、実際の携帯電話でのモバイルアプリケーション、コンテンツ、およびサービスの監視とトラブルシューティングからの一連のアクティビティを行う。また、ハードウェアデバイスとソフトウェアアプリケーションの検証と妥当性確認も行われる。

 関連項目 
 自動試験装置
 テストケース
 テストフィクスチャ
 テスト計画
 テスト自動化
 品質管理
 フォールト・インジェクション

 出典 

 参考文献 


Category:システム工学
Category:ハードウェアテスティング
Category:ソフトウェアテスティング