(57)【要約】【課題】Ｗｅｂ画面コンテンツを修正したときの、テストシナリオとの対応の不整合を直感的に把握することができる。【解決手段】ソフトウェアのシナリオテストを実行するテストシナリオ実行システムであって、第１のテストシナリオから得られる第１の画面コンテンツと、第１の画面コンテンツを修正したときに得られる第２のテストシナリオから得られる第２の画面コンテンツとの差分箇所を特定する第１の処理部と、特定された差分箇所と、第１のテストシナリオまたは第２のテストシナリオと、第１の画面コンテンツまたは第２の画面コンテンツとに基づいて、第１の画面コンテンツまたは第２の画面コンテンツにより表示される画面上の変更箇所を表示部に表示する第２の処理部と、を備える。【選択図】図８
2019003549.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアのシナリオテストを実行するテストシナリオ実行システムであって、
第１のテストシナリオから得られる第１の画面コンテンツと、前記第１の画面コンテンツを修正したときに得られる第２のテストシナリオから得られる第２の画面コンテンツとの差分箇所を特定する第１の処理部と、
特定された前記差分箇所と、前記第１のテストシナリオまたは前記第２のテストシナリオと、前記第１の画面コンテンツまたは前記第２の画面コンテンツとに基づいて、前記第１の画面コンテンツまたは前記第２の画面コンテンツにより表示される画面上の変更箇所を表示部に表示する第２の処理部と、
を備えることを特徴とするシナリオテスト実行システム。
【請求項２】
前記第２の処理部は、前記第１のテストシナリオまたは前記第２のテストシナリオにおける記述箇所の部品がＤＯＭ（Document Object Model）の擬似クラスであるｎｔｈ−ｃｈｉｌｄ表現により記述されているか否かを判定し、前記記述箇所の部品が前記ｎｔｈ−ｃｈｉｌｄ表現により記述されていると判定した場合、他のｎｔｈ−ｃｈｉｌｄ表現により記述されている部品を検索し、前記記述箇所とともに変更すべき箇所として表示部に表示する、
ことを特徴とする請求項１に記載のシナリオテスト実行システム。
【請求項３】
前記第２の処理部は、前記第１のテストシナリオまたは前記第２のテストシナリオにおける記述箇所の部品がＸｐａｔｈ形式により記述されているか否かを判定し、前記記述箇所の部品がＸｐａｔｈ形式により記述されていると判定した場合、当該部品の記述を、あらかじめ定められた前記Ｘｐａｔｈ形式に対応する他の形式の記述に修正した変更案を表示部に表示する、
ことを特徴とする請求項１または２に記載のシナリオテスト実行システム。
【請求項４】
前記第２の処理部は、複数の前記第１の画面コンテンツまたは前記第２の画面コンテンツの中から、前記第１のテストシナリオまたは前記第２のテストシナリオにおける記述箇所の部品と同じ部品が記述された前記第１の画面コンテンツまたは前記第２の画面コンテンツを特定し、特定した前記第１の画面コンテンツまたは前記第２の画面コンテンツの前記同じ部品の記述箇所を表示部に表示する、
ことを特徴とする請求項１〜３のいずれか１項に記載のシナリオテスト実行システム。
【請求項５】
前記第２の処理部は、前記第１の画面コンテンツに含まれる部品と当該部品の位置とを対応付けた第１の部品リストまたは前記第２の画面コンテンツに含まれる部品と当該部品の位置とを対応付けた第２の部品リストとに基づいて、前記第１の画面コンテンツまたは前記第２の画面コンテンツにおける前記部品の位置と、前記第１のテストシナリオまたは前記第２のテストシナリオにおける前記部品の記述箇所と、を前記表示部に表示する、
ことを特徴とする請求項１〜４のいずれか１項に記載のシナリオテスト実行システム。
【請求項６】
前記第２の処理部は、前記部品の変更により生じた前記差分箇所を示す前記部品の位置または前記部品の記述箇所と、前記部品の追加により生じた前記差分箇所を示す前記部品の位置または前記部品の記述箇所と、前記部品の削除により生じた前記差分箇所を示す前記部品の位置または前記部品の記述箇所とを、互いに異なる表示とする、
ことを特徴とする請求項５に記載のシナリオテスト実行システム。
【請求項７】
ソフトウェアのシナリオテストを実行するテストシナリオ実行方法であって、
第１のテストシナリオから得られる第１の画面コンテンツと、前記第１の画面コンテンツを修正したときに得られる第２のテストシナリオから得られる第２の画面コンテンツとの差分箇所を特定し、
特定された前記差分箇所と、前記第１のテストシナリオまたは前記第２のテストシナリオと、前記第１の画面コンテンツまたは前記第２の画面コンテンツとに基づいて、前記第１の画面コンテンツまたは前記第２の画面コンテンツにより表示される画面上の変更箇所を表示部に表示する、
を備えることを特徴とするシナリオテスト実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストシナリオ実行システムおよびテストシナリオ実行方法に関する。
【背景技術】
【０００２】
昨今のＷｅｂアプリケーション等のソフトウェアの開発においては、ビルド、テスト、デプロイといった手順を経て生成されたソフトウェアがコンピュータに実装される。ソフトウェアのビルドとは、ソースコードをコンパイルするなどして実行可能ファイルを生成することである。ソフトウェアのテストとは、ビルドされた実行可能ファイルを実行して動作を検証することである。また、ソフトウェアのデプロイとは、テストされた実行可能ファイルを実際の利用環境に配置することである。
【０００３】
上記のようなソフトウェアのテストを実行する場合、テストの手順を定めたテストシナリオや、そのテストシナリオを実行するためのテストスクリプトをあらかじめ準備する。テストシナリオはＸｐａｔｈ形式で記述されるため、画面コンテンツに変更が生じた場合に不整合が発生する。このような問題点に鑑み、例えば、特許文献１では、Ｗｅｂ画面上に表示される操作対象のオブジェクト名等を示すキーワードと、Ｘｐａｔｈ形式で記述されたそのキーワードの位置情報とを対応付けておき、Ｗｅｂ画面に変更が生じた場合、上記キーワードをキーにしてテストシナリオでの修正箇所を出力している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１０６５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１では、Ｗｅｂ画面上に表示される操作対象のオブジェクト名等を示すキーワードをあらかじめ定めておかなければならないため、ユーザがキーワードを忘れた場合には、従来同様に修正作業に時間がかかってしまう。また、キーワードが定められていない場合には修正箇所を出力することができない。さらに、Ｗｅｂ画面とは別に修正箇所が出力されるため、ユーザは、Ｗｅｂ画面コンテンツを修正したときの、テストシナリオとの対応の不整合を直感的に把握することができない。
【０００６】
本発明は、Ｗｅｂ画面に表示されている部品と、Ｗｅｂ画面コンテンツを修正したときの、テストシナリオとの対応の不整合を直感的に把握することができるテストシナリオ実行システムおよびテストシナリオ実行方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決し、目的を達成するために、本発明にかかるテストシナリオ実行システムは、ソフトウェアのシナリオテストを実行するテストシナリオ実行システムであって、第１のテストシナリオから得られる第１の画面コンテンツと、前記第１の画面コンテンツを修正したときに得られる第２のテストシナリオから得られる第２の画面コンテンツとの差分箇所を特定する第１の処理部と、特定された前記差分箇所と、前記第１のテストシナリオまたは前記第２のテストシナリオと、前記第１の画面コンテンツまたは前記第２の画面コンテンツに基づいて、前記第１の画面コンテンツまたは前記第２の画面コンテンツにより表示される画面上の変更箇所を表示部に表示する第２の処理部と、を備えることを特徴とするシナリオテスト実行システムとして構成される。
【０００８】
また、本発明は、上記テストシナリオ実行システムで用いられるテストシナリオ実行方法としても把握される。
【発明の効果】
【０００９】
本発明によれば、Ｗｅｂ画面コンテンツを修正したときの、テストシナリオとの対応の不整合を直感的に把握することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態におけるテストシナリオ実行システムの構成例を示す図である。
【図２】主記憶装置が記憶するプログラムを示すブロック図である。
【図３】補助記憶装置が記憶するデータを示すブロック図である。
【図４】画面コンテンツの例を示す図である。
【図５】仮想化情報の例を示す図である。
【図６】テストスクリプトの例を示す図である。
【図７】部品リストの例を示す図である。
【図８】本システムで行われるテストシナリオ実行処理の処理手順を示すフローチャートである。
【図９】Ｗｅｂ画面に変更部品、追加部品、削除部品の位置を表示する例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明にかかるテストシナリオ実行システムおよびテストシナリオ実行方法の実施の形態を詳細に説明する。
【００１２】
図１は、本実施の形態におけるテストシナリオ実行システムの構成例を示す図である。
図１では、テストシナリオ実行システムが１つのコンピュータ内部に構成される例を示しているが、ネットワークやバスを介した複数のコンピュータにより構成されていてもよい。
【００１３】
テストシナリオ実行システムを構成するコンピュータ１０００は、テストを実行するユーザが使用する装置である。図１に示すように、コンピュータ１０００は、ＣＰＵ（Central Processing Unit）１１０と、主記憶装置（メモリ）１２０と、入出力装置１３０と、通信インタフェース１４０と、補助記憶装置１５０とを有して構成されている。コンピュータ１００を構成するこれらの各部は、内部バスによって接続されている。
【００１４】
ＣＰＵ１１０は、主記憶装置１２０に保持されるプログラムを実行する演算装置である。入出力装置１３０は、ユーザインタフェースを提供するキーボード、マウスといった入力装置、およびＬＣＤ（Liquid Crystal Display）といった表示装置から構成される装置である。通信インタフェース１４０は、ネットワークを介した通信インタフェースを提供するＮＩＣ（Network Interface Card）といった通信機器から構成される装置である。補助記憶装置１５０は、プログラムの実行に伴って生成されるデータやプログラムに使用されるデータを保持するＨＤＤ（Hard Disk Drive）といった記憶装置から構成される装置である。
【００１５】
図２は、主記憶装置１２０が記憶するプログラムを示すブロック図である。
図２に示すように、主記憶装置１２０は、ブラウザ表示部１２０１と、テストシナリオ生成部１２０２と、テストスクリプト実行部１２０４と、比較判定部１２０５とを記憶する。
【００１６】
ブラウザ表示部１２０１は、あらかじめ補助記憶装置１５０に記憶された画面コンテンツ１５０１、修正画面コンテンツ１５０２を表示装置に出力する。テストシナリオ生成部１２０２は、入力装置から入力された情報からテストシナリオを生成する。テストスクリプト実行部１２０４は、テストスクリプトを実行し、画面コンテンツ１５０１を表示装置に表示する。比較判定部１２０５は、テストスクリプトが実行された際に、最新の画面コンテンツと直近の画面コンテンツとを比較し、修正箇所を判定する。比較判定部１２０５は、機能的には、第１の処理部と第２の処理部とを有している。上記各部が行う具体的な処理については後述する。続いて、図１に戻って、補助記憶装置１５０について説明する。
【００１７】
図３は、補助記憶装置１５０が記憶するデータを示すブロック図である。
図３に示すように、補助記憶装置１５０は、画面コンテンツ１５０１と、テストシナリオ１５０３と、部品リスト１５０４と、修正画面コンテンツ１５０５と、修正部品リスト１５０８とを記憶する。
【００１８】
画面コンテンツ１５０１は、例えば、ＸＭＬ（Extensible Markup Language）やＨＴＭＬ（HyperText Markup Language）によって記載されるドキュメントである。画面コンテンツ１５０１によって、ユーザが操作可能なＷｅｂ画面がブラウザ表示部１２０１により表示される。上記ドキュメントでは、ＤＯＭ表現により各要素が記述されている。ＤＯＭ（Document Object Model）とは、ｘｍｌやｈｔｍｌの各要素にアクセスするための仕様である。
【００１９】
図４は、画面コンテンツ１５０１の例を示す図である。
図４（ａ）は、ＨＴＭＬの記載例を示す図であり、図４（ｂ）は、ＨＴＭＬで記載されたＷｅｂ画面例を示す図である。図４（ａ）に示すように、画面コンテンツ１５０１は、タグで囲まれた様々な要素が記述されている。図４（ｂ）は、図４（ａ）に示したＨＴＭＬで記述された画面コンテンツ１５０１が表示装置にフルスクリーンで表示されたＷｅｂ画面の例を示す図である。図４（ｂ）に示すように、表示装置には、「Ｅｘａｍｐｌｅ」をタイトルとする画面コンテンツ１５０１が表示されている。また、画面コンテンツ１５０１には、部品として入力欄１３０１と検索ボタン１３０２が含まれていることがわかる。なお、部品とは、入力欄やボタン、チェックボックス等、Ｗｅｂ画面に表示されるコンポーネントである。
【００２０】
テストシナリオ１５０３は、Ｗｅｂアプリケーション等のソフトウェア（以下、単にＷｅｂアプリケーションとする。）のテスト手順を記述したドキュメントである。Ｗｅｂアプリケーションのテスト手順は、あらかじめユーザによって入力装置から入力され、補助記憶装置１５０に記憶される。
【００２１】
図５は、テストシナリオ１５０３の例を示す図である。
図５に示すように、テストシナリオ１５０３には、Ｘｐａｔｈ形式でテストシナリオが記述されている。図６では、例えば、業務ポータル画面撮影のテスト手順として、ログイン画面でユーザＩＤ（ｕｓｅｒ１）、パスワード（ｐａｓｓｗｏｒｄ）を入力し、ログインボタンを押下するテストシナリオがＸｐａｔｈ形式、ＤＯＭ表現で記述されている。テストシナリオ１５０３に記述されている要素と、その要素のＸｐａｔｈ形式、ＤＯＭ表現とをあらかじめ対応付けておく。
【００２２】
なお、図６に示すように、テストシナリオ１５０３は、Ｘｐａｔｈ指定だけでなく、ｉｄ指定で記述され、あるいはこれらが混在して記述されてもよい。図６では、例えば、手順１としてｔｏｐ．ｈｔｍｌをオープンした後、手順２として入力欄（ｉｎｐｕｔ）に「ｕｓｅｒ１」を入力し、手順３としてボタン（ｂｕｔｔｏｎ）を押下し、手順４としてＵＲＬ（Uniform Resource Locator）が「ｈｔｔｐ：／／ｘｘｘ／ｒｅｓｕｌｔ．ｈｔｍｌ」を検索結果として表示し、手順５として検索結果にｕｓｅｒ１＠ｍａｉｌ．ｃｏｍを表示することが記述されている。図５では、図４に示した入力欄１３０１、検索ボタン１３０２に対する操作がテストシナリオに含まれていることがわかる。
【００２３】
部品リスト１５０４は、テストシナリオ、画面コンテンツで用いられる部品の対応関係を示すリストである。
【００２４】
図７は、部品リスト１５０４の例を示す図である。
図７に示すように、部品リスト１５０４は、テストシナリオ１５０３に記述された部品である部品表現と、その部品の画面コンテンツ１５０１における位置である部品位置と、その部品のＤＯＭであるＤＯＭ表現と、その部品が画面コンテンツ１５０１に表示されるときの画像である画像片とが対応付けて記憶されている。図７では、例えば、テストシナリオ１５０３では部品表現としてｂｕｔｔｏｎ[ｉｄ＝ｓｅａｒｃｈ]が記述され、その部品であるボタンが画面コンテンツ１５０１の座標（ｘ１，ｙ１）に配置され、ボタンのサイズが幅ｗ１、高さｈ１であることがわかる。また、この部品のＤＯＭ表現は、＜ｂｕｔｔｏｎ＞検索＜／ｂｕｔｔｏｎ＞で規定され、画面コンテンツ１５０１にはその部品をあらわす画像αが表示されることがわかる。部品リスト１５０４は、テスト実施時に自動で作成され、補助記憶装置１５０に記憶される。
【００２５】
修正画面コンテンツ１５０５、修正部品リスト１５０８は、それぞれ、ユーザによって変更された後の最新のバージョンの画面コンテンツ１５０１、部品リスト１５０４である。修正画面コンテンツ１５０５、修正部品リスト１５０８は、それぞれ、画面コンテンツ１５０１、部品リスト１５０４と同様であるため、ここではその説明を省略する。
【００２６】
本例では、修正画面コンテンツ１５０５、修正部品リスト１５０８が、それぞれ１つずつ記憶されている例を記載しているが、変更されるごとにこれらのファイルを時系列に履歴保持してもよい。変更される都度これらのファイルを記憶しておくことにより、過去に遡及して変更箇所を特定することができる。続いて、本システムで行われる処理について説明する。
【００２７】
図８は、本システムで行われるテストシナリオ実行処理の処理手順を示すフローチャートである。以下では、ユーザからの操作によって、テストシナリオ生成部１２０２がテストシナリオ１５０３を生成し、その後、画面コンテンツ１５０１、テストシナリオ１５０３が変更され、修正画面コンテンツ１５０５、が記憶されているものとする。
【００２８】
図８に示すように、テストシナリオ実行処理では、比較判定部１２０５の第１の処理部は、画面コンテンツ１５０１と修正画面コンテンツ１５０５とを比較し、ＨＴＭＬの差分箇所があるか否かを判定する（ステップＳ８０１）。例えば、比較判定部１２０５の第１の処理部は、画面コンテンツ１５０１のＤＯＭ表現が変更、追加、削除されていれば、その変更、追加、削除箇所がＨＴＭＬ上の差分箇所となる。
【００２９】
比較判定部１２０５の第１の処理部が、画面コンテンツ１５０１と修正画面コンテンツ１５０５とを比較し、ＨＴＭＬの差分箇所があると判定した場合（ステップＳ８０１；Ｙｅｓ）、テストスクリプト実行部１２０４は、全ての差分箇所について以下の処理が実行されたか否かを判定する（ステップＳ８０２）。なお、テストスクリプト実行部１２０４は、比較判定部１２０５の第１の処理部が、画面コンテンツ１５０１と修正画面コンテンツ１５０５とを比較し、ＨＴＭＬの差分箇所がないと判定した場合（ステップＳ８０１；Ｎｏ）、何もせずに本処理を終了させる。
【００３０】
テストスクリプト実行部１２０４が、全ての差分箇所について以下の処理が実行されていないと判定した場合（ステップＳ８０２；Ｎｏ）、比較判定部１２０５の第２の処理部は、未処理の差分箇所から差分となる部品を特定し、特定した部品が部品リスト１５０４または修正部品リスト１５０８にあるか否かを判定する（ステップＳ８０３、Ｓ８０４）。例えば、比較判定部１２０５の第２の処理部は、図４（ａ）に示したＨＴＭＬの中から差分箇所を判定し、その差分箇所の表現と、図７に示した部品リスト１５０４のＤＯＭ表現とを比較し、一致するＤＯＭ表現があるか否かを判定し、一致するＤＯＭ表現があると判定した場合、その差分箇所は部品による差分であると判定し、その差分となる部品を特定する。
【００３１】
比較判定部１２０５の第２の処理部は、ＨＴＭＬ上で差分となる部品が部品リスト１５０４または修正部品リスト１５０８にあると判定した場合（ステップＳ８０４；Ｙｅｓ）、さらに、その部品に対応する部品表現がテストシナリオにあるか否かを判定する（ステップＳ８０５）。例えば、比較判定部１２０５の第２の処理部は、図７に示した部品リスト１５０４または修正部品リスト１５０８を参照しステップＳ８０３で特定した部品のＤＯＭ表現に対応する部品表現を読み取り、読み取った部品表現をキーにしてテストシナリオ１５０３を参照し、キーにした部品表現がテストシナリオ１５０３に含まれているか否かを判定する。
【００３２】
比較判定部１２０５の第２の処理部は、その部品に対応する部品表現がテストシナリオ１５０３に含まれていると判定した場合（ステップＳ８０５；Ｙｅｓ）、その部品表現がテストシナリオ１５０３で使用されている部品表現（変更部品）であると判定し（ステップＳ８０６）、ブラウザ表示部１２０１は、テストシナリオでのその部品の記述箇所と、Ｗｅｂ画面上でのその部品の部品位置とを表示（第１の表示）する（ステップＳ８０７）。表示例については図９を用いて後述する。上記部品位置は、例えば、図７に示した部品リスト１５０４において、ステップＳ８０３で特定したＤＯＭ表現やステップＳ８０５でキーにした部品表現に対応する部品位置である。
【００３３】
比較判定部１２０５の第２の処理部は、その部品に対応する部品表現がテストシナリオにないと判定した場合（ステップＳ８０５；Ｎｏ）、その部品表現はテストシナリオ１５０３では使用されていない部品表現（変更部品）であると判定し（ステップＳ８０８）、ブラウザ表示部１２０１は、Ｗｅｂ画面上でのその部品の部品位置を表示（第２の表示）する（ステップＳ８０９）。表示例については図９を用いて後述する。上記部品位置は、例えば、図７に示した部品リスト１５０４において、ステップＳ８０３で特定したＤＯＭ表現やステップＳ８０５でキーにした部品表現に対応する部品位置である。
【００３４】
ステップＳ８０４において、比較判定部１２０５の第２の処理部は、ＨＴＭＬ上で差分となる部品が部品リスト１５０４または修正部品リスト１５０８にないと判定した場合（ステップＳ８０４；Ｎｏ）、さらに、その部品に対応する部品表現がテストシナリオにあるか否かを判定する（ステップＳ８１０）。判定方法についてはステップＳ８０５と同様であるため、ここではその説明を省略する。
【００３５】
比較判定部１２０５の第２の処理部は、その部品に対応する部品表現がテストシナリオにあると判定した場合（ステップＳ８１０；Ｙｅｓ）、その部品表現がテストシナリオ１５０３で使用されている部品表現（新規部品）であると判定し（ステップＳ８１１）、ブラウザ表示部１２０１は、テストシナリオでのその部品の記述箇所と、Ｗｅｂ画面上でのその部品の部品位置とを表示（第３の表示）する（ステップＳ８１２）。表示例については図９を用いて後述する。上記部品位置は、例えば、図７に示した部品リスト１５０４において、ステップＳ８０３で特定したＤＯＭ表現やステップＳ８０５でキーにした部品表現に対応する部品位置である。
【００３６】
比較判定部１２０５の第２の処理部は、その部品に対応する部品表現がテストシナリオにないと判定した場合（ステップＳ８１０；Ｎｏ）、その部品表現はテストシナリオ１５０３では使用されていない部品表現（新規部品）であると判定し（ステップＳ８１３）、ブラウザ表示部１２０１は、Ｗｅｂ画面上でのその部品の部品位置を表示（第４の表示）する（ステップＳ８１４）。表示例については図９を用いて後述する。上記部品位置は、例えば、図７に示した部品リスト１５０４において、ステップＳ８０３で特定したＤＯＭ表現やステップＳ８０５でキーにした部品表現に対応する部品位置である。
【００３７】
ステップＳ８０２において、比較判定部１２０５の第２の処理部は、全ての差分箇所について以下の処理が実行されたと判定した場合（ステップＳ８０２；Ｙｅｓ）、部品リスト１５０４と修正部品リスト１５０８とを比較し、修正部品リスト１５０８に存在しない部品を消失部品と判定する（ステップＳ８１５）。例えば、比較判定部１２０５は、部品リスト１５０４の画像片が修正部品リスト１５０８の画像片に記憶されていない場合、その画像片で表示される部品が削除されたと判定する。
【００３８】
そして、ブラウザ表示部１２０１は、消失部品と判定されたＷｅｂ画面上での部品位置を表示（第５の表示）する（ステップＳ８１６）。表示例については図９を用いて後述する。上記部品位置は、例えば、図７に示した部品リスト１５０４において、ステップＳ８０３で特定したＤＯＭ表現やステップＳ８０５でキーにした部品表現に対応する部品位置である。ステップＳ８１６の処理が終了すると、図８に示したテストシナリオ実行処理が終了する。
【００３９】
図９は、Ｗｅｂ画面に変更部品、追加部品、削除部品の位置を表示する例を示す図である。図９に示すように、Ｗｅｂ画面には、ステップＳ８０６、Ｓ８０８で判定された変更部品、ステップＳ８１１、Ｓ８１３で判定された新規部品、ステップＳ８１５で判定された削除部品を示す部品位置が表示されている。
【００４０】
図９では、図４（ｂ）に示した入力欄１３０１の表示位置が変更されたため、図７に示した部品リスト１５０４の部品位置に表示されている入力欄１３０１が、入力欄１３０１Ａとして点線の矩形で表示されていることを示している。また、検索ボタン１３０２のＤＯＭ表現が「検索実行」に変更されたため、図７に示した部品リスト１５０４の部品位置に表示されている検索ボタン１３０２が、検索ボタン１３０２Ａとして、入力欄１３０１Ａと同種の点線の矩形で表示されていることを示している。
【００４１】
さらに、入力欄１３０１、検索ボタン１３０２は、シナリオテストにも使用されているため、図５に示したテストシナリオ１５０３の中で、図７に示した部品リスト１５０４のＤＯＭ表現に対応する部品表現に、入力欄１３０１Ａ、検索ボタン１３０２Ａと同種の点線の矩形で囲まれていることを示している。このように、図８のステップＳ８０７では、変更部品が明示されたＷｅｂ画面およびテストシナリオが、表示装置に表示される。表示方法については、例えば、変更部品が明示されたＷｅｂ画面と、変更部品が明示されたテストシナリオとを表示装置に並列に表示させることにより、ユーザは、Ｗｅｂ画面上の変更部品と、テストシナリオ上での変更が必要となる部品とを一目で確認することができる。
【００４２】
また、図９では、図４（ｂ）に示したテキスト１３０３の表示位置が変更されたため、部品リスト１５０４に記憶されている部品位置に表示されているテキスト１３０３が、テキスト１３０３Ａとして実線の矩形で表示されていることを示している。なお、テキスト１３０３は、シナリオテストに使用されていない。このため、図８のステップＳ８０９では、変更部品が明示されたＷｅｂ画面が、表示装置に表示される。表示方法については、例えば、変更部品が明示されたＷｅｂ画面と、変更部品が明示されていないテストシナリオとを表示装置に並列に表示させることにより、ユーザは、Ｗｅｂ画面上の変更部品と、テストシナリオ上での変更が必要となる部品がないことを一目で確認することができる。
【００４３】
また、図９では、図４（ｂ）では表示されていなかったテキスト１３０４が表示されているため、部品リスト１５０４の部品位置にテキスト１３０４として二重線の矩形で表示されていることを示している。さらに、テキスト１３０４は、シナリオテストにも使用されているため、テストシナリオ１５０３の中で、部品リスト１５０４のＤＯＭ表現に対応する部品表現に、テキスト１３０４と同種の二重線の矩形で囲まれる。このように、図８のステップＳ８１２では、新規に追加された部品が明示されたＷｅｂ画面およびテストシナリオが、表示装置に表示される。表示方法については、例えば、追加部品が明示されたＷｅｂ画面と、追加部品が明示されたテストシナリオとを表示装置に並列に表示させることにより、ユーザは、Ｗｅｂ画面上の追加部品と、テストシナリオ上での追加が必要となる部品とを一目で確認することができる。
【００４４】
また、図９では、図４（ｂ）では表示されていなかったテキスト１３０５が表示されているため、部品リスト１５０４に記憶されている部品位置にテキスト１３０５として一点鎖線の矩形で表示されていることを示している。なお、テキスト１３０３は、シナリオテストに使用されていない。このため、図８のステップＳ８１４では、新規に追加部品が明示されたＷｅｂ画面が、表示装置に表示される。表示方法については、例えば、追加部品が明示されたＷｅｂ画面と、追加部品が明示されていないテストシナリオとを表示装置に並列に表示させることにより、ユーザは、Ｗｅｂ画面上の変更部品と、テストシナリオ上での追加が必要となる部品がないことを一目で確認することができる。
【００４５】
さらに、図９では、図４（ｂ）で表示されていたテキスト１３０６が削除されて表示されなくなっているため、部品リスト１５０４に記憶されていた元の部品位置にテキスト１３０６Ａとして二点鎖線の矩形で表示されていることを示している。
【００４６】
なお、削除された部品についても、シナリオテストで使用されているか否かによって、銃置き変更部品や追加部品と同様に、Ｗｅｂ画面とテストシナリオとを並列に表示することができる。
【００４７】
例えば、テキスト１３０６がシナリオテストに使用されている場合には、部品リスト１５０４のＤＯＭ表現に対応する部品表現に、テキスト１３０６と同種の二点鎖線の矩形で囲む。このように、削除された部品が明示されたＷｅｂ画面およびテストシナリオが表示装置に表示される。例えば、追加部品が明示されたＷｅｂ画面と、追加部品が明示されたテストシナリオとが表示装置に並列に表示されることにより、ユーザは、Ｗｅｂ画面上の削除部品と、テストシナリオ上での削除が必要となる部品とを一目で確認することができる。
【００４８】
また、テキスト１３０６がシナリオテストに使用されていない場合には、削除された部品が明示されたＷｅｂ画面を表示装置に表示する。例えば、削除部品が明示されたＷｅｂ画面と、削除部品が明示されていないテストシナリオとを表示装置に並列に表示させることにより、ユーザは、Ｗｅｂ画面上の変更部品と、テストシナリオ上での削除が必要となる部品がないことを一目で確認することができる。
【００４９】
以上説明したように、本システムでは、上記のようなテストシナリオ実行処理を実行することにより、Ｗｅｂ画面コンテンツを修正したときの、テストシナリオとの対応の不整合を直感的に把握することができる。
【００５０】
すなわち、ソフトウェアのシナリオテストを実行するテストシナリオ実行システムにおいて、比較判定部１２０５を構成する第１の処理部が、修正前のテストシナリオから得られる修正前の画面コンテンツと、修正前の画面コンテンツを修正したときに得られる修正後のテストシナリオから得られる修正後の画面コンテンツとの差分箇所を特定し、比較判定部１２０５を構成する第２の処理部が、特定された差分箇所と、修正前のテストシナリオまたは修正後のテストシナリオと、修正前の画面コンテンツまたは修正後の画面コンテンツとに基づいて、修正前の画面コンテンツまたは修正後の画面コンテンツにより表示される画面上の変更箇所を表示部に表示するので、上記不整合の箇所を容易に把握することができる。
【００５１】
また、上記第２の処理部は、修正前の画面コンテンツに含まれる部品と当該部品の位置とを対応付けた修正前の部品リストまたは修正後の画面コンテンツに含まれる部品と当該部品の位置とを対応付けた修正後の部品リストとに基づいて、修正前の画面コンテンツまたは修正後の画面コンテンツにおける部品の位置と、修正前のテストシナリオまたは修正後のテストシナリオにおける部品の記述箇所と、を表示部に表示するので、画面コンテンツの差分箇所が部品の修正で生じたものであるかを容易に判断することができ、部品の修正により差分箇所が生じている場合には、対応するシナリオ上の部品を容易に見つけることができる。
【００５２】
なお、上記第２の処理部は、上記記述箇所の部品がＤＯＭの擬似クラスであるｎｔｈ−ｃｈｉｌｄ表現により記述されているか否かを判定し、上記記述箇所の部品が上記ｎｔｈ−ｃｈｉｌｄ表現により記述されていると判定した場合、他のｎｔｈ−ｃｈｉｌｄ表現により記述されている部品を検索し、上記記述箇所とともに変更すべき箇所として表示部に表示してもよい。例えば、ある部品の記述がｎｔｈ−ｃｈｉｌｄ（ｅｖｅｎ）からｎｔｈ−ｃｈｉｌｄ（ｏｄｄ）に変更された場合には、他の部品の記述をｎｔｈ−ｃｈｉｌｄ（ｏｄｄ）からｎｔｈ−ｃｈｉｌｄ（ｅｖｅｎ）に変更するように、表示部に表示してもよい。このような表示により、ユーザは、修正された部品に関連するｎｔｈ−ｃｈｉｌｄ表現で記述された部品やどのように修正すべきかを容易に把握することができる。
【００５３】
また、上記第２の処理部は、上記記述箇所の部品がＸｐａｔｈ形式により記述されているか否かを判定し、上記記述箇所の部品がＸｐａｔｈ形式により記述されていると判定した場合、当該部品の記述を、あらかじめ定められた上記Ｘｐａｔｈ形式に対応する他の形式の記述に修正した変更案を表示部に表示してもよい。例えば、Ｘｐａｔｈ形式で記述されている部品をｉｄ形式やｎｔｈ−ｏｆ−ｔｙｐｅ形式等の他の形式に書き換える。どのような形式に書き換えるのかについては、ユーザにとって利便性が高いと考える形式をあらかじめ登録しておけばよい。
【００５４】
また、上記第２の処理部は、複数の修正前の画面コンテンツまたは修正後の画面コンテンツの中から、上記記述箇所の部品と同じ部品が記述された修正前の画面コンテンツまたは修正後の画面コンテンツを特定し、特定した修正前の画面コンテンツまたは修正後の画面コンテンツの上記同じ部品の記述箇所を表示部に表示してもよい。例えば、修正前の画面コンテンツに含まれる部品をキーにして、その部品と同じ部品が用いられている他の修正前の画面コンテンツを検索し、その画面コンテンツとその記述箇所とを画面に表示する。このような表示を行うことにより、ユーザは、同様に修正が必要となる画面コンテンツやその位置を容易に把握することができる。
【００５５】
また、上記第２の処理部は、部品の変更により生じた上記差分箇所を示す部品の位置または部品の記述箇所と、部品の追加により生じた上記差分箇所を示す部品の位置または部品の記述箇所と、部品の削除により生じた上記差分箇所を示す部品の位置または部品の記述箇所とを、例えば、図９に示したように、第１の表示〜第５の表示のように互いに異なる線種で表示する。したがって、ユーザは、部品の修正が、変更によるものであるか、追加によるものであるか、削除によるものであるかを一目で把握することができる。
【００５６】
例えば、上記第２の処理部は、上記差分箇所が修正前の部品リストまたは修正後の部品リストに含まれる部品であるか否かを判定し、上記差分箇所が修正前の部品リストまたは修正後の部品リストに含まれる部品であると判定した場合、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されているか否かを判定し、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されていると判定した場合には、修正前の画面コンテンツまたは修正後の画面コンテンツと、修正前のテストシナリオまたは修正後のテストシナリオに、当該部品の箇所を表示する第１の表示を実行し、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されていないと判定した場合には、修正前の画面コンテンツまたは修正後の画面コンテンツに当該部品の箇所を表示する第２の表示を実行する。
【００５７】
また、上記第２の処理部は、上記差分箇所が修正前の部品リストまたは修正前の部品リストに含まれる部品でないと判定した場合、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されているか否かを判定し、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されていると判定した場合には、修正前の画面コンテンツまたは修正後の画面コンテンツと、修正前のテストシナリオまたは修正後のテストシナリオに、当該部品の箇所を表示する第３の表示を実行し、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されていないと判定した場合には、修正前の画面コンテンツまたは修正後の画面コンテンツに当該部品の箇所を表示する第４の表示を実行する。
【００５８】
また、上記第２の処理部は、修正前の部品リストと修正後の部品リストとのいずれかに存在しない部品があるか否かを判定し、いずれかに存在しない部品があると判定した場合、当該部品が存在した箇所を修正前の画面コンテンツまたは修正後の画面コンテンツに表示する第５の表示を実行する。
【００５９】
したがって、これらの表示処理が実行されることにより、画面コンテンツだけでなくテストシナリオでも修正が必要となる部品であるか否かを容易に把握することができる。
【００６０】
なお、本システムで実行される各処理は、実際には、装置にインストールされたプログラムを実行することにより実現される。上記プログラムは、ＲＯＭ等に予め組み込まれて提供されたり、インストール可能な形式又は実行可能な形式のファイルで記録媒体に記録して提供したり、配布してもよい。
【符号の説明】
【００６１】
１０００            コンピュータ
１１０              ＣＰＵ
１２０              主記憶装置（メモリ）
１２０１            ブラウザ表示部
１２０２            テストシナリオ生成部
１２０４            テストスクリプト実行部
１２０５            比較判定部
１３０              入出力装置
１４０              通信インタフェース
１５０              補助記憶装置
１５０１            画面コンテンツ
１５０３            テストシナリオ
１５０４            部品リスト
１５０５            修正画面コンテンツ
１５０８            修正部品リスト。
【図１】
2019003549.tif 000003
【図２】
2019003549.tif 000004
【図３】
2019003549.tif 000005
【図４】
2019003549.tif 000006
【図５】
2019003549.tif 000007
【図６】
2019003549.tif 000008
【図７】
2019003549.tif 000009
【図８】
2019003549.tif 000010
【図９】
2019003549.tif 000011