JP2008242738A - テスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法 - Google Patents

テスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法 Download PDF

Info

Publication number
JP2008242738A
JP2008242738A JP2007081615A JP2007081615A JP2008242738A JP 2008242738 A JP2008242738 A JP 2008242738A JP 2007081615 A JP2007081615 A JP 2007081615A JP 2007081615 A JP2007081615 A JP 2007081615A JP 2008242738 A JP2008242738 A JP 2008242738A
Authority
JP
Japan
Prior art keywords
screen
web
response
expected value
test
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.)
Granted
Application number
JP2007081615A
Other languages
English (en)
Other versions
JP4899971B2 (ja
Inventor
Toshihiro Odaka
敏裕 小高
Rieko Yamamoto
里枝子 山本
Tadahiro Uehara
忠弘 上原
Asako Katayama
朝子 片山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007081615A priority Critical patent/JP4899971B2/ja
Priority to US12/048,828 priority patent/US8095913B2/en
Publication of JP2008242738A publication Critical patent/JP2008242738A/ja
Application granted granted Critical
Publication of JP4899971B2 publication Critical patent/JP4899971B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】容易かつ詳細なテスト仕様書を自動作成することにより、作成者の作成負担軽減を図ること。
【解決手段】Web画面JSP1の期待値情報書き込み後のテスト仕様書データ110において、領域1400内のセルに期待値情報が書き込まれていることがわかる。つぎに、Web画面JSP1の操作手順記述『入力欄に「粂」を入力して、検索ボタンを押す』どおりに入力情報を与えてHTTPリクエストをWebサーバに送信すると、そのメタ情報付きレスポンスHTMLを受信する。このメタ情報付きレスポンスHTMLは、Webブラウザにより、Web画面JSP2として表示される。このメタ情報付きレスポンスHTMLを解析することでWeb画面JSP2に関する期待値情報を抽出する。これにより、領域1500内のセルに期待値情報が書き込まれている。
【選択図】図15

Description

この発明は、開発されたWebアプリケーションテストに使用されるテスト仕様書データを作成するテスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法に関する。
近年のWebアプリケーション開発においては、JSPファイルなどのテンプレートフィルを用いたデザイン機能とビジネスロジック機能とを分離する手法が一般的である。ビジネスロジックとは、ビジネス取引などの動作処理を実行するWebアプリケーションの論理記述であり、たとえば、『お客様が買い物カゴに品物をいれた時に、在庫確認を行い結果を通知する。』、『送信ボタンを押すと、カード会社に接続し認証をとる。』といった、各々の業務の流れ方を取り決めた論理記述である。ビジネスロジック内で処理された出力項目がJSPファイル内のカスタムタグで指定された位置に表示される構造をとる。
このようなWebアプリケーションのテストでは、Webブラウザに対する操作を繰返し行うことにより、Webアプリケーションが正しく動作するかを確認する手法が一般的に採られている。そして、そのテストに用いられる従来のテスト仕様書は、以下のテストデータ(1)〜(5)で構成されることが一般的である。
(1)画面操作および画面遷移
(2)画面にテスト実行者が入力する入力値(画面入力テストデータ)
(3)画面に出力される情報の出力期待値(画面出力テストデータ)
(4)データベースの初期状態
(5)データベースの終了状態の期待値
上記テストデータ(2)〜(5)は省略されることもあるが、テストにおけるあいまい性を排除するために、できるだけ詳細に書くことが品質の維持には望ましいとされる。画面系のテストデータ(2)および(3)の作成に際しては、画面に対する入力項目や出力項目ごとに、入力する値、出力されるべき期待値を定義していく。
たとえば、入力される氏名に基づいて住所や電話番号を出力するWebアプリケーションでは、入力情報(テストデータ(2))として氏名、出力期待値(テストデータ(3))として住所および電話番号という項目を抽出し、その項目ごとに入力値、出力期待値を定義していく。
同姓同名の人がいる場合には、出力期待値として複数のレコードを管理する。この入力値および出力期待値は、機能設計書などの設計情報から項目名や複数レコードに対応するための繰り返しの有無等の情報として抽出することは可能であるが、具体的な値についてはテスト仕様書の作成者が手作業により記入するしか方法がない。
そこで、テスト用プログラムを利用することにより、開発したWebアプリケーションを実行してその際の入出力を記録することでテスト仕様書を自動的に作成する方法が提案されている(たとえば、下記非特許文献1、非特許文献2、および下記特許文献1を参照。)。
この方法では、各ツールで指定された規約に則り、HTTPのリクエストを作成し、Webアプリケーションが配備されたWebサーバ101にこのリクエストを送信する。Webアプリケーション内で処理された結果としてHTTPレスポンスがWebサーバより返却され、このHTTPレスポンスをテスト用プログラム内で解析することにより、合否判定をおこなう。
このテスト用プログラムを利用してテスト仕様書を自動的に作成する方法は、一度テスト用プログラムを記述してしまえば、何度でも同じテストを自動的に実行することができるメリットがある。また、一度実行されたテストを再実行するリグレッションテストでは、最初に実行したテストの際に受信したHTTPレスポンスをログなどの形式で記録しておき、再実行時に記録しておいたログとの突合せをおこなうことで、再実行時のテストを自動化する方法も考えられる。
特に、テストデータ(1)〜(5)のうちテストデータ(2)については、既存の操作ログ取得ツールを利用して、テスト対象のWebアプリケーションを実際に動作させながら記録を取ることでテスト仕様書への反映が可能である。
このような操作ログ取得ツールを用いると、データベースの初期・終了状態(テストデータ(4),(5))も、ある時点のデータベースのスナップショットを記録することでテスト仕様書への反映は可能である。
Jakarta Cactus、[online]、[平成18年10月10日検索]、インターネット<URL:http://jakarta.apache.org/cactus> HttpUnit、[online]、[平成18年10月10日検索]、インターネット<URL:http://httpunit.sourceforge.net/> 特開2005‐266954号公報
しかしながら、上述したように手作業でテスト仕様書を作成する方法では、設計情報を基に入力に対する期待値をみずから組み立てなければならず、テスト仕様書の作成者の負担が増大してしまうという問題があった。特に、テスト仕様書の品質を維持するためには、上述したテストデータ(1)〜(5)をすべて網羅するように記述しなければならず、工数が膨大になり、テスト仕様書の作成者の負担が増大してしまう要因となっている。
また、設計情報の項目名とJSPファイル上の項目名(タグクラス名や属性名)は一致しないことが多く、項目名とJSPファイルの項目名とをマッピングさせるのに時間を要することとなり、テスト仕様書の作成者の負担が増大してしまうという問題があった。
また、上述したテスト用プログラムを利用してテスト仕様書を自動的に作成する方法では、操作ログ取得ツールを用いても、画面に出力される期待値について、出力されるHTMLデータ全体を比較するため、「氏名」、「住所」などの細かい項目単位で期待値を出力することは困難であるという問題があった。
特に、HTMLデータでは、結果的に出力される項目がHTMLデータ上のどの部分に出現するのかがわからないため、項目名と期待値の突合せ判定が難しい要因となっている。
また、Webアプリケーションのビジネスロジック機能が同一であっても、デザイン機能を変更した場合、判定結果がNGとなり、誤判定してしまうという問題があった。すなわち、デザインが異なってもビジネスロジック機能が正しければ判定結果をOKとしなければならない。たとえば、氏名を入力すると電話番号とメールアドレスを提示するWebアプリケーションにおいて、当該Webアプリケーション自体にバグがない場合であっても、電話番号とメールアドレスの表示順が変更されていたり、各出力項目のタグ名が変更されていたりした場合には、NGと判定されてしまう。
また、日付や伝票番号など、Webアプリケーションを実行するたびに変化する項目が存在すると、Webアプリケーションに不具合がなくても判定結果がNGとなり、誤判定してしまうという問題があった。また、作成された期待値はHTMLデータに埋め込まれているため、後から編集することは困難であり、テスト仕様書の作成者の負担が増大してしまうという問題があった。
この発明は、上述した従来技術による問題点を解消するため、容易かつ詳細なテスト仕様書を自動作成することにより、作成者の作成負担軽減を図ることができるテスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法を提供することを目的とする。また、作成されたテスト仕様書のテストケースを編集可能とすることにより、テストケースのバリエーションの増加によるテストケースの網羅性向上および作成者の作成負担軽減を図ることができるテスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかるテスト仕様書作成プログラム、該プログラムを記録した記録媒体、テスト仕様書作成装置、およびテスト仕様書作成方法は、WebサーバにインストールされるWebアプリケーションのテストケースに含まれている一連の画面遷移仕様が記述された未完成のテスト仕様書データを受け付け、前記一連の画面遷移仕様の中から選ばれた画面遷移仕様のWeb画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含むレスポンスを取得し、取得されたレスポンスに含まれている出力項目に基づいて、前記レスポンスの中から前記画面遷移仕様に対する期待値を抽出し、抽出された期待値を前記画面遷移仕様に関連付けて、前記受付手段によって受け付けられたテスト仕様書データへ書き込むことを特徴とする。
この発明によれば、テスト仕様書データに期待値を自動的に設定することができる。
また、上記発明において、前記出力項目と当該出力項目に関するメタ情報とを含むレスポンスを取得し、取得されたレスポンスに含まれている出力項目に基づいて、前記レスポンスの中から前記画面遷移仕様に対する期待値と前記メタ情報とを抽出し、抽出された期待値とメタ情報とを前記画面遷移仕様に関連付けて書き込むこととしてもよい。
この発明によれば、テスト仕様書データに期待値とともにそのメタ情報を自動的に設定することができる。
また、上記発明において、前記メタ情報は、前記期待値を挟むタグに埋め込まれていることとしてもよい。
この発明によれば、期待値のメタ情報を容易に特定することができる。
また、上記発明において、前記画面遷移仕様に操作手順記述が含まれている場合、当該操作手順記述にしたがって操作することで前記Web画面の遷移先Web画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含む前記遷移先Web画面に関するレスポンスを取得し、取得された前記遷移先Web画面に関するレスポンスに含まれている出力項目に基づいて、前記遷移先Web画面に関するレスポンスの中から前記遷移先Web画面に関する画面遷移仕様に対する期待値を抽出し、抽出された前記遷移先Web画面に関する画面遷移仕様に対する期待値を前記遷移先Web画面の画面遷移仕様に関連付けて書き込むこととしてもよい。
この発明によれば、操作手順記述に応じたレスポンスの期待値を得ることができる。
また、上記発明において、前記Web画面の遷移先Web画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含む前記遷移先Web画面に関するレスポンスを取得し、取得された前記遷移先Web画面に関するレスポンスに含まれている出力項目に基づいて、前記遷移先Web画面に関するレスポンスの中から前記遷移先Web画面に関する画面遷移仕様に対する期待値を抽出し、抽出された前記遷移先Web画面に関する画面遷移仕様に対する期待値を前記遷移先Web画面の画面遷移仕様に関連付けて書き込むこととしてもよい。
この発明によれば、操作手順記述どおりの入力作業を省略することができる。
また、上記発明において、前記一連の画面遷移仕様に類似する他の一連の画面遷移仕様の前記テスト仕様書データへの追加入力を受け付け、追加入力された他の一連の画面遷移仕様の中から選ばれた画面遷移仕様(以下、「追加画面遷移仕様」という)のWeb画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含む前記追加画面遷移仕様のWeb画面に関するレスポンスを取得し、取得された前記追加画面遷移仕様のWeb画面に関するレスポンスに含まれている出力項目に基づいて、当該レスポンスの中から前記追加画面遷移仕様に対する期待値を抽出し、抽出された前記追加画面遷移仕様に対する期待値を前記追加画面遷移仕様に関連付けて書き込むこととしてもよい。
この発明によれば、テスト仕様書データの編集自由度の向上を図ることができる。
本発明にかかるテスト仕様書作成プログラム、該プログラムを記録した記録媒体、テスト仕様書作成装置、およびテスト仕様書作成方法によれば、容易かつ詳細なテスト仕様書を自動作成することにより、作成者の作成負担軽減を図ることができるという効果を奏する。また、作成されたテスト仕様書のテストケースを編集可能とすることにより、テストケースのバリエーションの増加によるテストケースの網羅性向上および作成者の作成負担軽減を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるテスト仕様書作成プログラム、該プログラムを記録した記録媒体、テスト仕様書作成装置、およびテスト仕様書作成方法の好適な実施の形態を詳細に説明する。
(テスト仕様書作成システムの概略構成)
まず、この発明の実施の形態にかかるテスト仕様書作成システムの概略構成について説明する。図1は、この発明の実施の形態にかかるテスト仕様書作成システムの概略構成を示す説明図である。テスト仕様書作成システム100は、Webサーバ101とクライアント102とがインターネットなどのネットワーク103により相互に交信可能に接続されている。なお、Webサーバ101とクライアント102とは、一台のマシンとして構成することとしてもよい。
Webサーバ101は、検査対象となるWebアプリケーションがインストールされているコンピュータ装置である。Webサーバ101は、Webアプリケーションを実行することにより、クライアント102に対し当該Webアプリケーションに応じたサービスを提供することができる。
クライアント102は、テスト仕様書作成者が利用するコンピュータ装置であり、本実施の形態におけるテスト仕様書作成装置に相当する。クライアント102は、テスト仕様書データ110を作成する。この作成にあたり、クライアント102は、Webサーバ101にアクセスすることで、任意の画面遷移仕様のWeb画面を要求するリクエストをWebサーバ101に送信するとともに、そのレスポンスをWebサーバ101から受信する。そして、そのレスポンスを解析してディスプレイに表示することができる。
(コンピュータ装置のハードウェア構成)
つぎに、図1に示したコンピュータ装置のハードウェア構成について説明する。図2は、図1に示したコンピュータ装置のハードウェア構成を示すブロック図である。図2において、コンピュータ装置は、CPU201と、ROM202と、RAM203と、HDD(ハードディスクドライブ)204と、HD(ハードディスク)205と、FDD(フレキシブルディスクドライブ)206と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)207と、ディスプレイ208と、I/F(インターフェース)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
ここで、CPU201は、コンピュータ装置の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。HDD204は、CPU201の制御にしたがってHD205に対するデータのリード/ライトを制御する。HD205は、HDD204の制御で書き込まれたデータを記憶する。
FDD206は、CPU201の制御にしたがってFD207に対するデータのリード/ライトを制御する。FD207は、FDD206の制御で書き込まれたデータを記憶したり、FD207に記憶されたデータをコンピュータ装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD207のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F209は、通信回線を通じてインターネットなどのネットワーク103に接続され、このネットワーク103を介して他の装置に接続される。そして、I/F209は、ネットワーク103と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、コンピュータ装置内に画像データを取り込む。なお、スキャナ212は、OCR機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(テスト仕様書データ)
つぎに、図1に示したテスト仕様書データについて説明する。図3は、作成開始前のテスト仕様書データを示す説明図である。テスト仕様書データ110は、Webサーバ101にインストールされるWebアプリケーションのテストケースに含まれている一連の画面遷移仕様が記述された電子データであり、具体的には、たとえば、表形式のスプレッドシートなどのマクロファイルにより作成される。
このテスト仕様書データ110には、検査対象となるWebアプリケーションに対し、検査したいテストケースTCi(i=1,2,・・・,n)ごとに、一連の画面遷移仕様と期待値情報とが記述される。図3では、例として2つ(n=2)のテストケースTC1,TC2が示されている。画面遷移仕様は、手作業で記入しても良いし、その一部または全部を画面遷移図などの設計書情報から機械的に抽出することとしてもよい。
画面遷移仕様は、画面名と操作手順記述とにより特定される。画面名とは、クライアントに表示されるWeb画面の画面ファイルを特定する名称であり、たとえば、米国サンマイクロシステムズが規定するJSPおよびJava(登録商標)言語仕様に則る場合、JSPファイル名(例として、JSP1,JSP2など)のように記述される。
図4は、Web画面JSP1の画面例を示す説明図である。図5は、Web画面JSP2の画面例を示す説明図である。図4および図5は、Webアプリケーションが電話帳検索に関するソフトウェアである場合の画面例である。
また、図3において、操作手順記述は、対応付けられているWeb画面、すなわち、左隣のセルの画面名により特定されるWeb画面が表示されている場合のユーザの操作手順をあらわしている。この操作手順記述どおりにWeb画面に入力情報を与えると、左斜め下のセルの画面名のWeb画面が表示されることとなる。
たとえば、テストケースTC1において図4に示したWeb画面JSP1が表示されている場合、入力欄401に「粂」という漢字を入力し、検索ボタン402をクリックすると、図5に示したWeb画面JSP2に遷移する。遷移先となるWeb画面JSP2は、検索結果を示している。
なお、操作手順記述に「終了」が記述されている場合、それ以降の画面遷移はなくそのテストケースTCが終了することを意味している。たとえば、テストケースTC1では、Web画面JSP3が表示されると、テストケースTC1のテストが終了し、テストケースTC2では、Web画面JSP4が表示されると、テストケースTC2のテストが終了する。
一方、期待値情報は、作成中に、WebアプリケーションがインストールされているWebサーバからのレスポンスに基づいて記述される。あるテストケースTCiについて、期待値情報における空欄のセルがすべて記述されると、そのテストケースTCiに関するテスト仕様書データ110は完成する。
期待値情報中、メタ情報とは、タグクラスとその属性からなる情報である。タグクラスとは、Webアプリケーションのタグが属するクラスである。属性とは、タグクラスの詳細情報であり、タグクラスに属するタグの属性名(name)と属性値(property)とを含む。また、呼び出し回数とは、メタ情報の出現回数である。また、期待値とは、タグクラス、属性名、および属性値からなるメタ情報により特定されるタグを実行した場合に出力値として期待される値である。
(各コンピュータ装置の機能的構成)
つぎに、図1に示した各コンピュータ装置の機能的構成について説明する。図6は、図1に示した各コンピュータ装置の機能的構成を示すブロック図である。まず、Webサーバ101の機能的構成について説明する。
図6において、Webサーバ101は、通信部611と、実行部612と、特定部613と、生成部614と、を備えている。なお、これらの機能的構成は、図2に示したROM202,RAM203,HD205などの記録媒体に記録されているプログラムを、CPU201に実行させることによって、またはI/F209によって、その機能を実現する。
通信部611は、クライアント102からのリクエストを受信する機能を有する。具体的には、Webアプリケーションの所在を特定するURLやディレクトリ、Web画面の入力欄に入力データなどの入力値を含むリクエストを受信する。そして、そのリクエストを送信したクライアント102に対し、後述する生成部614により生成されたレスポンスを送信する。
また、実行部612は、通信部611によって受信されたリクエストを与えてWebアプリケーションを実行する機能を有する。Webアプリケーションの計算結果を出力項目という。出力項目は、Webアプリケーションが実行されると、その出力位置が自動的に決定されるようにプログラムされている。ここで、出力位置とは、リクエストに対するレスポンスを解釈して画面表示する場合の表示位置である。
また、特定部613は、実行部612によるWebアプリケーションの実行内容に関するメタ情報を特定する機能を有する。具体的には、たとえば、ある処理が実行されたときのその処理に関するタグクラスおよびタグクラス属性を示す記述を、Webアプリケーションの実行内容をソースコード化した情報の中から特定する。
また、生成部614は、通信部611により受信されたリクエストに対するレスポンスを生成する。具体的には、特定部613によりメタ情報が特定されると、メタ情報を出力項目に関連付けて埋め込むことにより、リクエストに対するレスポンスを生成する。より具体的には、メタ情報が出力項目とともに表示画面に表示できるように、メタ情報を出力項目の出力位置に関連付けて埋め込む。
たとえば、HTML形式によりレスポンスを生成する場合、出力項目に対してメタ情報をHTMLコメントとして記述することで、出力項目とともに表示することができる。このように、メタ情報を含むレスポンスを「メタ情報付きレスポンス」と称す。このメタ情報付きレスポンスは、通信部611によりクライアント102に送信される。
このように、Webサーバ101は、テスト仕様書データ110における期待値情報の元となる出力項目およびメタ情報が埋め込まれたメタ情報付きレスポンスを、リクエストを送信してきたクライアント102に返却することができる。
つぎに、クライアント102の機能的構成について説明する。クライアント102は、受付部621と、取得部622と、抽出部623と、書き込み部624と、を備えている。なお、これらの機能的構成は、図2に示したROM202,RAM203,HD205などの記録媒体に記録されているプログラムを、CPU201に実行させることによって、またはI/F209によって、その機能を実現する。
まず、受付部621は、Webサーバ101にインストールされるWebアプリケーションのテストケースに含まれている一連の画面遷移仕様が記述された未完成のテスト仕様書データ110を受け付ける。具体的には、たとえば、図3に示したテスト仕様書データ110を読み込む。
また、取得部622は、任意の画面遷移仕様のWeb画面を要求するリクエストをWebサーバ101に送信する。このリクエストは、具体的には、図3に示したテスト仕様書データ110の一連の画面遷移仕様の中から選ばれた画面遷移仕様のWeb画面を要求するリクエストである。そして、このリクエストをWebサーバ101に送信することにより、Webアプリケーションの実行結果として得られる出力項目を含むメタ情報付きレスポンスを受信する。
また、抽出部623は、取得部622によって取得されたメタ情報付きレスポンスに含まれている出力項目に基づいて、メタ情報付きレスポンスの中から画面遷移仕様に対する期待値を抽出する。具体的には、メタ情報付きレスポンスに含まれている出力項目を期待値として抽出する。
また、抽出部623は、期待値のほか、メタ情報付きレスポンスからメタ情報や期待値の呼び出し回数も抽出する。抽出部623により抽出される期待値、メタ情報または呼び出し回数のうち少なくとも一つを含む情報を「期待値情報」と称す。
また、書き込み部624は、抽出部623によって抽出された期待値情報を画面遷移仕様に関連付けて、受付部621によって受け付けられたテスト仕様書データ110へ書き込む。具体的には、たとえば、図3に示したテスト仕様書データ110のテストケースTC1を例に挙げると、クライアントにおいてブラウザを起動している状態において、Web画面JSP1を取得するためのリクエスト(たとえば、Web画面JSP1のURL)をWebサーバ101に送信すると、このリクエストに応じたメタ情報付きレスポンスを受信する。
このメタ情報付きレスポンスを解析することにより、図4に示したWeb画面JSP1が表示されるとともに、Web画面JSP1の右側の期待値情報の空欄セルに、メタ情報付きレスポンスから抽出された期待値情報が書き込まれる。
このあと、Web画面JSP1が表示されている状態において、その操作手順記述どおりに入力情報を与えてリクエストをWebサーバ101に送信すると、このリクエストに応じたメタ情報付きレスポンスを受信する。
このメタ情報付きレスポンスを解析することにより、Web画面JSP2が表示されるとともに、Web画面JSP2の右側の期待値情報の空欄セルに、メタ情報付きレスポンスから抽出された期待値情報が書き込まれる。Web画面JSP3についても同様の処理をおこなうことにより、テストケースTC1の期待値情報がすべて記述されることとなる。したがって、クライアント102によれば、テスト仕様書データ110を自動作成することができる。
また、受付部621は、テスト仕様書データ110の作成中または作成後において、あらたなテストケースTCの画面遷移仕様の記述を受け付ける。具体的には、作成中または作成後のテスト仕様書データ110を表示させておき、テスト仕様書作成者がすでに記述されている画面遷移仕様を参考にして、その画面遷移仕様をコピーすることで、あらたなテストケースTCを作成する。
これにより、テスト仕様書作成者は、すでに期待値情報が書き込まれたテストケースに類似するテストケースの画面遷移仕様を容易に作成することができる。この場合、あらたなテストケースTCについては、まだ期待値情報が書き込まれていないため、上記と同様の手法により、期待値情報を書き込むことができる。これにより、類似するテストパターンの網羅性を高めることができる。
(各コンピュータ装置の詳細な内部構成)
つぎに、各コンピュータ装置の詳細な内部構成について説明する。図7は、各コンピュータ装置の詳細な内部構成を示すブロック図である。まず、Webサーバ101の詳細な内部構成について説明する。
Webサーバ101は、APサーバ711とプリプロセッサ712とコンパイラ713とWebアプリケーション714とメタ情報挿入エンジン717とを有する。APサーバ711は、Webアプリケーション714の実行環境となるプログラムであり、プリプロセッサ712とコンパイラ713を有している。なお、このAPサーバ711は、図6に示した通信部611および生成部614に相当する構成である。
ここで、米国サンマイクロシステムズが規定するJSPおよびJava言語仕様に則る場合、プリプロセッサ712としてJSP展開エンジンを適用することができ、コンパイラ713としてJAVAコンパイラを適用することができる。
また、APサーバ711には、検査対象となるWebアプリケーション714が実装され、ビジネスロジック715とテンプレートファイル716から構成される。ビジネスロジック715とは、ビジネス取引などの動作処理を実行するWebアプリケーション714の論理記述であり、たとえば、『お客様が買い物カゴに品物をいれた時に、在庫確認をするように決めている。』、『送信ボタンを押すと、カード会社に認証をとるようにしている。』といった、各々の業務の流れ方を取り決めた論理記述である。
また、テンプレートファイル716とは、画面デザインと出力項目の表示位置を定義するファイルである。JAVAを用いる場合、テンプレートファイル716としてJSPファイルを適用することができる。
このように、近年のWebアプリケーション開発においては、デザイン機能とビジネスロジック機能を分離する手法が一般化しつつある。このため、ビジネスロジック715内で処理された出力項目がJSPファイル内のカスタムタグで指定された位置に表示されるような構造となる。
また、メタ情報挿入エンジン717は、Javaソース断片から、タグクラス、name属性の属性値、およびproperty属性の属性値からなるメタ情報を特定する。そして、出力項目のコメント文として挿入する。なお、このメタ情報挿入エンジン717、Webアプリケーション714、ビジネスロジック715、およびテンプレートファイル716(JSPファイル)は、図6に示した実行部612および特定部613に相当する構成である。
つぎに、クライアント102の詳細な内部構成について説明する。クライアント102は、Webブラウザ721と実行ナビゲータ722とを有する。
Webブラウザ721は、Webサーバ101のWebアプリケーション714に対してHTTPリクエストを生成して送信したり、Webサーバ101からのHTML形式のメタ情報付きレスポンス(以下、「メタ情報付きレスポンスHTML」と称す。)を受信する通信機能と、受信されたメタ情報付きレスポンスHTMLを解析する解析機能と、その解析結果をディスプレイに描画する描画機能とを有するプログラムである。このWebブラウザ721は、図6に示した取得部622に相当する構成である。
また、実行ナビゲータ722は、つぎに実行すべき操作手順記述を取得して、Webブラウザ721に渡したり、メタ情報付きレスポンスHTMLから期待値情報を抽出してテスト仕様書データ110に書き込むためにインストールされたプログラムである。なお、この実行ナビゲータ722は、図6に示した受付部621、取得部622、抽出部623、および書き込み部624に相当する構成である。
(Webサーバ101によるWebアプリケーション実行処理手順)
つぎに、Webサーバ101によるWebアプリケーション実行処理手順について説明する。図8は、Webサーバ101によるWebアプリケーション実行処理手順を示すフローチャートである。
図8において、まず、クライアント102からHTTPリクエストが受信されるまで待ち受け(ステップS801:No)、HTTPリクエストが受信されると(ステップS801:Yes)、リクエスト解析処理(ステップS802)、出力項目展開処理(ステップS803)、アスペクト注入処理(ステップS804)、およびレスポンス生成処理(ステップS805)を実行して、メタ情報付きレスポンスHTMLをクライアント102に送信する(ステップS806)。これにより、一連の処理を終了する。
ここで、リクエスト解析処理(ステップS802)、出力項目展開処理(ステップS803)、アスペクト注入処理(ステップS804)、およびレスポンス生成処理(ステップS805)について、図9を用いて具体的に説明する。
図9および図10は、Webサーバ101によるWebアプリケーション実行処理内容を示す説明図である。まず、リクエスト解析処理(ステップS802)では、APサーバ711が、受信されたHTTPリクエストの内容(リクエスト行やメッセージ・ヘッダ、エンティティ・ボディ)を分析して、検査対象となるビジネスロジック715を呼び出す。ビジネスロジック715は、図9(A)に示したように、HTTPリクエストの内容を分析して画面への出力項目を計算する。
つぎに、Webサーバ101は、出力項目展開処理を実行する(ステップS803)。具体的には、JSP展開エンジンが、図9(A)に示したように、JSPファイル716内の出力項目910の表示位置を決定する。そして、図9(B)に示したように、そのJSPファイル716を出力項目910の出力位置が指定されたソースコード902に変換する。ソースコード902に変換することで、JSPファイル716のカスタムタグ901は、Javaソース断片903に変換される。
Javaソース断片903は、カスタムタグ901に相当するクラスのdoStartTag()メソッドとdoEndTag()メソッドを呼び出すようなコードである。そして、コンパイラ713は、図9(C)に示したように、変換されたソースコード902をバイナリファイルにコンパイルすることで、画面クラスファイル904を生成する。
つぎに、Webサーバ101は、アスペクト注入処理を実行する(ステップS804)。具体的には、メタ情報挿入エンジン717が、画面クラスファイル904にメタ情報を挿入することで、図9(D)に示したように、アスペクト付きJAVAクラスファイル915を得る。
つぎに、Webサーバ101は、レスポンス生成処理を実行する(ステップS805)。具体的には、APサーバ711が、アスペクト付きJAVAクラスファイル915を実行することで、メタ情報付きレスポンスHTML920を生成する。図9(E)に示したように、メタ情報付きレスポンスHTML920には、HTMLコメント921,922が付加されている。このあと、Webサーバ101は、生成されたメタ情報付きレスポンスHTML920をクライアント102に送信する。
また、図10では、アスペクト付きJAVAクラスファイル915により動作が置き換えられることによって、どのようにメタ情報付きレスポンスHTML920が生成されるかを示している。メタ情報挿入エンジン717はAspectJなどのアスペクト指向のプログラミング言語により構成されている場合、メタ情報挿入エンジン717およびAPサーバ711は、つぎの手順(1)〜(5)でメタ情報付きレスポンスHTML920を生成する。
(1)Javaソース断片903のsetPageContext()メソッドが属するクラスのクラス名を取得する。この例では、図9(B)および図10(A)に示したJavaソース断片903の145行目に記述されている「org.apache.struts.taglib.bean.WriteTag」が、カスタムタグ901のタグクラス1001として取得される。
(2)タグクラス1001とJavaソース断片903上のsetXxx()メソッドを属性リストとして抽出する。この例では、図9(B)および図10(A)に示したJavaソース断片903の148行目に記述されている「AddForm」がname属性の属性値1002として、149行目に記述されている「result」がproperty属性の属性値1003として、抽出される。
(3)doStartTag()メソッドが呼び出される直前に、メタ情報がHTMLとしてコメント化されたHTMLコメント1010を出力する。これにより、図10(B)に示したように、「<!--testStart class="WriteTag" name="AddForm" property="result" -->」が表示される。
(4)doStartTag()メソッドおよびdoEndTag()メソッドを実行し、Webアプリケーション714を通常通り実行させる。これにより、図10(C)に示したように、実行結果の出力項目910として出力値「5」が表示される。
(5)doEndTag()が終了した直後に、HTMLコメント1020を出力する。これにより、図10(B)に示したように、「<!--testEnd -->」が表示される。
図11は、上記(1)〜(5)によるWebアプリケーション714の実行結果を示す説明図である。図11に示したように、メタ情報付きレスポンスHTML920では、出力項目910である出力値「5」の出力位置の前後に、メタ情報を示すHTMLコメント921,922が配置されて出力されることとなる。これにより、ステップS806において、メタ情報付きレスポンスHTML920がクライアント102に返却されることとなる。
(クライアント102によるテスト仕様書作成処理手順)
つぎに、クライアント102によるテスト仕様書作成処理手順について説明する。図12は、クライアント102によるテスト仕様書作成処理手順を示すフローチャートである。
図12において、まず、図3に示したテスト仕様書データ110を読み込む(ステップS1201)。そして、テストケースTCのインデックスiをi=1とし(ステップS1202)、i>nであるか否かを判断する(ステップS1203)。i>nでない場合(ステップS1203:No)、テストケースTCiの期待値情報書き込み処理を実行する(ステップS1204)。このあと、iをインクリメントして(ステップS1205)、ステップS1203に戻る。
このあと、i>nの場合(ステップS1203:Yes)、Webブラウザ721によりテスト仕様書データ110を表示する(ステップS1206)。これにより、期待値情報を目視で確認することができる。そして、テストケースの追加があったか否かを判断する(ステップS1207)。追加があった場合(ステップS1207:Yes)、i>mであるか否かを判断する(ステップS1208)。mは、追加後のテストケース総数である。
i>mでない場合(ステップS1208:No)、テストケースTCiの期待値情報書き込み処理を実行する(ステップS1209)。このあと、iをインクリメントして(ステップS1210)、ステップS1208に戻る。
このあと、i>mの場合(ステップS1208:Yes)、Webブラウザ721によりテスト仕様書データ110を表示する(ステップS1211)。これにより、追加分の期待値情報を目視で確認することができる。そして、ステップS1207に戻る。
また、ステップS1207において、テストケースの追加がない場合(ステップS1207:No)、テスト仕様書データ110について、RAM203やHD205への格納、ディスプレイへ208の表示、プリンタ213からの印刷出力、他のコンピュータ装置への送信などの出力処理を実行する(ステップS1212)。これにより、一連の処理を終了する。
(テストケースTCiの期待値情報書き込み処理手順)
つぎに、ステップS1204、S1209において示したテストケースTCiの期待値情報書き込み処理の具体的な処理手順について説明する。図13は、テストケースTCiの期待値情報書き込み処理の具体的な処理手順を示すフローチャートである。
図13において、まず、初期画面のHTTPリクエストをWebサーバ101に送信する(ステップS1301)。図3に示したテスト仕様書データ110のテストケースTC1を例に挙げると、Web画面JSP1が初期画面となるため、Web画面JSP1のHTTPリクエストをWebサーバ101に送信する。
Webサーバ101にHTTPリクエストを送信したあと、このHTTPリクエストに応じたメタ情報付きレスポンスHTML920を受信する(ステップS1302)。そして、Webブラウザ721により、メタ情報付きレスポンスHTML920を表示する(ステップS1303)。
このあと、Webブラウザ721によりメタ情報付きレスポンスHTML920を解析して、メタ情報付きレスポンスHTML920の中から期待値情報を抽出する(ステップS1304)。そして、抽出された期待値情報をテストケースTCiの空欄のセルに書き込む(ステップS1305)。このあと、テストケースTCiにおいて、現在のWeb画面から遷移する遷移先画面があるか否かを判断する(ステップS1306)。
遷移先画面がある場合(ステップS1306:Yes)、現在のWeb画面の操作手順記述どおりの入力情報が受け付けられるのを待ち受ける(ステップS1307:No)。図3に示したテスト仕様書データ110のテストケースTC1を例に挙げると、Web画面JSP1の操作手順記述『入力欄に「粂」を入力して、検索ボタンを押す』どおりに入力された入力情報が受け付けられるのを待ち受ける。
入力情報が受け付けられた場合(ステップS1307:Yes)、遷移先画面のHTTPリクエスト、すなわち、この入力情報を含んだHTTPリクエストをWebサーバ101に送信する(ステップS1308)。このあと、ステップS1302に戻る。一方、ステップS1306において、遷移先画面がない場合(ステップS1306:No)、ステップS1205(S1210)に移行する。これにより、一連のテストケースTCiの期待値情報書き込み処理手順を終了する。
(テスト仕様書データ110の作成例)
つぎに、この発明の実施の形態にかかるテスト仕様書データ110の作成例について説明する。ここでは、図3に示したテスト仕様書データ110に期待値情報を書き込む例について説明する。したがって、初期画面は、図4に示したWeb画面JSP1となり、Web画面JSP1からの遷移先画面は、図5に示したWeb画面JSP2となる。
まず、Web画面JSP1のHTTPリクエストをWebサーバ101に送信すると、そのメタ情報付きレスポンスHTML920を受信する。このメタ情報付きレスポンスHTML920は、Webブラウザ721により、Web画面JSP1として表示される。このメタ情報付きレスポンスHTML920を解析することでWeb画面JSP1に関する期待値情報を抽出する。
具体的には、実行ナビゲータ722は、メタ情報付きレスポンスHTML920の内部を走査し、「<!--testStart XXX-->」と「<!--testEnd -->」に囲まれた部分の値を検出する。なお、XXXにはメタ情報としての文字列が記入されている。そして、このタグに囲まれた部分の文字列を、Webアプリケーション714の実行結果となる出力項目と判断する。そして、この出力項目を期待値として抽出する。
また、実行ナビゲータ722は、「<!--testStart XXX-->」におけるメタ情報の記述XXXからタグクラスと属性を抽出する。そして、抽出された期待値、メタ情報(タグクラスおよび属性)をテスト仕様書データ110に書き込む。また、属性の呼び出し回数も書き込む。
図14は、Web画面JSP1の期待値情報書き込み後のテスト仕様書データ110を示す説明図である。図14において、領域1400内のセルに期待値情報が書き込まれていることがわかる。
つぎに、Web画面JSP1の操作手順記述『入力欄に「粂」を入力して、検索ボタンを押す』どおりに入力情報を与えてHTTPリクエストをWebサーバ101に送信すると、そのメタ情報付きレスポンスHTML920を受信する。このメタ情報付きレスポンスHTML920は、Webブラウザ721により、Web画面JSP2として表示される。このメタ情報付きレスポンスHTML920を解析することでWeb画面JSP2に関する期待値情報を抽出する。
実行ナビゲータ722による抽出手法は、Web画面JSP1と同様である。図15は、Web画面JSP2の期待値情報書き込み後のテスト仕様書データ110を示す説明図である。図15において、領域1500内のセルに期待値情報が書き込まれていることがわかる。
また、属性"name","kana","affiliation","external","presence","pageNum"は、「粂田太郎」,「クメタタロウ」,「BB部」,「在席」,「1234−5679」で最初に出現しているため、このときの呼び出し回数はそれぞれ「1」であるが、「粂照宣」,「クメテルノブ」,「AA部」,「1234−5678」,「出張中」で再度読み出されているため、このときの呼び出しを累積することにより、呼び出し回数は、「2」となる。
つぎに、同様に、Web画面JSP2の操作手順記述『「粂田太郎」をクリック』どおりに入力情報を与えて、すなわち、図5に示したWeb画面JSP2の「粂田太郎」をクリックすることで入力情報を与えてHTTPリクエストをWebサーバ101に送信すると、そのメタ情報付きレスポンスHTML920を受信する。このメタ情報付きレスポンスHTML920は、Webブラウザ721により、Web画面JSP3として表示される。
図16は、Web画面JSP3の一例を示す説明図である。このWeb画面JSP3は、個人情報を表示する画面である。そして、このメタ情報付きレスポンスHTML920を解析することでWeb画面JSP3に関する期待値情報を抽出する。
実行ナビゲータ722による抽出手法は、Web画面JSP1,JSP2と同様である。図17は、Web画面JSP3の期待値情報書き込み後のテスト仕様書データ110を示す説明図である。図17において、領域1700内のセルに期待値情報が書き込まれていることがわかる。これにより、テストケースTC1についての期待値情報の書き込みが完了する。
このあと、テストケースTC2についても同様の処理をおこなうことで、テストケースTC2についても期待値情報が書き込まれることとなる。図18は、テストケースTC2の期待値情報書き込み後のテスト仕様書データ110を示す説明図である。図18において、Web画面JSP1については領域1800内のセルに期待値情報が書き込まれていることがわかる。同様に、Web画面JSP4については領域1801内のセルに期待値情報が書き込まれていることがわかる。
図19は、Web画面JSP4の一例を示す説明図である。これにより、テストケースTC2についての期待値情報の書き込みが完了する。テストケース2の書き込みが完了することで、テスト仕様書データ110の作成が完了する。
このあと、あらたなテストケースを追加したい場合は、参考とするテストケースTCiの画面遷移仕様が記述されているセルをコピーすることで、あらたなテストケースを追加することができる。
図20は、あらたなテストケースTC3の画面遷移仕様を追加したテスト仕様書データ110を示す説明図である。図20においては、テストケースTC1をコピーして、一部を書き換えている。すなわち、Web画面JSP1の操作手順記述を『入力欄に「粂田」を入力して、検索ボタンを押す。』に書き換え、そのWeb画面の画面名をJSP5としている。
図21は、Web画面JSP5の一例を示す説明図である。このあと、追加されたテストケースTC3についても同様の処理をおこなうことで、テストケースTC3についても期待値情報が書き込まれることとなる。
図22は、テストケースTC3の期待値情報書き込み後のテスト仕様書データ110を示す説明図である。図22において、Web画面JSP1については領域2200内のセルに期待値情報が書き込まれていることがわかる。同様に、Web画面JSP5については領域2201内のセルに期待値情報が書き込まれていることがわかる。また、Web画面JSP3については領域2202内のセルに期待値情報が書き込まれていることがわかる。
このように、この発明の実施の形態によれば、Webアプリケーション714を実行させながら各出力項目に対応する期待値を取得することができるため、出力項目単位のテスト仕様書を容易に作成することができる。また、一度作成した期待値が誤りである場合には、編集により簡単に修正することもできる。
また、取得された期待値を不定値や日付フォーマット等に変更することで、実行ごとに変化する出力項目に対する判定基準を変更することができる。これにより、出力されるHTMLに日付などの不定値が入っていてもリグレッション時の結果が不当にNGとなることはない。また、以降のテストの検査時にエラーを検出した際も、どの項目でエラーが発生したかまでを検出できるので、テスト実施者はその後の原因究明の時間が大幅に短縮することができる。
また、上述した実施の形態において、テスト仕様書データ110の画面遷移仕様を画面名と操作手順記述との組み合わせとしたが、画面名のみとすることもできる。ユーザ操作が不要な場合には、画面遷移仕様を画面名のみとする方がよい。この場合、図13に示したフローチャートにおいて、ステップS1307の処理が省略されることとなる。
したがって、テスト仕様書データ110の作成中に、テスト実施者(テスト仕様書作成者)による操作手順記述どおりに入力情報を与えるという手間を省くことができ、テスト実施者(テスト仕様書作成者)の作成負担軽減を図ることができる。
これにより、Webアプリケーション714を実行させながら画面遷移と期待値からなるテスト仕様書データ110を表形式で作成することができる。したがって、一度実行した結果から期待値が得られるため、開発者は得られた期待値が正しいかどうかを判定するだけでよい。また、期待値が正しくない場合は編集時に期待値を正しく修正することができる。また、開発者はJSP上の項目名(画面名)のみを意識すればよいため、設計情報の項目名とのマッピングを考慮する必要がなく、開発者の負担軽減を図ることができる。
以上説明したように、本発明にかかるテスト仕様書作成プログラム、該プログラムを記録した記録媒体、テスト仕様書作成装置、およびテスト仕様書作成方法によれば、容易かつ詳細なテスト仕様書を自動作成することにより、作成者の作成負担軽減を図ることができる。また、作成されたテスト仕様書のテストケースを編集可能とすることにより、テストケースのバリエーションの増加によるテストケースの網羅性向上および作成者の作成負担軽減を図ることができる。
なお、本実施の形態で説明したテスト仕様書作成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)コンピュータを、
WebサーバにインストールされるWebアプリケーションのテストケースに含まれている一連の画面遷移仕様が記述された未完成のテスト仕様書データを受け付ける受付手段、
前記一連の画面遷移仕様の中から選ばれた画面遷移仕様のWeb画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含むレスポンスを取得する取得手段、
前記取得手段によって取得されたレスポンスに含まれている出力項目に基づいて、前記レスポンスの中から前記画面遷移仕様に対する期待値を抽出する抽出手段、
前記抽出手段によって抽出された期待値を前記画面遷移仕様に関連付けて、前記受付手段によって受け付けられたテスト仕様書データへ書き込む書き込み手段、
として機能させることを特徴とするテスト仕様書作成プログラム。
(付記2)前記取得手段は、
前記出力項目と当該出力項目に関するメタ情報とを含むレスポンスを取得し、
前記抽出手段は、
前記取得手段によって取得されたレスポンスに含まれている出力項目に基づいて、前記レスポンスの中から前記画面遷移仕様に対する期待値と前記メタ情報とを抽出し、
前記書き込み手段は、
前記抽出手段によって抽出された期待値とメタ情報とを前記画面遷移仕様に関連付けて書き込むことを特徴とする付記1に記載のテスト仕様書作成プログラム。
(付記3)前記メタ情報は、
前記期待値を挟むタグに埋め込まれていることを特徴とする付記2に記載のテスト仕様書作成プログラム。
(付記4)前記取得手段は、
前記画面遷移仕様に操作手順記述が含まれている場合、当該操作手順記述にしたがって操作することで前記Web画面の遷移先Web画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含む前記遷移先Web画面に関するレスポンスを取得し、
前記抽出手段は、
前記取得手段によって取得された前記遷移先Web画面に関するレスポンスに含まれている出力項目に基づいて、前記遷移先Web画面に関するレスポンスの中から前記遷移先Web画面に関する画面遷移仕様に対する期待値を抽出し、
前記書き込み手段は、
前記抽出手段によって抽出された前記遷移先Web画面に関する画面遷移仕様に対する期待値を前記遷移先Web画面の画面遷移仕様に関連付けて書き込むことを特徴とする付記1〜3のいずれか一つに記載のテスト仕様書作成プログラム。
(付記5)前記取得手段は、
前記Web画面の遷移先Web画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含む前記遷移先Web画面に関するレスポンスを取得し、
前記抽出手段は、
前記取得手段によって取得された前記遷移先Web画面に関するレスポンスに含まれている出力項目に基づいて、前記遷移先Web画面に関するレスポンスの中から前記遷移先Web画面に関する画面遷移仕様に対する期待値を抽出し、
前記書き込み手段は、
前記抽出手段によって抽出された前記遷移先Web画面に関する画面遷移仕様に対する期待値を前記遷移先Web画面の画面遷移仕様に関連付けて書き込むことを特徴とする付記1〜3のいずれか一つに記載のテスト仕様書作成プログラム。
(付記6)前記受付手段は、
前記一連の画面遷移仕様に類似する他の一連の画面遷移仕様の前記テスト仕様書データへの追加入力を受け付け、
前記取得手段は、
前記受付手段によって追加入力された他の一連の画面遷移仕様の中から選ばれた画面遷移仕様(以下、「追加画面遷移仕様」という)のWeb画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含む前記追加画面遷移仕様のWeb画面に関するレスポンスを取得し、
前記取得手段によって取得された前記追加画面遷移仕様のWeb画面に関するレスポンスに含まれている出力項目に基づいて、当該レスポンスの中から前記追加画面遷移仕様に対する期待値を抽出し、
前記抽出手段によって抽出された前記追加画面遷移仕様に対する期待値を前記追加画面遷移仕様に関連付けて書き込むことを特徴とする付記4または5に記載のテスト仕様書作成プログラム。
(付記7)WebサーバにインストールされるWebアプリケーションのテストケースに含まれている一連の画面遷移仕様が記述された未完成のテスト仕様書データを受け付ける受付手段と、
前記一連の画面遷移仕様の中から選ばれた画面遷移仕様のWeb画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含むレスポンスを取得する取得手段と、
前記取得手段によって取得されたレスポンスに含まれている出力項目に基づいて、前記レスポンスの中から前記画面遷移仕様に対する期待値を抽出する抽出手段と、
前記抽出手段によって抽出された期待値を前記画面遷移仕様に関連付けて、前記受付手段によって受け付けられたテスト仕様書データへ書き込む書き込み手段と、
を備えることを特徴とするテスト仕様書作成装置。
(付記8)WebサーバにインストールされるWebアプリケーションのテストケースに含まれている一連の画面遷移仕様が記述された未完成のテスト仕様書データを受け付ける受付工程と、
前記一連の画面遷移仕様の中から選ばれた画面遷移仕様のWeb画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含むレスポンスを取得する取得工程と、
前記取得工程によって取得されたレスポンスに含まれている出力項目に基づいて、前記レスポンスの中から前記画面遷移仕様に対する期待値を抽出する抽出工程と、
前記抽出工程によって抽出された期待値を前記画面遷移仕様に関連付けて、前記受付工程によって受け付けられたテスト仕様書データへ書き込む書き込み工程と、
を含んだことを特徴とするテスト仕様書作成方法。
以上のように、本発明にかかるテスト仕様書作成プログラム、該プログラムを記録した記録媒体、テスト仕様書作成装置、およびテスト仕様書作成方法は、Webアプリケーション開発時におけるテスト工程に有用である。
この発明の実施の形態にかかるテスト仕様書作成システムの概略構成を示す説明図である。 図1に示したコンピュータ装置のハードウェア構成を示すブロック図である。 作成開始前のテスト仕様書データを示す説明図である。 Web画面JSP1の画面例を示す説明図である。 Web画面JSP2の画面例を示す説明図である。 図1に示した各コンピュータ装置の機能的構成を示すブロック図である。 各コンピュータ装置の詳細な内部構成を示すブロック図である。 WebサーバによるWebアプリケーション実行処理手順を示すフローチャートである。 WebサーバによるWebアプリケーション実行処理内容を示す説明図である。 WebサーバによるWebアプリケーション実行処理内容を示す説明図である。 Webアプリケーションの実行結果を示す説明図である。 クライアントによるテスト仕様書作成処理手順を示すフローチャートである。 テストケースTCiの期待値情報書き込み処理の具体的な処理手順を示すフローチャートである。 Web画面JSP1の期待値情報書き込み後のテスト仕様書データを示す説明図である。 Web画面JSP2の期待値情報書き込み後のテスト仕様書データを示す説明図である。 Web画面JSP3の一例を示す説明図である。 Web画面JSP3の期待値情報書き込み後のテスト仕様書データを示す説明図である。 テストケースTC2の期待値情報書き込み後のテスト仕様書データを示す説明図である。 Web画面JSP4の一例を示す説明図である。 あらたなテストケースTC3の画面遷移仕様を追加したテスト仕様書データを示す説明図である。 Web画面JSP5の一例を示す説明図である。 テストケースTC3の期待値情報書き込み後のテスト仕様書データを示す説明図である。
符号の説明
100 テスト仕様書作成システム
101 Webサーバ
102 クライアント
110 テスト仕様書データ
611 通信部
612 実行部
613 特定部
614 生成部
621 受付部
622 取得部
623 抽出部
624 書き込み部

