ソフトウェア開発におけるテスト工程には、さまざまなテストが存在します。なかでも最終段階で実施する「運用テスト」は、プロダクトの価値を正しく顧客やユーザーに提供するために必要な工程です。
今回は運用テストとは何か、基本からわかりやすく解説します。「受け入れテスト」との違いやチェック観点、進め方についてもお伝えするため、ぜひ参考にしてください。
- もくじ
1.運用テストとは
運用テストは開発チームによっても意味合いが変わる場合があります。また、「受け入れテスト」とも混同されやすいです。まずは、運用テストがどのようなものか整理しましょう。
1-1 運用テストの手法
運用テストとは、実運用を想定してソフトウェアを検証するテスト手法のことです。実運用に近い環境・条件のもとでソフトウェアを動かし、顧客やユーザーが利用するうえでの問題がないか検証します。
理想としては本番環境でテストしたいところではありますが、現実的には難しい場合が多く、疑似的に実運用を再現した環境を用いることが一般的です。利用端末やブラウザといった周辺機器・周辺ソフトだけでなく、設定ファイルやアカウント権限などの設定面もできる限り実運用に合わせます。
また、運用担当者の業務フローを想定した操作手順を実施して、問題がないかの検証も必要です。運用テストはソフトウェア開発における最終段階で実施するため、リリースにも大きく関わる重要なテストといえます。
1-2 運用テストを実施する目的
運用テストを実施する大きな目的は、実運用に耐えられるソフトウェア品質が備わっているかどうか確かめることです。運用テストの合格をもって、ソフトウェアが実運用レベルに達していることを保証できます。
多くの場合、ソフトウェアを運用するのは開発者とは異なるチームや企業でしょう。そのため、開発者の設計がソフトウェアに反映されていることをテストするだけでは不十分です。運用担当者が問題なくソフトウェアを運用できること裏付けるために、運用テストが求められます。
また、顧客の依頼を受けてソフトウェアを開発する受託開発では、運用テストの合格が検収の条件となるケースもあります。この場合、受託開発企業にとってはソフトウェアの納品(リリース)を完結させることも、運用テストの目的の1つといえるでしょう。
1-3 運用テスト・受け入れテストの違い
運用テストと似たテスト手法に「受け入れテスト」があります。受け入れテストとは、ソフトウェアが顧客やユーザーにとって、受け入れられるレベルであるかを検証するテスト手法のことです。運用テスト同様、開発プロジェクトの最終段階で実運用を想定して実施します。
運用テストと受け入れテストは、どちらも運用担当者が中心となって実施することが一般的です。運用テスト・受け入れテストの解釈は、チームや契約形態などによって変わることがあり、ほぼ同義として扱われるケースも少なくありません。
傾向として、受け入れテストは「顧客がソフトウェアを受け入れられるかの判定」に焦点を当てることが多いです。そのため、顧客への納品を前提とする受託開発で使われるケースがあります。社内に運用チームを抱える自社サービス開発企業の場合、「受け入れテスト」という表現はあまり使わないでしょう。ただし、自社に運用チームがあったとしても、他社に開発を委託するケースでは受け入れテストが発生します。
一方、運用テストは多くの場合「実運用上の問題がないかの検証」に焦点を当てます。そのため受託開発・自社開発に関わらず、実運用を想定した検証は「運用テスト」と呼ばれることが多いです。
両者の違いを明確に示すことは簡単ではありません。どちらも実運用を想定することは覚えておきましょう。なお、受け入れテストについて詳しく知りたい場合は、次の記事をご覧ください。
2.運用テストでチェックすべき主な観点
運用テストの実施にあたっては、開発者が実施するテストとは異なる観点でのチェックも必要です。運用テストでチェックすべき主な4つの観点を紹介します。
2-1 実運用に耐えられる性能か
運用テストを合格するためには、実運用に耐えられることを保証できなければなりません。そのため、実運用で想定されるデータ量や利用頻度、操作スピード、サーバー環境などの条件において、ソフトウェアの性能が妥当かのチェックが必要です。ここでいう「性能」とは、応答速度や処理可能なデータ上限などを指します。
たとえば、実運用では1000件以上のデータを処理するものの、開発者は10件程度のデータでしかテストしなかった場合を考えてみましょう。開発者の想定が甘かったために、実運用を開始してから不具合が判明する可能性があります。このような問題を防ぐために、運用テストの段階で実運用と同程度の条件に耐えられるか確かめるのです。
2-2 顧客やユーザーにとって使いやすいか
顧客やユーザーにとって使いやすいかどうかも、運用テストにおいて重要な観点です。「使いづらい」という欠点は、運用担当者や利用者が不満に感じやすい部分といえます。運用テストで使いづらさを検出できなければ、クレームにつながる場合もあるでしょう。
そのため、画面の見やすさや操作の簡単さ・覚えやすさといった部分もチェックすることが大切です。実際の運用業務も想定して、設定ファイルの編集やバックアップなどがスムーズに行えることもチェックしましょう。また、操作マニュアル・業務マニュアルがある場合は、マニュアルどおりの操作で問題なく動くかのチェックも必要です。
2-3 誤操作に対して正しく振る舞うか
新しいソフトウェアを初めて使う場合は、運用担当者・利用者に関わらず、慣れるまでは誤操作が頻発するでしょう。操作手順が前後する、無効なデータを入力する、必要な操作手順が抜けるなど、さまざまなケースが考えられます。
そのため、誤操作に対してソフトウェアが正しく振る舞うかのチェックも必要です。誤操作が行われた際に異常な挙動をしないか、わかりやすいエラーメッセージが表示されるか、などをチェックします。
2-4 要件定義書や仕様書のとおりに動作するか
運用テストでは、前述したような実運用に沿っているかの確認が最も重要となります。しかし、可能であれば要件定義書や仕様書のとおりに動作するかもチェックするのが理想です。
特に受託開発の場合、実際の動作が要件定義書や仕様書と食い違っていては、顧客から検収を受けることは難しくなります。顧客との認識の相違がないよう、要件定義書や仕様書の記載どおりに動作するかチェックしましょう。
3.運用テストの大まかな流れ
運用テストの大まかな流れとして、次の4ステップを把握しておきましょう。ただし、運用テストの流れはチームや運用担当者によって変わる場合があります。
3-1 テスト計画書の作成
最初に行うのがテスト計画書の作成です。どのように運用テストを進めていくかを明確にします。運用テストの目的やスケジュール、テスト範囲などの基本事項を固める作業が必要です。運用テストを開発企業側で実施する場合、あるいは運用担当者と異なる顧客が窓口となる場合は、テスト計画書の内容を運用担当者とも共有しましょう。
テスト計画プロセス/テンプレート(29119規格対応)
ISO/IEC/IEEE 29119(以下、29119規格)に対応したテスト計画に関するテンプレートを公開しています。 「テスト計画」とは、テストの設計、実装、実施、管理といった、テストのすべての指針を定めるものです。ぜひ、実務での計画立案にご活用ください。
3-2 テスト仕様書の作成
次に行うのが、どのようにテストを実施するかをまとめた「テスト仕様書」の作成です。運用テストの観点や条件、手順、期待値などを洗い出し、テストケースとして落とし込みます。テストケースには、運用担当者が想定する手順や期待値が盛り込まれることが重要です。そのため運用テストのテスト仕様書は、一般的に運用担当者やその関係者が作成します。
テスト設計仕様書/テンプレート
テスト設計仕様書は、テスト基本設計プロセスのoutput(成果物)として位置付けられています。テスト設計仕様書の主な目的は、そのテスト対象の全体を見据え、どの部分をテストするのか、どのような内容のテストをするのか、を明確化し、テストの指針や骨格を定めることです。
3-3 テスト環境の構築
テスト仕様書の条件や手順に沿ったテストを実施するために、事前に環境構築が必要です。サーバーやデータベース、ネットワーク設定など、できる限り実運用を再現する必要があります。テストに必要なファイルやアカウントなども、この段階で作成しましょう。
3-4 テストの実施
実運用に近いテスト環境を用いて、運用テストを実施します。テスト仕様書の内容に従ってソフトウェアを操作し、期待値どおりの結果となるかの確認が必要です。基本的に運用担当者がテストを実施します。
不具合があれば障害管理表などのドキュメントに記録し、懸念事項も含めて開発側企業への情報共有が必要です。不具合の修正が間に合わない場合は、サポートセンターへ運用開始前に連絡しておく必要もあります。操作マニュアル・業務マニュアルの説明不足やわかりづらい点も記録しておきましょう。
4.運用テストで成功するために必要な3つのこと
運用テストはリリースに近い段階で行うため、失敗すると実運用への影響が大きくなります。運用テストを成功させるために、次のポイント3つを押さえておきましょう。
4-1 顧客との情報共有をしっかり行う
前提として、運用テストは運用担当者が実施することが理想です。しかし、諸事情により実際にソフトウェアを運用する顧客と、運用テストの実施者が異なる場合は、情報共有がより重要となります。情報共有をおろそかにしたことで運用テストに遅れが生じれば、実運用へ影響を及ぼします。運用テストのスケジュールや進捗状況、発生した問題などの情報を顧客としっかり共有しましょう。
4-2 顧客・ユーザーの目線で実施する
運用テストの実施者は、ソフトウェアを利用する顧客やユーザーの目線に立つことも大切です。実施者が対象のソフトウェアに詳しかったとしても、顧客やユーザーも詳しいとは限りません。顧客やユーザーの立場になって運用テストを実施し、わかりづらい点や使いづらい点がないかチェックしましょう。
4-3 テスト結果を操作マニュアルにも反映する
運用テストの結果、操作マニュアルに対するフィードバックがあれば、しっかり反映する必要があります。ソフトウェアの利用者がつまずきやすいポイントを解消することで、顧客やユーザーの負担を減らせるでしょう。操作マニュアルだけでカバーできない場合は、顧客やユーザーへの教育が必要となるケースもあります。
まとめ:高品質な運用テストを実施しよう
運用テストとは、実運用を想定してソフトウェアを検証するテスト手法のことです。実運用に近い環境・条件のもとでソフトウェアを動かし、顧客やユーザーが利用するうえでの問題がないか検証します。
運用テストでは、要件定義書や仕様書のとおりに動作するか、実運用に耐えられる性能か、顧客やユーザーにとって使いやすいかなどが重要な観点です。本記事で紹介した流れやポイントを参考にして、高品質な運用テストを実施しましょう。