(57)【要約】【課題】多くの情報から完成度の高いチェックリストを作成することを課題とする。【解決手段】本発明は、画面上で操作を行うアプリケーションのテストを行う際に使用するチェックリストを作成するチェックリスト作成装置(08003)であって、ランダムテストが行われたときの画面状態と操作とに関するデータである操作記録を収集する操作記録取得部と、ランダムテスト中のアプリケーションに関する画面状態および操作ごとのテスターによる肯定的評価および否定的判定のいずれかの評価を受け付ける評価受付部と、収集した操作記録に関して、所定の情報単位ごとに、画面状態、操作、評価のいずれも一致する情報が２つ以上ある場合は、それらの情報を１つにまとめて結果記入済みチェックリストを作成する結果記入済みチェックリスト作成部と、を備える。【選択図】図８
2011215982.tif 000002
【特許請求の範囲】
【請求項１】
画面上で操作を行うアプリケーションのテストを行う際に使用するチェックリストを作成するチェックリスト作成装置であって、
テスト項目を事前に定めずに作業者であるテスターの判断で行う場当たり的なテストであるランダムテストが行われたときの画面状態と操作とに関するデータである操作記録を収集する操作記録取得部と、
前記ランダムテスト中のアプリケーションに関する画面状態および操作ごとの前記テスターによる肯定的評価および否定的判定のいずれかの評価を受け付ける評価受付部と、
収集した前記操作記録に関して、所定の情報単位ごとに、画面状態、操作、評価のいずれも一致する情報が２つ以上ある場合は、それらの情報を１つにまとめて結果記入済みチェックリストを作成する結果記入済みチェックリスト作成部と、を備える
ことを特徴とするチェックリスト作成装置。
【請求項２】
前記アプリケーションのプログラムであるテスト対象プログラムの情報を解析し、前記結果記入済みチェックリストに不足しているテスト項目を列挙した結果記入前チェックリストを作成する結果記入前チェックリスト作成部を、さらに、備える
ことを特徴とする請求項１に記載のチェックリスト作成装置。
【請求項３】
前記結果記入済みチェックリストにおいて、操作前の画面状態と操作とが同じであるのに、その後の画面状態および評価の少なくともいずれかが異なっているものを異常な結果として強調表示する異常結果強調部を、さらに、備える
ことを特徴とする請求項１または請求項２に記載のチェックリスト作成装置。
【請求項４】
画面上で操作を行うアプリケーションのテストを行う際に使用するチェックリストを作成するチェックリスト作成装置によるチェックリスト作成方法であって、
前記チェックリスト作成装置は、操作記録取得部と、評価受付部と、結果記入済みチェックリスト作成部と、を備えており、
前記操作記録取得部は、テスト項目を事前に定めずに作業者であるテスターの判断で行う場当たり的なテストであるランダムテストが行われたときの画面状態と操作とに関するデータである操作記録を収集し、
前記評価受付部は、前記ランダムテスト中のアプリケーションに関する画面状態および操作ごとの前記テスターによる肯定的評価および否定的判定のいずれかの評価を受け付け、
前記結果記入済みチェックリスト作成部は、収集した前記操作記録に関して、所定の情報単位ごとに、画面状態、操作、評価のいずれも一致する情報が２つ以上ある場合は、それらの情報を１つにまとめて結果記入済みチェックリストを作成する
ことを特徴とするチェックリスト作成方法。
【請求項５】
コンピュータを請求項１に記載のチェックリスト作成装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面上で操作を行うアプリケーションのテストを行う際に使用するチェックリストの作成に関する。
【背景技術】
【０００２】
近年、ソフトウェアのユーザーインターフェース(以下、「ＵＩ」と称する。)の開発が盛んに行われている。ＵＩとは、ソフトウェアの機能の１つで、ユーザーと情報をやり取りする機能のことである。ＵＩとして、例えば、ユーザーに情報を表示する機能やユーザーのデータ入力を受け付ける機能がある。
【０００３】
ＵＩ開発のテスト工程において、チェックリストと呼ばれる文書が用いられることがある。チェックリストとは、テストの実行方法やその確認結果などを記述する文書である。ここで、チェックリストを用いた従来のテストの流れについて、図７を参照して説明する。従来、結果記入前チェックリスト(07007(符号07007。以下同様に表記))の作成は、例えば、次の３種類の方法で行われている。
【０００４】
作成方法１：
作業者１(07004)が、仕様書(07002)と、その仕様書(07002)に書かれていないが作業者１の頭の中の仕様情報(07001)とから、結果記入前チェックリスト(07007)を作成する。前提として、ＵＩの仕様を仕様書(07002)に漏れなく記述するのは非常に困難である。例えば、ＵＩは画面の表示位置/画面のサイズによって動作が異なる可能性があり、その全ての場合について仕様書(07002)に記述するのは困難である。そこで、作業者１(07004)は、仕様書(07002)の記述不足部分を頭の中の仕様情報(07001)で補って、結果記入前チェックリスト(07007)を作成する。
【０００５】
作成方法２：
コンピュータシステムであるシステム２(07005)が、仕様書(07002)に基づいて結果記入前チェックリスト(07007)を自動作成する(特許文献１参照)。
【０００６】
作成方法３：
コンピュータシステムであるシステム３(07006)が、テスト対象プログラム(07003)のソースコードや実行ファイルに基づいて結果記入前チェックリスト(07007)を自動作成する(特許文献２参照)。
【０００７】
このようにして上記のいずれかの作成方法により作成された結果記入前チェックリスト(07007)を用いて、テスターである作業者２(テスター)(07008)が実際に計算機(07011)にロードされたプログラムを操作(07015)して表示された操作結果の表示(07010)を確認することでテストが行われる。または、コンピュータシステムであるシステム４のテスト自動化プログラム(07009)によってテストが行われる。
【０００８】
なお、結果記入済みチェックリスト(07014)は、作業者３(07013)がテスト結果(07012)を確認しながら作成する。また、作業者３(07013)は作業者２(テスター)(07008)と同一の場合もある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−５２７０３号公報
【特許文献２】特開平７−２１０４２４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、前記した作成方法１〜３にはそれぞれ次の問題がある。
【００１１】
作成方法１：
人的作業であるため多くの工数がかかる。
【００１２】
作成方法２：
仕様書のみに基づいているため、仕様書に記述漏れがある場合には、不十分なチェックリストを作成してしまうことになる。そして、前記したように、ＵＩ仕様を仕様書に漏れなく記述するのは困難であるため、仕様書に記述漏れがある可能性は高い。
【００１３】
作成方法３：
テスト対象プログラムのみに基づいているため、テスト対象プログラムに不具合がある場合、不十分な、もしくは誤ったチェックリストを作成してしまう。そして、テスト対象プログラムは、テスト前のものであるため、不具合がある可能性は高い。
【００１４】
これらの問題は、大規模なＵＩ開発の場合に特に顕著となる。
そこで、本発明は、これらの問題に鑑みてなされたものであり、多くの情報から完成度の高いチェックリストを作成することを課題とする。
【課題を解決するための手段】
【００１５】
前記課題を解決するために、本発明は、画面上で操作を行うアプリケーションのテストを行う際に使用するチェックリストを作成するチェックリスト作成装置であって、テスト項目を事前に定めずに作業者であるテスターの判断で行う場当たり的なテストであるランダムテストが行われたときの画面状態と操作とに関するデータである操作記録を収集する操作記録取得部と、ランダムテスト中のアプリケーションに関する画面状態および操作ごとのテスターによる肯定的評価および否定的判定のいずれかの評価を受け付ける評価受付部と、収集した操作記録に関して、所定の情報単位ごとに、画面状態、操作、評価のいずれも一致する情報が２つ以上ある場合は、それらの情報を１つにまとめて結果記入済みチェックリストを作成する結果記入済みチェックリスト作成部と、を備えることを特徴とする。その他の手段については後記する。
【発明の効果】
【００１６】
本発明によれば、多くの情報から完成度の高いチェックリストを作成することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態の全体構成図である。
【図２Ａ】図１中のエージェントプログラムのさらに詳しい構成を表す図である。
【図２Ｂ】図１中のテスト用エージェント計算機の２次記憶装置のさらに詳しい構成を表す図である。
【図２Ｃ】図１中のサーバプログラムのさらに詳しい構成を表す図である。
【図２Ｄ】図１中の管理用サーバ計算機の２次記憶装置のさらに詳しい構成を表す図である。
【図３】ランダムテストの操作記録を格納するテーブルである。
【図４】チェックリストの条件となる、状態情報を格納するテーブルである。
【図５】チェックリストを作成するために加工した操作記録を格納するテーブルである。
【図６】結果記入済みチェックリストを格納するテーブルである。
【図７】従来技術を使用した場合のテストの流れを表す図である。
【図８】チェックリスト作成装置を使用した場合のテストの流れを表す図である。
【図９】操作記録収集の動作おけるデータの流れを表す図である。
【図１０】操作記録から冗長データを除く例を表す図である。
【図１１】操作記録から結果記入済みチェックリスト(強調済み)と結果記入前チェックリスト(未テスト分)を作成する例を表す図である。
【図１２】テスト開始の動作におけるデータの流れを表す図である。
【図１３】操作記録作成の動作におけるデータの流れを表す図である。
【図１４】操作記録収集の動作におけるデータの流れを表す図である。
【図１５】サーバプログラムの動作内容を表す図である。
【図１６】操作記録取得部・作成部の処理を表す図である。
【図１７】結果記入済みチェックリスト作成部の処理を表す図である。
【図１８】イベント解析部の処理の流れを表す図である。
【図１９】評価受付部の処理の流れを表す図である。
【図２０】操作記録作成部の処理の流れを表す図である。
【図２１】結果記入前チェックリスト(未テスト分)作成部の処理の流れを表す図である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態について、図面を参照しながら説明する。まず、図８を参照して、本実施形態の概要について説明する。なお、図７の場合と同じ構成には同じ符号を付している。また、画面上で操作を行うアプリケーションのテストを行うテスターの選定は、そのアプリケーションに詳しい者や、逆に詳しくない者、または、それらの組み合わせなど、アプリケーションごとにその性質等を考慮して適宜行えばよい。
【００１９】
図８に示すように、テスターである作業者２(テスター)(07008)が仕様書(07002)及び頭の中の仕様情報(07001)を基にチェックリストなしで行ったランダムテスト操作の入力(08001)と、操作結果の表示(07010)を基に作業者２(テスター)(07008)が入力した評価とコメントの入力(08002)に基づいて、チェックリスト作成装置(08003。図１のテスト用エージェント計算機01100および管理用サーバ計算機01200に相当)が結果記入済みチェックリスト(08004)を自動で作成する。なお、ランダムテストとは、テスト項目を事前に定めずに作業者２(テスター)(07008)の判断で行う場当たり的なテストのことである。その際、大まかなテスト観点だけを事前に定めてもよい。
【００２０】
このように、チェックリスト作成装置(08003)におけるチェックリストを作成するための入力は、ランダムテスト操作の入力(08001)と評価とコメントの入力(08002)である。これらの入力情報には、仕様書(07002)だけでなく頭の中の仕様情報(07001)が反映されている。従って、多くの情報から完成度の高いチェックリストを作成することができる。
【００２１】
また、テスト対象プログラム(07003)をチェックリスト作成装置(08003)に入力することで、結果記入済みチェックリスト(08004)を使用して結果記入前チェックリスト(テスト漏れ分)(08005)を自動で作成することもできる。これにより、より多くの情報からより完成度の高いチェックリストを作成することができる。以下、本実施形態について詳細に説明する。
【００２２】
まず、図１、図２Ａ、図２Ｂ、図２Ｃ、図２Ｄを参照して、本実施形態の構成について説明する。本実施形態の複数のテスト用エージェント計算機(01100)と管理用サーバ計算機(01200)は、ネットワーク(01300)を介して接続されている。
【００２３】
テスト用エージェント計算機(01100)の内部では、主記憶装置(01101)、ＣＰＵ(01109)、キーボード/マウス(01110)、ディスプレイ(01111)、２次記憶装置(01112)、ネットワークインターフェース(01116)がバス(01108)で接続されている。ネットワークインターフェース(01116)は、ネットワーク(01300)に接続している。
【００２４】
主記憶装置(01101)は、テスト対象プログラム(実行状態)(01102)、エージェントプログラム(01103)、ＯＳ(Operating System)(01107)を記憶している。
エージェントプログラム(01103)(図２Ａ参照)は、開始命令実行部(01104)、操作記録取得部・作成部(01105)(操作記録取得部)、操作記録送信部(01106)で構成される。
操作記録取得部・作成部(01105)は、イベント解析部(02101)、画面情報取得部(02102)、評価受付部(02103)、操作記録作成部(02104)で構成される。
【００２５】
２次記憶装置(01112)(図２Ｂ参照)は、テスト対象プログラム(01113)、設定情報(01114)、操作記録(01115)を記憶している。なお、テスト対象プログラム(01113)とは、テスト対象となるプログラムの実行ファイルとソースコードである。
【００２６】
設定情報(01114)は、テスト対象プログラム情報(02201)、マシン情報(02202)、テスター情報(02203)で構成される。
テスト対象プログラム情報(02201)が記録する項目は、テスト対象プログラム(01113)の実行ファイルへのパス、プログラム名、テスト対象プログラム(実行状態)(01102)のプロセスＩＤ(identifier)を含む。また、それ以外の項目(例えば、テスト対象プログラム(01113)のバージョンなど)をユーザーが追加・削除できる。
【００２７】
マシン情報(02202)が記録する項目は、マシン名とＭＡＣアドレスを含む。それ以外の項目(例えば、テスト用エージェント計算機(01100)のＯＳ名など)をユーザーが追加・削除できる。
テスター情報(02203)が記録する項目は、ユーザーが追加・削除できる。例えばランダムテストの作業者２(テスター)(07008)のテスター名などである。
【００２８】
管理用サーバ計算機(01200)の内部では、テスト用エージェント計算機(01100)と同様に、主記憶装置(01201)、ネットワークインターフェース(01210)、ＣＰＵ(01211)、キーボード/マウス(01212)、ディスプレイ(01213)、２次記憶装置(01214)がバス(01209)で接続されている。ネットワークインターフェース(01210)は、ネットワーク(01300)に接続している。
【００２９】
主記憶装置(01201)は、サーバプログラム(01202)とＯＳ(01208)を記憶している。
２次記憶装置(01214)(図２Ｄ参照)は、テスト対象プログラム(01215)、設定情報(01216)、操作記録(01217)、中間作成物(01218)、結果記入済みチェックリスト(強調済み)(01219)、結果記入前チェックリスト(未テスト分)(01220)を記憶している。テスト対象プログラム(01215)は、テスト用エージェント計算機(01100)のテスト対象プログラム(01113)と同じものである。
【００３０】
設定情報(01216)は、テスト対象プログラム情報(02401)、収集規則(02402)、作成実行規則(02403)、状態名定義規則(02404)、チェックリスト構成規則(02405)、マージ規則(02406)、強調表示規則(02407)で構成される。
テスト対象プログラム情報(02401)が記録する項目は、テスト対象プログラム(01215)のソースファイルへのパス、プログラム名を含む。それ以外の項目(例えば、テスト対象プログラム(01215)のバージョンなど)をユーザーが追加・削除できる。
【００３１】
収集規則(02402)とは、管理用サーバ計算機(01200)がネットワーク(01300)を通じてテスト用エージェント計算機(01100)の操作記録(01115)を収集する際の収集する時間や範囲を定義した情報である。例えば、次の内容が定義された情報である。
【００３２】
１：いつ操作記録(01115)の収集を開始するか。
２：どのテスト用エージェント計算機(01100)から操作記録(01115)を収集するか。
３：いつ作成された操作記録(01115)を収集するか。
４：操作記録(01115)のうちどの項目を収集するか。
【００３３】
これらの値の例は次の通りである。
１：毎日１７：００
２：全てのエージェント
３：収集開始日時から２４時間以内
４：全ての項目
なお、これらの値は変更することができる。
【００３４】
作成実行規則(02403)とは、管理用サーバ計算機(01200)がテスト用エージェント計算機(01100)から収集した操作記録(01217)を用いて、いつチェックリストを作成し始めるかを定義した情報である。例えば、収集規則に従った操作記録(01115)の収集が完了した直後と定義することができる。
【００３５】
状態名定義規則(02404)とは、状態情報(03500)(図３参照)に記録する状態名(03501)(図３参照)とその状態名を付ける条件を定義した情報である。例えば、次のような情報である(以下、図４も参照)。
【００３６】
状態名は、アルファベットの大文字を順次付ける。
同一の状態名を付ける条件は、状態情報のうち、次の全てが同一であること。
・全ての画面情報(04300)のＩＤ(04301)とステータス(04302)
・画面が持つ全てのＵＩ情報(04305)のＩＤ(04306)とステータス(04307)
これらの規則は変更することができる。
【００３７】
チェックリスト構成規則(02405)とは、管理用サーバ計算機(01200)が作成するチェックリストの構成を定義した情報で、次の３つ全てを定義する。
１：操作記録(01217)のうち、どの情報を表示するか。
２：何回の連続した操作を示すか。
３：何の情報を追加するか。
【００３８】
値の例は次の通りである(図３と図４も参照)。
１：項目名          値
操作前の状態    状態名(03501)とスクリーンショット(04200)
Ｎ番目の操作    操作(03701)
操作後の状態    状態名(03801)とスクリーンショット(04200)
評価            評価(03601)
マシン名        マシン名(03301)
最終確認日時    状態情報(03800)の取得日時(04100)
これらの値の詳細は図３と図４で説明する。
２：１回
３：項目名  値                      位置
♯      順次番号を振る          「操作前の状態」の上
確認    ○、未テスト分では空欄  「操作後の状態」と「評価」の間
これらの値は変更することができる。上記値例を適用したチェックリストの例は、図６で説明する。
【００３９】
マージ規則(02406)とは、分解部(02303)で分解した操作記録をマージ部(02304)でマージするとき、操作記録のどの部分が等しい場合にマージするかを定義した情報である。
【００４０】
強調表示規則(02407)とは、結果記入済みチェックリスト(02504)において異常結果とみなす条件と、異常結果をどのように強調するかを定義した情報である。前者は、例えば、テストの実行方法が同じであるのにその確認結果や評価が異なるという条件である。後者は、例えば、背景色や文字飾りなどを定義したものである。
【００４１】
中間作成物(01218)は、操作記録(状態名付与済み)(02501)、操作記録(分解済み)(02502)、操作記録(マージ済み)(02503)、結果記入済みチェックリスト(02504)、画面情報・ＵＩ情報(02505)で構成される。
【００４２】
サーバプログラム(01202)(図２Ｃ参照)は、操作記録受信部(01203)、結果記入済みチェックリスト作成部(01204)、異常結果強調部(01205)、テスト対象プログラム解析部(01206)、結果記入前チェックリスト(未テスト分)作成部(01207)で構成される。
結果記入済みチェックリスト作成部(01204)は、作成命令実行部(02301)、状態名付与部(02302)、分解部(02303)、マージ部(02304)、整形部(02305)で構成される。
【００４３】
次に、操作記録(01115)の詳細な構造について説明する。図３に示すように、操作記録(01115)は、操作記録を識別するためのＩＤ(03100)、テスト対象プログラム情報(03200)、マシン情報(03300)、テスター情報(03400)、状態情報(03500)、評価情報(03600)、操作情報(03700)、状態情報(03800)、評価情報(03900)で構成される。操作情報(03700)、状態情報(03800)、評価情報(03900)は、３つでひとまとまりであり、ランダムテストの操作回数分繰り返す構成となる。
【００４４】
テスト対象プログラム情報(03200)には、テスト対象プログラム情報(02201)の内容が記録される。
マシン情報(03300)には、マシン情報(02202)の内容が記録される。つまり、マシン情報(03300)には、マシン名(03301)とＭＡＣアドレスやユーザーが追加した情報を含むマシン名以外の情報(03302)が含まれる。
【００４５】
テスター情報(03400)には、テスター情報(02203)の内容が記録される。つまり、テスター情報(03400)には、テスター名(03401)とユーザーが追加した情報を含むテスター名以外の情報(03402)が含まれる。
状態情報(03500)には、ランダムテスト開始前におけるテスト対象プログラム(実行状態)(01102)が表示している画面についての情報が記録される。状態情報(03500)の内容として、状態名(03501)とユーザーが追加した情報を含む状態名以外の情報(03502)が含まれる。
【００４６】
評価情報(03600)には、状態情報(03500)に対して作業者２(テスター)(07008)(図８参照)が下した評価についての情報が記録される。評価情報(03600)は、評価(03601)、評価理由(03602)、評価記録日時(03603)が含まれる。
【００４７】
評価(03601)には、肯定的評価と否定的判定の２種類のいずれかが記録される。
評価理由(03602)には、作業者２(テスター)(07008)がその評価(03601)を下した理由が記録される。
評価記録日時(03603)には、テスト用エージェント計算機(01100)が作業者２(テスター)(07008)による評価(03601)の入力を受け付けた日時が記録される。
【００４８】
操作情報(03700)には１回の操作についての情報が記録される。操作情報(03700)は、操作(03701)と操作実行日時(03702)で構成される。
操作(03701)には、テスト対象プログラム(実行状態)(01102)に対し作業者２(テスター)(07008)が行った１回の操作が記録される。
操作実行日時(03702)には操作(03701)の入力を受け付けた日時が記録される。
【００４９】
状態情報(03800)には、作業者２(テスター)(07008)によるテスト対象プログラム(実行状態)(01102)への操作(03701)後に、テスト対象プログラム(実行状態)(01102)が表示している画面についての情報が記録される。その構成は、初期の状態情報(03500)と同様である。
【００５０】
操作後の評価情報(03900)には、操作後の状態情報(03800)に対して作業者２(テスター)(07008)が下した評価についての情報が記録される。その構成は、初期の評価情報(03600)と同様である。
【００５１】
操作情報(03700)、状態情報(03800)、評価情報(03900)は、３つでひとまとまりであり、作業者２(テスター)(07008)が行った操作順に、評価情報(03600)直後から操作記録(01115)の下部へ向かって記録される。１つ前の操作の操作後の状態は、次の操作の操作前の状態である。
【００５２】
次に、状態情報(03500)について説明する。なお、状態情報とは、テスト対象プログラム(実行状態)(01102)が表示している画面の状態についての情報である。
図４に示すように、状態情報(03500)は、状態名(03501)、状態情報の取得日時(04100)、スクリーンショット(04200)、画面情報(04300)で構成される。画面情報(04300)は、情報を取得する時点において、テスト対象プログラム(実行状態)(01102)が表示している画面の数だけ記録される。
【００５３】
状態名(03501)には、操作記録取得部・作成部(01105)において作成された状態情報の名前が記録される。
状態情報の取得日時(04100)には、その状態情報を取得した日時が記録される。
スクリーンショット(04200)には、その状態情報を取得する時点の画面のハードコピーが記録される。
【００５４】
画面情報(04300)には１つの画面についての情報が記録される。画面情報(04300)は、ＩＤ(04301)、ステータス(04302)、位置(04303)、サイズ(04304)、ＵＩ情報(04305)で構成される。ＵＩ情報(04305)は、その画面が持つＵＩの数だけ記録される。ＩＤ(04301)、ステータス(04302)、位置(04303)、サイズ(04304)には、ＯＳ(01107)から取得した、その画面のＩＤ、ステータス、位置、サイズがそれぞれ記録される。
【００５５】
ＵＩ情報(04305)には１つのＵＩについての情報が記録される。ＵＩ情報(04305)は、ＩＤ(04306)、ステータス(04307)、位置(04308)、サイズ(04309)で構成される。ＩＤ(04306)、ステータス(04307)、位置(04308)、サイズ(04309)には、ＯＳ(01107)から取得した、そのＵＩのＩＤ、ステータス、位置、サイズがそれぞれ記録される。
なお、操作記録(01217)と操作記録(状態名付与済み)(02501)の詳細な構造は、図３と図４で示した操作記録(01115)の構造と同じである。
【００５６】
次に、操作記録(分解済み)(02502)の詳細な構造について説明する。操作記録(分解済み)(02502)は、図３のテーブル(操作記録(01115))からチェックリスト構成規則(02405)に従って操作記録を分解したものである。図５に示すように、操作記録(分解済み)(02502)のデータ構造は図３のテーブル(操作記録(01115))と同じである。
【００５７】
ただし、操作情報(03700)、状態情報(03800)、評価情報(03900)は、作成するチェックリストで示す操作数Ｎ分繰り返す構成である。Ｎは任意の回数であり、チェックリスト構成規則(02405)の「２：何回の連続した操作を示すか。」で回数が定義される。
なお、操作記録(マージ済み)(02503)の詳細な構造は、図５で示した操作記録(分解済み)(02502)の構造と同じである。
【００５８】
次に、結果記入済みチェックリスト(02504)について説明する。チェックリストの構成は、チェックリスト構成規則(02405)で定義される。一例として、図６のようなマトリックス型のチェックリストの構成が定義されたとする。
【００５９】
図６に示すように、結果記入済みチェックリスト(02504)は、項番(06100)、操作前の状態(06200)、Ｎ番目の操作(06300)、操作後の状態(06400)、確認(06500)、評価(06600)、マシン名(06700)、最終確認日時(06800)で構成される。操作前の状態(06200)は、さらに、状態１(06201)、状態２(06202)などのように複数の状態を持つことができる。また、Ｎ番目の操作(06300)は、さらに、操作１(06301)、操作２(06302)などのように複数の操作を持つことができる。また、操作後の状態(06400)は、さらに、状態１１(06401)、状態１２(06402)などのように複数の状態を持つことができる。
【００６０】
#001や#002の列は、それぞれ１つのテストの実行方法とその確認結果を表す。操作前の状態(06200)、Ｎ番目の操作(06300)、操作後の状態(06400)がそれぞれ持つ複数の状態や操作の中で、各テストにおいてチェックする状態や操作は、図６の「チェックリストの例」に示すように、それぞれ「○」で示される。なお、Ｎ番目の操作(06300)のＮは任意の回数であり、チェックリスト構成規則(02405)で定義される。
【００６１】
また、結果記入済みチェックリスト(強調済み)(01219)と結果記入前チェックリスト(未テスト分)(01220)の詳細な構造は、図６で示した結果記入済みチェックリスト(02504)の構造と同じである。
【００６２】
次に、チェックリスト作成装置の動作を説明する。
まず、図９、図１０、図１１を参照して、動作の概要を説明する。
【００６３】
図９に示すように、最初に、チェックリスト作成装置は、作業者２(テスター)(07008)が実施したランダムテストの操作記録(01115)を収集する。この操作記録は、後に作成する結果記入済みチェックリスト(02504)の基となる情報である。
【００６４】
その後、作業者２(テスター)(07008)は、テスト用エージェント計算機(01100)上のテスト対象プログラム(実行状態)(01102)にランダムテストを実施する。また、作業者２(テスター)(07008)は、ランダムテスト中のテスト対象プログラム(実行状態)(01102)に対する評価を、評価受付部(02103)に入力できる。テスト用エージェント計算機(01100)は、ランダムテストの操作とその結果などを取得し、評価受付部(02103)に入力された評価情報とまとめて、操作記録(01115)を作成する。
【００６５】
管理用サーバ計算機(01200)は、操作記録(01115)を作成した複数のテスト用エージェント計算機(01100)から、操作記録(01115)を収集する。例えば、図９に示した操作記録(01217)が収集されたとする。なお、図９に示した操作記録(01217)は、図３で示した操作記録を簡略化して表現したものである。表示した情報は、マシン名(03301)、状態名(03501)、評価(03601)、操作(03701)、状態名(03801)、評価(03901)である。これら以外の情報は、図９での表示は省略したが、実際は存在する。
【００６６】
次に、チェックリスト作成装置は、収集した操作記録(01217)から、冗長な情報を削除する。これは、冗長な結果記入済みチェックリスト(02504)を作成するのを防ぐためである。複数の作業者２(テスター)(07008)が実施するランダムテストでは、重複したテストがなされている可能性がある。重複したテストは冗長な操作記録(01217)となり、冗長な操作記録(01217)は後に冗長な結果記入済みチェックリスト(02504)となってしまう。
【００６７】
これを、図１０を用いて説明する。なお、図１０に示す各種操作記録、すなわち、操作記録(01217)、操作記録(状態名付与済み)(02501)、操作記録(分解済み)(02502)、操作記録(マージ済み)(02503)は、図９と同様に簡略化して表現している。これら各種操作記録は、実際は、それぞれ既に説明した構造に従った情報を持っている。しかし、図１０で表示した情報は、マシン名(03301)、状態名(03501)、評価(03601)、操作(03701)、状態名(03801)、評価(03901)であり、これら以外の情報は、図１０での表示を省略した。
【００６８】
10100(操作記録(状態名付与済み)(10100)。以下同様に略記する。)は、操作記録(状態名付与済み)(02501)の１つである。10101と10102は、それぞれ操作記録(状態名付与済み)(10100)の一部分である。操作記録(状態名付与済み)(10100)の実際の構造は図３と同じである。
【００６９】
10101は、状態情報(03500)、評価情報(03600)、操作情報(03700)、状態情報(03800)、評価情報(03900)で構成される。しかし、図１０では、10101は簡略化して表現されており、状態名(03501)、評価(03601)、操作(03701)、状態名(03801)、評価(03901)しか表示していない。
【００７０】
10102は、状態情報(03800)、評価情報(03900)、２回目の操作情報(03700)、２回目の操作後の状態情報(03800)、２回目の操作後の状態に対する評価情報(03900)で構成される。しかし、図１０では、10102は簡略化して表現されており、状態名(03801)、評価(03901)、２回目の操作(03701)、２回目の操作後の状態情報の状態名(03801)、２回目の操作後の状態に対する評価(03901)しか表示していない。
【００７１】
なお、10201、10202、10203はそれぞれ操作記録(分解済み)(02502)の１つである。また、10301は操作記録(マージ済み)(02503)の１つである。
【００７２】
管理用サーバ計算機(01200)が収集した操作記録(01217)において、状態名は、状態情報の内容によらずに、全ての状態情報に順次的に付与された名前である。そこでまず、管理用サーバ計算機(01200)は、操作記録(01217)の状態情報の内容を参照し、同じ状態情報には同じ名前を付与しなおして、操作記録(状態名付与済み)(02501)を作成する。例えば、図１０の操作記録(01217)から、同図の操作記録(状態名付与済み)(02501)が作成されたとする。
【００７３】
次に、管理用サーバ計算機(01200)は、操作記録(状態名付与済み)(02501)を、チェックリストで必要な単位に分割し、操作記録(分解済み)(02502)を作成する。例えば、１回の操作のテストについてのチェックリストを作成するとき、図１０の操作記録(状態名付与済み)(10100)は、１回目の操作情報とその前後の状態情報・評価情報(10101)、と、２回目の操作情報とその前後の状態情報・評価情報(10102)、とに分解される。すなわち、操作記録(状態名付与済み)(10100)は、操作記録(分解済み)(10201)と操作記録(分解済み)(10202)とに分解される。
【００７４】
次に、管理用サーバ計算機(01200)は、操作記録(分解済み)(02502)の中で冗長な情報を１つにまとめ、操作記録(マージ済み)(02503)を作成する。例えば、２つの情報について、次の５つが全ての一致するとき、冗長な情報とみなし、１つにまとめるものとする。
【００７５】
・操作前の状態名(03501)
・操作前の状態情報の評価(03601)
・操作(03701)
・操作後の状態名(03801)
・操作後の状態情報の評価(03901)
【００７６】
図１０では、操作記録(分解済み)(10201)と操作記録(分解済み)(10203)が冗長な情報としてみなされ、操作記録(マージ済み)(10301)にまとめられる。
【００７７】
最後に、チェックリスト作成装置は、操作記録(マージ済み)(02503)から、結果記入済みチェックリスト(強調済み)(01219)と結果記入前チェックリスト(未テスト分)(01220)を作成する。これらを、図１１を用いて説明する。なお、図１１の操作記録(マージ済み)(02503)は、図９と同様に簡略化して表現している。
【００７８】
まず、管理用サーバ計算機(01200)は、操作記録(マージ済み)(02503)から、結果記入済みチェックリスト(02504)を作成する。次に、管理用サーバ計算機(01200)は、結果記入済みチェックリスト(02504)の異常結果を強調し、結果記入済みチェックリスト(強調済み)(01219)を作成する。ここでは、異常な結果が分かりやすくなるようにするために強調する。例えば、１回の操作についてのチェックリストを作成し、操作前状態と１回目の操作が同じでありながら、それ以外の項目が１つでも異なるチェックリストを、２つ目のチェックリストから強調するとする。図１１では、#002(11001)と#004(11002)とが異常結果として強調されている。
【００７９】
また、管理用サーバ計算機(01200)は、テスト対象プログラム(01215)を解析し、表示できる画面や操作できるＵＩの情報を取得し、それらの情報を結果記入済みチェックリスト(02504)と比較することで、結果記入前チェックリスト(未テスト分)(01220)を作成する。これは、テストのし忘れを防ぐために作成するものである。例えば、図１１の#005(11003)は、操作前状態Iに対してテスターが操作cをし忘れていた場合に作成されるチェックリストである。また、#006(11004)は、操作前状態Cに対してテスターが操作ｂをし忘れていた場合に作成されるチェックリストである。
【００８０】
以上説明した動作について、より具体的に説明する。以下では、動作を大きく４つの段階に分けて説明する。
(１)テスト開始
(２)操作記録作成
(３)操作記録収集
(４)チェックリスト作成
【００８１】
(１)テスト開始
図１２を参照して、チェックリスト作成装置の動作のうち、テスト開始の動作におけるデータの流れについて説明する。
【００８２】
１．  テスト用エージェント計算機(01100)内の開始命令実行部(01104)は、ユーザーからのテスト開始指示の入力(12001)を受け付ける。テスト開始指示の入力(12001)では、テストを開始する旨の入力とどのテスト対象プログラムについてテストするかの指定とが行われる。
【００８３】
２．  開始命令実行部(01104)は、テスト対象プログラム情報(02201)(図２Ｂ参照)から、指定されたテスト対象プログラム(01215)のソースファイルへのパス、プログラム名を取得する。
【００８４】
３．  開始命令実行部(01104)は、テスト対象プログラム(01113)を実行する命令(12002)を1ＯＳに出し、テスト対象プログラムを実行させる(テスト対象プログラム(実行状態)(01102)となる。)。この際、子プロセスで実行させるようにしておき、そのプロセスＩＤ(12003)を取得しておく。
【００８５】
４．  開始命令実行部(01104)は、取得したプロセスＩＤ(12003)をテスト対象プログラム情報(02201)(図２Ｂ参照)に追加し、２次記憶装置(01112)に保存する。
【００８６】
(２)操作記録作成
次に、図１３を参照して、チェックリスト作成装置の動作のうち、操作記録作成の動作におけるデータの流れについて説明する。
【００８７】
１．  ユーザーは、テスト用エージェント計算機(01100)にランダムテスト操作の入力(13001)を行い、テスト対象プログラム(実行状態)(01102)をランダムテストする。ランダムテスト操作の入力(13001)とは、キーボード/マウス(01110)で行う、テスト対象プログラム(実行状態)(01102)への操作入力のことである。
【００８８】
テスト対象プログラム(実行状態)(01102)は、ランダムテスト操作に応じた操作結果の表示(13002)をユーザーに対して行う。操作結果の表示(13002)とは、ランダムテスト操作に応じたテスト対象プログラム(実行状態)(01102)の画面表示のことである。
ユーザーは操作結果を受けて、さらにまた、ランダムテスト操作の入力(13001)を行っていく。
【００８９】
２．  操作記録取得部・作成部(01105)は、イベント(13004)、画面情報(04300)、スクリーンショット(04200)、評価とコメントの入力(13003)、テスト対象プログラム情報(02201)、マシン情報(02202)、テスター情報(02203)を取得し、操作記録(13005)を作成し、２次記憶装置の操作記録(01115)に保存する。詳しくは、図１６で説明する。
【００９０】
(３)操作記録収集
図１４を参照して、チェックリスト作成装置の動作のうち、操作記録収集の動作におけるデータの流れについて説明する。
【００９１】
１．  管理用サーバ計算機(01200)内の操作記録受信部(01203)は、２次記憶装置(01214)から収集規則(02402)を取得しておく。
【００９２】
２．  操作記録受信部(01203)は、取得した収集規則(02402)に従い、テスト用エージェント計算機(01100)内の操作記録送信部(01106)に向けて、ネットワーク(01300)を通じて、送信要求(14001)を送信する。送信要求(14001)とは、テスト用エージェント計算機(01100)内の操作記録送信部(01106)が管理用サーバ計算機(01200)内の操作記録受信部(01203)に、収集規則(02402)に応じた操作記録(01115)を送信するように要求する命令である。
【００９３】
３．  テスト用エージェント計算機(01100)内の操作記録送信部(01106)は、送信要求(14001)を受け付ける。
【００９４】
４．  操作記録送信部(01106)は、受け付けた送信要求(14001)に応じた操作記録(01115)を２次記憶装置(01112)から取得する。
【００９５】
５．  操作記録送信部(01106)は、その操作記録(01115)を、管理用サーバ計算機(01200)内の操作記録受信部(01203)に向けて、ネットワーク(01300)を通じて、送信する。
【００９６】
６．  管理用サーバ計算機(01200)内の操作記録受信部(01203)は、操作記録(01115)を受信し、２次記憶装置(01214)の操作記録(01217)に保存する。
【００９７】
(４)チェックリスト作成
次に、図１５を参照して、チェックリスト作成装置の動作のうち、操作記録収集の動作におけるデータの流れについて説明する。
【００９８】
結果記入済みチェックリスト作成部(01204)は、作成実行規則(02403)を基に操作記録(01217)から結果記入済みチェックリスト(02504)を作成する処理を行う。この内容については図１７で説明する。
【００９９】
異常結果強調部(01205)は、結果記入済みチェックリスト(02504)から強調表示規則(02407)に従って否定的判定が入力されたり、操作者によって異なるテスト結果となったりした箇所に対して強調表示の状態を設定する処理である。強調表示の状態を設定した結果は結果記入済みチェックリスト(強調済み)(01219)として２次記憶装置(01214)に保存される。
【０１００】
テスト対象プログラム解析部(01206)は、結果記入済みチェックリスト(02504)とテスト対象プログラム(01215)とテスト対象プログラム情報(02401)とから、画面情報・ＵＩ情報(02505)を作成する。画面情報とは、テスト対象プログラム(01215)が持つ全ての画面などである。ＵＩ情報とは、テスト対象プログラム(01215)が持つ全画面の全てのＵＩなどの情報である。画面情報・ＵＩ情報(02505)は結果記入前チェックリスト(未テスト分)作成部(01207)によって使用される。
【０１０１】
結果記入前チェックリスト(未テスト分)作成部(01207)は、チェックリスト構成規則(02405)、結果記入済みチェックリスト(02504)、画面情報・ＵＩ情報(02505)から結果記入前チェックリスト(未テスト分)(01220)を作成する処理を行う。この内容については図２１で説明する。
【０１０２】
次に、操作記録取得部・作成部(01105)の詳細な動作を説明する。操作記録取得部・作成部(01105)は、開始命令実行部(01104)の実行により起動される。図１６に示すように、このとき、操作記録取得部・作成部(01105)は、テスト対象プログラム(実行状態)(01102)のプロセスＩＤ(12003)を取得する。
【０１０３】
作業者２(テスター)(07008)(図８参照)はテスト対象プログラム(実行状態)(01102)に対し、ランダムテスト操作を行う。テスト対象プログラム(実行状態)(01102)はこれによりイベント(13004)を発生させる。また、テスト対象プログラム(実行状態)(01102)は画面の内容を変更する。
【０１０４】
イベント解析部(02101)(図２Ａ参照)は、イベント(13004)を基にトリガーイベント情報(16003)を更新することと、実行命令(16002)を画面情報取得部(02102)へ送ることと、記録対象イベント情報(16001)を操作記録作成部(02104)に渡すことを行う。これらの処理の内容については図１８で説明する。
【０１０５】
なお、記録対象イベントとは、テスト対象プログラム(実行状態)が発生元のイベントのうち、トリガーイベントと操作イベントを指す。トリガーイベントとは、発生により画面の再描画が発生して画面状態が変わるイベントを指す。操作イベントとは、作業者２(テスター)(07008)が行ったテスト対象プログラム(実行状態)(01102)に対する操作を表すイベントを指す。
【０１０６】
イベント解析部(02101)は、記録対象イベントにＩＤを付与する。記録対象イベント情報(16001)とは、記録対象イベントについてＯＳが発する情報と付与したＩＤを合わせた情報である。トリガーイベント情報(16003)とは、最新のトリガーイベントについてＯＳが発する情報と付与したＩＤを合わせた情報である。
【０１０７】
画面情報取得部(02102)は、起動すると、トリガーイベント発生時において、テスト対象プログラム(実行状態)(01102)が表示している全ての画面の画面情報(04300)と、テスト対象プログラム(実行状態)(01102)のスクリーンショット(04200)とを取得し、これらを基に状態情報(03800)を作成する。そのとき、状態名(03501)(図３参照)は、状態情報の内容によらずに、重複しないように、全ての状態情報に順次的に付与される。
【０１０８】
また、画面情報取得部(02102)は、トリガーイベント情報(16003)を取得する。画面情報取得部(02102)は、作成した状態情報(03800)をトリガーイベント情報(16003)に関連付けて、操作記録作成部(02104)に送る。状態情報(03800)の内容については図４で説明した通りである。
【０１０９】
作業者２(テスター)(07008)(図８参照)は、ランダムテストの最中に行ったテスト対象プログラム(実行状態)(01102)の操作結果に対して、評価とコメントの入力(13003)を行うことができる。
【０１１０】
評価受付部(02103)は、評価とコメントの入力(13003)を受け付け、これを基に評価情報(03900)を作成する。また、評価受付部(02103)は、トリガーイベント情報(16003)を取得する。評価受付部(02103)は、作成した評価情報(03900)をトリガーイベント情報(16003)に関連付けて、操作記録作成部(02104)に送る。この処理の内容については図１９で説明する。
【０１１１】
評価は肯定的判定と否定的判定の２種類があり、否定的な判定だけ入力できるものとする。入力がない場合、肯定的判定とする。作業者２(テスター)(07008)がテスト中におかしいと感じたときに、否定的判定を入力する。
【０１１２】
操作記録作成部(02104)では、記録対象イベント情報(16001)、状態情報(03800)、評価情報(03900)から操作記録(01115)を作成する。この処理の内容については図２０で説明する。操作記録(01115)の内容については、図３で説明した通りである。
【０１１３】
次に、結果記入済みチェックリスト作成部(01204)の詳細な動作を説明する。結果記入済みチェックリスト作成部(01204)は、チェックリスト作成装置(08003)(図８参照)が起動したときに待機状態となっている。
【０１１４】
図１７に示すように、結果記入済みチェックリスト作成部(01204)にある作成命令実行部(02301)は、作成実行規則(02403)で定義されたタイミングで処理を開始する。作成実行規則(02403)はいつでも変更することができ、変更のたびに作成命令実行部(02301)は作成実行規則(02403)を読み込む。
【０１１５】
作成命令実行部(02301)は、実行命令(17001)を発行して状態名付与部(02302)を起動する。状態名付与部(02302)は、操作記録(01217)と状態名定義規則(02404)を取得する。そして、状態名付与部(02302)は、状態名定義規則(02404)に従い、操作記録(01217)中の状態情報(03500)(図３参照)や状態情報(03800)(図３参照)に状態名(03501)や状態名(03801)を付与する。その際、状態名定義規則(02404)により、同一の状態となるものには同一の名前を付与する。状態名を付与した操作記録は中間作成物(01218)の操作記録(状態名付与済み)(02501)として保持される。
【０１１６】
次に、分解部(02303)が操作記録(状態名付与済み)(02501)を、例えば、操作前状態、１つの操作、操作後状態というまとまりを１つの単位として分解する。分解の単位は、図５で説明した通りである。作成するチェックリストで示す操作数Ｎが、分解の単位を決定するのに必要である。分解部(02303)は、チェックリスト構成規則(02405)から、Ｎを取得する。操作記録(状態名付与済み)(02501)に記録されている操作数が、Ｎより小さい場合、足りない分は「何もしない」操作で調整する。分解した操作記録(状態名付与済み)(02501)は、中間作成物(01218)の操作記録(分解済み)(02502)として保持される。
【０１１７】
次に、マージ部(02304)が操作記録(分解済み)(02502)をマージ規則(02406)に従ってマージする。マージとは、複数の操作記録(分解済み)(02502)を１つにまとめることである。ユーザーはランダムテストで同じ操作をしていることが多々あり、この処理により、不要な冗長情報を排除する。マージした操作記録(分解済み)(02502)は、中間作成物(01218)の操作記録(マージ済み)(02503)として保持される。
【０１１８】
次に、整形部(02305)が操作記録(マージ済み)(02503)をチェックリスト構成規則(02405)に従ってチェックリストに整形する。チェックリストは例えば以下の構成となる。
(１)操作前の状態
(２)１つのコンソール操作
(３)操作後の状態
(４)操作後の状態に対する判定結果
(５)確認したかどうか
(６)最新の判定日時
【０１１９】
整形部(02305)は、操作記録(マージ済み)(02503)から上記構成の項目のデータを取り出し、整列する。作成されるチェックリストにおいて(５)は常に「確認済み」になる。整形したチェックリストは、中間作成物(01218)の結果記入済みチェックリスト(02504)として保持される。
【０１２０】
次に、イベント解析部(02101)の詳細な動作を説明する。図１８に示すように、イベント解析部(02101)は、処理が開始するとテスト対象プログラム情報(02201)から、テスト対象プログラム(実行状態)(01102)のプロセスＩＤ(12003)を取得する(ステップ18001)。
【０１２１】
次に、イベント解析部(02101)は、このプロセスＩＤ(12003)を用いてＯＳ(01107)から発生するイベントの中からテスト対象プログラム(実行状態)(01102)が発生元であるイベントを取得する(ステップ18002)。続いて、イベント解析部(02101)は、取得したイベントが記録対象であるかを判定し(ステップ18003)、記録対象である場合(Ｙｅｓ)、そのイベントが画面情報取得のトリガーとなるイベントかどうかを判定する(ステップ18004)。イベントが記録対象でない場合(ステップ18003でＮｏ)、再度、ステップ18002の処理を行う。
【０１２２】
イベントが画面情報取得のトリガーとなるイベントである場合(ステップ18004でＹｅｓ)、イベント解析部(02101)は、操作記録取得部・作成部(01105)が持つトリガーイベント情報(16003)(図１６参照)にこのイベントを記録する(更新する)(ステップ18005)。次に、イベント解析部(02101)は、画面情報取得部(02102)に実行命令(16002)を送る(ステップ18006)。
【０１２３】
イベントが画面情報取得のトリガーとなるイベントでない場合(ステップ18004でＮｏ)、及びステップ18006の処理の後、イベント解析部(02101)は、イベントの情報を記録対象イベント情報(16001)として、操作記録作成部(02104)に渡す(ステップ18007)。
【０１２４】
次に、イベント解析部(02101)は、イベントがプログラム終了イベントであるか判定し(ステップ18008)、プログラム終了イベントの場合(Ｙｅｓ)、処理を終了し、プログラム終了イベントでない場合(Ｎｏ)、再度、ステップ18002の処理を行う。
【０１２５】
次に、評価受付部(02103)の詳細な動作を説明する。図１９に示すように、評価受付部(02103)は、処理が開始すると、ユーザーによる評価とコメントの入力(13003)を受け付ける(ステップ19001)。続いて、評価受付部(02103)は、ユーザーの入力があるかどうか判定し(ステップ19002)、入力がある場合(Ｙｅｓ)、入力日時をＯＳ(01107)から取得し、評価とコメントの入力(13003)の内容と合わせて評価情報(03900)を作成し、また、イベント解析部(02101)がステップ18005で記録したトリガーイベント情報(16003)を取得し、作成した評価情報(03900)をトリガーイベント情報(16003)に関連付けて、操作記録作成部(02104)に渡し(ステップ19003)、その後、再度、ステップ19001の処理を行う。なお、操作記録作成部(02104)に渡された評価情報(03900)は、操作記録(01115)に記録される。
【０１２６】
ステップ19002の処理で入力がない場合(Ｎｏ)、評価受付部(02103)は、テスト終了命令が出ているか判定し(ステップ19004)、出ている場合(Ｙｅｓ)、処理を終了し、出ていない場合(Ｎｏ)、再度、ステップ19001の処理を行う。なお、テスト終了命令とは、チェックリスト作成装置(08003)を用いたテストを終了するときに、動作している様々な処理を終了するために、チェックリスト作成装置(08003)内で出る命令である。
【０１２７】
次に、操作記録作成部(02104)の詳細な動作を説明する。図２０に示すように、操作記録作成部(02104)は、処理が開始すると、テスト対象プログラム(実行状態)(01102)が終了するまでに発生する全ての記録対象イベント情報(16001)(図１６参照)を受け取り、操作記録作成部(02104)が内部で保持するイベントキューに蓄積する。また、操作記録作成部(02104)は、発生したトリガーイベントに対応する状態情報(03800)と評価情報(03900)を操作記録作成部(02104)に保持する(ステップ20001)。
【０１２８】
次に、操作記録作成部(02104)は、ＩＤを生成し、設定情報(01114)からテスト対象プログラム情報(02201)、マシン情報(02202)、テスター情報(02203)を取得する(ステップ20002)。次に、操作記録作成部(02104)は、イベントキューが空であるかどうか判定し(ステップ20003)、空の場合(Ｙｅｓ)、自身が保持する操作記録を２次記憶装置(01112)に操作記録(01115)として保存し(ステップ20004)、処理を終了する。空でない場合(ステップ20003でＮｏ)、操作記録作成部(02104)は、イベントキューから記録対象イベント情報(16001)を１つ取り出す(ステップ20005)。
【０１２９】
操作記録作成部(02104)は、ステップ20005で取り出したイベントがトリガーイベントかどうか判定し(ステップ20006)、トリガーイベントでない場合(Ｎｏ)、自身が保持する操作記録内で一番新しい状態情報(03800)を再び自身が保持する操作記録に記録する(ステップ20007)。その際、状態情報(03800)がない場合、空の状態情報(03800)を記録する。
【０１３０】
さらに、操作記録作成部(02104)は、記録対象イベント情報(16001)を操作情報(03700)に整形して自身が保持する操作記録に記録する(ステップ20008)。そして、ステップ20003の判定を再び行う。
【０１３１】
ステップ20006の判定において取り出したイベントがトリガーイベントである場合(ステップ20006でＹｅｓ)、操作記録作成部(02104)は、トリガーイベントに関連する状態情報(03800)と、トリガーイベントに関連する評価情報(03900)のうち最新のものとを、自身が保持する操作記録に記録する(ステップ20009)。その際、関連する状態情報(03800)がない場合は空の状態情報(03800)を記録する。また、関連する評価情報(03900)がない場合は空の評価情報(03900)を記録する。
【０１３２】
続いて、操作記録作成部(02104)は、イベントキューが空であるかどうか判定し(ステップ20010)、空の場合(Ｙｅｓ)、自身が保持する操作記録を２次記憶装置(01112)に操作記録(01115)として保存し(ステップ20004)、処理を終了する。空でない場合(ステップ20010でＮｏ)、操作記録作成部(02104)は、イベントキューから記録対象イベント情報(16001)を１つ取り出す(ステップ20011)。
【０１３３】
次に、操作記録作成部(02104)は、取り出したイベントがトリガーイベントかどうか判定し(ステップ20012)、トリガーイベントでない場合(Ｎｏ)、記録対象イベント情報(16001)を操作情報(03700)に整形して自身が保持する操作記録に記録する(ステップ20008)。そして、ステップ20003の判定を再び行う。
【０１３４】
ステップ20012の判定において取り出したイベントがトリガーイベントである場合(ステップ20012でＹｅｓ)、操作記録作成部(02104)は、空の操作情報を自身が保持する操作記録に記録し(ステップ20013)、ステップ20009以降の処理を行う。
【０１３５】
次に、結果記入前チェックリスト(未テスト分)作成部(01207)の詳細な動作を説明する。図２１に示すように、結果記入前チェックリスト(未テスト分)作成部(01207)は、処理が開始すると、２次記憶装置(01214)から、結果記入済みチェックリスト(02504)、チェックリスト構成規則(02405)、画面情報・ＵＩ情報(02505)を取得する(ステップ21001)。
【０１３６】
次に、結果記入前チェックリスト(未テスト分)作成部(01207)は、画面情報・ＵＩ情報(02505)から画面情報を取り出し(ステップ21002)、取り出した画面情報に対応する画面に着目し、その着目している画面をテストしたかどうかを結果記入済みチェックリスト(02504)の内容を参照して判定する(ステップ21003)。
【０１３７】
テストしていない場合(ステップ21003でＮｏ)、結果記入前チェックリスト(未テスト分)作成部(01207)は、着目している画面を表示するテストのチェックリストを、チェックリスト構成規則(02405)に従って作成し、結果記入前チェックリスト(未テスト分)(012220)に追加する。さらに、結果記入前チェックリスト(未テスト分)作成部(01207)は、着目している画面が持つ全てのＵＩを操作するテストのチェックリストを、チェックリスト構成規則(02405)に従って作成し、結果記入前チェックリスト(未テスト分)(012220)に追加する(ステップ21004)。
【０１３８】
ステップ21003の判定の結果、既にテストしている場合(Ｙｅｓ)、結果記入前チェックリスト(未テスト分)作成部(01207)は、着目している画面を表示している状態のうちの１つに着目し、着目している状態において着目している画面が持つ全てのＵＩを操作したかを、結果記入済みチェックリスト(02504)を参照して調べる(ステップ21005)。
【０１３９】
次に、結果記入前チェックリスト(未テスト分)作成部(01207)は、全てのＵＩを操作したかを判定し(ステップ21006)、操作していない場合(Ｎｏ)、着目している状態において操作していないＵＩを操作するテストのチェックリストを、チェックリスト構成規則(02405)に従って作成し、結果記入前チェックリスト(未テスト分)(01220)に追加する(ステップ21007)。
【０１４０】
ステップ21006の判定において全てのＵＩを操作していた場合(Ｙｅｓ)、及びステップ21007の処理の後、結果記入前チェックリスト(未テスト分)作成部(01207)は、着目している画面を表示している全ての状態を調べたかどうかを判定する(ステップ21008)。
【０１４１】
全て調べていない場合(ステップ21008でＮｏ)、結果記入前チェックリスト(未テスト分)作成部(01207)は、ステップ21005の処理以降を行う。全て調べていた場合(ステップ21008でＹｅｓ)、結果記入前チェックリスト(未テスト分)作成部(01207)は、さらに、全ての画面についてテストしたかを判定し(ステップ21009)、テストしていない場合(Ｎｏ)、ステップ21002の処理以降を行う。テストしている場合(ステップ21009でＹｅｓ)、結果記入前チェックリスト(未テスト分)作成部(01207)は、結果記入前チェックリスト(未テスト分)(01220)への追加を終了し(ステップ21010)、処理を終了する。
【０１４２】
なお、テスト用エージェント計算機(01100)と管理用サーバ計算機(01200)とを構成するコンピュータ(装置)に実行させるためのプログラムを作成し、コンピュータにインストールすれば、コンピュータは、そのプログラムに基づいた各機能を実現することができる。
【０１４３】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。
例えば、テスト用エージェント計算機(01100)と管理用サーバ計算機(01200)とを単一のコンピュータ装置で実現してもよい。
その他、ハードウェア、ソフトウェアの具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【０１４４】
01100  テスト用エージェント計算機
01101  主記憶装置
01102  テスト対象プログラム(実行状態)
01103  エージェントプログラム
01104  開始命令実行部
01105  操作記録取得部・作成部
01106  操作記録送信部
01107  ＯＳ
01108  バス
01109  ＣＰＵ
01110  キーボード/マウス
01111  ディスプレイ
01112  ２次記憶装置
01113  テスト対象プログラム
01114  設定情報
01115  操作記録
01116  ネットワークインターフェース
01200  管理用サーバ計算機
01201  主記憶装置
01202  サーバプログラム
01203  操作記録受信部
01204  結果記入済みチェックリスト作成部
01205  異常結果強調部
01206  テスト対象プログラム解析部
01207  結果記入前チェックリスト(未テスト分)作成部
01208  ＯＳ
01209  バス
01210  ネットワークインターフェース
01211  ＣＰＵ
01212  キーボード/マウス
01213  ディスプレイ
01214  ２次記憶装置
01215  テスト対象プログラム
01216  設定情報
01217  操作記録
01219  結果記入済みチェックリスト(強調済み)
01220  結果記入前チェックリスト(未テスト分)
01300  ネットワーク
07001  頭の中にある仕様情報
07002  仕様書
07003  テスト対象プログラム
07008  作業者２(テスター)
07010  操作結果の表示
08001  ランダムテスト操作の入力
08002  評価とコメントの入力
08003  チェックリスト作成装置
08004  結果記入済みチェックリスト
08005  結果記入前チェックリスト(テスト漏れ分)
【図１】
2011215982.tif 000003
【図２Ａ】
2011215982.tif 000004
【図２Ｂ】
2011215982.tif 000005
【図２Ｃ】
2011215982.tif 000006
【図２Ｄ】
2011215982.tif 000007
【図３】
2011215982.tif 000008
【図４】
2011215982.tif 000009
【図５】
2011215982.tif 000010
【図６】
2011215982.tif 000011
【図７】
2011215982.tif 000012
【図８】
2011215982.tif 000013
【図９】
2011215982.tif 000014
【図１０】
2011215982.tif 000015
【図１１】
2011215982.tif 000016
【図１２】
2011215982.tif 000017
【図１３】
2011215982.tif 000018
【図１４】
2011215982.tif 000019
【図１５】
2011215982.tif 000020
【図１６】
2011215982.tif 000021
【図１７】
2011215982.tif 000022
【図１８】
2011215982.tif 000023
【図１９】
2011215982.tif 000024
【図２０】
2011215982.tif 000025
【図２１】
2011215982.tif 000026