Claims (7)

  1. コンピュータを、
    WebサーバにインストールされるWebアプリケーションのテストケースに含まれている一連の画面遷移仕様が記述された未完成のテスト仕様書データを受け付ける受付手段、
    前記一連の画面遷移仕様の中から選ばれた画面遷移仕様のWeb画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含むレスポンスを取得する取得手段、
    前記取得手段によって取得されたレスポンスに含まれている出力項目に基づいて、前記レスポンスの中から前記画面遷移仕様に対する期待値を抽出する抽出手段、
    前記抽出手段によって抽出された期待値を前記画面遷移仕様に関連付けて、前記受付手段によって受け付けられたテスト仕様書データへ書き込む書き込み手段、
    として機能させることを特徴とするテスト仕様書作成プログラム。
  2. 前記取得手段は、
    前記出力項目と当該出力項目に関するメタ情報とを含むレスポンスを取得し、
    前記抽出手段は、
    前記取得手段によって取得されたレスポンスに含まれている出力項目に基づいて、前記レスポンスの中から前記画面遷移仕様に対する期待値と前記メタ情報とを抽出し、
    前記書き込み手段は、
    前記抽出手段によって抽出された期待値とメタ情報とを前記画面遷移仕様に関連付けて書き込むことを特徴とする請求項1に記載のテスト仕様書作成プログラム。
  3. 前記メタ情報は、
    前記期待値を挟むタグに埋め込まれていることを特徴とする請求項2に記載のテスト仕様書作成プログラム。
  4. 前記取得手段は、
    前記画面遷移仕様に操作手順記述が含まれている場合、当該操作手順記述にしたがって操作することで前記Web画面の遷移先Web画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含む前記遷移先Web画面に関するレスポンスを取得し、
    前記抽出手段は、
    前記取得手段によって取得された前記遷移先Web画面に関するレスポンスに含まれている出力項目に基づいて、前記遷移先Web画面に関するレスポンスの中から前記遷移先Web画面に関する画面遷移仕様に対する期待値を抽出し、
    前記書き込み手段は、
    前記抽出手段によって抽出された前記遷移先Web画面に関する画面遷移仕様に対する期待値を前記遷移先Web画面の画面遷移仕様に関連付けて書き込むことを特徴とする請求項1〜3のいずれか一つに記載のテスト仕様書作成プログラム。
  5. 前記取得手段は、
    前記Web画面の遷移先Web画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含む前記遷移先Web画面に関するレスポンスを取得し、
    前記抽出手段は、
    前記取得手段によって取得された前記遷移先Web画面に関するレスポンスに含まれている出力項目に基づいて、前記遷移先Web画面に関するレスポンスの中から前記遷移先Web画面に関する画面遷移仕様に対する期待値を抽出し、
    前記書き込み手段は、
    前記抽出手段によって抽出された前記遷移先Web画面に関する画面遷移仕様に対する期待値を前記遷移先Web画面の画面遷移仕様に関連付けて書き込むことを特徴とする請求項1〜3のいずれか一つに記載のテスト仕様書作成プログラム。
  6. WebサーバにインストールされるWebアプリケーションのテストケースに含まれている一連の画面遷移仕様が記述された未完成のテスト仕様書データを受け付ける受付手段と、
    前記一連の画面遷移仕様の中から選ばれた画面遷移仕様のWeb画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含むレスポンスを取得する取得手段と、
    前記取得手段によって取得されたレスポンスに含まれている出力項目に基づいて、前記レスポンスの中から前記画面遷移仕様に対する期待値を抽出する抽出手段と、
    前記抽出手段によって抽出された期待値を前記画面遷移仕様に関連付けて、前記受付手段によって受け付けられたテスト仕様書データへ書き込む書き込み手段と、
    を備えることを特徴とするテスト仕様書作成装置。
  7. WebサーバにインストールされるWebアプリケーションのテストケースに含まれている一連の画面遷移仕様が記述された未完成のテスト仕様書データを受け付ける受付工程と、
    前記一連の画面遷移仕様の中から選ばれた画面遷移仕様のWeb画面を要求するリクエストを前記Webアプリケーションに与えることにより、前記Webアプリケーションの実行結果として得られる出力項目を含むレスポンスを取得する取得工程と、
    前記取得工程によって取得されたレスポンスに含まれている出力項目に基づいて、前記レスポンスの中から前記画面遷移仕様に対する期待値を抽出する抽出工程と、
    前記抽出工程によって抽出された期待値を前記画面遷移仕様に関連付けて、前記受付工程によって受け付けられたテスト仕様書データへ書き込む書き込み工程と、
    を含んだことを特徴とするテスト仕様書作成方法。
