JP2010218496A - アプリケーションプログラムをテストする方法及びプログラム及び記録媒体 - Google Patents

アプリケーションプログラムをテストする方法及びプログラム及び記録媒体 Download PDF

Info

Publication number
JP2010218496A
JP2010218496A JP2009067469A JP2009067469A JP2010218496A JP 2010218496 A JP2010218496 A JP 2010218496A JP 2009067469 A JP2009067469 A JP 2009067469A JP 2009067469 A JP2009067469 A JP 2009067469A JP 2010218496 A JP2010218496 A JP 2010218496A
Authority
JP
Japan
Prior art keywords
test
script
data
eds
execution
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.)
Pending
Application number
JP2009067469A
Other languages
English (en)
Inventor
Nobuyoshi Funasaki
信義 舟崎
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.)
FRONTES KK
Original Assignee
FRONTES KK
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 FRONTES KK filed Critical FRONTES KK
Priority to JP2009067469A priority Critical patent/JP2010218496A/ja
Publication of JP2010218496A publication Critical patent/JP2010218496A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】アプリケーションプログラムの自動テスト方法において、テスト内容の変更があった場合に、テストプログラムの修正をより小さくし、従来よりテストを行いやすくしたテスト方法を提供する。
【解決手段】テストの内容に基づき、テスト実行のための情報であるEDSファイルを作成する。コンピュータは、EDS実行スクリプトを実行する。その結果、EDSファイルを読み込み、その内容に基づき、テストを実行する。EDSファイルは、テーブル形式で記述されているので、利用者はその内容を把握しやすい。さらに、EDSファイルは、仕様書の部分と、テスト内用を記載した部分とが、互いに対応しながら記載されているので、そのテスト内容が把握しやすい。その結果、テスト内容の修正を行いやすくなる。
【選択図】図1

Description

