ソフトウェアテスト基本テクニック

第6回 Webアプリケーションのテスト

この記事を読むのに必要な時間:およそ 2 分

Webアプリケーションの機能テスト

Webアプリケーションの機能テストをするにあたっては,第4回 ブラックボックステストでも紹介した,同値分割や境界値分析を用いて,画面上の入力フィールドへの入力値を決めるのが基本です。ただ,Webアプリケーションの機能テストでは,Webアプリケーション特有のテストの観点や結果確認の観点が必要になります。主なものをいくつか挙げてみましょう。

画面遷移とシナリオ

Webアプリケーションをどのような手順(シナリオ)で操作し,その結果どのように画面が遷移していくのかに着目したテストが必要になります。画面遷移のパスはいくつかありますので,そのパスを(ホワイトボックステストのように)網羅するようにテストケースを作ります。

画面表示

画面上の適切な位置に適切な情報が表示されていることを確認します。ただ,画面には大量の文字や画像がありますので,すべてを確認するのは困難な場合もあるでしょう。その際は,表示内容が動的に変わる部分などを中心に確認します。

アクション

画面上でのボタン押下などのアクション実行だけでなく,ブラウザに備わっているアクション実行や,キーボードやマウス操作などをしたときに,想定される動作を行うかどうかや,おかしな挙動をしないかどうかを確認します。

たとえば,ボタンの二度押し,ブラウザの「戻る」⁠進む」ボタンによる画面遷移,ブラウザの強制終了(ウィンドウ右上の×マークのクリック⁠⁠,ブラウザの複数立ち上げ(Ctrl+Nキー押下)などがあります。

データベースの更新

Webアプリケーションのテストで確認するのは,表面上に見える画面だけでなく,データベースと連携する場合には,その内容が正しく更新されていることも確認する必要があります。特に複数ユーザが同時実行した場合の排他制御が正しく行われているかどうかは重要な観点です。

アクセス権

Webアプリケーションでは,ユーザIDとパスワードによる認証(ログオン)が必要なものがよくあります。本来,認証しないと閲覧できないコンテンツが認証前に見えてしまうと,機密情報の漏洩にもつながりかねません。従って,認証前と認証後での表示内容の変化や,認証されたユーザの権限による表示項目の違いが,重要な確認ポイントとなります。

セッション管理

Webアプリケーションでは,ログオンしてからログアウトするまで,あるいは操作中の一定時間内を1セッションとし,その間は情報が引き継がれていく必要がありますし,セッションを切った後は前の情報が消去されている必要があります。特にシステムエラーなどで強制的にアプリケーションが終了したときにも,セッションが残っていないことを確認することも必要です。

さまざまなブラウザでのテスト

Webアプリケーションのテストで最もやっかいなのは,ブラウザの種類やバージョンによって挙動が変わることではないでしょうか。インターネット上で誰でもアクセスできるようなWebアプリケーションであれば,利用するブラウザを限定することは困難です(推奨利用環境を明示することはできますが,それ以外の環境での使用を拒否するように作りこむのはかなりの労力を要します⁠⁠。したがって,代表的なWebブラウザ(Internet Explorer,Firefox,Safariなど)の代表的なバージョンを使ってテストする必要があります。

また,携帯電話にも対応したアプリケーションであれば,各キャリアの各端末に対して確認が必要になります。このような利用環境の条件を変えたテストは「構成テスト」と呼ばれることもあります。

さらに,同じバージョンの同じブラウザであっても,JavaScriptの有効/無効や,セキュリティの設定などによって挙動が変わることもあります。それらのすべてのパターンをテストすることは不可能ですが,推奨設定から変更した場合に動作を保証するのか否かを明確に示すためにも,テストが必要になる場合があります。

まとめ

今回は,Webアプリケーションの特徴に基づいたテストの概要と,機能テストでの重要な観点についてご紹介しました。Webアプリケーションは様々な観点,さまざまな環境でテストが必要になりますので,ツールを使って効率化を図るのも有効な手段です。次回はWebアプリケーションのテストを自動化するツールとその利用方法について紹介します。

著者プロフィール

町田欣史(まちだ よしのぶ)

1999年,株式会社NTTデータに入社。社内の情報共有システムの開発に4年間携わった後,テストプロセス改善の研究,社内サポートを担当。現在は,プログラムの品質向上に向けた研究および社内サービス運用を行っている。JSTQB技術委員,日本品質管理学会正会員。

著書