JP2007081615A 2007-03-27 2007-03-27 テスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法 Expired - Fee Related JP4899971B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007081615A JP4899971B2 (ja) 2007-03-27 2007-03-27 テスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法
US12/048,828 US8095913B2 (en) 2007-03-27 2008-03-14 Computer readable storage medium that stores a test specifications creating program, test specifications creating apparatus and test specifications creating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007081615A JP4899971B2 (ja) 2007-03-27 2007-03-27 テスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法

Publications (2)

Publication Number Publication Date
JP2008242738A true JP2008242738A (ja) 2008-10-09
JP4899971B2 JP4899971B2 (ja) 2012-03-21

Family

ID=39914020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007081615A Expired - Fee Related JP4899971B2 (ja) 2007-03-27 2007-03-27 テスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法

Country Status (2)

Country Link
US (1) US8095913B2 (ja)
JP (1) JP4899971B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016062136A (ja) * 2014-09-16 2016-04-25 三菱電機株式会社 試験装置及び試験プログラム
JP2019525372A (ja) * 2016-08-26 2019-09-05 上海合福信息科技有限公司 テスト設計書の生成方法
JP2019525373A (ja) * 2016-08-26 2019-09-05 上海合福信息科技有限公司 テストケースの生成方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4961949B2 (ja) * 2006-10-30 2012-06-27 富士通株式会社 生成プログラム、検査プログラム、生成装置、および生成方法
US9400962B2 (en) 2010-10-29 2016-07-26 Fujitsu Limited Architecture for distributed, parallel crawling of interactive client-server applications
US8572505B2 (en) * 2011-01-31 2013-10-29 Oracle International Corporation Automatically testing a web application that has independent display trees
US10048854B2 (en) 2011-01-31 2018-08-14 Oracle International Corporation Drag and drop interaction between components of a web application
US9208054B2 (en) * 2011-02-14 2015-12-08 Fujitsu Limited Web service for automated cross-browser compatibility checking of web applications
JP5757750B2 (ja) * 2011-02-28 2015-07-29 オリンパス株式会社 頭部装着型表示装置及びクライアント装置
JP5683998B2 (ja) * 2011-02-28 2015-03-11 オリンパス株式会社 サーバシステム及びクライアント装置の制御方法
US8881108B2 (en) * 2012-06-28 2014-11-04 Sap Ag Test program for HTTP-communicating service
US10325511B2 (en) * 2015-01-30 2019-06-18 Conduent Business Services, Llc Method and system to attribute metadata to preexisting documents
JP6542612B2 (ja) * 2015-08-21 2019-07-10 株式会社日立製作所 テストシナリオ生成支援装置およびテストシナリオ生成支援方法
JP6441786B2 (ja) * 2015-12-04 2018-12-19 株式会社日立製作所 テスト支援装置、テスト支援方法、及びプログラム
DE102021201658A1 (de) 2021-02-18 2022-08-18 Continental Automotive Gmbh Testausführungssystem, Testspezifikationsvorrichtung und Verfahren zum Betreiben eines Testausführungssystems

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163282A (ja) * 1998-11-27 2000-06-16 Nec Software Hokkaido Ltd コンピュータ
JP2003044318A (ja) * 2001-08-02 2003-02-14 Fujitsu Ltd テスト支援プログラムおよびテスト支援方法
JP2005266954A (ja) * 2004-03-16 2005-09-29 Hitachi Software Eng Co Ltd 操作情報記録・再生装置
JP2006113993A (ja) * 2004-10-15 2006-04-27 Odaiba Systems:Kk インターネットシステムのためのテストシステム
JP2006244195A (ja) * 2005-03-04 2006-09-14 Nec Corp プログラムテスト支援装置およびその方法
JP2006260390A (ja) * 2005-03-18 2006-09-28 Nomura Research Institute Ltd テストケース生成プログラム及び方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3828379B2 (ja) * 2001-05-17 2006-10-04 富士通株式会社 テスト仕様生成支援装置、方法、プログラム及び記録媒体
JP4023803B2 (ja) * 2003-05-30 2007-12-19 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブアプリケーション開発支援装置、データ処理方法及びプログラム
US20050138426A1 (en) * 2003-11-07 2005-06-23 Brian Styslinger Method, system, and apparatus for managing, monitoring, auditing, cataloging, scoring, and improving vulnerability assessment tests, as well as automating retesting efforts and elements of tests
JP2005196291A (ja) * 2003-12-26 2005-07-21 Fujitsu Ltd ユーザインタフェースアプリケーション開発プログラム、および開発装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163282A (ja) * 1998-11-27 2000-06-16 Nec Software Hokkaido Ltd コンピュータ
JP2003044318A (ja) * 2001-08-02 2003-02-14 Fujitsu Ltd テスト支援プログラムおよびテスト支援方法
JP2005266954A (ja) * 2004-03-16 2005-09-29 Hitachi Software Eng Co Ltd 操作情報記録・再生装置
JP2006113993A (ja) * 2004-10-15 2006-04-27 Odaiba Systems:Kk インターネットシステムのためのテストシステム
JP2006244195A (ja) * 2005-03-04 2006-09-14 Nec Corp プログラムテスト支援装置およびその方法
JP2006260390A (ja) * 2005-03-18 2006-09-28 Nomura Research Institute Ltd テストケース生成プログラム及び方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016062136A (ja) * 2014-09-16 2016-04-25 三菱電機株式会社 試験装置及び試験プログラム
JP2019525372A (ja) * 2016-08-26 2019-09-05 上海合福信息科技有限公司 テスト設計書の生成方法
JP2019525373A (ja) * 2016-08-26 2019-09-05 上海合福信息科技有限公司 テストケースの生成方法