本発明は、アプリケーションプログラムの動作をテストするシステムに関する。特に、テスト効率の向上を図ることができるシステムに関する。
アプリケーションプログラムの動作をテストすることは、アプリケーションプログラムの開発に置いて極めて重要な事項である。そのため、従来から様々なテストシステム・テスト手法が開発・提案されてきた。特に、人間の操作を含めてシミュレーションを行うためのシステムは種々のものが開発されている。
従来の代表的なテスト手法の一つにテストスクリプトとテストデータを作成してテストの自動化を行う手法が知られている。この手法は、繰り返し実行されるテストの効率化に大きく寄与するものであり、広く活用されている。
テストは、一般的に、アプリケーションプログラムの単体テスト、結合テスト、システムテスト、を順に行っていく場合がある。この場合、一般的には、途中で、プログラムの修正や、仕様の変更等が発生する。これら修正や変更が発生すると、そのたびにテストスクリプトの変更が必要となる。このような変更は、一般に修正すべき箇所を発見し、人間が手作業で行っていたが、作業量が膨大になりがちであり、作業効率の減少を招いていた。その結果、スクリプトの修正が遅れ、テストの自動化による効率の向上にも一定も限界が表れていた。
この従来の手法の動作を表すフローチャートが図25に示されている。
図25に示すように、まず、ステップS25−1においては、設計書によってテスト計画書の作成を行う。なお、テスト計画書には、単体テスト計画書、結合テスト計画書、システムテスト計画書、等がある。
結合テスト計画書の典型的な内容としては、例えば、以下のような内容が挙げられよう。
1.本書(結合テスト仕様書)の位置づけ
2.結合テストの概要説明
2.1結合テスト計画書の作成
2.2結合テストの作業内容
3.結合テストの体制と役割分担
3.1体制
3.2役割分担
4.作成資料
4.1結合テストチェックリスト
4.1.1記入項目
4.1.2テスト方法の説明
4.2結合テスト関連の作成資料
4.3完了報告書
5.テスト環境の設定
6.管理業務
7.結合テストの目標と完了
7.1品質目標
7.2完了基準
そして、上記結合テストチェックリストは、テスト仕様書の好適な一例に相当する。
また、システムテスト計画書の典型的な内容としては、例えば、以下のような内容が挙げられよう。
1.本書(システムテスト仕様書)の位置づけ
2.システムテストの概要説明
2.1システムテスト計画書の作成
2.2システムテストの作業内容
2.2.1機能テスト
2.2.2パフォーマンステスト
2.2.3負荷テスト
3.結合テストの体制と役割分担
3.1体制
3.2役割分担
4.作成資料
4.1テスト項目一覧表
4.2テストシナリオ
4.3テストシナリオ説明
4.4パフォーマンステスト仕様書
4.5負荷テスト仕様書
4.6テスト結果分析評価表
4.7完了報告書
5.テスト環境の設定
6.管理業務
7.システムテストの目標と完了
7.1目標
7.2完了宣言
次に、ステップS25−2において、設計書からテスト仕様書の作成を行う。この仕様書によって、どのような内容のテストを行うかを決定する。
次に、ステップS25−3においては、テストデータの作成を行う。アプリケーションプログラムに与えるテストデータを上記テスト仕様書に基づき作成していく。
ステップS25−4においては、テストスクリプトの記録を行う。従来から、アプリケーションプログラムの動作に基づきテストスクリプトを自動で記録生成するシステムが知られている。
すなわち、テスト仕様書に従い、実際にキーボードからのデータの入力、キー、マウス等の操作を行い、その動作をテスト・スクリプトとして記録するのである。作成後に、結果の比較や、エラーが発生した場合の対応手法の指図などの自動チェックを行わせるためのスクリプトや、複数個のテストデータによる繰り返しテストを行う場合の所定のスクリプトの追加を行って、最終的なスクリプトが完成する(ステップS25−5)。
例えば、上記の繰り返しテストにおいては、大量のデータを外部ファイルから与えて、それらのデータに基づいた繰り返しテストを行わせるためのプログラムを書き加える。このプログラムの中には、テストに供される外部データを準備するファイル名やそのロケーション、更に、テストの結果を格納するための結果データファイルのファイル名及びそのロケーション等を適宜定義していく必要がある。これらのリンクなどの定義や繰り返しテスト処理のプログラムを書き加えることによって、多くのデータを用いたテストを自動的に行わせることが可能である。
このようにして適宜修正を加えることによって作成されたテストスクリプト(ステップS25−5)は、テスト項目が増えるにつれて膨大な分量となりがちである。従って、テスト項目が増えるに従って、その修正量も膨大なものとなりがちであり、作業効率が悪化する要因の一つとなっていた。
特に、テストスクリプト及びテストデータの何処を修正し、どのような機能を追加するか、をテストスクリプトの全体を見て行う必要があり、繁雑な作業となりがちであった。また、作業工数も大きなものとなりがちであった。
ステップS25−6においては、このようにして作成したテストスクリプトを用いてテストを実行する。
ステップS25−7においては、得られたテスト結果を調べる。テスト結果が所望の結果と合致すれば、テストは完了する(ステップS25−8)。一方、テスト結果が所望の結果と合致しない場合は、一般に対象であるアプリケーションプログラムの修正が行われる(ステップS25−9)。
また、アプリケーションプログラムの修正(ステップS25−9)に際しては、同時にテスト仕様書の修正も行うことが好適である(ステップS25−10)。
次に、ステップS25−11においては、アプリケーションプログラムの修正に合わせて、テストデータの修正も行うことが多い。
そして、テストデータの修正に伴って、テストスクリプトも修正する。このようにして、テストデータ及びテストスクリプトの修正が完了する。
以上のようにして修正されたテストスクリプト及びテストデータを用いて、再び処理がステップS25−6に移行し、テストが繰り返される。
従来のアプリケーションプログラムの動作検証においては、以上のような処理で検証が実行されてきた。
なお、テストスクリプトは、所定のコンピューター言語で記述される。例えば、いわゆるVisualBasic等が用いられることが多い。また、テストデータは、外部データとして準備する場合は、所定のテキストデータ、CSV形式のデータ等が用いられる。また、テストデータの種類が少ない場合は、テストスクリプト内部に埋め込まれて、適宜参照されるように構成されることも多い。
先行特許文献
下記特許文献1には、アプリケーションの動作確認を自動的に実行する自動実行ツールが開示されている。特に、入力条件と、環境条件とを組み合わせてテストすべき項目を決定するテスト項目表を作成して、このテスト項目に従ってテストスクリプトを生成することを特徴とする検証方法が開示されている。
下記特許文献2には、プログラムテストの所要時間を短縮することができるプログラムテストシステム及びプログラムテスト方法が開示されている。特に、データ生成プログラムが、オリジナルデータから実テーブルを作成し、データベースに記憶させる技術が開示されている。このように、実テーブルを作成ししているので、テストに使用するデータを容易に得ることができ、テストの所要時間の短縮が図れると記載されている。
下記特許文献3には、テスト条件の変更が容易な、計算機システムの模擬アプリケーション試験装置が開示されている。ここに記載されている模擬アプリケーション試験装置は、テストプログラムの動作条件を表すパラメータを設定する手段を設け、この手段でパラメータを設定することによって、テストプログラムの変更が不要となると記載されている。
特開2004−280231号公報 特開2006−227820号公報 特開2007−156822号公報
以上、図20で説明したように、従来のアプリケーションプログラムの動作検証方法では、テスト条件の変更があった場合に、テストプログラムの修正量が膨大なものとなり、プログラム設計者の負担が大であるという問題がある。
本発明は、上記課題に基づきなされたものであり、その目的は、テスト内容の変更があった場合に、テストプログラムの修正をより小さくし、従来よりテストを行いやすくしたテスト方法を提供することである。
(1)本発明は、上記課題を解決するために、アプリケーションプログラムをテストする方法において、テストの内容に基づき、テスト実行のための情報であるスクリプト実行情報を作成するスクリプト実行情報作成ステップと、インタプリタスクリプトが、前記スクリプト実行情報を読み出し、その内容に基づいて前記アプリケーションプログラムの動作をテストするテストステップと、を含むことを特徴とするアプリケーションプログラムをテストする方法である。
(2)また、本発明は、上記(1)記載のアプリケーションプログラムをテストする方法において、前記スクリプト実行情報は、テーブル形式で記述されていることを特徴とするアプリケーションプログラムをテストする方法である。
(3)また、本発明は、上記(1)又は(2)に記載のアプリケーションプログラムをテストする方法において、前記スクリプト実行情報は、テストの試験項目及び操作内容を記述した仕様部と、テスト動作を記述したデータ部と、から成ることを特徴とするアプリケーションプログラムをテストする方法である。
(4)また、本発明は、上記(1)又は(2)に記載のアプリケーションプログラムをテストする方法において用いられる前記スクリプト実行情報を格納した記録媒体において、前記スクリプト実行情報は、テストの試験項目及び操作内容を記述した仕様部と、テスト動作を記述したデータ部と、から成ることを特徴とするスクリプト実行情報を記録した記録媒体である。
(5)また、本発明は、上記(1)〜(3)記載のいずれか1項に記載のアプリケーションプログラムをテストする方法において、前記スクリプト実行情報は、マイクロソフト社のエクセルのデータファイルとして作成されていることを特徴とするアプリケーションプログラムをテストする方法である。
(6)また、本発明は、コンピュータに、上記(1)記載のアプリケーションプログラムをテストする方法中のテストステップを実行させるプログラムにおいて、前記コンピュータに、前記スクリプト実行情報を読み出させる読み出し手順と、前記読み出した前記スクリプト実行情報中からフラグを読み出し、そのフラグの内容に基づきテスト動作を実行する手順と、を実行させることを特徴とするプログラムである。
以上述べたように、本発明によれば、テスト内容に変更が生じても従来よりテストプログラムの修正が容易になった。したがって、アプリケーションプログラムのテストをより一層行いやすいテスト方法を提供することができた。
本実施の形態におけるアプリケーションプログラムの動作検証システムの動作を表すフローチャートである。 テストスクリプトに関する一般的な概念の説明図である。 テスト実行のための情報であるスクリプト実行情報の活用イメージを表す概念図である。 TestPartnerの処理の流れを表すタイムチャートである。 STAR−TSTシステムにおける作業の流れを表すタイムチャートである。 EDSファイルをコンピュータ画面に表示した場合の様子を示す説明図である。 EDSのデータ部のサンプル(テスト内容を記述する部分)を表す説明図である。 キャプチャによって取得された画面内のオブジェクトを表す説明図である。 本実施の形態における自動テストの実行の様子を示す説明図である。 テストの連続実行用のEDSファイルの様子を示す説明図である。 実行フラグの記述様式が記載された説明図である。 実行フラグの記述様式が記載された説明図である。 実行フラグの記述様式が記載された説明図である。 実行フラグの記述様式が記載された説明図である。 実行フラグの記述様式が記載された説明図である。 実行フラグの記述様式が記載された説明図である。 実行フラグの記述様式が記載された説明図である。 実行フラグの記述様式が記載された説明図である。 実行フラグのサンプルが記載されたサンプル図である。 アプリケーションプログラムの動作を検証する従来の手法と、EDSを使用する場合の方法とを比較した資料である。 アプリケーションプログラムの動作を検証する従来の手法と、EDSを使用する場合の方法とを比較した資料である。 アプリケーションプログラムの動作を検証する従来の手法と、EDSを使用する場合の方法とを比較した資料である。 アプリケーションプログラムの動作を検証する従来の手法と、EDSを使用する場合の方法とを比較した資料である。 アプリケーションプログラムの動作を検証する従来の手法と、EDSを使用する場合の方法とを比較した資料である。 アプリケーションプログラムの動作を検証する従来の手法と、EDSを使用する場合の方法とを比較した資料である。
アプリケーションプログラムの動作を検証する従来の手法と、EDSを使用する場合の方法とを比較した資料である。
以下、本発明の実施の形態を図面に基づいて説明する。
A.基本動作の流れ
図1には、本実施の形態におけるアプリケーションプログラムの動作検証システムの動作を表すフローチャートが示されている。
図1のステップS1−1から、ステップS1−2までは、図20の従来技術とまったく同様である。
すなわち、ステップS1−1においては、設計書によって、テスト計画書の作成を行う。また、ステップS1−2においては、設計書に基づいてテスト仕様書の作成を行う。
次に、ステップS1−3においては、テストするシステム全体で使用するテストスクリプトのパターン(キーボード、マウス操作、入力方法、データの取り込み、結果の比較、エラー時の対応方法など)をマクロとして作成する。
なお、作成したマクロは、EDS実行スクリプトと呼ばれる。ここで、EDSとは、Excel Data Sheetを意味する。Excelは、マイクロソフト社の表計算ソフトの商品名である。
本実施の形態において特徴的なことは、このようにテストスクリプトを、表データ(いわゆるテーブルのデータ)として構築したことである。この結果、テストスクリプトの読み取り性、記述容易性が向上し、修正等を行いやすくなったものである。
従来から、アプリケーションソフトウェアを実際に操作し、その操作の記録をスクリプトとして記録するツールが知られている。例えば、VisualBasic等の言語で記述されたスクリプトを作成するツールが知られている。
従来のアプリケーションソフトウェアの典型的な動作テストは、このツールを用いて構築されたVisualBasic等の言語で記述されたスクリプトを利用して、アプリケーションソフトウェアの自動実行を行ってテストが行われていた。
本願発明者は、新たにテーブル形式でスクリプトを作成する新規なツールを作り上げたのである。このようにテーブル形式で記述されたスクリプトを作成するツールは従来から知られていない。
次に、ステップS1−4において、作成したEDS用テストスクリプトを使用してテスト仕様書に基づきテスト内容を作成する。本実施の形態では、これをエクセルのデータシートを用いて作成するので、EDSと呼ぶ。テスト内容は、操作内容(アクション)、キー操作、入力データ、結果の期待値、エラー時の対応などを設定してEDSを作成していく。
EDSは、複数個のテストデータの定義を行うのにも用いられる。EDSでテストデータを複数個定義した場合、従来のテストスクリプトと比較して、テスト内容がより見やすくすることができる。
ステップS1−5においては、このようにして作成したテストスクリプト・EDSを用いてテストを実行する。
ステップS1−6においては、得られたテスト結果を調べる。テスト結果が所望の結果と合致すれば、テストは完了する(ステップS1−7)。一方、テスト結果が所望の結果と合致しない場合は、一般に、テスト対象であるアプリケーションプログラムの修正が行われる(ステップS1−8)。
また、アプリケーションプログラムの修正(ステップS25−9)に際しては、同時にテスト仕様書の修正も行うことが好適である(ステップS1−9)。
次に、ステップS1−10においては、アプリケーションプログラムの修正に合わせて、EDSの修正が行われる。
その後、図1に示すように、再び、ステップS1−5に処理が移行し、テストが再び続けられる。
これらステップS1−9及びステップS1−10は、従来の動作(図20のステップS25−9、ステップS25−10)と内容は同様である。しかし、EDSの修正は、従来の修正作業に比べて非常に容易になっているためテストの作業効率が向上する。以下、この点について詳細に説明する。
B.テスト内容の変更について
B−1 従来技術
さて、テストの結果を受けて、発生するプログラムの変更、仕様書の変更に伴い、テスト内容の変更が必要となる。
従来の技術(図20)においては、テストスクリプトが読み込むテストデータの変更を行う(ステップS25−11)。このテストデータは、データが記述されたデータファイルである。さらに、それに合わせてテストスクリプトの修正を行う必要がある(ステップS25−12)。
さて、テストスクリプトは、一般に多くのステップが存在する。従って、その中から修正ポイントを探し出し、修正を加えることは非常に大変な作業となる。ここで、修正ポイントとは、操作内容の変更や、入力データの変更、出力結果の比較、等である。
B−2 本実施の形態で提案する方式
これに対して、本実施の形態で提案する方式では、テストの実施要素内容がスクリプトではなく、表計算ファイル(例えば、EXCELのデータファイルのシート)上のデータ表となって一覧表示されており、修正するポイントを見つけることは容易である。したがって、本実施の形態で提案する方式によれば、テスト内容の変更作業が従来に比べて容易となり、大幅に効率化される(図1のステップS1−10)。
C.EDSの作成の詳細
上述したように、本実施の形態においては、テストスクリプトを、表計算等で用いるテーブル形式で記述したので、その修正がしやすく、テスト効率の向上を図ることが可能である。
テストスクリプトに関する一般的な概念の説明図が図2に示されている。
この図に示すように、テスト対象であるアプリケーションプログラムを所定のコンピュータ上で動作させ、その様子をいわゆる自動テスティングツールが観察する。この自動テスティングツールはテスト対象を観察し、その動作をスクリプトとして記録する。このスクリプトは例えば、Visual Basic等の言語で記述され、このスクリプトを実行することによって、テスト対象の動作を模擬することができるのである。
従来から、いわゆる自動テストは、テスト対象となる処理動作をテストスクリプトとして記録(及び作成し)、それを自動再生により繰り返すことによって実行されてきた。ここで言う「処理動作」は、例えば、業務アプリケーションプログラムの場合は、業務プロセスとなる。
なお、テストスクリプトは、対象となるアプリケーションプログラムの仕様の改修、修正の度にメンテナンスを行う必要がある。具体的には、業務プログラムの場合は、対象業務の改修、修正があった場合がこれに相当する。
このように、いわゆるスクリプトは、重要なテスト資産であり、メンテナンス性の高いスクリプトを作成することは、テストの効率を向上するのに非常に有用であることは明らかである。
本願発明者は、新しいテストスクリプト作成ツールを構築し、メンテナンス性が向上したテストスクリプトに相当するものを構築した。この結果、本願発明者はテスト効率の高い自動テスト方法を実現できたものである。
D.本実施の形態の特徴
本実施の形態では、この新しいテストスクリプト作成ツールを用いて新しいテストスクリプトに相当するもの「スクリプト実行情報」を構築し、これを改修・修正動作する。この改修・修正動作等について、以下順次説明する。このスクリプト実行情報は、テスト実行のための情報である。
また、本実施の形態におけるテストスクリプトに相当するもの特徴としては、上で述べた特徴の他に以下のようなメリットがある。
・標準スクリプトを準備しているので、この標準スクリプトを、活用することで、個別に多くのスクリプトやデータの作成が不要で、標準構成に沿って効率的にテストデータを作成できる。
・作成後の改修に対応するテスト内容の修正も、テスト仕様書との関連が明確となっているため、効率的に行える。すなわち、スクリプト実行情報には、テスト仕様書の内容が含まれており、わかりやすくなっている。詳しくは後述する。
・テストスクリプトに相当するスクリプト実行情報を作成する時に、テスト対象の情報を含むテスト仕様書が、ガイド準拠標準フォームを利用すると、作成効率がさらに向上する。
E.スクリプト実行情報活用イメージ
テスト実行のための情報であるスクリプト実行情報の活用イメージを表す概念図が図3に示されている。この図3に示すように、まず、テンプレートフォーム(テンプレート標準)を利用して、テスト設計書、テストシナリオさらに画面定義情報から、スクリプト実行情報を作成し、データを定義する。これらテストのためのスクリプト実行情報とデータとは本実施の形態では、システムに「登録」を行っている。
本実施の形態では、このように、テンプレート標準を利用しているので、オプションによるフレームの自動生成や、チェックが可能となるという効果を奏する。
このようにして作成したテストのためのスクリプト実行情報は、TestPartner(登録商標)と呼ばれるインタプリタを用いて、テスト対象に対して自動実行(自動テスト)する。この際には、テンプレートインタプリタスクリプトが用いられる。下記実施例では、スクリプト実行情報の例として「EDSファイル」を用いているが、この場合には、テンプレートインタプリタは「EDS実行スクリプト」と呼ばれる。詳しくは後の実施例において述べる。
この自動実行(自動テスト)を行うことによって、テスト結果が得られる。このテスト結果に基づき、アプリケーションプログラムの修正や、仕様書の修正を行うことは既に述べたとおりである(図1参照)。
F.テストの効率化について
F−1.問題点
さて、本実施の形態では、テストを効率化するツールとしてTestPartnerを用いているが、テストにおいては以下のような問題点がある。
・同じテストを繰り返すケースが多いにもかかわらず、その都度手入力でテストを行っている。
・大量のテスト操作を手作業で繰り返すことは困難なため、網羅的なテストに抜けができる場合もあり、結果としてシステム・トラブルに繋がる場合もある。
・アプリケーションプログラムの開発者は、発生するトラブルに関する報告書作成に貴重な時間を費やさなければならない場合もある。
・テスト管理者は全テストの進捗状況を把握して、テスト工程を管理しなければならないが、この管理負担が過重な負担となる場合もある。
F−2.問題点解決のための主要な機能
このような問題に対して、テスト効率化ツールであるTestpartnerは、以下のような機能を備えている。
・テストの自動実行
初回のテスト時にテスト手順が記録され、次回のテスト時にテストを自動実行することができる。
・外部データとの連動
テスト用入力データ、テスト結果の期待値用データと連動することによって、自動化スクリプトを作成する際の利用者(スクリプト作成者)の負担を軽減することができる。
但し、本実施の形態では、上述したように、従来の「テストスクリプト」の役割を果たすものとして「スクリプト実行情報」を用いている。
・テスト結果の自動判定
処理結果と期待値を比較して、正常・異常を自動判定する。
・テストレポートの自動作成
テスト結果のログを記録し、レポートを自動作成する。
F−3.テスト作業全般の支援
TestPartnerは、業務に応じたテストケース、テスト項目の洗い出しから、テスト自動化のための技術支援まで、テストに関する一貫した支援を提供することができる。
このTestPartnerの処理の流れを表すタイムチャートが図4に示されている。この図に示すように、まず、準備段階10においては、Testpartnerのプロジェクトが作成される。次に、記録段階12においては、VisualNavigatorでスクリプトの記録を行。これは、いわゆるGUIの操作を記録することによって、テスト手順の記録を行うものである。記録されたものがテストスクリプトであり、ここではVBA(VisualBasic for Aplication)で記述されている例を説明する。また、テストスクリプトの修正段階14においては、記録したテストスクリプトを適宜修正する。この修正は、図4に示すように、例えば、VBAで記述されたテストスクリプトをテストに合わせて追加・修正することを含む。また、例えば、イベントの追加・修正を含むものである。また、例えば、チェックの追加・修正を含むものである。
さらに、この修正は、以下のような修正を含む。
・単体モジュール、共有モジュール、クラスモジュール等を、追加・修正すること
・ユーザーフォームの追加・修正を行うこと
・オブジェクトマップの追加・修正を行うこと
その他、実行したいテストに合わせて適宜修正を行った後、図4の再生段階16において、処理(行為、操作等も含む)の再生を行い、自動的にアプリケーションプログラムのテストを行う。
図4の結果ログ段階18においては、結果のログが出力され、その結果に応じて、種々の処理が行われる。
例えば、再帰録を行う必要がある場合は、記録段階12に再び処理が移行する。また、テストスクリプトの修正を行う必要がある場合は、修正段階14に処理が移行する。また、再生を再び行う必要がある場合は、再び再生を行うために、再生段階18に処理が移行する。
F−4.Testpartnerのテスト対象
このように、Testpartnerを用いることによって、テストの効率化が行われるわけであるが、その対象は、種々のアプリケーションプログラムである。
例えば、Webアプリケーションプログラムでもよい。すなわち、HTML、DHTML、Javascript(Javaは登録商標)でもかまわない。さらに、デスクトップアプリケーションプログラムでもよい。すなわち、NETプラットフォームのアプリケーションプログラムや、種々のWindows(登録商標)アプリケーションプログラム、また、いわゆるWin32アプリケーションを対照することができる。Win32アプリケーションとしては、VB4からVB6で記述されたアプリケーションや、VC++、JAVA(登録商標)等で記述されたアプリケーションを対象とすることが可能である。なお、ここで、VBとは、VisualBasicを表し、VCは、VisualCを表す。
G.TestPartnerをより効率的に活用する手法
本実施の形態において特徴的なことの一つは、上述したように、テストスクリプトの役割を果たすものとしてより修正しやすいものを利用したことである。これが上述したスクリプト実行情報である。スクリプト実行情報はテスト実行のための情報である。
例えば、テスト実行中に、画面や帳票の表示項目や処理内容の変更などが発生するケースがある。それらの変更にしたがって、アプリケーションプログラムが変更になり、合わせてテストスクリプトも変更になる。そこで、テストスクリプト中の改修ポイントを見つけて適切に改修することは、テストの実行者にとってかなり大きな負担となっていることはよく知られている。
このように、一度作成したテストスクリプトを改修する作業を容易にし、負担軽減を図ることは従来から広く望まれてきたことである。
本実施の形態において、本願発明者は、このような要望に答えるために、STAR−TST(商品名)と呼ばれるシステムを開発した。
図5には、このSTAR−TSTシステムにおける作業の流れを表すタイムチャートが示されている。
この図に示すように、アプリケーションプログラムの開発作業は、要件定義20、設計作業22、PG(プログラム)開発24、設計・PG(プログラム)修正26、等の各ステップから構成される。
この開発作業に合わせて、テスト作業も順次進められる。すなわち、要件定義20に合わせてテスト計画30が立てられる。また、設計作業22に合わせてテスト仕様書作成32、及びテストデータの作成34が行われる。また、PG(プログラム)開発24と並行してEDSの作成36が行われる。このEDSの作成36は既に作成したテスト仕様書とテストデータが適宜利用される。
このEDSは、上述したスクリプト実行情報の具体的で好適な一例であり、本実施の形態において特徴的な構成である。なお、EDSは、Excel Data Sheetを意味する。
さて、EDSが作成されれば、テストを実行することが可能である。プログラムが完成した後、結合テスト実施38がなされる。このテストの結果に基づき、アプリケーションの仕様変更や、PG修正26が行われる。それと同時にEDSの改修40が行われる。
このようにして改修したEDSに基づき、同様に改修されたアプリケーションプログラムについてシステムテスト実施42がなされる。
このテストの結果に基づき、再び、設計・PG(プログラム)改修がなされ、再びテストが繰り返される。これらの処理を繰り返すことによって、良質のアプリケーションプログラムが生産されるのである。
このようなシステムを採用した結果、本実施の形態では、以下の効果が得られる。
・アプリケーションプログラムの変更があった場合に、EDS(Excel Data Sheet)の実行コマンドとデータとを追加、変更、削除するだけで対応することができる。
・アプリケーションプログラムの作成者がEDSを読むことによって、どのようなテストが実施されているのかを容易に把握することができる。
H.EDS(Excel Data Sheet)の詳細な説明
これまで述べたように、本実施の形態において特徴的な構成の一つは、テストスクリプトに代わるものの一つとしてEDSを採用したことである。以下、このEDSについて詳細に説明する。
H−1.EDSデータドリブン構造のスクリプトについて
本実施の形態において、特徴的なことの一つは、従来の「テストスクリプトの実行」を、EDS実行スクリプトがEDSの実行コマンドとデータを読み、プログラムテストを実行することである。EDS実行スクリプトとは、上述したテンプレートインタプリタスクリプトの好適な一例であり、EDSファイルを読み取り、その内容に従って、テストを事項するものである。
従来技術においては、テストスクリプトを実行することによって、テストを実行していた。一方、本実施の形態においては、EDS実行スクリプトを実行することによって、テストを実行する。テストの具体的な内容は、「EDS」及び「データ」ファイルに記載されている。
つまり、本実施の形態において特徴的なことは、テストの内容その物は、EDS及びデータ(ファイル)に記述しておき、別途、その内容を読み取りその内容に基づいてテストを実行する「EDS実行スクリプト」を準備して用いたことである。
このような構成によって、EDS及びデータ(ファイル)の内容を修正するだけで、テスト内容を容易に変更することができ、アプリケーションプログラムの動作テストを効率的に行うことが可能となる。
H−2.比較
以下、従来のテストスクリプトと、本実施の形態とを詳細に比較する。
従来のスクリプト:
自動テストツールにおいては、対象業務プロセスをテストスクリプトとして記録・作成し、それを自動再生することによって、繰り返しテストを行うことを可能としている。アプリケーション画面の改修が生じれば、テストスクリプトの修正が必要となり、スクリプト記録機能を用いて録りなおす(再記録を行う)か、又は、直接、利用者が手作業でスクリプトの修正を行う必要があった。
本実施の形態:
本実施の形態で説明するSTAR・TSTシステムにおいては、作成されたテスト仕様書に基づいて、EDSの実行コマンドとデータとをEDSファイルに記録する。アプリケーション画面の改修が生じた場合は、EDSファイル上の画面改修分のEDS実行コマンドとそれに対応するデータとを修正するだけで基本的には対応することが可能である。
画面の改修の場合は、EDS中にそのデータが記述されている場合が多いと考えられるが、繰り返しテスト等の場合は、データを外部のファイルで持つ場合もある。外部のデータファイルを持つ場合は、データのみが記載されているので、改修すべきデータを見つけて改修することは容易である。
H−3.EDSファイル
実際のEDSファイルをコンピュータ画面に表示した場合の様子を示す説明図が図6に示されている。
本実施の形態におけるEDSファイルの特徴的な事項の一つは、テスト仕様書の部分(左部)と、テスト内容を記述する部分(右部)と、の2部から構成されていることである。さらに、テスト仕様書の部分と、内容を記述する部分とは互いに対応しながら記述されている。従って、テスト仕様を確認しながら、その右側を見ることによってその具体的なテスト動作の記述を確認することが可能である。
本実施の形態では、テスト仕様を左部に記し、テスト内容を右部に記したが、左右はどちらでもかまわず、この記載の左右が逆の記載であっても同様の作用・効果を奏する。
図6中、A、B、C列は、いわばテスト仕様書に相当する部分であり、D列以降は、テストの内容が記載されている。このように、本実施の形態におけるEDSファイルは、単なるテストの内容だけでなく、仕様書としての役割も果たしているため、利用者が読みやすく、且つ、その内容を把握し易いという効果を有する。図6の例で言えば、まず、A列には、テストケース番号が記載されている。また、B列では、試験項目、実験項目が記載されている。さらに、C列では、操作概要が記載されている。
そして、図6中、D列以降は、具体的なテストの内容が記述されている。D列では、実行コマンドが記述されているが、その内容は後に詳述する。また、E列以降は、入力データ部であり、隣り合った2個のセルが、対象オブジェクトと実行データと、を組で設定している。また、このEDSファイル中のスクリプトは、便宜上5行目から読み込みが開始される。
図7には、EDSのデータ部のサンプル(テスト内容を記述する部分)を表す説明図が示されている。このサンプルは、D列以降を取り出したものである。まず、1行目は、実行コマンド「AT」が記述されており、対象のフォームにアタッチすることが記述されている。2行目は、エディットボックス「A」に「999(異常値)」を設定することが記述されている。また、3行目には、ポップアップのメッセージIDがエラー値E00002との一致を確認することが記述されている。また、4行目には、エディットボックス「A」に「100」を設定し、保存ボタンを押下(正常終了)する旨が記述されている。
なお、図8には、キャプチャによって取得された画面内のオブジェクトを表す説明図が示されている。上述したVisualNavigator等で動作記録を取った場合(キャプチャした場合)に、記録の一環としてオブジェクトの情報が記録される。
また、図9には、本実施の形態における自動テストの実行の様子を示す説明図が示されている。この図に示すように、本実施の形態においても従来と同様に「Testpartner」を用いて自動テストを実行するが、その実行対象が、EDS実行スクリプトである点で従来技術と顕著に相違する。
つまり、従来の「テストスクリプト」に変えて、「EDS実行スクリプト」を実行するように構成したことが、本実施の形態に置いて特徴的な事項の一つである。このEDS実行スクリプトは、上述したEDSファイルを読み取り、その中に記述されている実行コマンドやデータに基づき、テストを実行していくのである。
すなわち、本実施の形態では、テスト動作を記述した従来のテストスクリプトの代わりに、汎用的なEDS実行スクリプトを実行したのである。そして、テストの具体的な内容はEDSファイル中に記述したのである。つまり、EDS実行スクリプトは、EDSファイルを読み込み、そこに記載されているテスト内容を実行していくのである。
このような構成によれば、テスト内容に変更が生じても、対応するEDSファイルの内容を変更するだけで、テスト内容の変更に対応することが可能である。その結果利用者の負担が減少し、より効率的な自動テストを実行することが可能となったものである。なお、データについては、上述のようにEDSファイル中に記述することも好適であるが、外部にデータファイルを準備しておくことも好適である。
I.EDSファイルの詳細
以下、EDSファイルの内容について、製造業向けの生産管理システムなどのアプリケーションプログラムを例に挙げて、詳細に説明する。
I−1.はじめに
製造業向けの生産管理システムなどのアプリケーションプログラムのテスト作業を実施するに際して、上述した自動テストツール「TestPartner」(以下、TPと略称する)を使用する。
まず、TPでテストを実行する際に使用するテストデータの作成方法を説明する。本実施の形態で説明するデータ作成方法は、データファイルを変更するだけで、一度作成したスクリプトは一切変更しないでよいというメリットを有するものである。さらに、記述規則が明確に定義されているので、当業者であれば理解し易いというメリットも有する。
I−2.基本的な表の構成
テストデータとして作成する表、すなわちEDSファイルのうち、単発実行用のEDSファイルは既に図6において説明した通りのものである。一方、テストの連続実行用のEDSファイルの様子が図10に示されている。この図に示すように、連続実行の場合は、単発実行用とは異なり、単発実行用のファイル名を実行したい順番で第1列(図10ではA列)に記入してある。
上述したように、EDS実行スクリプトが、このEDSファイルを読み込み、単発実行用のEDSファイルであれば、そこに記載されているテスト内容に基づきテストを実行する。連続実行用のEDSファイルの場合は、そこに記載されている単発用のEDSファイルを順次実行していく。
I−3.スクリプトの基本動作
さて、スクリプトは最初の実行フラグがら読み込みを開始し、実行フラグに従って一行ずつ処理を実行していく。ここで、実行フラグとは、実行コマンドと同じ意味である。なお、最初の実行フラグは、本実施の形態では、便宜上5行目D列から始まるものとしているが(図6参照)、原理的にはどこが最初でもかまわない。
以下、各実行フラグにおいてどのような処理がなされるのかを説明していく。
(1)実行フラグ「↓」
実行フラグ「↓」の記述様式が図11(1)に記載されている。この実行フラグの動作は、その行は無視して次の行に移るという動作である。テストデータにコメントを入れる場合等に利用される。
(2)実行フラグ「AT」
実行フラグ「AT」の記述様式が図11(2)に記載されている。この実行フラグの動作は、対象Aをアタッチするという動作である。アタッチとは、対象オブジェクト(主にフォーム)を決定し、テストパートナーに処理対象を宣言することを言う。ウィンドウ(フォーム)が切り替わる毎に、その都度指定する必要がある。
(3)実行フラグ「F」
実行フラグ「F」の記述様式が図11(3)に記載されている。
対象Aにフォーカスがある場合は、「成功」、無い場合は「失敗」を返却する。結果はログファイルにも出力される。対象オブジェクトのフォーカスの有無について試験したい場合に利用することが好適である。
(4)実行フラグ「COMP」
実行フラグ「COMP」の記述様式が図11(4)に記載されている。
この図において、対象Aの内容とデータAの内容が一致する場合は「成功」、一致しない場合は、「失敗」を返却する。データAの前に!を付した場合は、不一致の確認となり、返却する結果は逆となる。また、結果はログファイルにも出力される。データの比較を行いたい場合に利用することが好適である。
(5)実行フラグ「ROWCOMP」
実行フラグ「ROWCOMP」の記述様式が図11(5)に記載されている。
この図において、対象A(Gridオブジェクト)の全行数とデータAとを比較し、内容が一致する場合は「成功」、一致しない場合は、「失敗」を返却する。また、結果はログファイルにも出力される。
(5)−1
実行フラグ「ROWCOMP」の記述例の1が図12(1)に記載されている。
この図においては、後述する実行データ「ROW」で取得した全行数と現在の行数とが比較される。
(5)−2
実行フラグ「ROWCOMP」の記述例の2が図12(2)に記載されている。
この図においては、「ROW」で取得した全行数+1と現在の行数とが比較される。新規登録時等に利用することが好適である。
(5)−3
実行フラグ「ROWCOMP」の記述例の3が図12(3)に記載されている。
この図においては、「ROW」で取得した全行数−1と現在の行数とが比較される。削除時等に利用することが好適である。
(5)−4
実行フラグ「ROWCOMP」の記述例の4が図12(4)に記載されている。
この図においては、「FST」が利用されており、これによって、現在の選択行が先頭行か否かが確認される。
(5)−5
実行フラグ「ROWCOMP」の記述例の5が図12(5)に記載されている。
この図においては、「LST」が利用されており、これによって、現在の選択行が最終行か否かが確認される。
(5)−6
実行フラグ「ROWCOMP」の記述例の6が図12(6)に記載されている。
この図においては、「LBL」が利用されており、これによって、画面に表示されている全行数(xx/全行数)と現在の行数とが比較される。このフラグは、画面中に行数表示が無い場合には使用することはできない。
(6)実行フラグ「POPCOMP」
実行フラグ「POPCOMP」の記述様式が図13(1)に記載されている。
このPOPCOMPは、図13(1)の対象A(ポップアップウィンドウ)に対して実行データ(データA)の処理を行う。なお、ポップウィンドウへのアタッチ及び元のウィンドウへのアタッチは自動的に実行される。各実行データの例が図13(2)〜に描かれている。
(6)−1
実行フラグ「POPCOMP」のデータ例の1が図13(2)に記載されている。
この図においては、対象A(ポップアップウィンドウ)の「はい」ボタンを押下する。「はい」ボタンがない場合は、使用することはできない。
(6)−2
実行フラグ「POPCOMP」のデータ例の2が図13(3)に記載されている。
この図においては、対象A(ポップアップウィンドウ)の「いいえ」ボタンを押下する。「いいえ」ボタンがない場合は、使用することはできない。

