ユーザー受け入れテスト(UAT)とは、その定義、タイプ、ステップ、および例とともに:
新しい概念を理解しようとするときの私のルールナンバーワンは、次のとおりです。名前は常に関連性があり、ほとんどが文字通りの意味です(技術的なコンテキスト)。
それが何であるかを知ることは、それを最初に理解し、私が始めるのに役立ちます。
= >完全なテスト計画チュートリアルシリーズについては、ここをクリックしてください
この概念をテストしてみましょう。
= >受け入れテストシリーズのすべてのチュートリアルをお読みください。
ユーザー受け入れテストとは何ですか?
テストとは何かを知っています。受け入れとは、承認または同意を意味します。ソフトウェア製品のコンテキストでのユーザーは、ソフトウェアの消費者か、ソフトウェアの構築を要求した人(クライアント)のいずれかです。
したがって、私のルールに従って、定義は次のようになります。 :
ユーザー受け入れテスト(UAT)は、ベータテストまたはエンドユーザーテストとも呼ばれ、ユーザーまたはクライアントがソフトウェアをテストして、受け入れられるかどうかを判断することとして定義されます。これは、機能テスト、システムテスト、および回帰テストが完了した後に実行される最終テストです。
このテストの主な目的は、ビジネス要件に対してソフトウェアを検証することです。この検証は、ビジネス要件に精通しているエンドユーザーによって実行されます。
UAT、アルファ、ベータテストは、さまざまな種類の受け入れテストです。
ユーザー受け入れテストは、ソフトウェアが稼働する前に実行される最後のテストであるため、明らかにこれが顧客がソフトウェアをテストし、目的に合っているかどうかを測定する最後のチャンスです。
いつ実行されますか?
これは通常、製品が稼働する前の最後のステップです。製品の配送が受け入れられる前に。これは、製品自体が徹底的にテストされた後(つまり、システムテストの後)に実行されます。
UATを実行するのは誰ですか?
ユーザーまたはクライアント–これは、製品を購入している人(商用ソフトウェアの場合)、またはソフトウェアサービスプロバイダーまたはエンドユーザーを通じてカスタムビルドされたソフトウェアを持っている人(ソフトウェアが事前に利用可能になっていて、フィードバックが求められている場合)。
チームはベータテスターで構成することも、顧客は組織のすべてのグループから内部でUATメンバーを選択して、それに応じてすべてのユーザーロールをテストできるようにする必要があります。
ユーザー受け入れテストの必要性
開発者と機能テスターは、機能仕様に対してソフトウェアを検証する技術者です。彼らは知識に従って要件を解釈し、ソフトウェアを開発/テストします(ここにドメイン知識の重要性があります)。
このソフトウェアは機能仕様に従って完全ですが、いくつかのビジネス要件とプロセスがあります。エンドユーザーだけが知っていることは、コミュニケーションを逃したり、誤解したりします。
このテストは、ソフトウェアを市場で使用するためにリリースする前に、すべてのビジネス要件が満たされているかどうかを検証する上で重要な役割を果たします。ライブデータと実際のユースケースを使用することで、このテストはリリースサイクルの重要な部分になります。
リリース後の問題により大きな損失を被った多くの企業は、ユーザー受け入れテストを成功させることの重要性を知っています。リリース後に欠陥を修正するコストは、以前に修正するよりも何倍も高くなります。
UATは本当に必要ですか?
システムのロード、統合、および回帰テストを実行した後、疑問に思うでしょう。このテストの必要性。実際には、これはプロジェクトの最も重要なフェーズです。これは、実際にシステムを使用するユーザーが、目的に合っているかどうかシステムを検証する時間だからです。
UATはテストです。エンドユーザーの視点と、エンドユーザーを代表する部門のドメイン知識に大きく依存するフェーズ。
実際のところ、ビジネスチームにとって、それは本当に役立つでしょう。彼らはプロジェクトにかなり早い段階で関わっていたので、現実の世界でシステムを効果的に使用するのに役立つ意見や貢献を提供できます。
ユーザー受け入れテストプロセス
このプロセスを理解する最も簡単な方法は、これを自律的なテストプロジェクトと考えることです。つまり、計画、設計、実行の各フェーズがあります。
以下は、計画フェーズの前の前提条件です。開始:
#1)主要な承認基準を収集する
簡単に言うと、承認基準はこのリストです。製品を受け入れる前に評価される予定のng。
これらには次の2つのタイプがあります。
(i)アプリケーション機能またはビジネス関連
理想的には、すべての主要なビジネス機能を検証する必要がありますが、時間など、さまざまな理由から、すべてを行うのは現実的ではありません。したがって、このテストに関与するクライアントまたはユーザーとの1〜2回の会議で、どの程度のテストが関与し、どの側面がテストされるかについてのアイデアを得ることができます。
(ii)契約–これについては説明しませんが、QAチームがこれに関与することはほとんどありません。 SDLCが開始される前でも作成された最初の契約がレビューされ、契約のすべての側面が提供されたかどうかについて合意に達します。
アプリケーション機能のみに焦点を当てます。 。
#2)QAの関与の範囲を定義します。
QAチームの役割は次のいずれかです。
(i)関与なし–これは非常にまれです。
(ii)このテストを支援します–ほとんど一般。この場合、私たちの関与は、アプリケーションの使用方法についてUATユーザーをトレーニングし、このテスト中にスタンバイ状態にして、問題が発生した場合にユーザーを支援できることを確認することです。または、場合によっては、スタンバイと支援に加えて、ユーザーが実際のテストを実行している間に、応答を共有して結果を記録したり、バグなどをログに記録したりすることがあります。
(iii)UATを実行して現在の結果–この場合、ユーザーは評価したいAUTの領域を指定し、評価自体はQAチームによって実行されます。完了すると、結果がクライアント/ユーザーに提示され、AUTを受け入れるために、手元にある結果が十分であるかどうか、および期待に応じて決定を下します。決定はQAチームの決定ではありません。
手元のケースに応じて、どちらのアプローチが最適かを決定します。
主な目的と期待:
通常、UATは、対象分野の専門家(SME)および/またはテスト対象のシステムの所有者または顧客である可能性のあるビジネスユーザーによって実施されます。システムテストフェーズと同様に、UATフェーズには、閉鎖される前の宗教フェーズも含まれます。
各UATフェーズの主な活動は次のとおりです。
UATガバナンス
システムテストと同様に、UATには効果的なガバナンスが適用され、定義された入口と出口の基準(**の下に提供)とともに強力な品質のゲートが保証されます。
**単なるガイダンスです。これは、プロジェクトのニーズと要件に基づいて変更できます。
UATテスト計画
プロセスは、システムフェーズの通常のテスト計画とほぼ同じです。
ほとんどのプロジェクトで採用されている最も一般的なアプローチは、システムとUATの両方のテストフェーズを一緒に計画することです。 UATテスト計画とサンプルの詳細については、添付のテスト計画ドキュメントのUATセクションを確認してください。
ユーザー受け入れテスト計画
(これは、あなたが行うのと同じです。 QAトレーニングシリーズのサイトもご覧ください。
下の画像をクリックして下にスクロールすると、さまざまな形式のテスト計画ドキュメントのサンプルが見つかります。そのテンプレートで、UATセクションを確認します。
日付、環境、アクター(who)、通信プロトコル、役割と責任、テンプレート、結果とその分析プロセス、出入り基準–すべてこれと関連するその他のものはすべてUATテスト計画に含まれます。
QAチームがこのテストに参加しているか、部分的に参加しているか、まったく参加していないかにかかわらず、このフェーズを計画するのが私たちの仕事です。すべてが考慮されていることを確認してください。
= >これがユーザー受け入れテスト計画のサンプルドキュメントです
ユーザー受け入れテストの設計
このステップでは、ユーザーから収集された受け入れ基準が使用されます。サンプルは次のようになります。
(これらはCSTE CBOKからの抜粋です。これは、このテストに関して利用できる最良のリファレンスの1つです。)
ユーザー受け入れテストテンプレート:
基準に基づいて、私たち(QAチーム)はユーザーにUATテストケースのリストを提供します。これらのテストケースは、通常のシステムテストケースと同じです。これらは、主要な機能領域だけでなく、すべてのアプリケーションをテストするためのサブセットにすぎません。
これらに加えて、データ、テスト結果を記録するためのテンプレート、管理手順、欠陥ログメカニズム、次のフェーズに進む前に、などを実施する必要があります。
テストの実行
通常、このテストは、可能であれば、会議や戦場で行われます。ユーザー、PM、QAチームの代表者全員が1日か2日一緒に座って、すべての受け入れテストケースを処理するように設定します。
またはQAチームがテストを実行する場合は、テストを実行します。 AUTのケース。
すべてのテストが実行され、結果が手元にあると、承認の決定が行われます。これは、Go / No-Go決定とも呼ばれます。ユーザーが満足している場合、それは成功です。そうでない場合は、失敗です。
通常、承認の決定に達することで、このフェーズは終了します。
ツール&方法論
通常、このテストフェーズで使用されるソフトウェアツールの種類は、機能テストの実行中に使用されるツールと似ています。
ツール:
このフェーズにはアプリケーションの完全なエンドツーエンドフローの検証が含まれるため、この検証を完全に自動化する1つのツールを用意するのは難しい場合があります。ただし、ある程度、システムテスト中に開発された自動スクリプトを活用することはできます。
システムテストと同様に、ユーザーはQC、JIRAなどのテスト管理および欠陥管理ツールも使用します。ツールは、ユーザー承認フェーズのデータを累積するように構成できます。
方法:
製品のUATを実行する特定のビジネスユーザーなどの従来の方法は依然として関連していますが、真のグローバル今日のような世界では、ユーザー受け入れテストでは、製品に基づいて国を超えてさまざまな顧客を関与させる必要がある場合があります。
たとえば、eコマースWebサイトは世界中の顧客によって使用されます。このようなシナリオでは、クラウドテストが実行可能な最善のオプションです。
クラウドテストは、世界中の人々が参加して製品の使用法を検証し、提案や推奨事項を提供できる方法です。
クラウドテストプラットフォームが構築され、現在多くの組織で使用されています。クラウドテストが必要なWebサイトまたは製品はプラットフォームでホストされ、顧客は検証を行うために自分自身を指名できます。提供されたフィードバックは分析され、優先順位が付けられます。
世界中の顧客の動向を簡単に理解できるため、クラウドテストの方法論がより効果的であることが証明されています。
アジャイル環境でのUAT
アジャイル環境は本質的により動的です。アジャイルの世界では、ビジネスユーザーはプロジェクトのスプリント全体に関与し、プロジェクトは彼らからのフィードバックループに基づいて強化されます。
プロジェクトの開始時には、ビジネスユーザーが主要な利害関係者になります。要件を提供し、それによって製品バックログを更新します。各スプリントの終了時に、ビジネスユーザーはスプリントデモに参加し、フィードバックを提供できるようになります。
さらに、ビジネスユーザーがスプリントを完了する前にUATフェーズが計画されます。検証。
スプリントデモおよびスプリントUAT中に受信したフィードバックは照合され、製品のバックログに追加されます。このフィードバックは常に確認され、優先順位が付けられます。したがって、アジャイルの世界では、ビジネスユーザーはプロジェクトにより近く、従来のウォーターフォールプロジェクトとは異なり、同じものを使用することをより頻繁に評価します。
UATチーム–役割&責任
一般的なUAT組織には、次の役割と責任があります。 UATチームは、プロジェクトマネージャー、開発チーム、およびテストチームのニーズに基づいてサポートされます。
役割 | 責任 | 成果物 |
---|---|---|
ビジネスプログラムマネージャー | •プログラム提供計画の作成と維持 •UATテスト戦略と計画のレビューと承認 •スケジュールと予算内でプログラムが正常に完了したことを確認します •ITプログラムマネージャーと連絡を取り、プログラム •ビジネス運用チームと緊密に連携し、1日目の運用に備えます •ビジネス要件文書の承認 •eラーニングコースの内容を確認します |
•プログラム進捗レポート •毎週のステータスレポート |
UATテストマネージャー | •クレタ島のUAT戦略 •間の効果的なコラボレーションを確保するITおよびビジネスBAとPMO •要件ウォークスルーミーティングに参加する •労力見積もり、テスト計画を確認する •要件Traを確認するceability •更新されたテスト方法、ツール、および環境の使用から得られるメリットを定量化するためのメトリック収集を推進します |
•マスターテスト戦略 •レビュー&テストシナリオの承認 •&のレビューテストケースの承認 •&要件のトレーサビリティマトリックスの承認 •毎週のステータスレポート |
UATテストリード&チーム | •
ビジネスプロセスに対するビジネス要件の検証 |
•テストログ •毎週のステータスレポート •欠陥レポート •テスト実行メトリック •テスト概要レポート •アーカイブされた再利用可能なテスト成果物 |
UATの7つの課題緩和策
10億ドル規模のリリースに参加しているのか、スタートアップチームに参加しているのかは関係ありません。エンドユーザーにソフトウェアを成功させるには、これらすべての課題を克服する必要があります。
#1)環境のセットアップと展開のプロセス:
機能テストチームが使用するのと同じ環境でこのテストを実行すると、実際のユースケースを見落とすことになります。また、パフォーマンステストなどの重要なテストアクティビティは、テストデータが不完全なテスト環境では実行できません。
このテスト用に別の本番環境のような環境を設定する必要があります。
UAT環境がテスト環境から分離されたら、リリースサイクルを効果的に制御する必要があります。制御されていないリリースサイクルは、テスト環境とUAT環境で異なるソフトウェアバージョンにつながる可能性があります。ソフトウェアが最新バージョンでテストされていない場合、貴重な受け入れテスト時間が無駄になります。
一方、誤ったソフトウェアバージョンでの問題追跡に必要な時間は長くなります。
#2)テスト計画:
このテストは、要件分析および設計フェーズで明確な受け入れテスト計画を使用して計画する必要があります。
戦略計画では、実際のユースケースのセットを特定する必要があります。実行のため。このテストフェーズの大規模なアプリケーションでは完全なテスト実行は不可能であるため、このテストのテスト目標を定義することは非常に重要です。テストは、最初に重要なビジネス目標に優先順位を付けて実行する必要があります。
このテストは、テストサイクルの最後に実行されます。明らかに、それはソフトウェアリリースにとって最も重要な時期です。開発とテストの前の段階のいずれかが遅れると、UAT時間が消費されます。
不適切なテスト計画は、最悪の場合、システムテストとUATの重複につながります。期限を守るための時間とプレッシャーが少ないため、機能テストが完了していなくても、ソフトウェアはこの環境に展開されます。このような状況では、このテストの主要な目標を達成することはできません。
UATテスト計画を作成し、このテストを開始する前にチームに伝達する必要があります。これは、テスト計画、テストケース&テストスクリプトの作成、およびUAT環境の作成に役立ちます。
#3)インシデント/欠陥としての新しいビジネス要件の処理:
要件のあいまいさは、UATフェーズで捕捉されます。 UATテスターは、(要件収集フェーズでは利用できなかった完全なUIを確認することで)あいまいな要件が原因で発生する問題を見つけ、それを欠陥としてログに記録します。
お客様は、変更要求の時間を考慮せずに、これらが現在のリリースで修正されることを期待しています。これらの土壇場での変更についてプロジェクト管理者がタイムリーな決定を下さない場合、リリースの失敗につながる可能性があります。
#4)熟練していないテスターまたはビジネス知識のないテスター:
常勤のチームがいない場合、会社はさまざまな社内部門からUATスタッフを選択します。
スタッフがビジネスニーズに精通している場合、または新しい要件についてトレーニングを受けていない場合でも、開発中のため、効果的なUATを実行できません。また、技術以外のビジネスチームは、テストケースの実行において多くの技術的な問題に直面する可能性があります。
一方、UATサイクルの最後にテスターを割り当てても、プロジェクトに価値はありません。 UATスタッフをトレーニングする時間がほとんどない場合、UATが成功する可能性が大幅に高まる可能性があります。
#5)不適切な通信チャネル:
リモート開発、テスト、およびUATチーム間の通信はより困難です。オフショアの技術チームがいる場合、電子メールによるコミュニケーションは非常に難しいことがよくあります。インシデントレポートのわずかなあいまいさにより、修正が1日遅れる可能性があります。
効果的なチームコラボレーションには、適切な計画と効果的なコミュニケーションが不可欠です。プロジェクトチームは、Webベースのツールを使用して欠陥や質問をログに記録する必要があります。これにより、ワークロードを均等に分散し、重複する問題の報告を回避できます。
#6)機能テストチームにこのテストの実行を依頼する:
機能テストを依頼するよりも悪い状況はありません。 UATを実行するチーム。
リソースが不足しているため、顧客はテストチームに責任を負わせます。このような場合、このテストの目的全体が損なわれます。ソフトウェアが稼働すると、エンドユーザーは機能テスターによって実際のシナリオとは見なされない問題をすばやく見つけることができます。
これに対する解決策は、このテストを専任の熟練したスキルに割り当てることです。ビジネス知識を持っているテスター。
#7)非難ゲーム
ビジネスユーザーは、ソフトウェアを拒否する理由を見つけようとすることがあります。彼らがどれほど優れているかを示したり、ビジネスチームで尊敬を得るために開発およびテストチームを非難したりするのは彼らの自我かもしれません。これは非常にまれですが、内部政治のあるチームで発生します。
このような状況に対処することは非常に困難です。ただし、ビジネスチームとの良好な関係を構築することは、非難のゲームを回避するのに間違いなく役立ちます。
これらのガイドラインが、さまざまな課題を克服することにより、ユーザー受け入れ計画を成功させるのに確実に役立つことを願っています。適切な計画、コミュニケーション、実行、および意欲的なチームは、ユーザー受け入れテストを成功させるための鍵です。
システムテストとユーザー受け入れテスト
テストチームの関与は、
プロジェクトのライフサイクル全体を通じて、静的テスト、ユニットテスト、システムテスト、統合テスト、エンドツーエンドテストなど、プロジェクトに対して何らかの検証が実行されます。または回帰テスト。これにより、UATフェーズで実行されたテストと、以前に実行された他のテストとの違いについて理解を深めることができます。
SITとUATには違いがありますが、相乗効果を活用することが重要です。ただし、両方のフェーズ間の独立性を維持することで、市場投入までの時間を短縮できます。
結論
#1)UATは、ページ、フィールド、またはボタンに関するものではありません。このテストが始まる前でさえ、根本的な仮定は、すべての基本的なものがテストされ、正常に機能しているということです。神は禁じています、ユーザーはそれと同じくらい基本的なバグを見つけます–それはQAチームにとって非常に悪いニュースの一部です。 :(
#2)このテストは、ビジネスの主要な要素であるエンティティに関するものです。
例を挙げましょう。AUTがチケットシステムの場合、 UATは、ページを開くメニューなどを検索することはありません。チケットとその予約、取得できる状態、システム内の移動などについてです。
別の例として、サイトが自動車販売店のサイトである場合、焦点は「車とその販売」にあり、実際にはサイトではありません。したがって、コアビジネスは検証および検証されたものであり、誰がそれを行うよりも優れているかです。事業主。そのため、このテストは、顧客が大部分関与している場合に最も理にかなっています。
#3)UATは、中核となるテストの形式でもあり、次のような可能性が高いことを意味します。このフェーズでもいくつかのバグを特定します。それは時々発生します。QAチームの主要なエスカレーションであるという事実は別として、UATバグは通常、座ってそれらをフォローとして処理する方法について話し合う会議を意味します。このテストでは、通常、修正して再テストする時間はありません。
決定は次のいずれかになります。
- 運用開始日をプッシュし、最初に問題を修正してから修正します。先に進みます。
- バグはそのままにしておきます。
- 将来のリリースの変更リクエストの一部と見なしてください。
#4)UATはアルファテストとベータテストに分類されますが、その分類はそれほど重要ではありません。サービスベースの業界における典型的なソフトウェア開発プロジェクトのコンテキストで。
- アルファテストは、UATがソフトウェアビルダーの環境で実行される場合であり、市販の市販のコンテキストでより重要です。ソフトウェア。
- ベータテストは、UATが実稼働環境またはクライアントの環境で実行される場合です。これは、顧客向けのアプリケーションでより一般的です。ここでのユーザーは、このコンテキストでのあなたや私のような実際の顧客です。
#5)通常のソフトウェア開発プロジェクトでは、ほとんどの場合、UATはQA環境で実行されます。ステージングやUAT環境ではありません。
要するに、製品が受け入れ可能で目的に合っているかどうかを確認する最良の方法は、実際にユーザーの前に置くことです。
組織はアジャイルな提供方法に参入し、ビジネスユーザーはより関与し、プロジェクトは強化され、フィードバックループを介して提供されています。すべてが完了すると、ユーザー承認フェーズは、実装と本番環境に移行するためのゲートと見なされます。
UATの経験はどのようなものでしたか?スタンバイ状態でしたか、それともユーザーのテストを行いましたか?ユーザーは何か問題を見つけましたか?はいの場合、どのように対処しましたか?
= >このシリーズのすべてのチュートリアルもここで読んでください
= >完全なテスト計画チュートリアルシリーズについてはこちらをご覧ください
最終更新日:2021年1月18日午前6時41分