Also Published As

Publication number Publication date
JP4899971B2 (ja) 2012-03-21
US8095913B2 (en) 2012-01-10
US20090055801A1 (en) 2009-02-26

Similar Documents

Publication Publication Date Title
JP4899971B2 (ja) テスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法
US7664990B2 (en) Method and apparatus for testing web application, and computer product
KR100936204B1 (ko) 카피 앤드 페이스트 처리 방법, 장치 및 기록 매체
KR100907671B1 (ko) 기록 매체 및 문자 입력 편집 방법
JP5066499B2 (ja) Webアプリケーションの操作手順書生成システム
CN108762743B (zh) 一种数据表操作代码生成方法及装置
US20110264705A1 (en) Method and system for interactive generation of presentations
JP6417791B2 (ja) アプリケーションテスト支援装置、そのデータ処理方法、およびプログラム
KR101950126B1 (ko) 수학공식 처리방법, 장치, 설비 및 컴퓨터 저장 매체
JP2019021341A (ja) アプリケーションテスト支援装置、そのデータ処理方法、およびプログラム
JPH09223007A (ja) 入力シートシステム
JP5413198B2 (ja) ユーザインタフェース認識装置、ユーザインタフェース認識方法およびプログラム
JP2005266954A (ja) 操作情報記録・再生装置
US20110035433A1 (en) Webpage display method, computer system, and program
JP6723976B2 (ja) テスト実行装置及びプログラム
JP5971399B2 (ja) 実行フロー作成支援プログラム
JP5811006B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP5379526B2 (ja) Webサービステスト支援装置及びプログラム
JP2007034806A (ja) 情報処理装置及びプログラム
JPWO2005086033A1 (ja) 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体
JP2007034807A (ja) 情報処理装置及びプログラム
JP5075486B2 (ja) 日常形式問合せ処理システムと方法、およびプログラム
JP5682480B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
Kumbhar et al. Legacy to Web 2.0
WO2009090890A1 (ja) コンピュータ上に電子文書を表示するためのコンピュータソフトウェアプログラム及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111114

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: 20111206

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111219

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees