UAT はコンテキスト依存であり、UAT 計画は要件に基づいて作成され、あらゆる種類のユーザー受け入れテストを実行する必要はなく、テスト チームによって調整および提供されることもあります。
目次
- ユーザー受け入れテスト (UAT) とは何ですか?
- UAT テストを実行するにはどうすればよいですか?
- UATの目的は何ですか?
- ユーザー受け入れテストの種類
- ユーザー受け入れテストを実行する手順
- ユーザー受け入れテスト (UAT) の課題
- ユーザー受け入れテストの必要性
- ユーザー受け入れテスト用のツール
- ユーザー受け入れテストのガイドライン
- ユーザー受け入れテストの終了基準
- ユーザー受け入れテストとシステムテスト
- 受け入れテストと V モデルの比較
ユーザー受け入れテスト (UAT) とは何ですか?
ユーザー受け入れテスト クライアント/エンドユーザーが製品テストに参加して、要件に対して製品を検証するテスト方法論です。これは、開発者のサイト上のクライアントのサイトで行われます。医療や航空宇宙などの業界では、契約および規制への準拠テスト、運用受け入れテストもユーザー受け入れテストの一環として実行されます。
受け入れ基準は、次の属性に基づいて定義されます。
- 機能の正確さと完全性。
- データの整合性。
- データ変換。
- 適用性。
- パフォーマンス。
- 適時性。
- 機密性と可用性。
- インストール性とアップグレード性。
- スケーラビリティ。
- ドキュメンテーション。
UAT テストを実行するにはどうすればよいですか?
効果的なユーザー受け入れテストを実施するには、製品のユーザー獲得ファネルに人々を参加させることが必要です。ユーザーに尋ねることができる質問の例は何ですか?どのような情報が役立ちますか、何が関連していますか、そしてなぜ他の潜在顧客に見つけてもらいたいのですか?考えられるすべてのデータ ポイントを一度にテストすることはできないため、開始前に多くの調整が必要になる可能性がありますが、理論的には、テストによって、テストされる十分な値が存在しないか、間違った質問が行われた可能性さえあることがわかります。
効果的なユーザー受け入れテストを実行するには、いくつかの前提条件があります。それらには次のものが含まれます。
- 包括的な知識ベース。リリース前にすべてがテストされ、証明されています。最初から最後までのユーザーの行動に関する正確な情報が必要です。すべてのフロント ページには、テスト目的で適切な視覚補助が必要です。これは、ソフトウェア会社の従業員が他の企業でも Web ツールやフォーラムなどのオンライン サービスを使用することが期待されているのと同じです。
- ビジネスが時間の経過とともに急速に成長する場合にのみ役立つ、さまざまな詳細レベルを備えたデータベースのようなシステムを開発する必要があります。開発後、各レベルの値に注目すると、さらに多くの可能性が開かれます。これは、すべてのユーザーが常に自分の考えを受け入れるとは限らず、通常は他のユーザーよりも優れたものを受け入れるためです。
UATの目的は何ですか?
ユーザー受け入れテスト (UAT) の目的は、ユーザーに問題を引き起こす可能性のあるソフトウェア、システム、ネットワークのバグを特定することです。 UAT は、ソフトウェアが現実世界のタスクを処理し、開発仕様に従って実行できることを保証します。ユーザーは正式リリース前にソフトウェアを操作して、見落とされている機能やバグがないかどうかを確認することができます。
UAT の方法論は 3 つの基本ガイドラインに従っています。 個別のデバイスではなく複数の人を使用してメッセージをテストする場合、昨年末からお互いにオンラインにならずに、独立した場所で 1 人の送信者をテストする。短距離で情報を送信しながら自宅に電話で通信する場合、 Signal などのメッセンジャー サービスを介してサービスを配信する前に、サービスについて公に話し、ソーシャル メディア アカウントではなく電子メール アドレスを介して送信する場合。
開発サイクルの最後に実行されるテストは、ユーザー受け入れテストによって検証されます。他のテスト段階が完了し、ソフトウェアが完全に機能する可能性もありますが、それでもエンド ユーザーの要件を満たしていない可能性があります。
- 障害に対する保護: UAT は、欠陥のある、効果のない、または未完成のソフトウェア製品のリリースを防ぎます。
- バグの少ないソフトウェア: UAT は、ソフトウェアにバグが含まれてリリースされないように、徹底してユーザー要件を反映する必要があります。これらの問題はコストが高くつき、ソフトウェア ベンダーの評判に悪影響を与える可能性があります。
- 適切なテスト - テストが機能するためには、各クライアントが利用可能なすべてのネットワーク接続に対して等しい確率でテストされ、サーバーから 1 つの応答も受信せずに送信されたメッセージの数に関係なく、クライアントがそれを受け入れた場合に最後にテストを受ける必要があります。
- 問題 – 過去には、モバイル アプリケーションを使用しているユーザーが、必要なときに連絡が取れないという問題が見つかりました。
- 間違ったユーザー名 – Twitter や Facebook などの Web サイト上の電子メール メッセージにユーザー名が誤って追加され、誤検知が発生する例もいくつかありました。このファイルは、ある種のパスワード リセット手順を試みているときに攻撃者によって持ち出されました。これは、あるユーザーが電子メールの編集中に、意図せずに誤って詳細を入力したためであり、誰かのサーバーへのログインなど、別のプログラム内で特定のタスクを実行した後の仕上げの一部として行われました。 FTP経由で。
- テストチェック – このやり方では、テスターはシステムの状態をチェックするだけで、インターフェイスの特定の部分を試すこと以外は何もしないため、新機能が必要になったときにユーザーを不必要に遠ざける可能性があります。
ユーザー受け入れテストの種類
ユーザー受け入れテストには次の 5 種類があります。
1. アルファ版ユーザー受け入れテスト:
- アルファ UAT とは、ユーザーが製品を入手する前にテストされることを意味します。そのため、ユーザーの使用パターンをテストする場合は、ベータ版が実稼働環境にデプロイされる前にアルファ テストを実行して、すべての受け入れテストに合格できることを確認することをお勧めします。
- これにより、早期採用者/テスターによる迅速な検証が可能になり、機能の成熟に向けてリリース サイクルごとにソフトウェアの開発が進むにつれて、迅速な調整が可能になります。
- これにより、ライフ サイクルの後半に発売された製品によって達成された導入レベルに基づいてセキュリティ アップデートが利用可能になった後は、バグやエクスプロイトの機会がなくなるため、発売後少なくとも 6 か月以内に行う必要があります。
2. ベータ版のユーザー受け入れテスト:
- ベータ UAT は、1 ラウンド以上のテストを完了したユーザーに、Angular2 の新しいバージョン (ベータ リリース) によるテストが受け入れられるかどうかを示すポップアップが表示されることを意味します。
- アプリケーションは自然環境でテストされます。
- リスクや失敗を軽減し、顧客のフィードバックを通じて製品の品質を向上させます。
3. 運用受け入れテスト (OAT):
- 運用受け入れテスト (OAT) は、リリースまたは運用前にソフトウェア アプリケーションの運用準備状況を評価するソフトウェア テスト手法です。
- 運用受け入れテストの目的は、システムとコンポーネントのコンプライアンスを確保し、標準オペレーティング環境 (SOE) でシステムがスムーズに動作することを確認することです。
- OAT テスト (運用受け入れテスト) は、運用準備テスト (ORT) または運用テストとも呼ばれます。
- これらのテスト ケースは、製品またはフレームワークを利用できるように設定された作業プロセスがあることを保証します。
- これには、強化計画、クライアントの準備、さまざまなサポート サイクルとセキュリティ チェックのための作業プロセスを組み込む必要があります。
4. 契約受諾テスト:
- 契約受け入れテストとは、開発されたソフトウェアを、事前に定義され合意された基準および仕様に照らしてテストするプロセスを指します。
- プロジェクト チームが契約に同意すると、受け入れに関連する基準と仕様を定義します。
5. 規制受入テスト:
- レギュレーションATは一般にコンプライアンスATと呼ばれます。
- この種の確認テストは、その物品が輸送される特定の国の規制協会によって定められた規則や規則を無視していないことを保証するために行われます。
- 一般に、地球の一方の側からもう一方の側まで入手可能なものは、国ごとに個別の監督協会によって設定された異なる基準やルールがあることを考慮して、このタイプのテストを通過する必要があります。
実行手順 ユーザーの受け入れ テスト

