ユーザー受入テスト(UAT)プロセスの説明
Eyal Elazar
目次
UATベストプラクティス。チェックリスト
UATを成功させる鍵は、業界のベストプラクティスを採用することです。この5つのステップでは、プロセスの開始から終了までを説明します。
1.テスト計画のためのナレッジ収集(Knowledge Gathering for Test Planning)
常に、包括的なテストを作成するために必要な情報を収集することから始めましょう。関連するステークホルダーへの質問リストには、以下を含める必要があります。
- どのビジネスプロセスをテストすべきか?
- 代表的なテストには、どのような一連の動作が必要か?
- テストデータ選定のガイドラインは?
- 予定されている変更を実施した場合の想定結果は?
- テストを担当するUATチームは?
一般に、プロセス全体ではプロジェクトマネージャー、各チームのリーダー、およびタスクオーナー間で親密な連携が必要です。
2.スコープの明確化(UAT Scoping)
すべてのビジネスプロセスをテストしなければならないわけではありません。無視しても大丈夫なプロセスも含まれている可能性があります。プロジェクトのスコープが明確になるまでは、UATの開始は見送った方がよいでしょう。プロジェクトはすぐに膨れ上がる傾向があります。事前にスコープを設定しない限り、テストの成功のために何が重要かをその場で決定することは困難となります。
3.UATを設計する(UAT Design)
UATテストの範囲を理解したら、設計に移ることができます。これには、様々なビジネスユーザーをマッピングし、様々なステップを割り当て、タイムラインを設定することが含まれます。時間が経ち、参照するユースケースが増えるにつれて、このステップはより管理しやすくなります。
4.UATを実行する(UAT Execution)
UATプロセスが明確に定義されていれば、テストを開始し、不具合に対処して本番環境に移行するかどうかを決定することができます。このステップを最適化するためには、テスターと開発者の間で完璧なコミュニケーションとバランスをとり、ドキュメント作成(この問題については後述します)、進捗報告、不具合管理に注力する必要があります。
5.ビジネスの目的の確認(Business Objective Confirmation)
実行が終わり、可能な限り不具合が解決されたら、UAT終了と本番運用の時期がやってきます。UAT終了の承認は変更がビジネス要件を満たし、配備の準備が整ったことを示します。
プロからのアドバイス:UATドキュメンテーションの重要性
UATテスト戦略と全体計画の文書化は、現在および将来のテストの結果を得るために不可欠なものです。その内容は以下の通りです。
- テストの価値があるスコープ外の状況
- テストに期待すること
- 合格基準に関する一般的な合意事項
- テストの実施方法
- オーナーと参加者
- 業務範囲
- 使用する場所・環境
過去に成功したユースケースがあれば、テストの構成、管理、結果などを忘れずに記録してください。
UATテストケースの成果
テストとその結果を、追跡可能で注釈付きの記録として文書化し、簡単にアクセス、使用できるようにします(ただし、Excelシートを「使いやすい」と勘違いしないでください)。
ここでは、結果の文書に含めるべきデータの種類の例をいくつか紹介します。
- 受入準備
- ビジネスへの影響(例:高、中、低)
- ビジネス要件
- コメント
- 実行日
- 期待される成果
- テスター名
- 合格・不合格
- テストケース名と番号
- テストケースのステップを定義
テスターは、各自でUATの結果を記録し、それを毎日確認する必要があります。こうすることで、問題を早期に発見し、すぐに対処することができます。
UAT終了にむけて
本番環境に移行するための前提条件が明確であり、文書化されていることを確認します。
UAT中に発生した不具合は影響度の観点から、低、中、高に分類します。中・高インパクトのものは、本番に移行する前に解決しなければなりません。優先順位の低いもの以外は延期しないことが大切です。
UATの主な課題
さて、あなたは今、アプリケーションの最新の変更をテストする最終段階にいて、UATの準備ができています。もし、あなたがまだExcelや従来のテスト管理ツールを使っているなら、2つのうちの1つが起こっていると言えます。
あなたは、ビジネスユーザーを追いかけまわしています。
世界中に分散しているビジネスユーザーを集めて 24時間体制でテストを行います。
もし、最初のシナリオに心当たりがあるのなら、おそらくあなたは神経衰弱になりかけているのでしょう。
ステークホルダーは、あなたの再三のリクエストに応えてくれません。しかし同時に、彼らは自分たちの変更を期限内に、あるいは昨日までに納品するよう圧力をかけてきます。
テストが開始されても、どのサイクルが現在どのような状態なのか、把握することはできません。
2つ目のシナリオは、ビジネスユーザーが避けることのできない固定されたタイムラインによって定義され、世界中から1つの場所に飛んでくるかもしれません。これは最も効果的な解決策とは言えず、すぐに最も良い状態で非常に高価で時間のかかるものとなってしまいます。Covid-19時代には、定期的な渡航制限があり、効果的な調整がほぼ不可能になることもあります。
その他、よくあるUATの課題として、以下のようなものがあります。
- ITに疎い担当者やビジネスユーザーを巻き込む
- ユーザー間のコラボレーションを容易にする
- アイドルタイムの短縮
- テストプロセス全体の可視化とコントロールの向上
- ユーザーの生産性に影響を与えることなく、高品質なテストエビデンスを確保
- 場所の維持・コスト
- ビジネスユーザーの余力
UATをさらに効果的にする方法
適切なアジャイルUATツールを導入することで、これらの課題に取り組み、これまで述べてきたベストプラクティスを次のレベルへ引き上げることができます。UATプロセスに必要な時間と労力を最大50%削減することができます。
適切な計画
実際のエンドツーエンドのビジネスプロセスを反映したテストを行うには、最初から標準化されたプラットフォームで機能的なユーザーとビジネスユーザーの両方を巻き込むことが重要です。
適切なソリューションは部門を超え世界中に散らばるユーザーを調整するためのコラボレーション技術を提供し、ビジネスユーザーがそのプロセスに馴染めるよう直感的であることです。
必要な範囲
プロジェクトのスコーピングを行う場合、ビジネスユーザーからの意見なしには、なかなかうまくいきません。
しかし、必要なすべての重要情報をスプレッドシートにリストアップしてもらうことは非常に疲れることです。適切なテスト管理ソリューションであれば、このプロセスを直感的に理解できるようにユーザーを導くことができます。
さらに、プロジェクトごとにゼロから再分析するのではなく、テスト計画を再利用することでユーザーはすぐに作業を開始することができます。
テスト実行の高速化
テスト結果のスクリーンショットをWordやExcelにコピー&ペーストするのは、非常に時間がかかりヒューマンエラーが発生しやすいものです。自動化された文書化、ワークフロー、不具合管理でUATテストを最適化しましょう。
適切なツールは探索的テストを支援し、必要に応じて、ツールを使用してテストを文書化することができ、プロセスを加速しソフトウェア開発チームとテストチームの間の行き来を減らすことができます。
評価と監視
ビジネスプロセス中心のアプローチから始めると、テストライフサイクル全体を通してプロセスを追跡することがはるかに容易になります。
管理しにくく信頼性の低いExcelシートに頼るのではなく、リアルタイムのダッシュボードを活用して、テストとビジネスプロセスの両レベルで複数のテストサイクルを追跡することができます。
不具合の監視や期限切れのテストの管理も可能で、内蔵の通知機能によりテストの再割り当てや関係者へのリマインダーを積極的に送信することができます。
実行:アイドルタイムの排除とボトルネックの解消
UATのワークフローは、キーユーザーにとって目隠しをして駅伝をやっているようなものです。
滝のようなワークフローの中で順番を待っている間、彼らは非常に多くの依存関係に気づかないだけなのです。これでは、アジャイルUATとは言えません。
その代わり、ワークフローの自動化機能を組み込むことで、依存関係のボトルネックを解消することができます。たとえ複数ステップ、複数テスターのビジネスプロセスであってもです。たとえば、ビジネスプロセス内でテストの順番が回ってきたとき(「Time to Test」アラート)、不具合が解決されて再テストが可能になったとき(「Retest」通知)、「Close」通知でテストや再テストの成功を開発者に知らせることができます。
評価:標準装備のコラボレーションツールで加速
世界各地に散らばるキーユーザーには、タイムゾーンやコミュニケーションの問題がつきものですが、これはテスト体験全体を通常よりさらに不愉快なものにしてしまいます。
適切な不具合管理ツールは、これらの問題を回避しテストチームと開発チーム間の非効率なコミュニケーションに費やされる無駄な時間を削減します。
不具合が発見された場合、その不具合に影響を受ける他のすべてのテストを自動的に特定し、不具合が解決されるまでテスト担当者に警告を出したり、テストの進行をブロックしたりすることができます。
PanayaでUATテストを簡素化する
これだけ聞くと複雑に聞こえますか?その必要はありません。賢いテスト マネジメント ソリューションはUATサイクルを簡素化するのに役立ちます。
Panaya Test Dynamixはトップクラスのエンドツーエンド テスト管理プラットフォームで、テスト通知、コラボレーション コミュニケーション、自動ドキュメント作成、シンプルな欠陥レポートなどの機能を備えています。
エンド ユーザーはUATサイクルで自分の役割を迅速に完了し、ビジネスに戻ることができます。その結果、導入率の向上、ROIの改善、ボトルネックの減少、リアルタイムの可視化、本稼働時のリスクゼロを実現します。
Panaya Test Dynamixは実際のビジネス プロセスを反映するエンドツーエンドのテスト ソリューションとして、これらの利点以上のものを提供し、UATを合理化し、ビジネス プロセス テストを85%加速させることができます。
ユーザー受け入れテストは、もはや戦である必要はありません。電子書籍「How to Simplify UAT Testing」をダウンロードすれば、以下の方法を学ぶことができます。
- ユーザー受け入れテストにおけるより多くの要素を自動化
- 使いやすさでキーテスターをやる気にさせる
- ビジネスユーザーの信頼を獲得し、採用を促進する
事例紹介
“We loved Panaya TDx for its collaboration features. It is a user friendly, cloud-based solution that offers easily repeatable test scenarios between similar projects. We would recommend it to any other organization running SAP.”
Pam Brown | Senior Director, ERP Business Process Organization, Bruker
詳細は『こちら』
よくある質問
UATとはなんですか?
ユーザー受け入れテスト(UAT)は、本番前の未完成、非効率、または欠陥のあるソフトウェア製品に対する安全装置です。
よく設計された高品質のUATテストは徹底的で、ユーザー要件を正確に反映し、統合テストやユニットテストでは気づかないような問題を特定します。
最後に、UATテストはシステムの完成度をマクロレベルで概観することができます。
UATの目的とは?
ユーザー受入テストは、開発サイクルの最後に行われたテストを検証するものです。
ソフトウェアは、他のテスト段階を経て完全に機能することもありますが、それでもエンドユーザーの要求を満たさない可能性があります。
UATは、欠陥のある、効果のない、または未完成のソフトウェア製品がリリースされないように保護するものです。効果的なテストのためには、UATはバグを含んだままリリースされることがないよう、徹底してユーザーの要求を反映させる必要があります。
このような問題は、コストがかかり、ソフトウェアベンダーの評判を損なう可能性があります。
なぜUATを実行するのか?
技術的には完全に機能するソフトウェアであっても、要件が明確に定義されていなかったり、開発者に効果的に伝達されていないために失敗することがあります(進化するプロジェクトで広く見られる問題です)。
また、あらゆる仮想展開モデルで効果的に見えた新しいコードが、ダイナミックな現実世界では不十分なテストだったというケースもあります。
ユーザー受け入れテスト(UAT)は、未完成で効果のない、あるいは欠陥のあるソフトウェア製品のロールアウトを防ぐための予防策です。UATは、”顧客が望むものを作れたか?”という問いに答えることで、その目標を達成します。
よく設計された高品質のUATテストは、徹底的でユーザー要件を正確に反映し、統合テストや単体テストでは気づかないような問題を特定します。最後に、UATテストは、システムの完成度をマクロレベルで把握することができます。
例えば、発注書インターフェースを改良して、オンライン顧客用の新しいサブフィールドを追加することがあります。単体テストは、変更が正しく実行され、統合されたことを確認することができます。しかし、最初の作成と承認、受領と請求書発行から会計まで、複数の部門にまたがる購入から支払いまでのプロセスを通じて、改訂された注文書が正しく機能することを確認するには、ユーザー受け入れテストが必要になります。
UATはいつ実行すべきなのか?
UATは、ソフトウェア開発と変更の実装において最も重要なフェーズの1つです。
開発チームがコードが期待通りに動作することを確認するための単体テストと、自動、手動、またはその両方に関わらずQAテストが成功した後に実行されるべきものです。
そして、本番環境に移行する直前に、ビジネスユーザーがテストを行います。ソフトウェアが実世界のシナリオにどのように適合するかについての彼らの実践的な理解は、隠れた脆弱性を明らかにし、最終製品が組織のビジネス要件を満たすことを保証します。
UATは誰が行うのか?
ビジネスユーザーが実際のUATの実行者です。
主要なビジネスユーザーは、UATサイクルのすべてのフェーズ(計画、実行、評価)、および本番前のUATの実行に関するビジネス・ノウハウが必要とされます。ソフトウェア開発の技術面を監督するエンジニアは、UATサイクルの形成と結果の解釈において重要な役割を果たします。
ステークホルダー、ビジネスアナリスト、ソフトウェアテストの専門家は、これらのテストを実行することができますが、UATでは、各ビジネスプロセスのテストに複数のユーザーが関与するなど、独自の課題が課されます。
適切なテスト管理ソリューションは、プロジェクトマネージャーとテストマネージャが、1つのビジネスプロセスの異なるステップを複数の機能エキスパートや主要ユーザーに簡単に割り当て、自動ワークフローでテストを実行できるようにする必要があります。
システムテストとユーザー受入テストの違いは何ですか?
システムテストはテスターや開発者が行い、ユーザー受入テストはエンドユーザーやクライアントが行います。
システムテストはハードウェア、ソフトウェア、システム間のインターフェースなど、様々なシステム部分に対するコンポーネントや相互作用のインターフェースをテストする役割を担っています。
システムテストでは、まず個々のユニットを別々のビルドで統合する必要があるが、ユーザー受入テストでは設計全体を検証します。
原題:What is User Acceptance Testing (UAT)?
プロフィール
Eyal ElazarはPanayaのプロダクト マーケティング マネージャーです。戦略的なシナリオを設計し、複雑な市場の状況に柔軟に対応した提案の作成経験を持つEyalは、製品のポジショニングとメッセージを開発し、PanayaのERP Change Intelligenceポートフォリオの製品/機能の立ち上げをサポートするマーケティング プランを牽引し、市場の声を製品に届けています。