当ページでは、受け入れテスト(UAT)についてご紹介します。
受け入れテスト(UAT)とは?
受け入れテスト(UAT)は、システム開発を開発ベンダーに外注して納品された時に、発注者の本来の目的や意図通りに稼働するかどうかを検証することです。この検証はシステムの発注者が実施します。
また、受け入れテストは「受け入れ試験」「受け入れ検収」「検収テスト」「ユーザー受け入れテスト」とも、呼ばれます。
しかし、受け入れテストは通常のテストと違い、システムの不具合を見つけることが目的ではありません。
“実際に使うことが出来るシステム”が開発ベンダーより正しく納品されたかどうかを検証します。
そのため、リリース直前の工程で行われることが多いです。
~~受け入れテスト(UAT)とは?目次~~
1.受け入れテストの”種類と観点”2.受け入れテストの”重要性”
3.受け入れテストの”難しさ”
4.受け入れテストは”外注できる”
①受け入れテストの”種類と観点”
受け入れテストは、下記の観点によって行われます。■運用受け入れテスト
運用時に対応できるかどうかを検証する。バックアップ、ユーザー管理、セキュリティ、災害時の復旧などの観点でテストが行われる。
■マニュアルテスト
システム運用に関するマニュアルの文章が、正しいかどうかを検証する。
■契約による受け入れテスト
契約書に記述された、品質や納期などの項目が満たされているかどうかを検証する。
■規定による受け入れテスト
法律、規制、安全基準などに反していないかどうかを検証する。
■ベータテスト
既にサービスを利用しているユーザーなどに試用してもらい、使用感の評価や不具合の検出をしてもらう。
開発者の関係者、人数制限付きの限定的なクローズドベータテストや、公開するオープンベータテストがある。
②受け入れテストの”重要性”
サービスイン後、運用保守を行っている段階でシステムを改修すると、コストが多く掛かってしまいます。一般的に、
■ 不具合の予防コストより不具合の修正コストの方が高い
■ 品質は工程で作りこむべき
とされております。よってユニットテスト~システムテストの実施は勿論のこと、受け入れテストもリリース前にしっかりと行うべきです。
しかし、受け入れテストは、多くの時間、多くの人的資源、テスト計画・テスト設計のノウハウが必要です。
そのため、受け入れテストを正しい観点で行えずにサービスインしてしまうことも見受けられます。
その結果、運用保守時に改修するべき欠陥が見つかり、
× ユーザー評価の低下
× システムの停止による機会損失
× 修正コストの増加
などの弊害が生まれてしまいます。
③受け入れテストの”難しさ”
このように、受け入れテストは重要です。しかし、受け入れテストを正しく実施出来ないケースも多く見受けられます。
上記のリソースが足りないという問題に加えて、受け入れテストの実施自体が曖昧で難しいという問題もあります。
例えば、受け入れテストを実施する際、テストの合格基準が必要になります。
受け入れ基準という言葉があり、受け入れ基準は、合格基準のことです。受け入れ基準は以下のように決めます。
①まず、ユーザーの「要望」を言葉やテキストに顕在化させた「要求」を決めます。
②更に、「要求」を元に目的・達成目標・方法などを、明文化し発注者と受注者双方が認識できる「要件」を作ります。
③最後に、要件よりシステム納品時の合格基準である受け入れ基準を作成します。
しかし、受け入れ基準は曖昧だったり、間違っていたり、ぞんざいでも成り立ってしまうことがあります。
いくら「要望」、「要求」、「要件」が正しくても、受け入れ基準が間違ったままシステムを作ってしまうと
「要望」、「要求」、「要件」に沿った正しいシステムは作れません。
その結果コンシューマー向けのシステムであれば売れなかったり、利用されなかったりします。
また、企業向けのシステムであれば期待した効果が生まれません。
開発ベンダーから正しいシステムが納品されるためには、開発ベンダーに対する正しい要求と正しい受け入れテストの構築が必要です。取り入れてないようであれば、ぜひ取り入れてみましょう。
④受け入れテストは”外注できる”
× しっかりと受け入れテストを実行するリソース・ノウハウが無い× 受け入れ基準の策定が曖昧・間違っている、ぞんざい
といった場合、
テスト計画書の作成やテスト設計~テスト実行等の検収作業を、
外部に委託することが可能です。
ウェブレッジでは
◎ 要求定義書、要件定義書などのドキュメント検証
◎ 受け入れテストのテスト項目の作成
◎ テスト実行
など、受入れテストの全工程を支援する第三者検証サービスをご提供しております。
【参考文献】:
『ソフトウェアテスト教科書 JSTQB Foundation 第3版』