UAT テストを実行する手順
1. 要件分析:
このステップにはビジネス要件の分析が含まれます。テスト シナリオを特定して開発するために、次の文書が徹底的に検討および調査されます。
10mlをオンスに
- ビジネスの使用例。
- ビジネス要件ドキュメント (BRD)。
- システム要件仕様 (SRS)。
- プロセスフロー図。
2. UAT テスト計画の作成:
このステップでは、ソフトウェアが予想されるビジネス要件を満たしていることを検証して確認するために使用されるテスト戦略の概要を説明するのに役立つテスト場所が作成されます。テスト計画には、開始基準、終了基準、テスト シナリオ、およびテスト ケースのアプローチが含まれます。
3. テスト シナリオを特定します。
このステップには、ビジネス要件を考慮したテスト シナリオの特定と、明確なテスト ステップをリストしたテスト ケースの作成が含まれます。テスト ケースは UAT テスト シナリオをカバーする必要があります。
4. UAT テスト ケースを作成します。
このステップでは、ほとんどのテスト シナリオをカバーする UAT テスト ケースを作成します。ビジネス ユース ケースは、テスト ケースを作成するための入力となります。
5. テストデータを準備します。
UAT テストにはライブ データを使用することがベスト プラクティスと考えられており、UAT テスターはデータベース フローに精通している必要があります。
6. テスト実行:
このステップには、テスト ケースの実行とバグがある場合の報告が含まれます。バグが修正されたら、ソフトウェアを再テストします。このステップでは、テスト管理ツールをテスト ケースの実行に使用できます。
7 。ビジネス目標の確認:
このステップでは、UAT テスターは、製品が本番環境に移行できることを確認するために、UAT テスト後にメールをサインオフする必要があります。ここでの成果物は、テスト計画、UAT テスト シナリオ、テスト ケース、結果ログ、および欠陥ログです。
ユーザー受け入れテスト (UAT) の課題
ユーザー受け入れテストの実施には次のような課題があります。
- 誤報活動: 潜在的なユーザーによる使用および誤用/誤報の活動は、制御することが非常に困難な場合があります。たとえば、企業に適切な情報システムが導入されていない場合、この問題が発生する可能性があります。ユーザーエクスペリエンスに基づいた安全性に関する将来の決定につながる可能性のあるオンライン行動からのリスクを特定することができない、または困難であるため、対策を繰り返した後でもこれらの問題を存続させたい場合は困難になります。 「ユーザー」自体は、今日の世界においてますます重要な概念となっており、人々は電子メディアを介して、幼少期の初期の経験では決して予測できなかった既存の現象だけでなく、新しい現象についても絶えず認識しています。
- 説明するための適切な例: 有効性と信頼性、または少なくともパフォーマンスの側面 (時間の複雑さ、ユーザーごとのリソース使用量など) をテストするためのサンプル プロジェクトを提供します。
- 適切な評価: 正常に受け入れられた後、この情報がユーザーによってどのように処理されるかを評価する テストは、各反復の前後にフィードバック用のオプションの入力を備えた HTML 形式のサンプルを含む適切な入力データを提供する一般的なプログラミング ツールを使用して実行する必要があります。
- 使いやすさ: テスターの仕事は、実際のシナリオをシミュレートして製品の使いやすさを実証する必要があるため、UAT では非常に重要です。また、ユーザーが製品をどのように操作するかに関する情報も収集する必要があります。技術者以外の人には、製品を適切に評価するために必要な理解が欠けているため、このプロセスは難しい場合があります。幸いなことに、このエクスペリエンスをできるだけ簡単かつ快適にするために利用できるリソースが数多くあります。会社やコミュニティの技術サポート メンバーやボランティアを招待してプログラムをテストしてもらうと、技術に詳しくない人があなたの作品を評価するのに役立つガイドとして機能することができます。
- 適切なバランス: IT プロフェッショナルは、ユーザーを招待するだけでなく、ユーザーの入力や期待とコストや制約のバランスを取る必要があります。たとえば、一部の企業では、ベータ テスト中にコンピューターごとのユーザー数を制限しています。これにより、コストとデータ収集の両方が制限されます。他の企業は VPN を使用して、特定の顧客のみが一度にプログラムにアクセスできるようにしています。これにより、データ収集を制限することなくコストを制限できます。
- ユーザーが実行するアクションの制限: また、各ユーザーがプログラム内で実行できるアクションにも制限があります。たとえば、企業が魅力のない顧客に対して貴重なデータを無駄にしないように、一部のプログラムには有効期限が設定されています。
ユーザー受け入れテストの必要性
- 使いやすさ: ソフトウェア テスト プロセスはユーザーが慣れることに依存しているため、どの製品でもソフトウェア テストでユーザー受け入れテストが必要です。
- フィードバックメカニズム: ユーザーにリーチし、ユーザーの信頼を確保する最善の方法は、ツールを使用したユーザビリティ テストを通じてフィードバックを導入することです。
- 実行不可能な原因: これが実現できない理由はいくつかあります。 不足 – 複雑な機能を持つアプリケーション内でユーザー受け入れテストを提供するには多くの方法があります – 例 Safari は 20 年前のデビュー以来、テスターによって広範囲にテストされてきましたが、ほとんど変更はありませんでした。 。適切なテスト方法を使用すれば、ユースケースはすぐにシンプルになります。
- 文書化とコミュニケーション: ソフトウェア テスターは、コードが約束どおりに動作するかどうかを検証できるように、コードがどのように動作するかについての優れたドキュメントを探しています。これにより、必要に応じて誠実なテストが保証されます。あるいは、テスト自体ではなく、代わりにコミュニケーションを行う能力が向上するだけです。また、機能の欠如によって問題が発生するまで、何か新しいもの (いくつかの新機能など) を試してみることもできます。
ためのツール ユーザー受け入れテスト
UAT に使用されるいくつかのツールを以下に示します。
1.Marker.io: サイトや Web アプリケーションを離れることなく、視覚的なバグをデバイスに直接報告します
npmキャッシュをクリーンアップする
- ユーザーは、Google Analytics でホストされているハブにメッセージ、コメント、イベントを投稿できます。オプションで更新間の遅延を設けて、1 秒あたり 1 つのメッセージのみが送信されるようにします。
- これにより、Web アプリのフローを中断する可能性のある偶発的なユーザー操作が排除され、データの損失が遅延します。
2. フルストーリー: クライアントがあらゆるクライアントのアクションを追跡および検査できるようにします。スナップからページ送りまで、すべてが結果的にリストされます。
- 機能的には GraphPad に似ていますが、はるかに柔軟性が高く、いくつかのグラフを通じてユーザーの受け入れと拒否を視覚化できます。
- データは、スクラムなどのインタラクティブなダッシュボードを介して表示することも、データの個々の部分を描画して、お気に入りのソフトウェアを使用して実際のユーザーのフィードバックとともに視覚化することもできます。この種の構造化されたテストは、一般に考えられているよりもはるかに簡単になり、おそらくさらに簡単になります。イライラする。
3.ホットジャー: クライアントのインターネットベースの行動と声を明らかにします。 Hotjar は、サイトのクライアント エクスペリエンスと実行/変換率をさらに向上させる方法についての「10,000 フィートの視点」を提供します。
- このアプリケーションは、Web サイトを閲覧したことのあるユーザーのオンライン データベースを追跡するサービスを実行します。
- 次のページでは、Hotjar が提供するものを要約し、Hotjar を使用して Web サイトを作成するためのヒントを提供します。
- また、ユーザーはコマンドラインからテストを実行でき、後で追加される可能性のあるさまざまな機能をテストするのに優れた仕事をします。
4.クレイジーエッグ: サイトの個々のページをスクリーンし、さまざまなゲストが画面のどこをクリックしたか、どの部分をクリックしたかの内訳を提供する Web ベースのデバイス。
- ユーザーは、他の開発者やクライアント/ユーザーが Selenium Server テスト スイートなどのさまざまな API を使用して簡単にテストできるように、必要なすべてのメソッドとその引数に沿った戻り値を備えたクラスを構築する必要があります。
- これには 2 つの種類があり、1 つは Mocha テスト スイート、つまり WebDriver の上に構築され、もう 1 つは MuleTest のフレームワークに基づいて構築されていますが、ソケットなどによる実装などのカスタム機能が追加されています。
5.クアラルー: ユーザーが Web アプリを簡単にテストできるようにします。
- Qualaroo は、ユーザーが Web アプリを簡単にテストできるようにする Python ライブラリです。
- Python で共通のデータ構造を作成できるため、RSpec や TDDRunner などの QA ツールを使用して、さまざまなサーバー構成に対してテストを直接実行できます。
6. 歩哨: ユーザーが自分で受け入れテストを作成できる Web インターフェイス
- シンプルですが効果的であり、ISO 9001 や ANSI X9-TRIAMS などのいくつかの国家標準化団体に受け入れられています。
- Sentry は、ユーザーが受け入れテストを作成し、セットアップ中に選択されたさまざまなテスト ケースを含むツールバー メニューからダッシュボード上のオプションを選択してアップロードできる Web インターフェイスを提供します。
ガイドライン ユーザー受け入れテスト
ユーザー受け入れのガイドライン 既存のコードのテストとレビューは次のとおりです。
- あまり変更しないでください: 結果以外はあまり変わりません。
- 複雑さを最小限に抑える: 単純なテストを上に記述して使いやすいインターフェイスを提供しながら、複雑さを最小限に抑えるようにしてください。
- 改善の範囲: テスト結果で改善できる点が特定できる場合、またはそうする価値がある場合は、そうしてください。
- 安全: アプリケーションのコードのセキュリティを確保するには、承認されたユーザーのみがそのコードを操作できることを必ず確認してください (未承認のデータは信頼できません)。
- 強力なパスワード: また、すべてのログ記録が完了した後、少なくとも 1 日に 1 回、当社 Web サイトを通じて直接的または間接的に取引を行う場合には、強力なパスワードを使用する必要があります。
- UAT を実施します。 ユーザー受け入れテストは、ソフトウェア シミュレーションを使用するか、エンドユーザーとの手動対話を通じて実行できます。これには、異なるユーザー タイプで複数のテストを実行して、製品の正しい使用を妨げる問題を特定することが含まれます。コンピューター シミュレーションを使用すると、テスターはコンピューター画面上の各クリック、キーボード入力、表示要素を制御できます。これにより、物理的なデバイスや人的リソースを必要とせずに、より正確なテストが可能になります。すべてのバグが不適切な設計によって引き起こされるわけではないことに注意することが重要です。一部のバグはユーザー エラーやシステム設定の構成ミスが原因である可能性があります。ここでユーザー受け入れテストが役立ちます。これにより、エンドユーザーが製品を正しく使用できるようになり、ユーザビリティの妨げとなるバグを修正できるようになります。
- コードレビュー: コードレビューは、機能、セキュリティ、パフォーマンスなどの技術的な側面に焦点を当てます。製品の技術的側面は、製品が意図したとおりに機能し、顧客の期待に応えることを保証します。コードレビュー担当者は、プログラム内のコードのすべての行を調べて、コードにバグやその他の技術的な問題がないことを確認します。これは、エンド ユーザーにはすぐには分からないプログラムのエラーや問題を防ぐのに役立ちます。レビュー担当者はまた、プログラムと他のデバイスやソフトウェアとの間の互換性の問題もチェックし、プロジェクトが他のプログラムやハードウェアで適切に動作することを確認します。
- 州の目標: いかなる種類のユーザー受け入れプログラムやコードレビュープログラムを開始する前にも、目標を明確に述べることが不可欠です。理想的には、これらのプログラムは、プロジェクトに費やす時間を直接犠牲にすることなく、将来のプロジェクトの品質を向上させる必要があります。これらのテストを早い段階で実装すると、開発プロセス内の既存の欠陥と戦うのではなく、成功する製品の開発に注意を集中できます。
終了基準 ユーザー受け入れテスト
ユーザー受け入れテストには、満たす必要のある終了基準がいくつかあります。それらには次のものが含まれます。
- 自信: 提案されたユーザーが少なくとも 1 つのタスクを効果的に実行するのに十分な知識、経験、およびスキルセットを持っているという高いレベルの信頼。
- 適切な実行: ユーザーが専門知識を活用して既存のタスクに十分に貢献できることがテストで示される場合。 3 つの用語はすべて異なるレベルを表しており、この分野のフルタイムの専門家と比較した場合、それぞれの割合は 50% 未満です。これら 2 つの基準を入力として使用する場合、目標は、到達した研究方法がどれほど重要かを学ぶことにだけに焦点を当てるのではなく、他の研究方法で同様の結果を達成した他の研究者からの支持を得ることです。
- 軽度の欠陥: テスト結果を分析した後、プロジェクト マネージャーは、発見した内容に基づいて何らかの結論を導き出すことができるはずです。たとえば、テスト中に予想よりも多くのエラーが発生した場合、これは肯定的な兆候と見なすことができます。これは、プログラムの学習と使用が容易であり、これが実装を成功させるための必須条件であることを示しています。さらに、これは、プロジェクトの目標がエンド ユーザーにとって理解しやすく、簡単に実装できることを意味します。言い換えれば、彼らのビジネスプロセスは十分に機能しているということです。予想よりもエラーが少ない場合は、これを肯定的な兆候として捉えることもできます。これは、開発ライフサイクルの早い段階で特定のセキュリティ対策を実装することが、テスト中の予期しないエラーを減らすのに大いに役立つことを示しています。
- 重大な欠陥なし: これらの結論を導き出した後、プロジェクト マネージャーは、テスト中に見つかったすべての重大な欠陥が発売後 1 か月以内に解決されることを確認する必要があります。これにより、最終コピーをエンド ユーザーにリリースする前に、長引く問題についてユーザーに通知し、重大なバグを修正する時間を確保できます。そうすることで、ユーザーが満足する可能性が高まり、製品に対する早期導入者の関心が高まります。
- UAT によると: 適切に調整された UAT は、ソフトウェア開発者がプロジェクトの早い段階で問題を特定するのに役立ち、それによって全体的な開発コストとタイムラインの遅延を削減します。したがって、UAT を効果的に実行するには、プロジェクトに関与するすべての開発者による多くの計画と取り組みが必要です。テストを実行する開発者は、次のテスト手順に進む前に、各シナリオを注意深く分析する必要があります。そうすることで、顧客のニーズを満たし、プロジェクトの目標をできるだけ早く達成する高品質の製品を生産することができます。
ユーザー受け入れテストとシステムテスト
| パラメーター | UAT | システムテスト |
|---|---|---|
| 試験方法 | それはユーザーの利便性とフィードバックに基づいています。テストは顧客の要件を満たすことに基づいて行われます。 | これはシステム/機能マイルストーンに基づいています。テストはシステム/仕様要件を満たすことに基づいて行われます。 |
| 使用法 | UAT は、クライアント、関係者、およびテスターによって実行されます。 | システムのテストは開発者とテスターによって行われます。 |
| 種類 | アルファ UAT、ベータ UAT、運用受入テスト、契約 AT、規制 AT。 | システムおよび統合テスト。 |
| テストケース | ここでのテスト ケースにはポジティブなシナリオが含まれます。 | True と False (+/-) のテスト ケース。 |
| テスト方法 | UAT のテスト方法は機能テストに基づいています。 | 機能/パフォーマンス/その他のテスト。 |
| 実行順序 | UAT はシステム テストの後に実行されます。 | システムのテストが最初に行われます。 |
受け入れテストと V モデルの比較
以下は受け入れテストと V-Model の違いです。
| パラメーター | UAT | Vモデル |
|---|---|---|
| テストの種類 | それはお客様からのフィードバックに基づいています。 | これは検証と検証モデルに基づいています。 |
| 間隔 | UAT は、システム後のテストを反復するたびに実行されます。 | V-Model では、テストは最後にのみ行われます。 |
| テストシナリオ | テストは顧客の要件に基づいて機能ごと、モジュールごとに行われます。 | 全体がソフトウェアとして発生します。 |
| 段階 | UAT はシステムテスト後に実行されます。 | すべての開発フェーズには、V モデル テスト フェーズがあります。 |
| 顧客との対話 | UATでは、顧客とのやり取りが定期的に行われます。 | V-Model では、顧客との定期的なやり取りは必要ありません。 |