(6)−3
実行フラグ「POPCOMP」のデータ例の3が図13(4)に記載されている。
この図においては、対象A(ポップアップウィンドウ)の「OK」ボタンを押下する。「OK」ボタンがない場合は、使用することはできない。

(6)−4
実行フラグ「POPCOMP」のデータ例の4が図13(5)に記載されている。
この図においては、これまで述べたデータ例以外の例が示されており、対象A(ポップアップウィンドウ)に表示されるメッセージIDとデータAとを比較し、一致する場合はポップアップに表示されたメッセージを、一致しない場合は、「失敗」をログファイルに出力する。エラー時のメッセージIDを試験するために用いられる。
(7)実行フラグ「GRIDCOMP」
実行フラグ「GRIDCOMP」の記述様式が図14(1)に記載されている。
このGRIDCOMPは、対象A(データグリッド)に対象列から検索を行い、結果をいログファイルに出力する。データAには「対象列!検索ワード」設定する。
例えば、品名の列(2列目)から製品1を検索する場合は「2!製品1」と設定する。
(8)実行フラグ「DBCOMP」
実行フラグ「DBCOMP」の記述様式が図14(2)に記載されている。
このDBCOMPは、いわゆるSQL文で、対象テーブルの該当レコードを指定し、そのレコードの対象項目と期待値(データA)とを比較し、内容が一致しない場合、または検索されない場合は、「失敗」を返す。その結果は。ログファイルに出力される。なお、該当レコードが一件となるように絞り込んで使用する。
例えば、以下のようにして用いる。
SQLサンプル select*from(テーブル名)where(検索条件)
select*from M_CUSTOMER
where name_w = ”得意先 705”
(9)実行フラグ「DBSQL」
実行フラグ「DBSQL」の記述様式が図14(3)に記載されている。
このDBSQLは、指定したいわゆるSQL文を実行するものである。
例えば、以下のようにして用いる。
SQLサンプル updates(テーブル名)set(変更内容)
where(変更対象条件)
update 商品表 set 単価 = 2500
where 商品コード = ”0004”
(10)実行フラグ「→」
実行フラグ「→」の記述様式が図15(1)に記載されている。
この図15(1)の実行フラグ「→」は、対象Aに対して実行データ(データA)の処理を行う。さらに、次のデータ(対象BとデータB)を同時に実行し、データ空欄になるまでスクリプトを連続実行する。複数の入力処理や様々な処理を行うときに使用することが好適である。各実行データの例が図15(2)〜(6)、図16(1)〜(5)に描かれている。
(10)−1
実行フラグ「→」のデータ例の1が図15(2)に記載されている。
この図においては、データが「→」である場合の例が示されている。この場合は、処理を行わず、次の対象Bへの処理へ移る。これは、入力データの列を揃える場合等に仕様得ることが好適である。
(10)−2
実行フラグ「→」のデータ例の2が図15(3)に記載されている。
この図においては、対象Aをクリックする動作が実行される。ボタンを押下した時、ラジオボタン選択時等に使用することが好適である。なお、ラジオボタンは、選択する方の項目IDを対象Aとして設定する。
(10)−3
実行フラグ「→」のデータ例の3が図15(4)に記載されている。
この図においては、対象Aの内容を退避バッファに保存する。後にバッファのデータを活用することができるので、データを別の用途に用いたい場合に有用である。
(10)−4
実行フラグ「→」のデータ例の4が図15(5)に記載されている。
この図においては、対象A(Gridオブジェクト)の現在の全行数を取得する。これは、実行フラグ「ROWCOMP」の実行前に使用することが好適である。
(10)−5
実行フラグ「→」のデータ例の5が図15(6)に記載されている。
この図においては、対象A(ポップアップウィンドウ)の内容を検証せずに、クローズする。なお、アタッチは自動的に実行される。
(10)−6
実行フラグ「→」のデータ例の6が図16(1)に記載されている。
この図においては、取得データをログファイルに出力する。ここで、出力される情報は、「実行エクセルファイル名」「実行エクセル行」「アタッチ名」、「オブジェクト名」「退避バッファ情報」、であり、対象となるアプリケーションプログラムのデバッグにおおいて有用な情報を提供することができる。
(10)−7
実行フラグ「→」のデータ例の7が図16(2)に記載されている。
この図においては、スクリーンショットが保存される。
(10)−8
実行フラグ「→」のデータ例の8が図16(3)に記載されている。
この図においては、「ファイル出力」ボタンを押下し、データを保存する。「ファイル出力」ボタンがない場所では使用することはできない。この図において、対象Aにはファイル保存時に表示されているダイアログのアタッチ名を指定する。
例えば、以下のように記述する。
部門マスタ検索画面の場合 → Window(”部門マスタ検索ファイル出力 Window”)
(10)−9
実行フラグ「→」のデータ例の9が図16(4)に記載されている。
この図においては、対象Aに対するアタッチが行われる。実行フラグの「AT」と同様である。
(10)−10
実行フラグ「→」のデータ例の10が図16(5)に記載されている。
この図においては、画面のメニューから項目名を選択します。階層間は半角「~」で区切る。例えば、以下のように記述する。
編集メニューからコピーを選ぶ場合 → 項目名「編集(E)~コピー(C)」
(10)−11
実行フラグ「→」のデータ例の11が図17(1)に記載されている。
この図においては、指定日で指定した日にシステム日付を変更する。単独実行の最後に自動的に実行日へ戻す。また、指定日に「TODAY」と記述すると、実行日をすることができる。例えば、以下のように記述する。
2000年元旦にする場合 → ”2008/01/01”
スクリプトを実行した日が2008/04/01であれば、実行後に自動的に戻る。
(10)−12
実行フラグ「→」のデータ例の12が図17(2)に記載されている。
この図においては、ファイルのコピーが行われる。ファイル名は、コピー元ファイル名とコピー先ファイル名(既存ファイルと重複しないもの)をパス込みで併記して指定する。2個のファイル名の区切りは、半角の「|」を使用する。例えば、以下のように記述する。
Log.txtをコピーする場合
”C:¥TestPartner¥Log.txt |
C:¥TestPartner¥Logcopy.txt
(10)−13
実行フラグ「→」のデータ例の13が図17(3)に記載されている。
この図においては、ファイル名で指定したファイルを削除する。
(10)−14
実行フラグ「→」のデータ例の14が図17(4)に記載されている。
この図においては、対象Aのオブジェクトが存在するか、又は、活性化しているかを判定し、その結果をログファイルに出力する。
(10)−15
実行フラグ「→」のデータ例の15が図18(1)に記載されている。
この図においては、対象A(Gridオブジェクト)に対して処理を行う。対象行、対象列に「BUFF」と記述すると、退避バッファの値が代入される。また、対象行に「NOW」と記述すると現在指定している行が代入される。
これを読み込む場合は、「!CELL,(対象行),(対象列)」の形で記述する。例えば、1行2列目のセルを読み込む動作は、以下の通りとなる。
!CELL,1,2
但し、読み込みデータは退避バッファに格納する。
また、書き込む場合は、「!CELL,(対象行),(対象列),データ」の形で記述する。例えば、2行3列目のセルに「100」と入力する場合は、
!CELL2,3,100
と記述する。
セルの中のを操作するにはデータに「!ON」「!OFF」の形で記述する。例えば、3行3列目のセルのあるチェックボックスをONにするには、
!CELL,3,3,!ON
と記述する。
セルの内容と期待値とを比較する場合は、データに「!COMP,比較データ」の形で記述する。その結果はログ(ログファイル)に出力される。例えば、1行1列目のセルの内容が「ABC」であるかどうかを確認するには、
!CELL,1,1,!COMP,ABC
と記述する。また、指定セルを選択する場合は、データに「!SLCT」の形で記述する。例えば、3行1列目を選択するには、
!CELL,3,1,!SLCT
と記述する。
(10)−16
実行フラグ「→」のデータ例の16が図18(2)に記載されている。
この図においては、対象A(構成マスタの構成図)に対して処理を行う。検索ワードのある行を選択する場合は、「!OBJ,(検索ワード)、」と記述する。検索ワードはユニークな値を用いる必要がある。
(10)−17
実行フラグ「→」のデータ例の17が図18(3)に記載されている。
この図においては、対象AにデータAを書き込む。なお、対象がコンボボックスの場合は選択肢のインデックスを指定する。対象がチェックボックスの場合は、チェックするときは「1」、チェックを外すときは「0」を指定する。また、対象がタブコントロールの場合は、データAのタブが選択される。
(構成マスタの構成図)に対して処理を行う。検索ワードのある行を選択する場合は、「!OBJ,(検索ワード)、」と記述する。検索ワードはユニークな値を用いる必要がある。
I−4. 注意事項
(1)テストの実行に必要となるので、テスト用の所定の名称のフォルダを作成しておくことが好ましい。例えばログファイルはこのフォルダにTP_LOG.txtというファイル名で出力することが好ましい。作成したテストデータを格納したファイルもこのフォルダに格納しておくことが好適である。テストデータを格納したファイルも、表形式で構成しておくことが好ましい。行番号と、列番号とで、データの位置を指定し易くなるためである。例えばマイクロソフト社のEXCEL等のファイル形式を利用することが好適である。
また、上記フォルダの下に、画像を保管するための「JPG」フォルダや、データを保管するための「CSV」フォルダを設けておくことが好適である。例えば、テストの途中のスクリーンショットなどの画像データを上記「JPG」フォルダに格納し、テストの中間値データを、上記「CSV」フォルダに格納することなどが好適である。
(2)対象オブジェクト名は、画面オブジェクト一覧等を参照して選択する。
(3)規定の実行フラグ、実行データは、全て大文字のアルファベットで記述することがわかりやすさの点から好ましいが、内容が明らかであれば、小文字や記号が含まれていても良い。
(4)空欄(NULL)のデータを入力したい場合は、「!NULL」と記述する。
(5)退避バッファのデータを使用する場合は、「!BUFF」と記述する。
(6)本実施の形態では、実行フラグがD列、データ開始行が5行目である例を示したが、目的・用途に応じてどこから記載してもかまわない。
(7)本実施の形態では、従来のテストスクリプトの実行に変えて、EDS実行スクリプトが、EDSファイル中に記述されたテスト内容を実行する。そのため、EDSファイルの名称は重要である。
したがって、本実施の形態において、スクリプトの実行を行うと、上記EDS実行スクリプトが参照するEDSファイル名が必要となる。そこで、この使用するEDSファイル(エクセルファイル)名を求めるダイアログが表示される。利用者はこのダイアログに対して、実行したいテスト内容を記述したEDSファイルのファイル名を入力する。
次に、本実施の形態におけるテストシステムにおいては、指定されたファイル名のEDSファイルが連続実行用のファイルか否かを聞くダイアログを表示する。もし、指定したファイル名が連続実行用のファイルであれば、利用者が、「YES」を選択(例えばクリック)し、単発実行用であれば、「NO」を選択する必要がある。なお、単発実行用のファイルであった場合は、EDSファイル中のどの行から開始するかその開始行を指定するためのダイアログが表示されるので、適宜、利用者は所望の行番号を入力する。なお、このダイアログにおいて、デフォルト値は「5」であり、そのまま「OK」ボタンをクリックすれば、その5がそのまま入力される。他の行から始めたい場合は、デフォルト値の5を適宜他の値に変更してから「OK」ボタンをクリックすることが好ましい。
I−5.サンプルデータの一例
図19には、サンプルデータの好適な一例が示されている。この図は、上述したEDSファイル中のD列以降、H列までの例である。また、この図には、第5行から8行までが描かれている。
まず、第1行目には、対象のフォームにアタッチする旨のフラグ及びその対象物の項目等が記述されている。EDS実行ファイルは、この内容を読みとって、対象のフォームにアタッチすることを自動的に実行する。このような自動的に実行することによって、テストを自動的に行うことが可能である。
次に、第2行目には、エディットボックス「A」に、「999(異常値)」を設定し、保存ボタンを押下する。これはエラーのポップアップを自動的に出させるという主旨がある。つまり、エラーポップアップのテストである。
また次に、第3行目には図に示すようにポップアップのメッセージIDがE000002と一致するか否かが確認される。
第4行目には、エディットボックス「A」に「100」を設定し、保存ボタンを押下し、正常終了することを表している。
J. 従来のテストスクリプトと、本実施の形態のEDSファイルとの相違。
上述したように、本実施の形態において特徴的なことは、従来のテストスクリプトを、EDS実行ファイルと、EDSファイルとで代替したことである。特に、EDSファイルは、テーブル形式(表形式)を採用しており、そのテストの動作内容が容易に理解することができる。
以下、このEDSファイルと、従来のテストスクリプトとを具体的に比較してその相違を詳細に説明する。
J−1. EDSファイルと従来のテストスクリプト
まず、図20には、経費の計算のアプリケーションプログラムの動作テストのためのEDSファイル(1−1)と、従来のテストスクリプト(1−2)とが示されている。
このテストは、経費入力画面の入力と、その結果を確認するシナリオに基づき行われる。このテストの具体的なテスト事例のテスト手順シナリオとしては、次のような手順を想定している。
(a)支出内容にアタッチ
(b)実施日の入力
(c)行き先・訪問先入力
(d)用件選択
(e)用件内容入力
(f)交通費入力(電車:1000円、タクシー:1200円、→小計2200円
このような内容に基づき、EDSファイルを構成すれば、上記1動作がほぼ1行の動作記述に相当する。
本来、EDSファイルは、図20において左側の3列がテスト仕様書としての役割を果たしており、そのテスト仕様書の内容をその右側の各行に記述していった形式を採用する。したがって、その各行の動作は、テスト仕様書の各動作、利用者の各動作に対応したものであり、かつ、並んで配置されているため、その対応が一目瞭然である。
これに対して、従来のテストスクリプトは、典型的には、コンピュータの動作を記録したプログラムである。例えばVBA等のプログラム言語で記述されたものであり、コンピュータの動作が記録されている。このプログラムを実行すれば、当然記録された動作と土曜の動作を再現することが可能である。このように従来のテストスクリプトはコンピュータの動作の記録をしているものであるから、使用者の動作毎、シナリオに記載された各動作毎の記述とは成らずに、より細かい(いわゆるより低レベルの動作)の記述が続いている。
したがって、EDSファイルの方がよりシナリオに記述された各概念に近い上位概念を記述しているので、全体の量が少なくすることが可能である。さらに、テスト仕様書の動作に対応して記述されているので、どのような動作が記述されているのかを一目瞭然に知ることが可能である。
J−2.テスト結果の確認の追加
次に、小計金額の表示値と、期待値との比較を上記図20に追加する。
追加した図が、図21に示されている。図21(2−1)は、試験項目として、計算チェックが設けられ、操作概要として結果表示の比較が記されている。これらがテスト仕様書としての役割を果たしている。更にそれら「仕様書」の右側にはコマンド「COMP」や、対象オブジェクト、及び、入力値が記載されており、これらに基づき、各動作を実行することが可能である。
一方、従来のテストツールでは、チェック比較の、ツールに依存したチェック設定が可能であるが、図21の例ではVBAによる判定ルーチンを追加してある(図21(2−2)参照)。
結局の所、従来のテストスクリプトは、一般的なコンピュータ言語であり、新しく、値の比較、及び、その結果の表示のためのルーチンを作成して、原プログラムに挿入されている(図21参照)。
J−3.データ追加・ボタン操作の追加テスト
次に、データの追加と、ボタン操作の追加の例を説明する(図22)。
追加した図が、図22に示されている。図22(3−1)には、図21に対して試験項目として、ボタンを押下するという動作が付け加えられ、かつ、実施日や、行き先等のデータの追加がなされている様子が示されている。
一方、図22(3−2)には、従来のテストスクリプトに対して、同様にボタン操作等を追加した例が示されている。
このように、従来のテストスクリプトにおいては、ボタン操作の追加のために2行追加されるが、EDSファイル形式によれば、「ボタンを押す」という項目に対応したコマンドを1行追加するだけで、テスト内容の調整が可能である。
J−4.データベースへの更新内容の確認
次に、外部のデータベースのレコードの更新内容の確認等を追加する例を説明する(図23)。
まず、図23(4−1)には、EDSファイルの例が示されている。EDS形式において、データベースに書き込まれたデータをチェックするロジックが準備されているので、そのロジックに基づいたコマンドと、比較データとをEDSファイルに追加するだけで、外部のデータベースの交信内容の確認作業をテストに含めることができる。
一方、図23(4−2)には、従来のテストスクリプトに対して、同様にデータベースの更新内容を確認する動作を追加した様子を示す説明図が示されている。この図に示されているように、まず、データベースの読み込みチェックのルーチンを作成する必要がある。その上で、モジュールのデータベースチェックを行う箇所に、この新たに作成したルーチンをコールする文を挿入する。
このような動作によって、従来のテストスクリプトにおいては、新たにサブルーチンを作成し、且つ、テストプログラムから読み出し(コール)を行う必要があるが、EDSファイルによれば対応するコマンドと比較データとを入れるだけで、データベースの更新内容を確認するテストを容易に実行することが可能である。
J−5.チェック対象項目の追加又は削除
次に、テストにおけるチェック対象項目(画面オブジェクト)の追加、削除の例を説明する(図24)。
まず、図24(5−1)には、EDSファイルの例が示されている。図24に記載されているとおり、支出内容入力2が、支出内容入力2’に変わる例を説明する。この場合、図24(5−1)の通り、
行先・訪問先入力が、目的選択に変更
用件選択が、目的内容入力に変更
用件内容入力が、利用店名入力に変更
交通費等入力が、属性選択、出席者・区分選択、出席者・会社名入力、出席者・姓入力、出席者・名入力、出席者・属性選択、合計人数入力、支出金額入力に変更
このような、項目の削除、追加を反映し、図24(5−1)に記載の通り、項目が適宜「削除」「追加」されている。各画面オブジェクトが1行に対応するため、削除された項目、追加された項目が極めてわかりやすい。
一方、図24(5−2)には、従来のテストスクリプトに対して、同様にチェック対象項目(画面オブジェクト)を追加、削除した例が示されている。この図に示されているように、EDSファイルの場合と同様に、各オブジェクト毎に。削除・追加が行われることになる。
J−6.テストの開始時期
本実施の形態の手法によれば、従来の方式よりより早くテストを開始することができ、開発期間の短縮化を図ることができる。図26には、その様子を説明する説明図が示されている。
この図に示すように、TestPartner(TP)のみ使用した場合の作業の流れでは、プログラムの開発の後、プログラムの改修の段階から画面操作等のTPスクリプトの取得が行われる。そして、このTPスクリプトによる繰り返しテストの実施が行われる。
一方、本実施の形態のEDSを使用した場合の作業の流れでは、プログラム開発の段階から、テスト仕様書の作成及びEDSの作成が開始される。そのため、プログラムの改修と共にEDSを実行することができ、早期にテストを開始することができる。
すなわち、設計・プログラム仕様書作成後にプログラム開発と並行してEDSの作成をおこなうことができる。TestPartnerのみ使用した場合のようにスクリプトを取得することがなく、すぐにテストを開始することができるので、極めて効率的にテストをすすめることが可能である。
K.変形例・応用例
(1)上述した実施の形態では、エクセルのデータフォーマットを用いたEDSファイルを利用したが、テーブル形式・表形式であれば、他の形式のフォーマットを用いることも好適であり、同様の作用・効果を奏する。
(2)また、EDSファイルは、一般的にはコンピュータ内部のハードディスク等に記録しておくことが好ましいが、各種半導体メモリや、各種光学式ディスク・磁気ディスク記録媒体に記録しておくことも好適である。コンピュータがこれら記録媒体に記録されたEDSファイルを適宜読み出して利用する。
(3)また、EDSファイルは、本請求の範囲のスクリプト実行情報の好適な一例に相当する。
(4)本実施の形態のEDS実行スクリプトは、例えばVBAで記述されるが、他の言語で記述されていても良い。いずれの場合もコンピュータがこのEDS実行スクリプトを実行することによって、EDSファイルの内容を読み出し、そこに記載されているテストを実行していく。
(5)EDS実行スクリプトは、一般的にはコンピュータ内部のハードディスク等に記録しておくことが好ましいが、各種半導体メモリや、各種光学式ディスク・磁気ディスク記録媒体に記録しておくことも好適である。コンピュータがこれら記録媒体に記録されたEDS実行スクリプトを実行すると、EDSファイルの内容を読み出してそこに記載されているテストを順次実行していく。
(6)また、EDS実行スクリプトは、請求の範囲のインタプリタスクリプトの好適な一例に相当する。
10 準備段階
12 記録段階
14 修正段階
16 再生段階
18 結果ログ段階
20 要件定義
22 設計作業
24 PG開発
26 設計・PG修正
30 テスト計画
32 テスト仕様書
34 テストデータ作成
36 EDS作成
38 結合テスト実施
40 EDS改修
42 システムテスト実施

Claims (6)

  1. アプリケーションプログラムをテストする方法において、
    テストの内容に基づき、テスト実行のための情報であるスクリプト実行情報を作成するスクリプト実行情報作成ステップと、
    インタプリタスクリプトが、前記スクリプト実行情報を読み出し、その内容に基づいて前記アプリケーションプログラムの動作をテストするテストステップと、
    を含むことを特徴とするアプリケーションプログラムをテスト方法。
  2. 請求項1記載のアプリケーションプログラムをテストする方法において、
    前記スクリプト実行情報は、テーブル形式で記述されていることを特徴とするアプリケーションプログラムをテストする方法。
  3. 請求項1又は2に記載のアプリケーションプログラムをテストする方法において、
    前記スクリプト実行情報は、
    テストの試験項目及び操作内容を記述した仕様部と、テスト動作を記述したデータ部と、から成ることを特徴とするアプリケーションプログラムをテストする方法。
  4. 請求項1又は2に記載のアプリケーションプログラムをテストする方法において用いられる前記スクリプト実行情報を格納した記録媒体において、
    前記スクリプト実行情報は、
    テストの試験項目及び操作内容を記述した仕様部と、テスト動作を記述したデータ部と、から成ることを特徴とするスクリプト実行情報を記録した記録媒体。
  5. 請求項1〜3記載のいずれか1項に記載のアプリケーションプログラムをテストする方法において、
    前記スクリプト実行情報は、マイクロソフト社のエクセルのデータファイルとして作成されていることを特徴とするアプリケーションプログラムをテストする方法。
  6. コンピュータに、請求項1記載のアプリケーションプログラムをテストする方法中のテストステップを実行させるプログラムにおいて、
    前記コンピュータに、
    前記スクリプト実行情報を読み出させる読み出し手順と、
    前記読み出した前記スクリプト実行情報中からフラグを読み出し、そのフラグの内容に基づきテスト動作を実行する手順と、
    を実行させることを特徴とするプログラム。
JP2009067469A 2009-03-19 2009-03-19 アプリケーションプログラムをテストする方法及びプログラム及び記録媒体 Pending JP2010218496A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009067469A JP2010218496A (ja) 2009-03-19 2009-03-19 アプリケーションプログラムをテストする方法及びプログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009067469A JP2010218496A (ja) 2009-03-19 2009-03-19 アプリケーションプログラムをテストする方法及びプログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2010218496A true JP2010218496A (ja) 2010-09-30

Family

ID=42977220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009067469A Pending JP2010218496A (ja) 2009-03-19 2009-03-19 アプリケーションプログラムをテストする方法及びプログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP2010218496A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101521803B1 (ko) * 2013-09-03 2015-05-21 한국전자통신연구원 모바일 애플리케이션의 보안성 검증을 위한 이벤트 발현 장치 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250882A (ja) * 1993-02-26 1994-09-09 Hitachi Ltd プログラムテスト実行方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250882A (ja) * 1993-02-26 1994-09-09 Hitachi Ltd プログラムテスト実行方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101521803B1 (ko) * 2013-09-03 2015-05-21 한국전자통신연구원 모바일 애플리케이션의 보안성 검증을 위한 이벤트 발현 장치 및 그 방법
US9336398B2 (en) 2013-09-03 2016-05-10 Electronics And Telecommunications Research Institute Apparatus and method for manifesting event to verify security of mobile application

Similar Documents

Publication Publication Date Title
US11126543B2 (en) Software test automation system and method
US9104810B2 (en) Creating a test case
US8347267B2 (en) Automated software testing and validation system
US7490319B2 (en) Testing tool comprising an automated multidimensional traceability matrix for implementing and validating complex software systems
US20090193391A1 (en) Model-based testing using branches, decisions , and options
US20090313606A1 (en) System and Method for Testing a Software Product
JP5703195B2 (ja) プログラムの新旧バージョンに対する差分比較テストシステム及びテスト方法
US20050229045A1 (en) Method and device for managing software error
US11514237B2 (en) Spreadsheet and method for updating same
CN112131116A (zh) 一种嵌入式软件自动化回归测试方法
US8392892B2 (en) Method and apparatus for analyzing application
Barton Talend open studio cookbook
JP2010218496A (ja) アプリケーションプログラムをテストする方法及びプログラム及び記録媒体
JP3464159B2 (ja) テスト仕様書作成装置およびそのプログラムを格納した記憶媒体
JP5504212B2 (ja) テストケース自動生成システム、テストケース自動生成方法、およびテストケース自動生成プログラム
KR20060079690A (ko) 템플릿과 패턴을 이용한 컴포넌트 기반의 프로그래밍 자동화 방법
JPH06110733A (ja) プログラムのテストケース生成装置
CN117687681B (zh) 一种低代码应用的版本管理方法及系统
US10229750B2 (en) Memory management architecture for use with a diagnostic tool
US20230108676A1 (en) Scenario management device, scenario management method, and a computer-readable recording medium recording a program causing a computer to function as the scenario management device
JP2004362495A (ja) エラーログ情報解析支援方法及び実施装置並びに処理プログラム
CN117369801A (zh) 一种系统二次开发方法、装置、设备及介质
JP2007156863A (ja) 情報処理方法及びシステム及びプログラム
MXPA06004919A (en) Testing tool comprising an automated multidimensional traceability matrix for implementing and validating complex software systems
JP2010026589A (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120110