この記事では、SITとUATの主な違いについて説明します。 また、システム統合テストとユーザー受入テストの方法についても学びます:
一般に、テストはテスターとデベロッパーの両方によって行われ、それぞれが独自のパターンでアプリケーションをテストする。
システム統合テスト(SIT)はテスターが行うのに対し、ユーザー受け入れテスト(UAT)はエンドユーザーが最後に行う。 この記事では、SITとUATを詳細に比較し、両者の主な違いを理解するのに役立つ。
レッツ・エクスプローラー!!
SITとUATの比較:概要
一般的に、テストのレベルには以下のような階層があります:
- 単体テスト
- コンポーネントテスト
- システムテスト
- システム統合テスト
- ユーザー受け入れテスト
- プロダクション
との主な違いを分析してみましょう。 システムインテグレーションテスト(SIT) と ユーザー受入テスト(UAT)。
システムインテグレーションテスト(SIT)
プロジェクトでは、ある時点で2つの異なるサブシステムやシステムが組み合わされます。 このとき、このシステムを全体としてテストする必要があります。 したがって、これはシステム統合テストと呼ばれます。
SITの仕事の進め方
- 個々のユニットは、まず別々のビルドで統合する必要があります。
- システム全体としてテストする必要があります。
- テストケースは、ソフトウェア要件に基づき、適切なソフトウェアを使用して作成する必要があります。
- UIエラー、データフローエラー、インターフェースエラーなどのエラーは、このテストで見つけることができます。
例
ここでは、あるヘルスケアサイトが 3タブ はじめに 患者情報・教育・これまでの診療記録 ヘルスケアサイトが追加されました。 新しいタブ っていう インジェクション情報です。
そして、新しいタブの詳細やデータベースを既存のタブと統合し、4つのタブでシステム全体をテストする必要があります。
4つのタブを持つ統合サイトをテストする必要があるのです。
統合されたサイトは以下のような感じです:
SITで使用される技術
- トップダウンアプローチ
- ボトムアップアプローチ
- ビッグバンアプローチ
#その1)トップダウン・アプローチ
その名の通り「上から下へ」実行するもので、メイン機能(モジュール)をテストした後、サブモジュールを順番にテストする方法です。 ここで、連続するサブモジュールがすぐに統合できない場合はどうするかという問題が発生します。
その答えは、次のようなものを生み出します。 STUBSです。
スタブはコールドプログラムと呼ばれる .として機能する。 ダミーモジュール で、必要なモジュール機能を限定的に実行します。
サブモジュールの統合は難しいので、実際のモジュールが統合できるようになるまで、ユニット/モジュール/サブモジュールの機能を部分的に実行するのがスタブです。
低レベルのコンポーネントは,統合するためにスタブで置き換えることができる. したがって,トップダウンのアプローチは,構造化言語や手続き言語に従うことができる. あるスタブが実際のコンポーネントに置き換えられた後,次のスタブは実際のコンポーネントに置き換えることができる.
上図の実行は、モジュールA、モジュールB、モジュールC、モジュールD、モジュールE、モジュールF、モジュールGとなります。
例 スタブ用:
#その2)ボトムアップ・アプローチ
まず下位のモジュールを統合し、次に上位のモジュールを統合してテストするという、下から上へのヒエラルキーに沿ったアプローチです。
一番下のモジュールやユニットがマージされ、テストされます。 下位ユニットの集合は、以下のように呼ばれます。 クラスター サブモジュールをメインモジュールに統合する際、メインモジュールが利用できない場合は DRIVERS は、メインプログラムのコーディングに使用されます。
DRIVERSはコールプログラムと呼ばれる .
この方法では、欠陥の漏れが少なくなります。
サブモジュールを上位のメインモジュールに統合するために、上図のようなドライバモジュールを作成します。
#その3)ビッグバン・アプローチ
簡単に言うと、ビッグバン・アプローチでは、すべてのユニットを一度に接続し、すべてのコンポーネントをテストする必要があります。 ここでは、パーティションは行われません。 欠陥漏れは発生してはいけません。
この方法は、ゼロから開発したばかりのプロジェクトや、大幅な機能拡張を行ったプロジェクトに有効です。
ユーザー受入テスト(UAT)
テスターが完成したプロジェクトをクライアントやエンドユーザーに渡すとき、クライアントやエンドユーザーは、そのプロジェクトが正しく設計されているかどうかを再度テストします。 これをユーザー受入テストと呼びます。
テストを実施するためには、両者に対して適切なテストケースを作成する必要があります。
開発者は、機能要件仕様書に基づいてコードを開発し、テスターはそれをテストしてバグを報告します。 しかし、クライアントやエンドユーザーは、システムが正確にどのように動作するかを知っています。 したがって、彼らは彼らの端からシステムをテストします。
UATの作業手順
- UAT計画は、要件に基づいて作成する必要があります。
- シナリオは要件から構築しなければならない。
- テストケースとテストデータを準備しなければならない。
- テストケースを実行し、バグがないかをチェックする必要があります。
- バグがなく、テストケースに合格していれば、プロジェクトはサインオフされ、本番に送り出されることになります。
- もし、不具合やバグが見つかったら、すぐに修正し、リリースに備えなければなりません。
UATテストの種類
- アルファテストとベータテスト: アルファテストは開発現場で行われ、ベータテストは外部環境(外部企業など)で行われる。
- 契約の受入テスト: 契約では、あらかじめ定義された受け入れ可能な仕様が満たされる必要があります。
- レギュレーション・アクセプタンス・テスト: その名の通り、レギュレーションに対してのテストが行われます。
- オペレーショナル・アクセプタンス・テスト: 設計された操作やワークフローが期待通りであること。
- ブラックボックステスト 深く考えずとも、ソフトウェアはその重要な目的のためにテストされる必要があります。
SIT Vs UATの主な相違点
SIT | UAT |
---|---|
これを行うのがテスターと開発者です。 | エンドユーザーやクライアントが行うものです。 |
サブユニット/ユニットの統合を確認する。 インターフェースのテストを行う。 | 全体のデザインはこちらで確認しています。 |
個々のユニットは統合され、システムが要件通りに動作するようテストされます。 | ユーザーが望む製品の主要な機能について、システム全体としてテストします。 |
テスターによる要件に基づいて行われる。 | これは、製品がエンドユーザーにどのように使用されなければならないかというユーザーの視点に基づいて行われます。 |
SITは、システムが組み立てられると同時に行われます。 | UATは、製品リリース直前になってようやく実施されます。 |
結論
システム統合テストは、主にシステムのインターフェース要件をテストするために行われます。 一方、ユーザー受け入れテストは、エンドユーザーによるシステム全体の機能を検証するために行われます。 両方のテストには、適切なテストケースを作成する必要があります。
SITは3つの手法(トップダウンアプローチ、ボトムアップアプローチ、ビッグバンアプローチ)、UATは5つの手法(アルファテスト、ベータテスト、契約受入テスト、規定受入テスト、運用受入テスト、ブラックボックステスト)で行うことができる。
システムテストで発見された不具合は、簡単に修正することができ、不具合に基づいて異なるビルドを作成することができます。 一方、UATで発見された不具合は、テスターにとってブラックマークとみなされ、受け入れられません。
UATでは、開発された製品がビジネス環境におけるニーズを満たしていることを、ビジネス関係者や顧客が満足しなければなりません。 SITは、システムの機能要件を満たす必要があります。
この記事で、SIT対UATに関する疑問が解消されたなら幸いです!