1.受け入れテストとは?
1.1 受け入れテストの定義
1.2 受け入れテストの重要性
1.3 受け入れテストのジレンマ
2.受け入れテストの注意点
① 実データでテストする
② 重要機能を優先してテストする
③ 仕様変更した機能に連携するシステムをテストする
3.まとめ
1.受け入れテストとは
1.1 受け入れテストの定義
受け入れテストとは、開発されたソフトウェアが、発注者が求めていることを満たしているかを確認するテストです。他には、UAT(User Acceptance Test)や承認テスト、検収テストと呼ばれることがあります。
身近なもので例えるならば、高額商品を購入してその場で開封し、期待通りの品質かを確認するプロセスに似ています。このプロセスでは商品が自分のニーズに合っているか、期待した機能を備えているかを確かめます。同様に受け入れテストでは、実際の運用環境を考慮し、発注者側がテストを行うことが理想的です。しかし、発注者側の受け入れテストに対するリソースが不足している場合や、テスト内容を検討するノウハウがない時には、ソフトウェアテストに秀でたテスト会社の支援を受けることがあります。
1.2 受け入れテストの重要性
以下の図はV字モデルと呼ばれ、ソフトウェア開発の流れを開発工程とテスト工程のレベルに応じて対に並べ、各工程の対応関係を明示したものです。
この図からわかるように、発注者の要求を満たしているか判断するため受け入れテストは非常に重要といえます。ソフトウェアが稼働する前の最後のテストであり、実際の業務での処理が効率化できているか確認する必要があります。発注者側が実際にシステムを動かしてみて、不具合や疑問点があった場合にはシステム開発側に問い合わせ、それらの不具合や疑問点を解消していくことになります。
受け入れテストはシステム開発から実際の業務運用に移行する段において非常に重要な最終確認となります。
1.3 受け入れテストのジレンマ
ここまでで説明したように受け入れテストはソフトウェア開発において重要な工程です。しかしすべてのパターンを全網羅するようなテスト設計を行うとテストボリュームが大きくなりコスト的に大きな負担となります。
また、ソフトウェア開発の最終段階であるため、十分な時間をかけられないという問題もあります。
このように、受け入れテストでは、“可能な限りテストを行いたい”という要求と、“テストにかける時間を少なくしたい”という要求の両方を考慮しながら、テストを行っていくことが大切です。それでは、次に、受け入れテストで意識したい3つのポイントを取り上げます。
受け入れテストの注意点
①実データでテストする
受け入れテストの対象になるソフトウェアで、今後の業務を効率化していくのですから、ぜひ実際のデータでテストしたいものです。一般にソフトウェアの開発中に使われるデータは疑似データであり、実データとは異なりますし、疑似データは実データよりもデータ量が少ない場合もあります。実データでテストを行わず、データの特性や量の違いで、期待通りの性能を発揮できないことがあります。また別のシステムに接続することを想定するなら、ネットワーク環境も実環境に合わせてテストを行いましょう。
②重要機能を優先してテストする
受け入れテストを実施する前に、特に重要な機能を決定しておきましょう。ソフトウェアの基本的な機能や絶対に不具合を出したくない機能など軸を決めて、発注者側で重要機能を決めていきましょう。
通常の業務で使用する機能だけではなく、予定が変わったなどのイレギュラーに対応するための機能もテストしましょう。
③仕様変更した機能に連携するシステムをテストする
開発途中で仕様変更がなされると、開発者の意識が仕様変更に注がれ、そのほかの部分での対策の抜けや漏れが発生しやすくなります。また、連携するシステムの開発者が、仕様変更の影響を考慮せずに開発を進めてしまうこともありえます。
発注者側での受け入れテストでは、仕様変更した機能が要求どおりに実装されているか、その周辺に悪影響が及んでいないかを確認するようにしましょう。また連携するシステムで仕様変更がなされていないかも確認するとより効果的です。
3.まとめ
受け入れテストでは、発注者側であるユーザーがニーズを満たしているのか確認することになります。実際の業務でどのように使用されるのか、エラーメッセージをユーザーが理解できるのかなど、ユーザー目線でのテストを実施することが重要です。
「自分たちでやることが多いなあ」と感じられた方もいるかもしれません。全てを自社で抱え込む必要はなく、専門家へご相談をお勧めします。株式会社GENZでは経験豊富なテストエンジニアが、受け入れテストを含めたソフトウェア品質テストを中心にITに関するお困りごとに幅広く対応しております。ぜひお気軽にお問い合わせください。