(57)【特許請求の範囲】
【請求項１】
情報処理装置を用いて構成される、ソフトウェアのテストを支援する装置であって、
ソフトウェアの構成要素を特定可能な情報を取得するソフトウェア構成要素取得部、
前記ソフトウェアをテストするテストシナリオを記憶する記憶部、
前記ソフトウェアの構成要素のうち、前記テストシナリオにおいてテストの対象になっていない構成要素である漏れ構成要素を特定する漏れ構成要素特定部、
前記テストシナリオを実行するとともに、前記テストシナリオの実行に際して前記ソフトウェアの機能によって生成される画面のスクリーンショットを取得するテストシナリオ実行部、及び、
取得した前記スクリーンショットにおいて前記漏れ構成要素に相当する部分を強調表示した画面である漏れ構成要素表示画面を生成する漏れ構成要素表示画面生成部
を備えるテスト支援装置。
【請求項２】
請求項１に記載のテスト支援装置であって、
前記記憶部は、前記ソフトウェアをテストする複数のテストシナリオを記憶し、
前記漏れ構成要素特定部は、前記構成要素のうち、前記複数のテストシナリオのいずれにおいてもテストの対象になっていない構成要素を前記漏れ構成要素として特定する
テスト支援装置。
【請求項３】
請求項１に記載のテスト支援装置であって、
前記漏れ構成要素表示画面生成部は、前記テストシナリオの実行中に前記ソフトウェアの機能によって生成される画面において、前記漏れ構成要素に相当する部分を強調表示する
テスト支援装置。
【請求項４】
請求項１に記載のテスト支援装置であって、
前記漏れ構成要素表示画面生成部は、前記漏れ構成要素を強調表示するに際し、ユーザの操作の対象となる前記構成要素である操作要素と、情報の表示機能に特化した構成要素である表示要素とを区別した態様で表示する
テスト支援装置。
【請求項５】
請求項１に記載のテスト支援装置であって、
前記漏れ構成要素特定部は、前記テストシナリオにおいてテストの対象になっている前記構成要素の画像データを取得し、
前記漏れ構成要素表示画面生成部は、取得した前記スクリーンショットと前記画像データとを比較することにより、前記強調表示の対象となる、前記スクリーンショットの前記漏れ構成要素が設けられている部分を特定する
テスト支援装置。
【請求項６】
請求項１又は２に記載のテスト支援装置であって、
前記漏れ構成要素をテストの対象とするテストシナリオである追加テストシナリオを生成する追加テストシナリオ生成部
をさらに備えるテスト支援装置。
【請求項７】
請求項６に記載のテスト支援装置であって、
前記追加テストシナリオ生成部は、前記追加テストシナリオを、前記記憶部が記憶している既存の前記テストシナリオに追記する
テスト支援装置。
【請求項８】
請求項７に記載のテスト支援装置であって、
前記テストシナリオは一つ以上のステップを含み、
前記追加テストシナリオ生成部は、既存の前記テストシナリオが複数存在する場合に、前記テストシナリオのうち、前記ステップの数の最も少ないテストシナリオに前記追加テストシナリオを追記する
テスト支援装置。
【請求項９】
情報処理装置を用いて構成される、ソフトウェアのテストを支援する装置であるテスト支援装置が、
ソフトウェアの構成要素を特定可能な情報を取得する処理、
前記ソフトウェアをテストするテストシナリオを記憶する処理、
前記ソフトウェアの構成要素のうち、前記テストシナリオにおいてテストの対象になっていない構成要素である漏れ構成要素を特定する処理、
前記テストシナリオを実行するとともに、前記テストシナリオの実行に際して前記ソフトウェアの機能によって生成される画面のスクリーンショットを取得する処理、
取得した前記スクリーンショットにおいて前記漏れ構成要素に相当する部分を強調表示した画面である漏れ構成要素表示画面を生成する処理、
を実行する、テスト支援方法。
【請求項１０】
請求項９に記載のテスト支援方法であって、
前記テスト支援装置が、
前記ソフトウェアをテストする複数のテストシナリオを記憶する処理、
前記構成要素のうち、前記複数のテストシナリオのいずれにおいてもテストの対象になっていない構成要素を前記漏れ構成要素として特定する処理
をさらに実行する、テスト支援方法。
【請求項１１】
請求項９に記載のテスト支援方法であって、
前記テスト支援装置が、
前記テストシナリオの実行中に前記ソフトウェアの機能によって生成される画面において、前記漏れ構成要素に相当する部分を強調表示する処理
をさらに実行する、テスト支援方法。
【請求項１２】
請求項９又は１０に記載のテスト支援方法であって、
前記テスト支援装置が、
前記漏れ構成要素をテストの対象とするテストシナリオである追加テストシナリオを生成する処理
をさらに実行する、テスト支援方法。
【請求項１３】
請求項１２に記載のテスト支援方法であって、
前記テスト支援装置が、前記追加テストシナリオを、記憶している既存の前記テストシナリオに追記する処理、
をさらに実行する、テスト支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト支援装置、及びテスト支援方法に関する。
【背景技術】
【０００２】
特許文献１には、「完成したＷｅｂアプリケーションから操作手順書の雛形を自動生成することで、開発者の文書作成のコストを抑えることができるＷｅｂアプリケーションの操作手順書生成システムを提供する」、「Ｗｅｂアプリケーションの操作手順書生成システムは、ユーザが、ルートＵＲＬを指定すると、ルートＵＲＬが示すＷｅｂアプリケーションサーバーのＷｅｂアプリケーションの画面にアクセスする手段と、アクセスした画面を引数として画面解析処理を呼び出す手段と、画面解析処理によって、解析対象の画面のＨＴＭＬを解析し、画面中に存在する全てのリンク、フォームの情報を取得し、画面情報記憶部に登録する手段と、解析対象の画面をキャプチャし、それを画像ファイルに変換し、画面画像記憶部に保存する手段と、取得したすべてのリンク、フォームについて、アクセス、又は、フォーム送信を行い、画面遷移を行う手段等を備えている」と記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０７９３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ソフトウェアのテストにおいては、ソフトウェアによって実現される構成要素を漏れなくテストすることが求められる。例えば、Ｗｅｂサーバによって提供されるＷｅｂページのテストにおいては、Ｗｅｂページに設けられている部品（構成要素）を漏れなくテストすることが求められる。こうしたテストの網羅性は、ソフトウェアの機能拡張や不具合修正等を実施した後に行われる、いわゆる回帰テスト（regression test）においてとくに
重視される。
【０００５】
ソフトウェアのテスト手法としては、例えば、想定される様々な操作手順（以下、シナリオとも称する。）に従って人手により行う方法、自然言語等で記述されたテストシナリオに従って操作入力の手順を自動的に実行させる方法等がある。しかしいずれの方法による場合も、ソフトウェアが表示する画面のスクリーンショットを取得し、これを目視確認する等、テストの網羅性の確認は人手による方法で行われており、見落とし等による漏れを完全に防ぐことは難しい。
【０００６】
本発明は、こうした背景に鑑みてなされたもので、ソフトウェアのテストを効率よく確実に行えるようにするためのテスト支援装置、及びテスト支援方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明のうちの一つは、情報処理装置を用いて構成される、ソフトウェアのテストを支援する装置であって、ソフトウェアの構成要素を特定可能な情報を取得するソフトウェア構成要素取得部、前記ソフトウェアをテストするテストシナリオを記憶する記憶部、前記ソフトウェアの構成要素のうち、前記テストシナリオにおいてテストの対象になっていない構成要素である漏れ構成要素を特定する漏れ構成要素特定部を備える。
【０００８】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【０００９】
本発明によれば、ソフトウェアのテストを効率よく確実に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】テスト支援システム１の概略的な構成を示す図である。
【図２】サーバ装置２００やクライアント装置１００の実現に用いる情報処理装置（コンピュータ）の一例である。
【図３】Ｗｅｂブラウザ１１１が応答情報として表示するＷｅｂページの一例である。
【図４】Ｗｅｂ記述文書１２１の一例である。
【図５】（ａ）は、Ｗｅｂページ３００の検索キーワードの入力送信欄３１３をテストするテストシナリオ１２２の一例であり、（ｂ）は、Ｗｅｂページ３００のメニューの選択欄３１２をテストするテストシナリオ１２２の一例である。
【図６】テスト対象構成要素１３１の一例である。
【図７】漏れ構成要素１３２の一例である。
【図８】漏れ構成要素表示画面１４２の一例である。
【図９】加工済テストシナリオ１４３の一例である。
【図１０】テスト実行処理Ｓ１０００を説明するフローチャートである。
【図１１】テスト結果解析処理Ｓ１１００を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、実施形態について図面を参照しつつ詳細に説明する。
【００１２】
図１に本発明の一実施形態として説明する、ソフトウェアのテストを支援するシステム（以下、テスト支援システム１と称する。）の概略的な構成を示している。同図に示すように、テスト支援システム１は、テストの対象となるＷｅｂページを提供するサーバ装置２００、及びＷｅｂページのテストの業務に携わる者（以下、ユーザと称する。）によって操作されるクライアント装置１００（テスト支援装置）を含む。サーバ装置２００とクライアント装置１００は、例えば、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）、インターネット等の通信ネットワーク５を介して互いに通信可能に接続され
ている。
【００１３】
テスト支援システム１は、１つのサーバ装置２００に対して複数のクライアント装置１００がアクセスする構成であってもよい。例えば、大規模なソフトウェア開発を行うプロジェクトにおいて、サーバ装置２００が提供するＷｅｂページのテストを複数のユーザが共同して行う場合にはそのような構成となる。テスト支援システム１の対象となるテストとしては、例えば、回帰テスト（regression test）、機能テスト（function test）、検証テスト（verification test）、受入テスト（acceptance test）、性能テスト（performance test)等がある。
【００１４】
図２にサーバ装置２００やクライアント装置１００の実現に用いる情報処理装置（コンピュータ）の一例を示している。同図に示すように、情報処理装置１０は、プロセッサ１１、主記憶装置１２、補助記憶装置１３、入力装置１４、出力装置１５、及び通信装置１６を備える。これらは図示しないバス等の通信手段を介して互いに通信可能に接続されている。尚、サーバ装置２００やクライアント装置１００を、例えば、１つ以上の情報処理装置を用いて実現される仮想的な情報処理装置（例えば、クラウドシステムによって提供されるクラウドサーバ等）を用いて構成してもよい。
【００１５】
プロセッサ１１は、例えば、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）を用いて構成される。プロセッサ１１が、主記憶装置１２に格納されているプログラムを読み出して実行することにより、情報処理装置１０の様々な機能が実現される。主記憶装置１２は、プログラムやデータを記憶する装置であり、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＮＶＲＡＭ（Non Volatile RAM）等である。補助記憶装置１３は、例えば、ハードディスクドライブ、ＳＳＤ（Solid State Drive）、光学式記憶装置、記録媒体の読取／書込装置等である。補助記憶装置１３
に格納されているプログラムやデータは主記憶装置１２に随時ロードされる。
【００１６】
入力装置１４は、例えば、キーボード、マウス、タッチパネル等である。出力装置１５は、例えば、液晶モニタ、ＬＣＤ（Liquid Crystal Display）、グラフィックカード、スピーカ等である。通信装置１６は、通信ネットワーク５を介して他の装置と通信する通信インタフェースであり、例えば、ＮＩＣ（Network Interface Card）、無線通信モジュール等である。
【００１７】
図１に戻り、サーバ装置２００は、Ｗｅｂサーバ２１１の機能を備えるとともにＷｅｂコンテンツデータ２５１を記憶する。尚、図示していないが、サーバ装置２００は、例えば、Ｗｅｂサーバ２１１の実行基板となるオペレーティングシステム（Operating System）、Ｗｅｂサーバ２１１と連携して動作する各種ミドルウェア、Ｗｅｂコンテンツデータ２５１を管理するＤＢＭＳ（DataBase Management System）等の機能を備える。
【００１８】
Ｗｅｂサーバ２１１は、サーバ装置２００のプロセッサ１１が、主記憶装置１２に格納されているプログラムを読み出して実行することにより実現される。Ｗｅｂサーバ２１１は、クライアント装置１００から通信ネットワーク５を介して情報配信要求（リクエスト）を受信すると、情報配信要求についてＷｅｂページ等の応答情報（レスポンス）を生成し、生成した応答情報を通信ネットワーク５を介してクライアント装置１００に送信する。
【００１９】
Ｗｅｂコンテンツデータ２５１は、Ｗｅｂサーバ２１１が応答情報を生成する際に利用するデータである。Ｗｅｂコンテンツデータ２５１には、例えば、ＨＴＭＬ（HyperText Markup Language）、ＸＨＴＭＬ（eXtensible HyperText Markup Language）、ＸＭＬ（eXtensible Markup Language）等の言語（以下、Ｗｅｂ記述言語と称する。）で記述され
たデータ、各種スクリプトデータ、各種マルチメディアデータ（静止画や動画を記録した映像データ、音声データ等）等、クライアント装置１００に提供される様々なタイプのデータが含まれる。
【００２０】
図１に示すように、クライアント装置１００は、Ｗｅｂブラウザ１１１（ソフトウェア構成要素取得部）、テスト実行部１１２、テスト結果解析部１１３、及び記憶部１２０の各機能を備える。テスト実行部１１２は、テストシナリオ実行部１１２１及び漏れ構成要素特定部１１２２を含む。またテスト結果解析部１１３は、漏れ構成要素表示画面生成部１１３１及び追加テストシナリオ生成部１１３２を含む。
【００２１】
記憶部１２０は、Ｗｅｂ記述文書１２１（ソフトウェアの構成要素を特定可能な情報）、テストシナリオ１２２、テストスクリプト１２３、テスト対象構成要素１３１、漏れ構成要素１３２、スクリーンショット１４１、漏れ構成要素表示画面１４２、及び加工済テストシナリオ１４３等のデータを記憶する。
【００２２】
図示していないが、クライアント装置１００は、上記各機能の動作基板となるオペレーティングシステム、Ｗｅｂブラウザ１１１と連携して動作する各種ミドルウェア、及び上
記各データを管理するＤＭＢＳ等の機能を備えていてもよい。クライアント装置１００が備える各機能は、クライアント装置１００のプロセッサ１１が、主記憶装置１２に格納されているプログラムを読み出して実行することにより実現される。
【００２３】
Ｗｅｂブラウザ１１１は、入力装置１４を介して行われる操作入力（アクセス先のＵＲＩ（Uniform Resource Identifier）の操作入力等）に応じてＷｅｂサーバ２１１に情報
配信要求を送信し、上記情報配信要求に応じてサーバ装置２００から送られてくる応答情報を受信する。記憶部１２０は、上記応答情報に含まれているＷｅｂ記述文書をＷｅｂ記述文書１２１として記憶する。Ｗｅｂブラウザ１１１は、Ｗｅｂ記述文書１２１を解釈して実行する機能、Ｗｅｂサーバ２１１から送られてくるスクリプトやクライアント装置１００に予め用意されたスクリプトを解釈して実行する機能等を備える。Ｗｅｂブラウザ１１１は、Ｗｅｂ記述文書１２１に基づくＷｅｂページ、及び上記応答情報として送られてくる映像や音声等を出力装置１５に出力する。
【００２４】
テスト実行部１１２のテストシナリオ実行部１１２１は、例えば、Ｗｅｂブラウザ１１１を制御することによりテストシナリオ１２２に従って操作入力の手順を自動的に実行し、Ｗｅｂサーバ２１１から提供されるテスト対象のＷｅｂページのテストを行う。テストシナリオ１２２は、例えば、自然言語で記述された複数のステップからなる。記憶部１２０は、テストシナリオ１２２のステップに対応する実装コード（例えば、Ｒｕｂｙ（登録商標）コード）であるテストスクリプト１２３を記憶する。テストシナリオ実行部１１２１の機能を実現するソフトウェアとして、例えば、「Ｃｕｃｕｍｂｅｒ（登録商標）」、「Ｔｕｒｎｉｐ（登録商標）」等がある。テストシナリオ実行部１１２１は、上記操作入力手順の自動実行に際し、Ｗｅｂブラウザ１１１に表示される画像を記録したデータ（以下、スクリーンショット１４１と称する。）を随時取得して記憶する。尚、記憶部１２０が記憶する各スクリーンショット１４１には、対応する画面を特定する識別子（例えば、ＷｅｂページのＵＲＬ等）が付帯する。
【００２５】
テストシナリオ実行部１１２１は、例えば、サーバ装置２００のＷｅｂサーバ２１１の機能と連携して動作する構成としてもよい。またテストシナリオ実行部１１２１が、例えば、Ｗｅｂブラウザ１１１に対して行われた操作入力を記録し、記録した情報に基づきテストシナリオ１２２やテストスクリプト１２３を自動生成するようにしてもよい。その場合、Ｗｅｂブラウザ１１１に入力する内容にバリエーションを持たせるべく、テストシナリオ実行部１１２１が上記入力内容を自動生成するようにしてもよい。テスト対象となる同一のＷｅｂページについて複数のテストシナリオ１２２が用意されることもある。例えば、Ｗｅｂページが複数の業務（例えば、参照業務、登録業務、更新業務等）に対応している場合は業務ごとにテストシナリオ１２２が用意される。
【００２６】
図３にＷｅｂブラウザ１１１が応答情報として表示するＷｅｂページの一例を示す。このＷｅｂページ３００には、他のＷｅｂページへのリンク群３１１、メニューの選択欄３１２、検索キーワードの入力送信欄３１３、画像（写真）の表示欄３１４、情報の表示欄３１５、コメントの入力欄３１６、情報の表示欄３１７、操作ボタン３１８等の構成要素が設けられている。Ｗｅｂページ３００の構成要素は、ユーザの操作の対象となる構成要素である操作要素と、情報の表示機能に特化した構成要素である表示要素とに分類することができる。同図に示すＷｅｂページ３００の場合、他のＷｅｂページへのリンク群３１１、メニューの選択欄３１２、検索キーワードの入力送信欄３１３、コメントの入力欄３１６、及び操作ボタン３１８は操作要素に相当し、画像（写真）の表示欄３１４、情報の表示欄３１５、及び情報の表示欄３１７は表示要素に相当する。
【００２７】
図４（ａ）は、図３に示したＷｅｂページ３００に対応する、ＨＴＭＬで記述されたＷｅｂ記述文書１２１の一例である。尚、図４（ｂ）に示すように、Ｗｅｂ記述文書１２１
の内容は、Ｗｅｂ記述文書１２１がＷｅｂブラウザ１１１に読み込まれる際等にＷｅｂサーバ２１１の機能等によって変更／追加されることがある。その場合、テストシナリオ実行部１１２１は、変更／追加された後のＷｅｂ記述文書１２１を対象としてテストシナリオ１２２に従ってテストを実行する。
【００２８】
図５（ａ），（ｂ）は、図３に示したＷｅｂページ３００をテストの対象とするテストシナリオ１２２の例である。このうち（ａ）は、Ｗｅｂページ３００の検索キーワードの入力送信欄３１３をテストするテストシナリオ１２２の一例であり、（ｂ）は、Ｗｅｂページ３００のメニューの選択欄３１２をテストするテストシナリオ１２２の一例である。テスト番号の欄５１１には、テストシナリオ１２２の識別子であるテスト番号が記述される。テスト名の欄５１２には、テストシナリオ１２２の名称が記述される。テスト手順の欄５１３には、自然言語で記述された一つ以上のステップが記述される。
【００２９】
図１に戻り、漏れ構成要素特定部１１２２は、テストシナリオ１２２においてテストの対象になっていない構成要素である漏れ構成要素を特定し、記憶部１２０は、漏れ構成要素特定部１１２２が特定した漏れ構成要素を漏れ構成要素１３２として記憶する。尚、漏れ構成要素特定部１１２２は、テストシナリオ１２２においてテストの対象になっている構成要素であるテスト対象構成要素をテスト対象構成要素１３１として管理し、Ｗｅｂ記述文書１２１に含まれている構成要素とテスト対象構成要素１３１とを対照することにより、漏れ構成要素を特定する。
【００３０】
図６は、データベースのテーブルとして管理される、テスト対象構成要素１３１の一例である。テスト実行部１１２は、テスト対象である同一のＷｅｂページについて用意された一つ以上のテストシナリオ１２２のいずれかにおいてテストの対象になっている構成要素に関する情報をテスト対象構成要素１３１として管理する。
【００３１】
同図に示すように、テスト対象構成要素１３１は、シナリオＩＤ６１１、ＵＲＬ６１２、表現形式６１３、テスト内容６１４、出力位置６１５、出力内容６１６、及び画像データ名６１７の各項目からなる一つ以上のレコードで構成される。このテーブルの一つのレコードは一つの構成要素に対応している。
【００３２】
シナリオＩＤ６１１には、当該レコードの構成要素がテストの対象として記述されているテストシナリオ１２２の識別子であるシナリオＩＤが設定される。ＵＲＬ６１２には、当該レコードの構成要素が設けられているＷｅｂページの識別子（本例ではＵＲＬ）が設定される。表現形式６１３には、当該レコードの構成要素のＷｅｂ記述言語による表現形式が設定される。尚、Ｗｅｂブラウザ１１１、テスト実行部１１２、及びテスト結果解析部１１３は、例えば、予めテンプレートとして記憶している表現形式（<button>タグの表記や構成要素の識別子（id、name）等）に基づき、Ｗｅｂ記述文書１２１やテストシナリオ１２２に記述されている構成要素を特定する。
【００３３】
テスト内容６１４には、当該レコードの構成要素に対して当該テストシナリオ１２２が行う手順の内容（操作、表示）が設定される。出力位置６１５には、Ｗｅｂページ内における当該レコードの構成要素の表示位置を示す情報（以下、出力位置と称する。）が設定される。出力位置は、例えば、Ｗｅｂページ内に設定された座標系（ｘ座標，ｙ座標）とＷｅｂページの状態（ページ幅，ページ高さ）を示す情報とによって示される。出力内容６１６には、当該レコードの構成要素が表示機能を備えている場合に当該レコードの構成要素に表示されるべき内容が設定される。画像データ名６１７には、テスト対象構成要素の画像データのデータ名（ファイル名等）が設定される。上記画像データは、例えば、漏れ構成要素特定部１１２２によって随時取得される。
【００３４】
図７は、データベースのテーブルとして管理される、漏れ構成要素１３２の一例である。テスト実行部１１２は、用意されたテストシナリオ１２２のいずれかにおいてテストの対象になっていない構成要素、即ち漏れ構成要素に関する情報を漏れ構成要素１３２として管理する。
【００３５】
同図に示すように、漏れ構成要素１３２は、ＵＲＬ７１１、表現形式７１２、出力位置７１３、出力内容７１４、及び画像データ名７１５の各項目からなる一つ以上のレコードで構成される。このテーブルの一つのレコードは一つの構成要素に対応している。
【００３６】
ＵＲＬ７１１には、当該レコードの構成要素が設けられているＷｅｂページの識別子（本例ではＵＲＬ）が設定される。表現形式７１２には、当該レコードの構成要素のＷｅｂ記述言語による表現形式が設定される。出力位置７１３には、Ｗｅｂページ内における当該レコードの構成要素の出力位置が設定される。出力内容７１４には、当該レコードの構成要素が表示機能を備えている場合に、当該レコードの構成要素に表示されるべき内容が設定される。画像データ名７１５には、漏れ構成要素の画像データ（以下、漏れ構成要素画像と称する。）のデータ名（ファイル名等）が設定される。上記画像データは、例えば、漏れ構成要素特定部１１２２によって随時取得される。
【００３７】
図１に戻り、テスト結果解析部１１３の漏れ構成要素表示画面生成部１１３１は、漏れ構成要素１３２に基づき、スクリーンショット１４１の漏れ構成要素に相当する部分を強調表示した画面の画像データ（以下、漏れ構成要素表示画面１４２と称する。）を生成して出力装置１５に表示する。また漏れ構成要素表示画面生成部１１３１は、漏れ構成要素表示画面１４２に漏れ構成要素を強調表示するに際し、前述した操作要素と表示要素とを区別した態様で表示する。
【００３８】
図８は漏れ構成要素表示画面生成部１１３１が生成する漏れ構成要素表示画面１４２の一例である。漏れ構成要素表示画面生成部１１３１は、図３に示したＷｅｂページ３００のスクリーンショット１４１において漏れ構成要素に相当する部分を強調表示した画面（スクリーンショット１４１の漏れ構成要素に相当する部分に当該部分を強調表示する画像（例えば、点線枠や破線枠）をオーバレイした画面）を漏れ構成要素表示画面１４２として生成する。尚、漏れ構成要素表示画面生成部１１３１は、例えば、上記スクリーンショット１４１と前述した漏れ構成要素画像とを比較することにより、強調表示の対象となる、スクリーンショット１４１の漏れ構成要素が設けられている部分を特定する。これにより漏れ構成要素表示画面生成部１１３１はオーバレイ処理を効率よく行うことができる。
【００３９】
同図において、点線枠８１１は、当該点線枠８１１で囲まれた構成要素が漏れ構成要素でありかつ操作要素であることを示している。また破線枠８１２は、当該破線枠８１２で囲まれた構成要素が漏れ構成要素でありかつ表示要素であることを示している。このように、漏れ構成要素表示画面生成部１１３１は、Ｗｅｂページ３００のスクリーンショット１４１に漏れ構成要素に相当する部分を強調表示した画面を生成するので、ユーザは漏れ構成要素を容易に把握することができる。またユーザは漏れ構成要素が操作要素であるか表示要素であるかを容易に把握することができる。
【００４０】
テスト結果解析部１１３の追加テストシナリオ生成部１１３２は、漏れ構成要素１３２をテストの対象とするテストシナリオである追加テストシナリオを生成し、生成した追加テストシナリオを、記憶部１２０が記憶している既存のテストシナリオ１２２に追記した加工済テストシナリオを生成する。尚、既存のテストシナリオ１２２が複数存在する場合、追加テストシナリオ生成部１１３２は、例えば、複数のテストシナリオ１２２のうち、ステップ数の最も少ないテストシナリオ１２２に追加テストシナリオを追記して追加テストシナリオ生成部１１３２を生成する。追加テストシナリオ生成部１１３２が、追加テス
トシナリオを含んだテストシナリオ１２２を新規に生成するとしてもよい。
【００４１】
図９は追加テストシナリオ生成部１１３２が生成する加工済テストシナリオ１４３の一例である。同図に示す加工済テストシナリオ１４３は、図５（ｂ）に示したテストシナリオ１２２に、漏れ構成要素としたステップからなるテストシナリオ（以下、追加テストシナリオ９１１と称する。）を追記した内容になっている。テスト結果解析部１１３は、複数のテストシナリオ１２２が存在する場合、例えば、最もステップ数の少ないテストシナリオ１２２に追加テストシナリオ９１１を追記して加工済テストシナリオ１４３を生成する。これによりユーザは、漏れ構成要素を対象としたテストを迅速に行うことができる。
【００４２】
＜処理説明＞
図１０は、クライアント装置１００のテスト実行部１１２が行う処理（以下、テスト実行処理Ｓ１０００と称する。）を説明するフローチャートである。以下、同図とともにテスト実行処理Ｓ１０００について説明する。
【００４３】
まずテスト実行部１１２は、補助記憶装置１３からテストスクリプト１２３を読み出して主記憶装置１２に格納する等、テストシナリオ１２２を実行するための準備処理を行う（Ｓ１０１１）。
【００４４】
続いて、テスト実行部１１２のテストシナリオ実行部１１２１は、記憶部１２０からテストシナリオ１２２を１つ取得する（Ｓ１０１２）。
【００４５】
続いて、テストシナリオ実行部１１２１は、取得したテストシナリオ１２２から、ステップを１つ（１行分の手順）を取得する（Ｓ１０１３）。
【００４６】
続いて、テストシナリオ実行部１１２１は、Ｓ１０１３で取得したステップがスクリーンショットを取得する処理内容であるか否かを判定する（Ｓ１０１４）。取得したステップがスクリーンショットを取得する処理内容であると判定すると（Ｓ１０１４：ＹＥＳ）、テストシナリオ実行部１１２１は、Ｗｅｂページのスクリーンショットを取得し、記憶部１２０がこれをスクリーンショット１４１として記憶する（Ｓ１０１５）。その後、処理はＳ１０１８に進む。取得したステップがスクリーンショットを取得する処理内容でないと判定すると（Ｓ１０１４：ＮＯ）、テストシナリオ実行部１１２１は、取得したステップの処理内容を実行し（Ｓ１０１６）、記憶部１２０が、Ｓ１０１３で取得したステップにおいてテスト対象となった構成要素をテスト対象構成要素１３１として記憶する（Ｓ１０１７）。
【００４７】
続いて、テストシナリオ実行部１１２１が、Ｓ１０１３で取得したステップが、Ｓ１０１２で取得したテストシナリオ１２２の最終行であるか否かを判定する（Ｓ１０１８）。テストシナリオ実行部１１２１が、Ｓ１０１３で取得したステップがＳ１０１２で読み出したテストシナリオ１２２の最終行でないと判定した場合（Ｓ１０１８：ＮＯ）、処理はＳ１０１３に戻り、テストシナリオ実行部１１２１は次のステップを取得して以上と同様の処理を繰り返す。テストシナリオ実行部１１２１が、Ｓ１０１３で取得したステップがＳ１０１２で読み出したテストシナリオ１２２の最終行であると判定した場合（Ｓ１０１８：ＹＥＳ）、処理はＳ１０３１に進む。
【００４８】
Ｓ１０３１では、テストシナリオ実行部１１２１が、Ｓ１０１２で未取得のテストシナリオ１２２が残存するか否かを判定する。テストシナリオ実行部１１２１が、Ｓ１０１２で未取得のテストシナリオ１２２が残存すると判定した場合（Ｓ１０３１：ＹＥＳ）、処理はＳ１０１２に戻る。テストシナリオ実行部１１２１が、Ｓ１０１２で未取得のテストシナリオ１２２が残存しないと判定した場合（Ｓ１０３１：ＮＯ）、処理はＳ１０３２に
進む。
【００４９】
Ｓ１０３２では、テスト実行部１１２の漏れ構成要素特定部１１２２が、テスト対象のＷｅｂページのＷｅｂ記述文書１２１から、テスト対象となり得る全ての構成要素を抽出する。
【００５０】
Ｓ１０３３では、漏れ構成要素特定部１１２２が、抽出した上記全構成要素とテスト対象構成要素とを対照することにより両者の差分の構成要素、即ち漏れ構成要素を特定する。尚、テスト対象構成要素１３１には、テスト対象のＷｅｂページを対象としてテストを実行する複数のテストシナリオ１２２のテスト結果が反映されているので、Ｓ１０３３において漏れ構成要素特定部１１２２が特定する漏れ構成要素は、Ｓ１０１２で取得されたいずれのテストシナリオ１２２もテストの対象としていない構成要素である。Ｓ１０３４では、記憶部１２０が、Ｓ１０３３で漏れ構成要素特定部１１２２が特定した漏れ構成要素を、漏れ構成要素１３２として記憶する。以上でテスト実行処理Ｓ１０００は終了する。
【００５１】
図１１は、クライアント装置１００のテスト結果解析部１１３が行う処理（以下、テスト結果解析処理Ｓ１１００と称する。）を説明するフローチャートである。以下、同図とともにテスト結果解析処理Ｓ１１００について説明する。
【００５２】
まずテスト結果解析部１１３の漏れ構成要素表示画面生成部１１３１は、記憶部１２０からスクリーンショット１４１を一つ取得する（Ｓ１１１１）。
【００５３】
続いて、漏れ構成要素表示画面生成部１１３１は、漏れ構成要素１３２を参照し、Ｓ１１１１で取得したスクリーンショット１４１の漏れ構成要素が設けられている部分を特定する（Ｓ１１１２）。
【００５４】
続いて、漏れ構成要素表示画面生成部１１３１は、Ｓ１１１１で取得したスクリーンショット１４１の漏れ構成要素に相当する部分を強調表示した画面、即ち漏れ構成要素表示画面１４２を生成する（Ｓ１１１３）。
【００５５】
続いて、テスト結果解析部１１３の追加テストシナリオ生成部１１３２が、追加テストシナリオを生成し、これを既存のテストシナリオ１２２に追記した加工済テストシナリオ１４３を生成する（Ｓ１１１４）。
【００５６】
Ｓ１１１５では、テスト結果解析部１１３が、処理対象の他のスクリーンショット１４１が残存するか否かを判定する。テスト結果解析部１１３が処理対象の他のスクリーンショット１４１が残存すると判定した場合は（Ｓ１１１５：ＹＥＳ）、Ｓ１１１１の処理に進む。テスト結果解析部１１３が処理対象の他のスクリーンショット１４１が残存しないと判定した場合は（Ｓ１１１５：ＮＯ）、テスト結果解析処理Ｓ１１００は終了する。
【００５７】
尚、クライアント装置１００は、入力装置１４を介して行われるユーザのリクエスト等に応じて、Ｓ１１１３で生成された漏れ構成要素表示画面１４２やＳ１１１４で生成された加工済テストシナリオ１４３を随時出力装置１５に表示する。
【００５８】
以上に説明したように、本実施形態のテスト支援システム１にあっては、漏れ構成要素特定部１１２２が、テスト対象のソフトウェアの構成要素のうち、テストシナリオ１２２においてテストの対象になっていない構成要素である漏れ構成要素を特定するので、ユーザはテストシナリオ１２２においてテストの対象になっていない構成要素を容易かつ確実に把握することができる。
【００５９】
また同じソフトウェアをテストするテストシナリオ１２２が複数存在する場合、漏れ構成要素特定部１１２２は、テスト対象のソフトウェアの構成要素のうち、当該ソフトウェアについて用意された複数のテストシナリオ１２２のいずれにおいてもテストの対象になっていない構成要素を漏れ構成要素として特定するので、複数のテストシナリオ１２２が存在する場合でも、ユーザはテストの対象になっていない構成要素を確実に把握することができる。
【００６０】
また漏れ構成要素表示画面生成部１１３１は、取得したスクリーンショット１４１において漏れ構成要素に相当する部分を強調表示した画面である漏れ構成要素表示画面１４２を生成するので、ユーザはテストシナリオ１２２においてテストの対象になっていない構成要素を容易に把握することができる。
【００６１】
また追加テストシナリオ生成部１１３２は、漏れ構成要素をテストの対象とするテストシナリオである追加テストシナリオを生成するので、ユーザは漏れ構成要素についてのテストを効率よく行うことができる。
【００６２】
尚、例えば、Ｗｅｂページに表示される表示専用部品のように、スクリーンショット１４１を眺めただけでは構成要素の存在に気付かないことがあり、とくにテストを行う者とソフトウェアの開発者とが異なる場合は見落としが発生する可能性が高くなる。しかし本実施形態のテスト支援システム１においては、漏れ構成要素特定部１１２２が漏れ構成要素を自動的に抽出して提示するので、ユーザは漏れ構成要素を確実に把握することができる。またソフトウェアのテストが複数人で行われる場合、各ユーザはいずれのユーザによってもテストされていない漏れ構成要素を確実に把握することができる。
【００６３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００６４】
例えば、以上では、テスト対象となるソフトウェアがＷｅｂページである場合について説明したが、本発明が想定するテスト対象となるソフトウェアはこれに限られない。また例えば、漏れ構成要素表示画面生成部１１３１が、テストシナリオ１２２の実行中にテスト対象のソフトウェアの機能によって生成される画面（例えば、Ｗｅｂページ）において、漏れ構成要素に相当する部分を強調表示するようにしてもよい。これによりユーザはテスト中に漏れ構成要素を確認することができ、テストを効率よく進めることができる。
【００６５】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、ま
たはＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【００６６】
また、上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００６７】
１  テスト支援システム、５  通信ネットワーク、１０  情報処理装置、１００  クライアント装置、１１１  Ｗｅｂブラウザ、１１２  テスト実行部、１１２１  テストシナリオ実行部、１１２２  漏れ構成要素特定部、１１３  テスト結果解析部、１１３１  漏れ構成要素表示画面生成部、１１３２  追加テストシナリオ生成部、１２０  記憶部、１２１  Ｗｅｂ記述文書、１２２  テストシナリオ、１２３  テストスクリプト、１３１  テスト対象構成要素、１３２  漏れ構成要素、１４１  スクリーンショット、１４２  漏れ構成要素表示画面、１４３  加工済テストシナリオ、２００  サーバ装置、２１１  Ｗｅｂサーバ、２５１  Ｗｅｂコンテンツデータ、９１１，９１２  追加テストシナリオ
【図１】
0006426535.tif 000002
【図２】
0006426535.tif 000003
【図３】
0006426535.tif 000004
【図４】
0006426535.tif 000005
【図５】
0006426535.tif 000006
【図６】
0006426535.tif 000007
【図７】
0006426535.tif 000008
【図８】
0006426535.tif 000009
【図９】
0006426535.tif 000010
【図１０】
0006426535.tif 000011
【図１１】
0006426535.tif 000012