JP6941980B2 - テストシナリオ実行システムおよびテストシナリオ実行方法 - Google Patents

テストシナリオ実行システムおよびテストシナリオ実行方法 Download PDF

Info

Publication number
JP6941980B2
JP6941980B2 JP2017119708A JP2017119708A JP6941980B2 JP 6941980 B2 JP6941980 B2 JP 6941980B2 JP 2017119708 A JP2017119708 A JP 2017119708A JP 2017119708 A JP2017119708 A JP 2017119708A JP 6941980 B2 JP6941980 B2 JP 6941980B2
Authority
JP
Japan
Prior art keywords
screen content
scenario
test
component
test scenario
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017119708A
Other languages
English (en)
Other versions
JP2019003549A (ja
Inventor
前岡 淳
淳 前岡
仁 芳ケ迫
仁 芳ケ迫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Systems Ltd
Original Assignee
Hitachi Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Systems Ltd filed Critical Hitachi Systems Ltd
Priority to JP2017119708A priority Critical patent/JP6941980B2/ja
Publication of JP2019003549A publication Critical patent/JP2019003549A/ja
Application granted granted Critical
Publication of JP6941980B2 publication Critical patent/JP6941980B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、テストシナリオ実行システムおよびテストシナリオ実行方法に関する。
昨今のWebアプリケーション等のソフトウェアの開発においては、ビルド、テスト、デプロイといった手順を経て生成されたソフトウェアがコンピュータに実装される。ソフトウェアのビルドとは、ソースコードをコンパイルするなどして実行可能ファイルを生成することである。ソフトウェアのテストとは、ビルドされた実行可能ファイルを実行して動作を検証することである。また、ソフトウェアのデプロイとは、テストされた実行可能ファイルを実際の利用環境に配置することである。
上記のようなソフトウェアのテストを実行する場合、テストの手順を定めたテストシナリオや、そのテストシナリオを実行するためのテストスクリプトをあらかじめ準備する。テストシナリオはXpath形式で記述されるため、画面コンテンツに変更が生じた場合に不整合が発生する。このような問題点に鑑み、例えば、特許文献1では、Web画面上に表示される操作対象のオブジェクト名等を示すキーワードと、Xpath形式で記述されたそのキーワードの位置情報とを対応付けておき、Web画面に変更が生じた場合、上記キーワードをキーにしてテストシナリオでの修正箇所を出力している。
特開2014−106589号公報
上記特許文献1では、Web画面上に表示される操作対象のオブジェクト名等を示すキーワードをあらかじめ定めておかなければならないため、ユーザがキーワードを忘れた場合には、従来同様に修正作業に時間がかかってしまう。また、キーワードが定められていない場合には修正箇所を出力することができない。さらに、Web画面とは別に修正箇所が出力されるため、ユーザは、Web画面コンテンツを修正したときの、テストシナリオとの対応の不整合を直感的に把握することができない。
本発明は、Web画面に表示されている部品と、Web画面コンテンツを修正したときの、テストシナリオとの対応の不整合を直感的に把握することができるテストシナリオ実行システムおよびテストシナリオ実行方法を提供することを目的とする。
上記課題を解決し、目的を達成するために、本発明にかかるテストシナリオ実行システムは、ソフトウェアのシナリオテストを実行するテストシナリオ実行システムであって、第1のテストシナリオから得られる第1の画面コンテンツと、前記第1の画面コンテンツを修正したときに得られる第2のテストシナリオから得られる第2の画面コンテンツとの差分箇所を特定する第1の処理部と、特定された前記差分箇所と、前記第1のテストシナリオまたは前記第2のテストシナリオと、前記第1の画面コンテンツまたは前記第2の画面コンテンツに基づいて、前記第1の画面コンテンツまたは前記第2の画面コンテンツにより表示される画面上の変更箇所を表示部に表示する第2の処理部と、を備えることを特徴とするシナリオテスト実行システムとして構成される。
また、本発明は、上記テストシナリオ実行システムで用いられるテストシナリオ実行方法としても把握される。
本発明によれば、Web画面コンテンツを修正したときの、テストシナリオとの対応の不整合を直感的に把握することができる。
本実施の形態におけるテストシナリオ実行システムの構成例を示す図である。 主記憶装置が記憶するプログラムを示すブロック図である。 補助記憶装置が記憶するデータを示すブロック図である。 画面コンテンツの例を示す図である。 仮想化情報の例を示す図である。 テストスクリプトの例を示す図である。 部品リストの例を示す図である。 本システムで行われるテストシナリオ実行処理の処理手順を示すフローチャートである。 Web画面に変更部品、追加部品、削除部品の位置を表示する例を示す図である。
以下に添付図面を参照して、本発明にかかるテストシナリオ実行システムおよびテストシナリオ実行方法の実施の形態を詳細に説明する。
図1は、本実施の形態におけるテストシナリオ実行システムの構成例を示す図である。
図1では、テストシナリオ実行システムが1つのコンピュータ内部に構成される例を示しているが、ネットワークやバスを介した複数のコンピュータにより構成されていてもよい。
テストシナリオ実行システムを構成するコンピュータ1000は、テストを実行するユーザが使用する装置である。図1に示すように、コンピュータ1000は、CPU(Central Processing Unit)110と、主記憶装置(メモリ)120と、入出力装置130と、通信インタフェース140と、補助記憶装置150とを有して構成されている。コンピュータ100を構成するこれらの各部は、内部バスによって接続されている。
CPU110は、主記憶装置120に保持されるプログラムを実行する演算装置である。入出力装置130は、ユーザインタフェースを提供するキーボード、マウスといった入力装置、およびLCD(Liquid Crystal Display)といった表示装置から構成される装置である。通信インタフェース140は、ネットワークを介した通信インタフェースを提供するNIC(Network Interface Card)といった通信機器から構成される装置である。補助記憶装置150は、プログラムの実行に伴って生成されるデータやプログラムに使用されるデータを保持するHDD(Hard Disk Drive)といった記憶装置から構成される装置である。
図2は、主記憶装置120が記憶するプログラムを示すブロック図である。
図2に示すように、主記憶装置120は、ブラウザ表示部1201と、テストシナリオ生成部1202と、テストスクリプト実行部1204と、比較判定部1205とを記憶する。
ブラウザ表示部1201は、あらかじめ補助記憶装置150に記憶された画面コンテンツ1501、修正画面コンテンツ1502を表示装置に出力する。テストシナリオ生成部1202は、入力装置から入力された情報からテストシナリオを生成する。テストスクリプト実行部1204は、テストスクリプトを実行し、画面コンテンツ1501を表示装置に表示する。比較判定部1205は、テストスクリプトが実行された際に、最新の画面コンテンツと直近の画面コンテンツとを比較し、修正箇所を判定する。比較判定部1205は、機能的には、第1の処理部と第2の処理部とを有している。上記各部が行う具体的な処理については後述する。続いて、図1に戻って、補助記憶装置150について説明する。
図3は、補助記憶装置150が記憶するデータを示すブロック図である。
図3に示すように、補助記憶装置150は、画面コンテンツ1501と、テストシナリオ1503と、部品リスト1504と、修正画面コンテンツ1505と、修正部品リスト1508とを記憶する。
画面コンテンツ1501は、例えば、XML(Extensible Markup Language)やHTML(HyperText Markup Language)によって記載されるドキュメントである。画面コンテンツ1501によって、ユーザが操作可能なWeb画面がブラウザ表示部1201により表示される。上記ドキュメントでは、DOM表現により各要素が記述されている。DOM(Document Object Model)とは、xmlやhtmlの各要素にアクセスするための仕様である。
図4は、画面コンテンツ1501の例を示す図である。
図4(a)は、HTMLの記載例を示す図であり、図4(b)は、HTMLで記載されたWeb画面例を示す図である。図4(a)に示すように、画面コンテンツ1501は、タグで囲まれた様々な要素が記述されている。図4(b)は、図4(a)に示したHTMLで記述された画面コンテンツ1501が表示装置にフルスクリーンで表示されたWeb画面の例を示す図である。図4(b)に示すように、表示装置には、「Example」をタイトルとする画面コンテンツ1501が表示されている。また、画面コンテンツ1501には、部品として入力欄1301と検索ボタン1302が含まれていることがわかる。なお、部品とは、入力欄やボタン、チェックボックス等、Web画面に表示されるコンポーネントである。
テストシナリオ1503は、Webアプリケーション等のソフトウェア(以下、単にWebアプリケーションとする。)のテスト手順を記述したドキュメントである。Webアプリケーションのテスト手順は、あらかじめユーザによって入力装置から入力され、補助記憶装置150に記憶される。
図5は、テストシナリオ1503の例を示す図である。
図5に示すように、テストシナリオ1503には、Xpath形式でテストシナリオが記述されている。図6では、例えば、業務ポータル画面撮影のテスト手順として、ログイン画面でユーザID(user1)、パスワード(password)を入力し、ログインボタンを押下するテストシナリオがXpath形式、DOM表現で記述されている。テストシナリオ1503に記述されている要素と、その要素のXpath形式、DOM表現とをあらかじめ対応付けておく。
なお、図6に示すように、テストシナリオ1503は、Xpath指定だけでなく、id指定で記述され、あるいはこれらが混在して記述されてもよい。図6では、例えば、手順1としてtop.htmlをオープンした後、手順2として入力欄(input)に「user1」を入力し、手順3としてボタン(button)を押下し、手順4としてURL(Uniform Resource Locator)が「http://xxx/result.html」を検索結果として表示し、手順5として検索結果にuser1@mail.comを表示することが記述されている。図5では、図4に示した入力欄1301、検索ボタン1302に対する操作がテストシナリオに含まれていることがわかる。
部品リスト1504は、テストシナリオ、画面コンテンツで用いられる部品の対応関係を示すリストである。
図7は、部品リスト1504の例を示す図である。
図7に示すように、部品リスト1504は、テストシナリオ1503に記述された部品である部品表現と、その部品の画面コンテンツ1501における位置である部品位置と、その部品のDOMであるDOM表現と、その部品が画面コンテンツ1501に表示されるときの画像である画像片とが対応付けて記憶されている。図7では、例えば、テストシナリオ1503では部品表現としてbutton[id=search]が記述され、その部品であるボタンが画面コンテンツ1501の座標(x1,y1)に配置され、ボタンのサイズが幅w1、高さh1であることがわかる。また、この部品のDOM表現は、<button>検索</button>で規定され、画面コンテンツ1501にはその部品をあらわす画像αが表示されることがわかる。部品リスト1504は、テスト実施時に自動で作成され、補助記憶装置150に記憶される。
修正画面コンテンツ1505、修正部品リスト1508は、それぞれ、ユーザによって変更された後の最新のバージョンの画面コンテンツ1501、部品リスト1504である。修正画面コンテンツ1505、修正部品リスト1508は、それぞれ、画面コンテンツ1501、部品リスト1504と同様であるため、ここではその説明を省略する。
本例では、修正画面コンテンツ1505、修正部品リスト1508が、それぞれ1つずつ記憶されている例を記載しているが、変更されるごとにこれらのファイルを時系列に履歴保持してもよい。変更される都度これらのファイルを記憶しておくことにより、過去に遡及して変更箇所を特定することができる。続いて、本システムで行われる処理について説明する。
図8は、本システムで行われるテストシナリオ実行処理の処理手順を示すフローチャートである。以下では、ユーザからの操作によって、テストシナリオ生成部1202がテストシナリオ1503を生成し、その後、画面コンテンツ1501、テストシナリオ1503が変更され、修正画面コンテンツ1505、が記憶されているものとする。
図8に示すように、テストシナリオ実行処理では、比較判定部1205の第1の処理部は、画面コンテンツ1501と修正画面コンテンツ1505とを比較し、HTMLの差分箇所があるか否かを判定する(ステップS801)。例えば、比較判定部1205の第1の処理部は、画面コンテンツ1501のDOM表現が変更、追加、削除されていれば、その変更、追加、削除箇所がHTML上の差分箇所となる。
比較判定部1205の第1の処理部が、画面コンテンツ1501と修正画面コンテンツ1505とを比較し、HTMLの差分箇所があると判定した場合(ステップS801;Yes)、テストスクリプト実行部1204は、全ての差分箇所について以下の処理が実行されたか否かを判定する(ステップS802)。なお、テストスクリプト実行部1204は、比較判定部1205の第1の処理部が、画面コンテンツ1501と修正画面コンテンツ1505とを比較し、HTMLの差分箇所がないと判定した場合(ステップS801;No)、何もせずに本処理を終了させる。
テストスクリプト実行部1204が、全ての差分箇所について以下の処理が実行されていないと判定した場合(ステップS802;No)、比較判定部1205の第2の処理部は、未処理の差分箇所から差分となる部品を特定し、特定した部品が部品リスト1504または修正部品リスト1508にあるか否かを判定する(ステップS803、S804)。例えば、比較判定部1205の第2の処理部は、図4(a)に示したHTMLの中から差分箇所を判定し、その差分箇所の表現と、図7に示した部品リスト1504のDOM表現とを比較し、一致するDOM表現があるか否かを判定し、一致するDOM表現があると判定した場合、その差分箇所は部品による差分であると判定し、その差分となる部品を特定する。
比較判定部1205の第2の処理部は、HTML上で差分となる部品が部品リスト1504または修正部品リスト1508にあると判定した場合(ステップS804;Yes)、さらに、その部品に対応する部品表現がテストシナリオにあるか否かを判定する(ステップS805)。例えば、比較判定部1205の第2の処理部は、図7に示した部品リスト1504または修正部品リスト1508を参照しステップS803で特定した部品のDOM表現に対応する部品表現を読み取り、読み取った部品表現をキーにしてテストシナリオ1503を参照し、キーにした部品表現がテストシナリオ1503に含まれているか否かを判定する。
比較判定部1205の第2の処理部は、その部品に対応する部品表現がテストシナリオ1503に含まれていると判定した場合(ステップS805;Yes)、その部品表現がテストシナリオ1503で使用されている部品表現(変更部品)であると判定し(ステップS806)、ブラウザ表示部1201は、テストシナリオでのその部品の記述箇所と、Web画面上でのその部品の部品位置とを表示(第1の表示)する(ステップS807)。表示例については図9を用いて後述する。上記部品位置は、例えば、図7に示した部品リスト1504において、ステップS803で特定したDOM表現やステップS805でキーにした部品表現に対応する部品位置である。
比較判定部1205の第2の処理部は、その部品に対応する部品表現がテストシナリオにないと判定した場合(ステップS805;No)、その部品表現はテストシナリオ1503では使用されていない部品表現(変更部品)であると判定し(ステップS808)、ブラウザ表示部1201は、Web画面上でのその部品の部品位置を表示(第2の表示)する(ステップS809)。表示例については図9を用いて後述する。上記部品位置は、例えば、図7に示した部品リスト1504において、ステップS803で特定したDOM表現やステップS805でキーにした部品表現に対応する部品位置である。
ステップS804において、比較判定部1205の第2の処理部は、HTML上で差分となる部品が部品リスト1504または修正部品リスト1508にないと判定した場合(ステップS804;No)、さらに、その部品に対応する部品表現がテストシナリオにあるか否かを判定する(ステップS810)。判定方法についてはステップS805と同様であるため、ここではその説明を省略する。
比較判定部1205の第2の処理部は、その部品に対応する部品表現がテストシナリオにあると判定した場合(ステップS810;Yes)、その部品表現がテストシナリオ1503で使用されている部品表現(新規部品)であると判定し(ステップS811)、ブラウザ表示部1201は、テストシナリオでのその部品の記述箇所と、Web画面上でのその部品の部品位置とを表示(第3の表示)する(ステップS812)。表示例については図9を用いて後述する。上記部品位置は、例えば、図7に示した部品リスト1504において、ステップS803で特定したDOM表現やステップS805でキーにした部品表現に対応する部品位置である。
比較判定部1205の第2の処理部は、その部品に対応する部品表現がテストシナリオにないと判定した場合(ステップS810;No)、その部品表現はテストシナリオ1503では使用されていない部品表現(新規部品)であると判定し(ステップS813)、ブラウザ表示部1201は、Web画面上でのその部品の部品位置を表示(第4の表示)する(ステップS814)。表示例については図9を用いて後述する。上記部品位置は、例えば、図7に示した部品リスト1504において、ステップS803で特定したDOM表現やステップS805でキーにした部品表現に対応する部品位置である。
ステップS802において、比較判定部1205の第2の処理部は、全ての差分箇所について以下の処理が実行されたと判定した場合(ステップS802;Yes)、部品リスト1504と修正部品リスト1508とを比較し、修正部品リスト1508に存在しない部品を消失部品と判定する(ステップS815)。例えば、比較判定部1205は、部品リスト1504の画像片が修正部品リスト1508の画像片に記憶されていない場合、その画像片で表示される部品が削除されたと判定する。
そして、ブラウザ表示部1201は、消失部品と判定されたWeb画面上での部品位置を表示(第5の表示)する(ステップS816)。表示例については図9を用いて後述する。上記部品位置は、例えば、図7に示した部品リスト1504において、ステップS803で特定したDOM表現やステップS805でキーにした部品表現に対応する部品位置である。ステップS816の処理が終了すると、図8に示したテストシナリオ実行処理が終了する。
図9は、Web画面に変更部品、追加部品、削除部品の位置を表示する例を示す図である。図9に示すように、Web画面には、ステップS806、S808で判定された変更部品、ステップS811、S813で判定された新規部品、ステップS815で判定された削除部品を示す部品位置が表示されている。
図9では、図4(b)に示した入力欄1301の表示位置が変更されたため、図7に示した部品リスト1504の部品位置に表示されている入力欄1301が、入力欄1301Aとして点線の矩形で表示されていることを示している。また、検索ボタン1302のDOM表現が「検索実行」に変更されたため、図7に示した部品リスト1504の部品位置に表示されている検索ボタン1302が、検索ボタン1302Aとして、入力欄1301Aと同種の点線の矩形で表示されていることを示している。
さらに、入力欄1301、検索ボタン1302は、シナリオテストにも使用されているため、図5に示したテストシナリオ1503の中で、図7に示した部品リスト1504のDOM表現に対応する部品表現に、入力欄1301A、検索ボタン1302Aと同種の点線の矩形で囲まれていることを示している。このように、図8のステップS807では、変更部品が明示されたWeb画面およびテストシナリオが、表示装置に表示される。表示方法については、例えば、変更部品が明示されたWeb画面と、変更部品が明示されたテストシナリオとを表示装置に並列に表示させることにより、ユーザは、Web画面上の変更部品と、テストシナリオ上での変更が必要となる部品とを一目で確認することができる。
また、図9では、図4(b)に示したテキスト1303の表示位置が変更されたため、部品リスト1504に記憶されている部品位置に表示されているテキスト1303が、テキスト1303Aとして実線の矩形で表示されていることを示している。なお、テキスト1303は、シナリオテストに使用されていない。このため、図8のステップS809では、変更部品が明示されたWeb画面が、表示装置に表示される。表示方法については、例えば、変更部品が明示されたWeb画面と、変更部品が明示されていないテストシナリオとを表示装置に並列に表示させることにより、ユーザは、Web画面上の変更部品と、テストシナリオ上での変更が必要となる部品がないことを一目で確認することができる。
また、図9では、図4(b)では表示されていなかったテキスト1304が表示されているため、部品リスト1504の部品位置にテキスト1304として二重線の矩形で表示されていることを示している。さらに、テキスト1304は、シナリオテストにも使用されているため、テストシナリオ1503の中で、部品リスト1504のDOM表現に対応する部品表現に、テキスト1304と同種の二重線の矩形で囲まれる。このように、図8のステップS812では、新規に追加された部品が明示されたWeb画面およびテストシナリオが、表示装置に表示される。表示方法については、例えば、追加部品が明示されたWeb画面と、追加部品が明示されたテストシナリオとを表示装置に並列に表示させることにより、ユーザは、Web画面上の追加部品と、テストシナリオ上での追加が必要となる部品とを一目で確認することができる。
また、図9では、図4(b)では表示されていなかったテキスト1305が表示されているため、部品リスト1504に記憶されている部品位置にテキスト1305として一点鎖線の矩形で表示されていることを示している。なお、テキスト1303は、シナリオテストに使用されていない。このため、図8のステップS814では、新規に追加部品が明示されたWeb画面が、表示装置に表示される。表示方法については、例えば、追加部品が明示されたWeb画面と、追加部品が明示されていないテストシナリオとを表示装置に並列に表示させることにより、ユーザは、Web画面上の変更部品と、テストシナリオ上での追加が必要となる部品がないことを一目で確認することができる。
さらに、図9では、図4(b)で表示されていたテキスト1306が削除されて表示されなくなっているため、部品リスト1504に記憶されていた元の部品位置にテキスト1306Aとして二点鎖線の矩形で表示されていることを示している。
なお、削除された部品についても、シナリオテストで使用されているか否かによって、銃置き変更部品や追加部品と同様に、Web画面とテストシナリオとを並列に表示することができる。
例えば、テキスト1306がシナリオテストに使用されている場合には、部品リスト1504のDOM表現に対応する部品表現に、テキスト1306と同種の二点鎖線の矩形で囲む。このように、削除された部品が明示されたWeb画面およびテストシナリオが表示装置に表示される。例えば、追加部品が明示されたWeb画面と、追加部品が明示されたテストシナリオとが表示装置に並列に表示されることにより、ユーザは、Web画面上の削除部品と、テストシナリオ上での削除が必要となる部品とを一目で確認することができる。
また、テキスト1306がシナリオテストに使用されていない場合には、削除された部品が明示されたWeb画面を表示装置に表示する。例えば、削除部品が明示されたWeb画面と、削除部品が明示されていないテストシナリオとを表示装置に並列に表示させることにより、ユーザは、Web画面上の変更部品と、テストシナリオ上での削除が必要となる部品がないことを一目で確認することができる。
以上説明したように、本システムでは、上記のようなテストシナリオ実行処理を実行することにより、Web画面コンテンツを修正したときの、テストシナリオとの対応の不整合を直感的に把握することができる。
すなわち、ソフトウェアのシナリオテストを実行するテストシナリオ実行システムにおいて、比較判定部1205を構成する第1の処理部が、修正前のテストシナリオから得られる修正前の画面コンテンツと、修正前の画面コンテンツを修正したときに得られる修正後のテストシナリオから得られる修正後の画面コンテンツとの差分箇所を特定し、比較判定部1205を構成する第2の処理部が、特定された差分箇所と、修正前のテストシナリオまたは修正後のテストシナリオと、修正前の画面コンテンツまたは修正後の画面コンテンツとに基づいて、修正前の画面コンテンツまたは修正後の画面コンテンツにより表示される画面上の変更箇所を表示部に表示するので、上記不整合の箇所を容易に把握することができる。
また、上記第2の処理部は、修正前の画面コンテンツに含まれる部品と当該部品の位置とを対応付けた修正前の部品リストまたは修正後の画面コンテンツに含まれる部品と当該部品の位置とを対応付けた修正後の部品リストとに基づいて、修正前の画面コンテンツまたは修正後の画面コンテンツにおける部品の位置と、修正前のテストシナリオまたは修正後のテストシナリオにおける部品の記述箇所と、を表示部に表示するので、画面コンテンツの差分箇所が部品の修正で生じたものであるかを容易に判断することができ、部品の修正により差分箇所が生じている場合には、対応するシナリオ上の部品を容易に見つけることができる。
なお、上記第2の処理部は、上記記述箇所の部品がDOMの擬似クラスであるnth−child表現により記述されているか否かを判定し、上記記述箇所の部品が上記nth−child表現により記述されていると判定した場合、他のnth−child表現により記述されている部品を検索し、上記記述箇所とともに変更すべき箇所として表示部に表示してもよい。例えば、ある部品の記述がnth−child(even)からnth−child(odd)に変更された場合には、他の部品の記述をnth−child(odd)からnth−child(even)に変更するように、表示部に表示してもよい。このような表示により、ユーザは、修正された部品に関連するnth−child表現で記述された部品やどのように修正すべきかを容易に把握することができる。
また、上記第2の処理部は、上記記述箇所の部品がXpath形式により記述されているか否かを判定し、上記記述箇所の部品がXpath形式により記述されていると判定した場合、当該部品の記述を、あらかじめ定められた上記Xpath形式に対応する他の形式の記述に修正した変更案を表示部に表示してもよい。例えば、Xpath形式で記述されている部品をid形式やnth−of−type形式等の他の形式に書き換える。どのような形式に書き換えるのかについては、ユーザにとって利便性が高いと考える形式をあらかじめ登録しておけばよい。
また、上記第2の処理部は、複数の修正前の画面コンテンツまたは修正後の画面コンテンツの中から、上記記述箇所の部品と同じ部品が記述された修正前の画面コンテンツまたは修正後の画面コンテンツを特定し、特定した修正前の画面コンテンツまたは修正後の画面コンテンツの上記同じ部品の記述箇所を表示部に表示してもよい。例えば、修正前の画面コンテンツに含まれる部品をキーにして、その部品と同じ部品が用いられている他の修正前の画面コンテンツを検索し、その画面コンテンツとその記述箇所とを画面に表示する。このような表示を行うことにより、ユーザは、同様に修正が必要となる画面コンテンツやその位置を容易に把握することができる。
また、上記第2の処理部は、部品の変更により生じた上記差分箇所を示す部品の位置または部品の記述箇所と、部品の追加により生じた上記差分箇所を示す部品の位置または部品の記述箇所と、部品の削除により生じた上記差分箇所を示す部品の位置または部品の記述箇所とを、例えば、図9に示したように、第1の表示〜第5の表示のように互いに異なる線種で表示する。したがって、ユーザは、部品の修正が、変更によるものであるか、追加によるものであるか、削除によるものであるかを一目で把握することができる。
例えば、上記第2の処理部は、上記差分箇所が修正前の部品リストまたは修正後の部品リストに含まれる部品であるか否かを判定し、上記差分箇所が修正前の部品リストまたは修正後の部品リストに含まれる部品であると判定した場合、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されているか否かを判定し、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されていると判定した場合には、修正前の画面コンテンツまたは修正後の画面コンテンツと、修正前のテストシナリオまたは修正後のテストシナリオに、当該部品の箇所を表示する第1の表示を実行し、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されていないと判定した場合には、修正前の画面コンテンツまたは修正後の画面コンテンツに当該部品の箇所を表示する第2の表示を実行する。
また、上記第2の処理部は、上記差分箇所が修正前の部品リストまたは修正前の部品リストに含まれる部品でないと判定した場合、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されているか否かを判定し、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されていると判定した場合には、修正前の画面コンテンツまたは修正後の画面コンテンツと、修正前のテストシナリオまたは修正後のテストシナリオに、当該部品の箇所を表示する第3の表示を実行し、当該部品が修正前のテストシナリオまたは修正後のテストシナリオに使用されていないと判定した場合には、修正前の画面コンテンツまたは修正後の画面コンテンツに当該部品の箇所を表示する第4の表示を実行する。
また、上記第2の処理部は、修正前の部品リストと修正後の部品リストとのいずれかに存在しない部品があるか否かを判定し、いずれかに存在しない部品があると判定した場合、当該部品が存在した箇所を修正前の画面コンテンツまたは修正後の画面コンテンツに表示する第5の表示を実行する。
したがって、これらの表示処理が実行されることにより、画面コンテンツだけでなくテストシナリオでも修正が必要となる部品であるか否かを容易に把握することができる。
なお、本システムで実行される各処理は、実際には、装置にインストールされたプログラムを実行することにより実現される。上記プログラムは、ROM等に予め組み込まれて提供されたり、インストール可能な形式又は実行可能な形式のファイルで記録媒体に記録して提供したり、配布してもよい。
1000 コンピュータ
110 CPU
120 主記憶装置(メモリ)
1201 ブラウザ表示部
1202 テストシナリオ生成部
1204 テストスクリプト実行部
1205 比較判定部
130 入出力装置
140 通信インタフェース
150 補助記憶装置
1501 画面コンテンツ
1503 テストシナリオ
1504 部品リスト
1505 修正画面コンテンツ
1508 修正部品リスト。

Claims (7)

  1. ソフトウェアのシナリオテストを実行するテストシナリオ実行システムであって、
    第1のテストシナリオから得られる第1の画面コンテンツと、前記第1の画面コンテンツを修正したときに得られる第2のテストシナリオから得られる第2の画面コンテンツとの差分箇所を特定する第1の処理部と、
    特定された前記差分箇所と、前記第1のテストシナリオまたは前記第2のテストシナリオと、前記第1の画面コンテンツまたは前記第2の画面コンテンツとに基づいて、前記第1の画面コンテンツまたは前記第2の画面コンテンツにより表示される画面上の変更箇所を表示部に表示する第2の処理部と、
    を備えることを特徴とするシナリオテスト実行システム。
  2. 前記第2の処理部は、前記第1のテストシナリオまたは前記第2のテストシナリオにおける記述箇所の部品がDOM(Document Object Model)の擬似クラスであるnth−child表現により記述されているか否かを判定し、前記記述箇所の部品が前記nth−child表現により記述されていると判定した場合、他のnth−child表現により記述されている部品を検索し、前記記述箇所とともに変更すべき箇所として表示部に表示する、
    ことを特徴とする請求項1に記載のシナリオテスト実行システム。
  3. 前記第2の処理部は、前記第1のテストシナリオまたは前記第2のテストシナリオにおける記述箇所の部品がXpath形式により記述されているか否かを判定し、前記記述箇所の部品がXpath形式により記述されていると判定した場合、当該部品の記述を、あらかじめ定められた前記Xpath形式に対応する他の形式の記述に修正した変更案を表示部に表示する、
    ことを特徴とする請求項1または2に記載のシナリオテスト実行システム。
  4. 前記第2の処理部は、複数の前記第1の画面コンテンツまたは前記第2の画面コンテンツの中から、前記第1のテストシナリオまたは前記第2のテストシナリオにおける記述箇所の部品と同じ部品が記述された前記第1の画面コンテンツまたは前記第2の画面コンテンツを特定し、特定した前記第1の画面コンテンツまたは前記第2の画面コンテンツの前記同じ部品の記述箇所を表示部に表示する、
    ことを特徴とする請求項1〜3のいずれか1項に記載のシナリオテスト実行システム。
  5. 前記第2の処理部は、前記第1の画面コンテンツに含まれる部品と当該部品の位置とを対応付けた第1の部品リストまたは前記第2の画面コンテンツに含まれる部品と当該部品の位置とを対応付けた第2の部品リストとに基づいて、前記第1の画面コンテンツまたは前記第2の画面コンテンツにおける前記部品の位置と、前記第1のテストシナリオまたは前記第2のテストシナリオにおける前記部品の記述箇所と、を前記表示部に表示する、
    ことを特徴とする請求項1〜4のいずれか1項に記載のシナリオテスト実行システム。
  6. 前記第2の処理部は、前記部品の変更により生じた前記差分箇所を示す前記部品の位置または前記部品の記述箇所と、前記部品の追加により生じた前記差分箇所を示す前記部品の位置または前記部品の記述箇所と、前記部品の削除により生じた前記差分箇所を示す前記部品の位置または前記部品の記述箇所とを、互いに異なる表示とする、
    ことを特徴とする請求項5に記載のシナリオテスト実行システム。
  7. コンピュータがソフトウェアのシナリオテストを実行するテストシナリオ実行方法であって、
    前記コンピュータのプロセッサが、
    第1のテストシナリオから得られる第1の画面コンテンツと、前記第1の画面コンテンツを修正したときに得られる第2のテストシナリオから得られる第2の画面コンテンツとの差分箇所を特定し、
    特定された前記差分箇所と、前記第1のテストシナリオまたは前記第2のテストシナリオと、前記第1の画面コンテンツまたは前記第2の画面コンテンツとに基づいて、前記第1の画面コンテンツまたは前記第2の画面コンテンツにより表示される画面上の変更箇所を表示部に表示する、
    とを特徴とするシナリオテスト実行方法。
JP2017119708A 2017-06-19 2017-06-19 テストシナリオ実行システムおよびテストシナリオ実行方法 Active JP6941980B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017119708A JP6941980B2 (ja) 2017-06-19 2017-06-19 テストシナリオ実行システムおよびテストシナリオ実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017119708A JP6941980B2 (ja) 2017-06-19 2017-06-19 テストシナリオ実行システムおよびテストシナリオ実行方法

Publications (2)

Publication Number Publication Date
JP2019003549A JP2019003549A (ja) 2019-01-10
JP6941980B2 true JP6941980B2 (ja) 2021-09-29

Family

ID=65005976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017119708A Active JP6941980B2 (ja) 2017-06-19 2017-06-19 テストシナリオ実行システムおよびテストシナリオ実行方法

Country Status (1)

Country Link
JP (1) JP6941980B2 (ja)

Also Published As

Publication number Publication date
JP2019003549A (ja) 2019-01-10

Similar Documents

Publication Publication Date Title
Kouzis-Loukas Learning scrapy
US10324828B2 (en) Generating annotated screenshots based on automated tests
TWI386817B (zh) 提供電腦軟體應用程式之使用者介面的系統及其方法
CN104102643B (zh) 一种进行页面快照的方法和装置
US9747117B2 (en) System and methods for loading an application and its modules in a client device
US12010165B2 (en) Cross-platform module for loading across a plurality of device types
AU2018241159B2 (en) Contextual solicitation in a starter application
US20070192871A1 (en) Document management method and apparatus thereof
JP2011086142A (ja) 画像形成装置及びプログラム操作方法
US20180089154A1 (en) Computer implemented system and method for transforming web content for display on multiple form factors
JP4795446B2 (ja) 動作検証装置および動作検証プログラム
JP6668953B2 (ja) データ処理装置及びプログラム
US11836510B2 (en) Snapshot capture of computing device user interfaces
JP6941980B2 (ja) テストシナリオ実行システムおよびテストシナリオ実行方法
JP5471277B2 (ja) 画像形成装置及びプログラム操作方法
CN102402598A (zh) 应用文件***访问
JP6231260B2 (ja) 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法
JP5281029B2 (ja) 確認システム及び方法
JP4903279B2 (ja) 動作検証装置、動作検証方法、および動作検証プログラム
JP2014071789A (ja) 情報処理装置およびプログラム
JP2009181240A (ja) ワークフロー処理装置
JP4903278B2 (ja) 動作検証装置、動作検証方法および動作検証プログラム
JP2007304778A (ja) プログラムのテスト方法、プログラム、テスト装置、及びアプリケーション開発システム
JP6866169B2 (ja) データベースシステム及びデータベース操作用プログラム
US20160308746A1 (en) Data registration system, data registration method, program and non-transitory recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210907

R150 Certificate of patent or registration of utility model

Ref document number: 6941980

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150