JP2015176454A - 回帰テスト支援システム - Google Patents

回帰テスト支援システム Download PDF

Info

Publication number
JP2015176454A
JP2015176454A JP2014053595A JP2014053595A JP2015176454A JP 2015176454 A JP2015176454 A JP 2015176454A JP 2014053595 A JP2014053595 A JP 2014053595A JP 2014053595 A JP2014053595 A JP 2014053595A JP 2015176454 A JP2015176454 A JP 2015176454A
Authority
JP
Japan
Prior art keywords
program
information
processing unit
replacement table
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
JP2014053595A
Other languages
English (en)
Inventor
黒澤 泰
Yasushi Kurosawa
泰 黒澤
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.)
JFE Systems Inc
Original Assignee
JFE Systems Inc
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 JFE Systems Inc filed Critical JFE Systems Inc
Priority to JP2014053595A priority Critical patent/JP2015176454A/ja
Publication of JP2015176454A publication Critical patent/JP2015176454A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】回帰テストを能率良く極力自動的に行うと共に、効果的に不具合を見出す方法を提供する。
【解決手段】時系列実行結果データ取得処理部60は、テスト対象プログラムの実行結果を、逐次時系列で取得する。置き換えテーブル作成処理部64は、テスト対象プログラムの実行状況によって変化する、実行結果の部分を示す置き換えテーブル情報を生成して、置き換えテーブル格納装置66に格納して保存する。回帰テスト装置32は置換処理部68において整合された置き換えテーブル情報を用いながら、プログラム修正前後の実行結果を比較し、プログラムの不具合を判定する情報を生成し、比較用データ格納装置42に格納する。
【選択図】図4

Description

本発明は、回帰テストを能率良く極力自動的に行うことができると共に、効果的に不具合を見出すことができる回帰テスト支援方法、回帰テスト支援装置、及び、これら回帰テスト支援方法又は回帰テスト支援装置を実施するためのコンピュータ・プログラムに関する。
既存システムで運用されているプログラムの保守・改善開発にあたっては、プログラム自体を修正する場合、回帰テストと称し、不具合を見出すテストを十分に実施する必要がある。この回帰テストでは、そのテスト品質の面だけでなく、手間や費用の面が従来から課題になっている。
特許文献1では、ソースコードに含まれる条件式を自動的に演算することで、テスト品質という面で、入力値に対する出力値が変更されていないかを漏れなく検証することを支援するようにしている。
特許文献2は、回帰テストの性質に鑑み、複数のモジュールを含む元の第1のソースコードと、この第1のソースコードに含まれるモジュールの少なくとも一部に変更が加えられた第2のソースコードとを比較し、変更が行われたモジュールを特定するようにしている。これにより、プログラムの詳細な解析を必要とせず、また、ユーザが変更箇所を指定しなくても、修正後のソースコードについて実行すべきテスト項目を抽出できるようにしている。
特許文献3では、テスト結果となる、対象のプログラムからの出力を容易に確認できるようにするために、画面やファイル、外部装置等のテスト対象のプログラムから出力される全ての情報を時系列に残すようにしている。これにより、画面の遷移を容易に確認でき、また予測しない画面の変更に対しても容易に対処でき、さらには性能の劣化を評価することができるようにしている。
特開2007−041804号公報 特開2010−122959号公報 特開平10−275093号公報
しかしながら、以上のような従来技術においては、回帰テストの面で改善の余地が多々存在している。
特許文献1では、ソースコードに含まれる条件式についてなど、特定の対応部分については、人為的なテスト漏れを防ぐことが予想されるが、網羅されない不具合も存在することになる。
特許文献2では、変更が行われたモジュールを特定することが課題であり、当該モジュール自体のテストについては何ら提案されていない。
特許文献3では、対象のプログラムからの情報を時系列で残すことができるが、このような情報が多大になると、作業量が増大するだけでなく、正しい不具合検証を行うことが困難になる。
本発明は、前記従来の問題点を解決するべくなされたもので、回帰テストを能率良く極力自動的に行うことができると共に、効果的に不具合を見出すことができる回帰テスト支援システムを提供することを課題とする。
本発明は、テスト対象プログラムのプログラム修正後の不具合を見出すための回帰テスト支援方法において、時系列実行結果データ取得処理部により、前記テスト対象プログラムの実行結果を、逐次時系列で取得し、置き換えテーブル作成処理部により、プログラム修正の有無には依存しない、乃至は依存しない可能性があるものの、前記テスト対象プログラムの実行状況によって変化する、実行結果の部分を示す置き換えテーブル情報を生成して、置き換えテーブル格納装置に格納して保存し、前記置き換えテーブル情報を用いながら、プログラム修正前後の実行結果を比較し、プログラムの不具合を判定する情報を生成することにより前記課題を解決するものである。
なお、前記置き換えテーブル情報の各レコードは、テスト対象プログラムが出力する処理結果データ別の、該当の処理結果データに結びつけるための判定識別情報、及び該当の処理結果データを置き換えるために用いられる補助情報によって構成されるチェック用記号データであってもよい。
ここで、本発明の回帰テスト支援方法において、時系列テスト情報取得処理部により、修正前のプログラムの複数回の実行結果を、それぞれの実行中に取得し、前記置き換えテーブル作成処理部により、これら取得した複数回の実行結果を比較することで、前記置き換えテーブル情報を自動的に生成し、前記置き換えテーブル格納装置に保存することができる。
又、本発明の回帰テスト支援方法において、前記置き換えテーブル作成処理部により、前記置き換えテーブル情報の自動設定、又は手動設定を可能とすることができる。
ここで、本発明の回帰テスト支援方法において、判定除外設定処理部により、修正前のプログラムの実行結果、及び修正後のプログラムの実行結果の比較による、プログラムの不具合の判定の対象外とする判定除外情報を取得し、比較判定処理部により、前記判定除外情報を参照しながら、修正前及び修正後の前記実行結果を比較し、プログラムの不具合を判定する情報を生成するようにしてもよい。
本発明は、又、テスト対象プログラムのプログラム修正後の不具合を見出すための回帰テスト支援装置において、前記テスト対象プログラムの実行結果を、逐次時系列で取得する時系列実行結果データ取得処理部と、プログラム修正の有無には依存しない、乃至は依存しない可能性があるものの、前記テスト対象プログラムの実行状況によって変化する、実行結果の部分を示す置き換えテーブル情報が格納される置き換えテーブル格納装置と、前記置き換えテーブル情報を生成する置き換えテーブル作成処理部と、前記置き換えテーブル情報を用いながら、個々の前記テスト対象プログラムの逐次時系列となっている実行結果を元データとして、不具合を見出すためのプログラム修正前後の実行結果の比較に用いる比較用実行結果データが格納される比較用データ格納装置と、前記比較用実行結果データを生成する置換処理部と、プログラム修正前後の前記比較用実行結果データを比較し、プログラムの不具合を判定する情報を生成する比較判定処理部と、を備えることを特徴とする回帰テスト支援装置により、前記課題を解決するものである。
又、前記置き換えテーブル情報の各レコードが、テスト対象プログラムが出力する処理結果データ別の、該当の処理結果データに結びつけるための判定識別情報、及び該当の処理結果データを置き換えるために用いられる補助情報によって構成されるチェック用記号データであると共に、時系列テスト情報取得処理部が、修正前のプログラムの複数回の実行結果を、それぞれの実行中に取得するものであり、前記置き換えテーブル作成処理部が、これら取得した複数回の実行結果を比較することで、前記置き換えテーブル情報を自動的に生成し、前記置き換えテーブル格納装置に保存するものであり、更に、前記置き換えテーブル作成処理部が、前記置き換えテーブル情報の自動設定、又は手動設定を可能とするようにすることができる。
加えて、修正前のプログラムの実行結果、及び修正後のプログラムの実行結果の比較による、プログラムの不具合の判定の対象外とする判定除外情報を取得する判定除外設定処理部と、前記判定除外情報を参照しながら、修正前及び修正後の前記実行結果を比較し、プログラムの不具合を判定する情報を生成する比較判定処理部と、を更に備えるようにしてもよい。
以上の回帰テスト支援方法及び回帰テスト支援装置は、コンピュータ・プログラムによって実現することができる。
回帰テストの対象になるプログラムによっては、実行結果が実行状況によって変化する場合があり、例えば、実行している日時に関係する情報や、実行時に入力した情報に関係する情報が実行結果に含まれるのであれば、同然ながら、実行結果は毎回異なることになる。大抵の回帰テストの対象になるプログラムには、このような、プログラム修正の有無(修正の前後)には依存しない、乃至は依存しない可能性があるものの、前記テスト対象プログラムの実行状況によって変化する、実行結果の部分が存在するものである。
このような実行結果の部分は、回帰テストとして、修正前後を単純に比較すると不一致となるため、そのプログラムの不具合の判定対象から除外することも考えられる。
本発明によれば、このように実行状況によって変化する、実行結果の部分を区別して、置き換えテーブルを用いつつ、回帰テストの対象になるプログラムの修正前と、修正後の動作を比較することで、不具合を能率よく見出すことができる。本発明の置き換えテーブル情報は、このような実行状況によって変化する実行結果の部分を、実行状況に応じて回帰テストで比較できるように整合させるものである。
例えば、これによって、このような実行状況によって変化する実行結果部分を、プログラムの不具合の判定対象から除外する手間がなくなり、これにより作業の手間を削減しながら、テスト精度を向上させ、より確実に不具合を見出すことができる。
更に、このような置き換えテーブル情報を自動的に生成することができる。又、テスト利用者が種々の設定を容易に行うことができる。従って、この面でも、回帰テストの能率向上を図ることができる。
なお、上述したプログラムの修正前と修正後の動作との比較については、具体的に限定されるものではない。テスト対象のプログラムが出力する情報を、修正前と修正後とで対応するもの同士について相互に比較するものであればよい。例えば、テスト対象のプログラムが出力する、利用者に表示する画面に含まれる情報、印字出力する情報、I/Oやネットワークを介して、データベース装置などの様々な外部装置に出力する情報、同一ハードウェアに構築されている他のシステムや装置(他のアプリケーションなどのプログラムを含む)に出力する情報などであってもよい。
又、本発明において、前述の置き換えテーブル情報の生成方法や、テスト対象プログラムのプログラム修正前後の実行結果の比較における、この置き換えテーブル情報の利用形態について具体的に限定するものではない。
例えば、この置き換えテーブル情報を、テスト対象プログラムのプログラム修正前の実行結果から生成すると共に、プログラム修正後の実行結果からも生成するようにしてもよい。あるいは、テスト対象プログラムのプログラム修正前の実行結果から生成したものを、プログラム修正後の実行結果に対する処理に用いるようにしてもよい。
又、テスト対象プログラムのプログラム修正前後の実行結果の比較による、プログラム不具合の判定については、この置き換えテーブル情報を用いてプログラム修正前後のそれぞれの実行結果に対する何らかの処理を行ってから、不具合判定のために、これら処理後のプログラム修正前後の実行結果を比較してもよい。あるいは、プログラム修正前後の実行結果それぞれから置き換えテーブル情報を生成し、生成したこれら情報の比較により、不具合判定の比較を行ってもよい。
本発明が適用される実施形態の回帰テスト支援システムが導入されたプログラム保守・改善開発基幹システムの全体的な構成を示すブロック図 前記プログラム保守・改善開発基幹システムで用いられるコンピュータ装置のハードウェア構成を示すブロック図 前記実施形態の主要部である回帰テスト支援装置の構成を示すブロック図 前記回帰テスト支援装置の主要部の構成を示すブロック図 前記実施形態における回帰テストの処理の流れを示すフローチャート 前記実施形態において回帰テストの実施例となる会議室予約プログラムにおけるメインメニュー画面を示す線図 前記実施例における予約情報の登録画面を示す線図 前記実施例における登録した予約情報の確認画面を示す線図 前記実施例における自己最終登録した予約情報の確認画面を示す線図 前記実施例における会議室予約プログラムの操作の流れを示すフローチャート 前記実施例における準備段階の初回の置き換えテーブルを示す線図 前記実施例における準備段階の2回目の置き換えテーブルを示す線図 前記実施例における回帰テスト正常時の置き換えテーブルを示す線図 前記実施例における回帰テスト異常時の置き換えテーブルを示す線図
以下、図面を参照して、本発明を好適に実施するための形態(以下、実施形態という)について詳細に説明する。
なお、本発明は、以下の実施形態及び実施例に記載した内容により限定されるものではない。又、以下に記載した実施形態及び実施例による構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。更に、以下に記載した実施形態及び実施例で開示した構成要素は、適宜組み合わせてもよいし、適宜選択して用いてもよい。
図1は、本発明が適用される実施形態の回帰テスト支援システムが導入されたプログラム保守・改善開発基幹システムの全体的な構成を示すブロック図である。
この図において、保守・改善開発支援装置20において設けられる、後述する回帰テスト支援装置32が、本発明の適用された主要部である。又、テスト対象装置30が、本実施形態の回帰テストの対象になるプログラムを内蔵している。
又、図示されるように、これら保守・改善開発支援装置20、及びテスト対象装置30は、相互に、ネットワーク1により接続されている。加えて、これら装置20、30に接続するクライアント装置5も、ネットワーク1により接続されている。該接続により、種々の情報交換がなされる。
なお、回帰テスト支援装置32に対するテスト対象装置30の関係は、この図にあるように、ネットワーク1によって接続されるようなものに限定されるものではない。例えば、回帰テスト支援装置32の内部において、回帰テスト対象のプログラムを実行させるようにしてもよい。回帰テスト支援装置32を構成するものと同一のハードウェア上において、回帰テスト対象の装置やプログラムを設けるようにしてもよい。
なお、ネットワーク1は、特に限定されるものではない。公衆回線あるいは専用回線を用いるものでも、インターネットやWAN(Wide Area Network)やLAN(Local Area Network)を用いるものでも、あるいはこれらを複合的に接続し構成するものであってもよい。
図2は、本実施形態の各装置に用いるコンピュータ装置のハードウェアの構成を示すブロック図である。
この図2においては、保守・改善開発支援装置20、テスト対象装置30、更にはクライアント装置5の各装置として利用可能な、ある種のコンピュータ装置のハードウェア構成が示される。しかしながら、各装置は、このようなものに限定されるものではない。
図2の該コンピュータ装置は、OS(Operating System)は一例として米国マイクロ
ソフト社のWindows(登録商標)を搭載する、一般的なPC(Personal Computer)装置であってもよく、特に限定されるものではない。あるいは、PC装置以外のハードウェアを用いてもよく、例えばEWS(Engineering Work Station)などの、いわゆるワークステーションなどのハードウェアを用いるようにしてもよい。なお、この図において、ハードウェア構成は、説明の関係上一部抽象化されている。
この図において、コンピュータ装置は、CPU(Central Processing Unit)310
と、RAM(Random Access Memory)311と、ROM(Read Only Memory)312と、LAN−I/F(Inter Face)313と、MODEM(modulator-demodulator)314と、種々のI/F320〜322とを有している。これらは、バス301によって相互接続されている。
なお、LAN−I/F313は、ネットワーク1に対して接続するために用いられる。
又、バス301に対して、I/F320を介して、画面表示装置330が接続されている。又、バス303によって相互接続されている、キーボード331と、マウス332と、プリンタ装置333とは、バス301に対して、I/F321を介して接続されている。
更に、バス301に対して、I/F322を介して、HDD(Hard Disc Drive)装
置340と、CD(Compact Disc)ドライブ装置341と、FDD(Floppy(登録商標
) Disc Drive)装置342とが接続されている。これらはバス302によって相互接
続されている。
以上のようなハードウェア構成において、記憶手段、及び記憶装置は、RAM311、ROM312、HDD装置340、CDドライブ装置341、FDD装置342などである。このような記憶手段や記憶装置において、CPU310で実行される様々なプログラムや、本実施形態においてアクセスされるデータベースや諸ファイルやデータが保存され、電子的にアクセスができるようになっている。例えば、OSや、データベースやJAVA(登録商標)やJSP(Java(登録商標) Server Page)などのソフトウェア資源を利用する環境を提供するためのプログラム、本実施形態に係るアプリケーション・プログラム、及びウェブ・ブラウザ・プログラムは、HDD装置340に格納されていて、実行時には、RAM311に読み出されてCPU310によって実行される。なお、CPU310で実行されるアプリケーション・プログラムには、ネットワーク1経由で取得される、JAVA(登録商標)のアプレットや、ASP(Active Server Page)の機能によって
提供されるものも含まれる。
又、OSやアプリケーション・プログラムその他の実行に際して、オペレータは、画面表示装置330に表示出力される情報を参照しつつ、キーボード331によって文字入力や諸操作を行ったり、マウス332によって座標入力や諸操作の入力を行ったりする。例えば、マウス332によって、一覧表示される電子的な帳票の選択をしたり、閲覧中の電子的な帳票において、検索などの範囲指定を行ったり、その他、クリック操作や、いわゆるドラッグ・アンド・ドロップ操作により様々な操作を行ったりする。又、適宜、プリンタ装置333からは必要な情報を印字出力したりすることができる。言うまでもなく、これら諸出力や入力は、CPU310で実行されるプログラムによって、電子的な処理により行われるものである。
なお、CDドライブ装置341やFDD装置342は、本発明を適用して実施する際の、アプリケーション・プログラムのインストールや、その他のオフラインでの情報交換に用いられる。
図3は、本実施形態の主要部である回帰テスト支援装置の構成を示すブロック図である。
図示されるように、前述の保守・改善開発支援装置20が内蔵する回帰テスト支援装置32は、操作記録処理部34と、自動操作用データ格納装置36と、自動操作処理部38と、時系列テスト情報取得処理部40と、比較用データ格納装置42と、判定除外設定処理部44と、比較除外データ格納装置50と、比較判定処理部52と、判定結果出力処理部54とを備えている。又、上記の判定除外設定処理部44は、除外手動設定処理部46と、差分抽出処理部48とを備える。この差分抽出処理部48は、判定除外情報の自動的な設定処理を行うものともいうことができる。
まず、操作記録処理部34は、回帰テストに際し、テスト対象装置30のテスト対象プログラムをテスト作業者が動作させる操作に用いられる。又、行われた操作は、該操作記録処理部34によって、通常時系列的に自動操作用データ格納装置36に保存される。
次に、自動操作処理部38は、このように保存された操作内容を再生しつつ、テスト対象装置30のテスト対象プログラムを自動的に動作させるものである。このようなテスト対象プログラムの自動動作によって、回帰テストを能率よく行うことができる。
続いて、時系列テスト情報取得処理部40は、修正前の回帰テスト対象のプログラムの実行結果、及び修正後の同プログラムの実行結果を、それぞれの実行中に逐次時系列で比較用データ格納装置42に保存する。保存される情報には、自動操作処理部38による自動操作内容、回帰テスト対象のプログラムからの画面表示出力やネットワーク1出力などの様々な出力が含まれる。
判定除外設定処理部44は、修正前のプログラムの実行結果、及び修正後のプログラムの実行結果の比較による、プログラムの不具合の判定の対象外とする判定除外情報を取得するものである。この判定除外情報は、異常や不具合と判断すべきではない不一致を効果的に除外するための情報であり、判定除外設定処理部44が内蔵する除外手動設定処理部46により手動で設定したり、差分抽出処理部48により自動的に設定したりすることができる。
なお、除外手動設定処理部46は、差分抽出処理部48により自動的に設定された情報に対して、追加、修正、及び削除の編集作業をテスト作業者が行えるようになっている。加えて、画面表示装置330やキーボード331やマウス332やプリンタ装置333などを活用しながら、テスト作業者がこの編集作業を行う際、修正前のプログラムの実行結果や、修正後のプログラムの実行結果や、該プログラムのソースリストの該当部分なども、テスト作業者に対して画面表示したり印字出力したりして提示することで、作業能率向上が図られている。
次に、比較判定処理部52は、比較用データ格納装置42に保存されている、修正前の回帰テスト対象のプログラムの実行結果、及び修正後の同プログラムの実行結果を比較し、プログラムの不具合を判定する情報を生成する。この比較や判定の際には、比較除外データ格納装置50に保存されている判定除外情報を参照することで、異常や不具合と判断すべきではない不一致を効果的に除外することができる。
判定結果出力処理部54は、比較判定処理部52により得られたプログラムの不具合を判定する情報を加工し、テスト作業者に対して画面表示したり印字出力したりすることができる。
ここで、本実施形態では、自動操作処理部38により、テスト対象装置30の修正前のプログラム(回帰テスト対象)を、例えばプログラムに対する操作など一部実行条件を異ならせるなどして、複数回実行させるようにしている。この際、時系列テスト情報取得処理部40は、このような複数回の実行結果を、それぞれの実行中に時系列的に、比較用データ格納装置42に保存する。そうして、判定除外設定処理部44の差分抽出処理部48は、これら保存した複数回の実行結果を比較することで、前述した判定除外情報を、自動的に生成する。
具体的には、このような複数回の実行の際に、異なる実行結果であれば、修正後のプログラム(回帰テスト対象)について、修正前と実行結果が同じになることが期待し難いので、前述した判定除外情報に設定することができる。
なお、除外手動設定処理部46は、例えば図1のクライアント装置5などから、このような判定除外情報をテスト作業者が手動で設定するものであるが、正確に能率よく設定できるようになっている。例えば、判定除外設定するか否かの判断に用いられる付加情報を併せて表示されるようになっている。又、差分抽出処理部48により自動的に設定された判定除外情報についても、除外手動設定処理部46により、テスト作業者は修正することができ、この修正の際、自動設定に用いられた、回帰テスト対象のプログラムの修正前の実行結果を併せて表示することができる。
図4は、本実施形態の回帰テスト支援装置の主要部の構成を示すブロック図である。
図示されるように、前述の回帰テスト支援装置32が内蔵する時系列テスト情報取得処理部40は、時系列実行結果データ取得処理部60と、実行結果データ格納装置62と、置き換えテーブル作成処理部64と、置き換えテーブル格納装置66と、置換処理部68とを備えている。
時系列実行結果データ取得処理部60は、修正前の前記テスト対象プログラムの実行結果、及び修正後の前記テスト対象プログラムの実行結果を、それぞれの実行中に逐次時系列で取得し、実行結果データ格納装置62に格納する。この時系列実行結果データ取得処理部60は、修正前のプログラムの少なくとも1回の実行結果を、それぞれの実行中に取得するようになっている。必要であれば、この時系列実行結果データ取得処理部60は、修正後のプログラムの実行結果を実行中に取得するようになっている。
又、置き換えテーブル作成処理部64は、このような1回以上の実行結果を用いて、例えば、これら取得した複数回の実行結果を比較するなどして、置き換えテーブル情報を自動的に生成し、置き換えテーブル格納装置66に保存する。又、この置き換えテーブル作成処理部64は、人手による入力による、置き換えテーブル情報のレコードの新規作成、修正、及び削除の機能を備えている。
回帰テストの対象になるプログラムによっては、実行結果が実行状況によって変化する場合があり、実行結果は毎回異なることになる。つまり、プログラム修正の有無(修正の前後)には依存しない、乃至は依存しない可能性があるものの、前記テスト対象プログラムの実行状況によって変化する、実行結果の部分が存在することがある。
本発明の置き換えテーブル情報は、このような実行状況によって変化する実行結果の部分を、実行状況に応じて回帰テストで比較できるように整合させるものである。
置換処理部68は、このように保存された置き換えテーブル情報を用いながら、個々の前記テスト対象プログラムの逐次時系列となっている実行結果を元データとして、不具合を見出すためのプログラム修正前後の実行結果の比較に用いる比較用実行結果データを生成し、これを比較用データ格納装置42に格納する。そうして、図3の比較判定処理部52は、このように作成され比較用データ格納装置42に格納された、プログラム修正前後の比較用実行結果データを比較し、プログラムの不具合を判定する情報を生成する。
図5は、本実施形態における回帰テストの処理の流れを示すフローチャートである。
まず、ステップS102からステップS108では、準備段階として、判定除外情報を取得する。
ステップS102では、操作記録処理部34の操作記録機能により、テスト作業者によるテスト対象の操作の登録を行なう。具体的には、テスト作業者が回帰テストの対象プログラム操作を行うと、自動操作用データが自動操作用データ格納装置36に蓄積される。この自動操作用データは、テスト作業者の操作内容や、テスト作業者への画面表示情報などの情報である。
次に、ステップS104では、自動操作用データ格納装置36に蓄積された自動操作用データに従って、自動操作処理部38は、回帰テスト対象のプログラムを自動的に実行ささせる。例えば、上述のテスト作業者操作による自動操作用データの蓄積に引き続いて、テスト対象をアップデートしない状態で、自動操作用データを元にテスト対象の操作を自動的に行なう。
このような自動実行の最中において、ステップS106では、時系列テスト情報取得処理部40は、比較用データ格納装置42へと実行結果を時系列的に保存する。
又、これらステップS104及びステップS106の自動実行及び実行結果保存は、適宜実行条件を変えるなどしつつ、複数回行う。そして、ステップS108では、差分抽出処理部48により、このような複数回の実行結果のデータを採取して差分を抽出し比較除外情報(比較除外データ)を生成する。
ここで、このような複数回の実行により、比較除外データの精度が向上する。又、このように得られた比較除外データは、除外手動設定処理部46により、テスト作業者が妥当性の確認をしたり、手動により修正をしたりすることができる。
次に、ステップS110からステップS114が修正後の回帰テスト対象のプログラムのテスト作業となる。この作業に際しては、テスト対象のプログラムを適宜アップデートする。
まず、ステップS110では、自動操作処理部38は、自動操作用データ格納装置36に保存されている自動操作用データを元に、修正後の回帰テスト対象のプログラムを自動的に操作し、自動的に動作させる。
そうして、ステップS112では、ステップS104及びステップS106の修正前の回帰テスト対象のプログラムの場合と同様、時系列テスト情報取得処理部40は、実行結果を比較用データ格納装置42に保存する。
ステップS114では、比較判定処理部52は、比較除外データ格納装置50に保存されている比較除外情報(比較除外データ)に合致する部分以外について、修正前のプログラムの実行結果、及び修正後のプログラムの実行結果を比較し、プログラムの不具合を判定する情報を生成する。又、比較判定処理部52で得られた情報は、判定結果出力処理部54により加工され、テスト作業者に画面表示や印字出力により提示される。例えば、判定結果出力処理部54は、修正前のプログラムの実行結果のデータと、修正後のプログラムの実行結果・比較先データが異なる場合には、「回帰テスト失敗」とする。内容が異なるケースが無い場合、「正常終了」として扱う。
以下、上述の本発明の実施形態が適用された実施例について説明する。この実施例は、会議室予約システム用プログラムを回帰テスト対象とするものである。
このプログラムは、クライアント・サーバ間で通信が行われる「会議室予約アプリケーション」である。又、この回帰テストは、この「会議室予約アプリケーション」にプログラム修正を加えたため、修正後に異常がないことを確認するものである。
又、回帰テスト対象のプログラムは、画面表示や印字出力その他をHTML(hypertext markup language)を用いて行っている。このため、回帰テストの実行中に取得される実行結果としては、HTMLに従った情報が取得される。
図6は、本実施例のメインメニュー画面を示す線図である。図7は、予約情報の登録画面を示す線図である。図8は、予約情報の登録確認画面を示す線図である。図9は、予約情報の確認(自己最終登録)画面を示す線図である。
図6の表示画面において表示される、「予約情報の登録」をマウスなどで選択すると、図7に図示される「予約情報の登録画面」が表示され、「予約情報の確認(自己最終登録)」をマウスなどで選択すると、自己最終登録した予約情報の確認するための、図9に図示される「予約情報の確認(自己最終登録)画面」が表示される。
更に、図7に図示される「予約情報の登録画面」において「設備」及び「日時」を入力してから、「OK」ボタンをクリックすると、図8に図示される「予約情報の登録確認画面」が表示される。
図10は、本実施例の操作及び処理を示すフローチャートである。
なお、前提条件として、テスト対象のアプリケーションは、クライアント・サーバ間で通信が行われる「会議室予約アプリケーション」の「予約情報の登録および確認画面」および「予約情報の確認(自己最終登録)」とする。テスト準備の際の「比較除外データの採取」は1回である。又、除外データから手動で置き換え対象の選別を実施する。
まず、この図のステップS132の前に、利用者は、図1のテスト対象装置30において、図2に示す画面表示装置330やキーボード331やマウス332を用いた所定の操作を行うことによって、図6に示すメインメニュー画面を表示する。そうしてから、このステップS132では、このメインメニュー画面において表示される、「予約情報の登録」をマウスなどで選択する。すると、図7に図示される「予約情報の登録画面」が表示される。
ステップS134では、この「予約情報の登録画面」において、「設備」及び「日時」を入力してから、「OK」ボタンをクリックする。すると、続くステップS136では、図8に図示される「予約情報の登録確認画面」が表示される。利用者は、この「予約情報の登録確認画面」において、上記で入力した「設備」及び「日時」の登録内容を確認する。確認後、この画面において、図示される「閉じる」をクリックすると、図6のメインメニュー画面に戻るようになっている。
本実施例の会議室予約システム用プログラムでは、大抵の場合、利用者は、このような登録後から予約された日時までの間、登録内容を再び確認することが多い。利用者は、このような再確認を行う場合、ステップS138では、図6に示すメインメニュー画面において、「予約情報の確認(自己最終登録)」をマウスなどで選択する。すると、ステップS140において、自己最終登録した予約情報を確認するための、図9に図示される「予約情報の確認(自己最終登録)画面」が表示され、自己最終登録の会議室予約の「設備」及び「日時」を確認することができる。
以下、本実施例における回帰テストを、操作・処理段階順に説明する。
以下において、操作・処理段階A1〜A26は、回帰テストの準備の操作・処理であり、主として操作記録処理部34や時系列テスト情報取得処理部40や判定除外設定処理部44を用いて行われる。
続く操作・処理段階A27〜A35は、正常と判断されるケースとなる回帰テスト準備の操作・処理であり、操作・処理段階A36〜A42は、異常と判断されるケースとなる回帰テスト準備の操作・処理であり、いずれも、主として、時系列テスト情報取得処理部40や比較判定処理部52や判定結果出力処理部54を用いて行われる。
なお、操作・処理段階は、回帰テストの対象になるプログラムやシステムとなるテスト対象装置30や、回帰テストに伴った回帰テスト支援装置32における、操作や画面表示や出力される情報(データや印字出力)などである。
操作・処理段階A1:
操作記録機能を有効にする。以後、テスト対象クライアントPC上の操作が全て記録され、同じ操作を再現できる状態となる。
操作・処理段階A2:
「会議室予約アプリケーション」の「予約情報の登録」メニューを選択する。
操作・処理段階A3:
情報取得機能により「会議室予約アプリケーション」のクライアント・サーバ間通信内容が取得され、比較元データとして保持される。
操作・処理段階A2の操作に関してはクライアント側からの送信及びサーバ側からの応答の2つの情報(次の操作・処理段階A4及び操作・処理段階A5)が保持される。
操作・処理段階A4:
<Client s=1 c=1><menu s=2>予約情報の登録</menu></Client>
クライアント画面で「予約情報の登録」メニューが選択された。
操作・処理段階A5:
<Server s=1 c=2><screen s=2><title s=3>予約情報の登録画面</title>
<label x=1 y=1 s=4>設備:</label><input x=2 y=1 name="設備" s=5></input>
<label x=1 y=2 s=6>日時:</label><input x=2 y=2 name="日時" s=7></input>
<button x=3 y=3 menu="OK" s=8>OK</button><button x=4 y=3 menu="Cancel" s=9>キャンセル</button>
</screen></Server>
サーバから予約情報の登録画面を表示するための情報が送られてきた。
操作・処理段階A6:
「会議室予約アプリケーション」の「予約情報の登録画面」が表示されるので、設備名(会議室1)・日時(2013/7/1 10:00~12:00)を入力し、OKボタンを押す。
操作・処理段階A7:
情報取得機能により「会議室予約アプリケーション」のクライアント・サーバ間通信内容が取得され、比較元データとして保持される。
操作・処理段階A6の操作に関しては、クライアント側からの送信及びサーバ側からの応答の2つの情報(次の操作・処理段階A8及び操作・処理段階A9)が保持される。
操作・処理段階A8:
<Client s=1 c=3><title s=2>予約情報の登録画面</title><input name="設備" s=3>会議室1</input>
<input name="日時" s=4>2013/7/1 10:00〜12:00</input><menu s=5>OK</menu></Client>
クライアント画面で、「設備」「日時」の入力が行なわれ、「OK」ボタンが押された。
操作・処理段階A9:
<Server s=1 c=4><screen s=2><title s=3>予約情報の登録確認画面</title>
<label x=1 y=1 s=4>設備:</label><label x=2 y=1 s=5>会議室1</label>
<label x=1 y=2 s=6>日時:</label><label x=2 y=2 s=7>2013/7/1 10:00〜12:00</label>
<label x=1 y=3 s=8>予約者:</label><label x=2 y=3 s=9>設備管理者</label>
<label x=1 y=4 s=10>予約日時:</label><label x=2 y=4 s=11>2013/6/1 10:30</label>
<button x=3 y=5 menu="閉じる" s=12>閉じる</button>
</screen><pk s=13>20130601_1030_001</pk></Server>
サーバから予約情報の登録確認画面を表示するための情報が送られてきた。
この際、内部で扱うためのID(プライマリキー)が発番されており、それも送られてきている(この値は画面には表示されない。)。
操作・処理段階A10:
「閉じる」ボタンを押すとメニューが表示されるので、ここで「予約情報の確認(自己最終登録)」を選択する。
操作・処理段階A11:
情報取得機能により「会議室予約アプリケーション」のクライアント・サーバ間通信内容が取得され、比較元データとして保持される。
操作・処理段階A10の操作に関してはクライアント側からの送信及びサーバ側からの応答の2つの情報(次の操作・処理段階A12及び操作・処理段階A13)が保持される。
操作・処理段階A12:
<Client s=1 c=5><menu s=2>予約情報の確認(自己最終登録)</menu></Client>
クライアント画面で「予約情報の確認(自己最終登録)」メニューが選択された。
操作・処理段階A13:
<Server s=1 c=6><screen s=2><title s=3>予約情報の確認(自己最終登録)</title>
<label x=1 y=1 s=4>設備:</label><label x=2 y=1 s=5>会議室1</label>
<label x=1 y=2 s=6>日時:</label><label x=2 y=2 s=7>2013/7/1 10:00〜12:00</label>
<label x=1 y=3 s=8>予約日時:</label><label x=2 y=3 s=9>2013/6/1 10:30</label>
<button x=3 y=4 menu="閉じる" s=10>閉じる</button>
</screen><pk s=11>20130601_1030_001</pk></Server>
サーバから予約情報の確認(自己最終登録)を表示するための情報が送られてきた。
この際、内部で扱うためのID(プライマリキー)が発番されており、それも送られてきている(この値は画面には表示されない。)。
操作・処理段階A14:
操作記録機能を停止し、操作・処理段階A2〜A13までの操作に関して、後で自動操作できる状態にする。
操作・処理段階A15:
再操作のために「会議室予約アプリケーション」を初期状態(操作・処理段階A2〜A13の操作で登録された情報が存在しない状態)に戻す。
「会議室予約アプリケーション」自身のアップデートは行なわない。ここでは同じアプリケーションに対して同じ操作を行なってデータを採取する。
操作・処理段階A16:
自動操作機能を有効にし、操作・処理段階A2〜A13の操作を自動で行なう。
すると、以下の操作・処理段階A17〜A22の情報が比較先データとして保持される。
操作・処理段階A17:
<Client s=1 c=1><menu s=2>予約情報の登録</menu></Client>
操作・処理段階A18:
<Server s=1 c=2><screen s=2><title s=3>予約情報の登録画面</title>
<label x=1 y=1 s=4>設備:</label><input x=2 y=1 name="設備" s=5></input>
<label x=1 y=2 s=6>日時:</label><input x=2 y=2 name="日時" s=7></input>
<button x=3 y=3 menu="OK" s=8>OK</button><button x=4 y=3 menu="Cancel" s=9>キャンセル</button>
</screen></Server>
操作・処理段階A19:
<Client s=1 c=3><title s=2>予約情報の登録画面</title><input name="設備" s=3>会議室1</input>
<input name="日時" s=4>2013/7/1 10:00〜12:00</input><menu s=5>OK</menu></Client>
操作・処理段階A20:
<Server s=1 c=4><screen s=2><title s=3>予約情報の登録確認画面</title>
<label x=1 y=1 s=4>設備:</label><label x=2 y=1 s=5>会議室1</label>
<label x=1 y=2 s=6>日時:</label><label x=2 y=2 s=7>2013/7/1 10:00〜12:00</label>
<label x=1 y=3 s=8>予約者:</label><label x=2 y=3 s=9>設備管理者</label>
<label x=1 y=4 s=10>予約日時:</label><label x=2 y=4 s=11>2013/6/1 10:50</label>
<button x=3 y=5 menu="閉じる" s=12>閉じる</button>
</screen><pk s=13>20130601_1050_001</pk></Server>
操作・処理段階A21:
<Client s=1 c=5><menu s=2>予約情報の確認(自己最終登録)</menu></Client>
操作・処理段階A22:
<Server s=1 c=6><screen s=2><title s=3>予約情報の確認(自己最終登録)</title>
<label x=1 y=1 s=4>設備:</label><label x=2 y=1 s=5>会議室1</label>
<label x=1 y=2 s=6>日時:</label><label x=2 y=2 s=7>2013/7/1 10:00〜12:00</label>
<label x=1 y=3 s=8>予約日時:</label><label x=2 y=3 s=9>2013/6/1 10:50</label>
<button x=3 y=4 menu="閉じる" s=10>閉じる</button>
</screen><pk s=10>20130601_1050_001</pk></Server>
操作・処理段階A23:
比較元データと比較先データの差分を抽出する(最終的には操作・処理段階A26の置き換えテーブルの内容も考慮する。)。
異なる部分は、「予約日時」のデータ部分(操作した日時に依存して変化する情報)及び内部データのPKの値部分となる。
この部分を、「比較除外データ」(操作・処理段階A24)として保存する(「予約情報の登録確認画面」「予約情報の確認(自己最終登録)」の2画面分になるので4項目。)。
操作・処理段階A24:
以下の情報を「比較除外データ」に登録する。
/Server[@c=4]/label[@s=11]
/Server[@c=6]/label[@s=9]
/Server[@c=4]/pk
/Server[@c=6]/pk
操作・処理段階A25:
操作・処理段階A24の2項目は、動作上同じ値となる事が分かっている(登録時のタイムスタンプが表示される)ので、これらを「比較除外データ」から削除し、「置き換え比較データ」に登録する。
ここが、本実施例の動作のための情報設定である。
操作・処理段階A26:
以下の情報を「置き換え比較データ」に登録する。
/Server[@c=4]/label[@s=11] カテゴリ情報:登録タイムスタンプ
/Server[@c=6]/label[@s=9] カテゴリ情報:登録タイムスタンプ
/Server[@c=4]/pk カテゴリ情報:プライマリキー
/Server[@c=6]/pk カテゴリ情報:プライマリキー
また、この情報を元に「置き換えテーブル」を作成しておく。作成方法は、後述する操作・処理段階B1から操作・処理段階B8までによるものである。
「比較除外データ」は空となる。
ここで、上記の操作・処理段階A26までで作成される置き換えテーブル(準備段階において初回となるものの一例)は、図11に示すとおりとなる。
又、上記の操作・処理段階A26までで作成される置き換えテーブル(準備段階において2回目となるものの一例)は、図12に示すとおりとなる。
以下、操作・処理段階A27からは、正常と判断されるケースとなる、回帰テストの内容となる。
操作・処理段階A27:
「会議室予約アプリケーション」自身のアップデートを行なう。
又、準備の際に入力した情報をクリアし、初期状態に戻す。
操作・処理段階A28:
自動操作機能を有効にし、操作・処理段階A2〜A13の操作を自動で行なう。
すると、以下の操作・処理段階A29〜A34の情報が比較先データとして保持される。
操作・処理段階A29:
<Client s=1 c=1><menu s=2>予約情報の登録</menu></Client>
操作・処理段階A30:
<Server s=1 c=2><screen s=2><title s=3>予約情報の登録画面</title>
<label x=1 y=1 s=4>設備:</label><input x=2 y=1 name="設備" s=5></input>
<label x=1 y=2 s=6>日時:</label><input x=2 y=2 name="日時" s=7></input>
<button x=3 y=3 menu="OK" s=8>OK</button><button x=4 y=3 menu="Cancel" s=9>キャンセル</button>
</screen></Server>
操作・処理段階A31:
<Client s=1 c=3><title s=2>予約情報の登録画面</title><input name="設備" s=3>会議室1</input>
<input name="日時" s=4>2013/7/1 10:00〜12:00</input><menu s=5>OK</menu></Client>
操作・処理段階A32:
<Server s=1 c=4><screen s=2><title s=3>予約情報の登録確認画面</title>
<label x=1 y=1 s=4>設備:</label><label x=2 y=1 s=5>会議室1</label>
<label x=1 y=2 s=6>日時:</label><label x=2 y=2 s=7>2013/7/1 10:00〜12:00</label>
<label x=1 y=3 s=8>予約者:</label><label x=2 y=3 s=9>設備管理者</label>
<label x=1 y=4 s=10>予約日時:</label><label x=2 y=4 s=11>2013/6/1 13:30</label>
<button x=3 y=5 menu="閉じる" s=12>閉じる</button>
</screen><pk s=13>20130601_1330_001</pk></Server>
操作・処理段階A33:
<Client s=1 c=5><menu s=2>予約情報の確認(自己最終登録)</menu></Client>
操作・処理段階A34:
<Server s=1 c=6><screen s=2><title s=3>予約情報の確認(自己最終登録)</title>
<label x=1 y=1 s=4>設備:</label><label x=2 y=1 s=5>会議室1</label>
<label x=1 y=2 s=6>日時:</label><label x=2 y=2 s=7>2013/7/1 10:00〜12:00</label>
<label x=1 y=3 s=8>予約日時:</label><label x=2 y=3 s=9>2013/6/1 13:30</label>
<button x=3 y=4 menu="閉じる" s=10>閉じる</button>
</screen><pk s=10>20130601_1330_001</pk></Server>
操作・処理段階A35:
「比較除外データ」を考慮し比較元データと比較先データの差分を抽出する(この例では「比較除外データ」は存在しないので無視。)。
更に、「置き換え比較データ」に関しては、後述の置き換えテーブルを用いて、XML内の値の変換を行なってから比較する。
ここでは差分が全くない状態となるため、回帰テストは正常と判定される。
ここで、上記の操作・処理段階A35までで作成される置き換えテーブル(回帰テストにおいてテスト結果が正常とされる時のものの一例)は、図13に示すとおりとなる。
以下、操作・処理段階A36からは、異常と判断されるケースとなる、回帰テストの内容となる。これは、予約情報の確認(自己最終登録)画面で、予約日時が不正な値になっているケースである。
操作・処理段階A36:
「会議室予約アプリケーション」自身のアップデートを行なう。
又、準備の際に入力した情報をクリアし、初期状態に戻す。
操作・処理段階A37:
自動操作機能を有効にし、操作・処理段階A2〜A13の操作を自動で行なう。
これにより、以下の操作・処理段階A38〜A43の情報が比較先データとして保持される。
操作・処理段階A38:
<Client s=1 c=1><menu s=2>予約情報の登録</menu></Client>
操作・処理段階A39:
<Server s=1 c=2><screen s=2><title s=3>予約情報の登録画面</title>
<label x=1 y=1 s=4>設備:</label><input x=2 y=1 name="設備" s=5></input>
<label x=1 y=2 s=6>日時:</label><input x=2 y=2 name="日時" s=7></input>
<button x=3 y=3 menu="OK" s=8>OK</button><button x=4 y=3 menu="Cancel" s=9>キャンセル</button>
</screen></Server>
操作・処理段階A40:
<Client s=1 c=3><title s=2>予約情報の登録画面</title><input name="設備" s=3>会議室1</input>
<input name="日時" s=4>2013/7/1 10:00〜12:00</input><menu s=5>OK</menu></Client>
操作・処理段階A41:
<Server s=1 c=4><screen s=2><title s=3>予約情報の登録確認画面</title>
<label x=1 y=1 s=4>設備:</label><label x=2 y=1 s=5>会議室1</label>
<label x=1 y=2 s=6>日時:</label><label x=2 y=2 s=7>2013/7/1 10:00〜12:00</label>
<label x=1 y=3 s=8>予約者:</label><label x=2 y=3 s=9>設備管理者</label>
<label x=1 y=4 s=10>予約日時:</label><label x=2 y=4 s=11>2013/6/1 13:50</label>
<button x=3 y=5 menu="閉じる" s=12>閉じる</button>
</screen><pk s=13>20130601_1350_001</pk></Server>
操作・処理段階A42:
<Client s=1 c=5><menu s=2>予約情報の確認(自己最終登録)</menu></Client>
操作・処理段階A43:
<Server s=1 c=6><screen s=2><title s=3>予約情報の確認(自己最終登録)</title>
<label x=1 y=1 s=4>設備:</label><label x=2 y=1 s=5>会議室1</label>
<label x=1 y=2 s=6>日時:</label><label x=2 y=2 s=7>2013/7/1 10:00〜12:00</label>
<label x=1 y=3 s=8>予約日時:</label><label x=2 y=3 s=9>1900/1/1 00:00</label>
<button x=3 y=4 menu="閉じる" s=10>閉じる</button>
</screen><pk s=10>20130601_1350_001</pk></Server>
操作・処理段階A44:
「比較除外データ」を考慮し比較元データと比較先データの差分を抽出する(この例では「比較除外データ」は存在しないので無視。)。
更に、「置き換え比較データ」に関しては、後述の置き換えテーブルを用いて、XML内の値の変換を行なってから比較する。
予約情報の確認(自己最終登録)の予約日時部分が、準備段階のデータでは「REPLACE(登録タイムスタンプ-1)」、回帰テストのデータでは「REPLACE(登録タイムスタンプ-2)」となるため、異常を検出できる。なお、本実施例のような「置き換え比較データ」を用いず、「比較除外データ」にこの情報を登録した状態では、この不具合は検出することができない。
ここで、上記の操作・処理段階A44までで作成される置き換えテーブル(回帰テストにおいてテスト結果が異常とされる時のものの一例)は、図14に示すとおりとなる。
ここで、置き換えテーブルの作成について、前述の準備段階の初回ログを例として説明する。
本実施例では、置き換えテーブルは、置き換えテーブル作成処理部64により、自動設定、又は手動設定を可能としている。
時系列テスト情報取得処理部40の時系列実行結果データ取得処理部60は、修正前のプログラムの複数回の実行結果を、それぞれの実行中に取得して実行結果データ格納装置62へと格納する。又、置き換えテーブル作成処理部64は、これら取得した複数回の実行結果を比較することで、置き換えテーブル(置き換えテーブル情報)を自動的に生成し、置き換えテーブル格納装置66に保存する。これにより、置き換えテーブル作成処理部64は、置き換えテーブルを自動設定することができる。
又、置き換えテーブル作成処理部64は、図4において符号70で示されるように、置き換え比較データ(置き換えテーブル情報)の手動設定(手動入力)ができるようになっている。例えば、置き換えテーブル(置き換えテーブル情報)の新規設定だけでなく、上述のように自動設定された置き換えテーブルの修正も可能になっている。
このような置き換えテーブル(置き換えテーブル情報)の設定は、以下のようになっている。
操作・処理段階B1:
採取したログ(操作・処理段階B2〜操作・処理段階B7)を前からスキャンし、「置き換え比較データ」に合致する位置の値を取得する。
置き換え比較データの状態は以下の通り。
/Server[@c=4]/label[@s=11] カテゴリ情報:登録タイムスタンプ
/Server[@c=6]/label[@s=9] カテゴリ情報:登録タイムスタンプ
/Server[@c=4]/pk カテゴリ情報:プライマリキー
/Server[@c=6]/pk カテゴリ情報:プライマリキー
操作・処理段階B2:
<Client s=1 c=1><menu s=2>予約情報の登録</menu></Client>
操作・処理段階B3:
<Server s=1 c=2><screen s=2><title s=3>予約情報の登録画面</title>
<label x=1 y=1 s=4>設備:</label><input x=2 y=1 name="設備" s=5></input>
<label x=1 y=2 s=6>日時:</label><input x=2 y=2 name="日時" s=7></input>
<button x=3 y=3 menu="OK" s=8>OK</button><button x=4 y=3 menu="Cancel" s=9>キャンセル</button>
</screen></Server>
操作・処理段階B4:
<Client s=1 c=3><title s=2>予約情報の登録画面</title><input name="設備" s=3>会議室1</input>
<input name="日時" s=4>2013/7/1 10:00〜12:00</input><menu s=5>OK</menu></Client>
操作・処理段階B5:
<Server s=1 c=4><screen s=2><title s=3>予約情報の登録確認画面</title>
<label x=1 y=1 s=4>設備:</label><label x=2 y=1 s=5>会議室1</label>
<label x=1 y=2 s=6>日時:</label><label x=2 y=2 s=7>2013/7/1 10:00〜12:00</label>
<label x=1 y=3 s=8>予約者:</label><label x=2 y=3 s=9>設備管理者</label>
<label x=1 y=4 s=10>予約日時:</label><label x=2 y=4 s=11>2013/6/1 10:30</label>
<button x=3 y=5 menu="閉じる" s=12>閉じる</button>
</screen><pk s=13>20130601_1030_001</pk></Server>
操作・処理段階B6:
<Client s=1 c=5><menu s=2>予約情報の確認(自己最終登録)</menu></Client>
操作・処理段階B7:
<Server s=1 c=6><screen s=2><title s=3>予約情報の確認(自己最終登録)</title>
<label x=1 y=1 s=4>設備:</label><label x=2 y=1 s=5>会議室1</label>
<label x=1 y=2 s=6>日時:</label><label x=2 y=2 s=7>2013/7/1 10:00〜12:00</label>
<label x=1 y=3 s=8>予約日時:</label><label x=2 y=3 s=9>2013/6/1 10:30</label>
<button x=3 y=4 menu="閉じる" s=10>閉じる</button>
</screen><pk s=11>20130601_1030_001</pk></Server>
操作・処理段階B8:
ヒットするのは以下のもの。
操作・処理段階B5 「2013/6/1 10:30」(予約操作実施日時)
操作・処理段階B5 「20130601_1030_001」(内部プライマリキー)
操作・処理段階B7 「2013/6/1 10:30」(予約操作実施日時)
操作・処理段階B7 「20130601_1030_001」(内部プライマリキー)
これを元に、「置き換えテーブル」に値を追加していく。元の文字列・カテゴリが同じものに関しては値の追加は行なわない。ヒットした値部分を置き換え前、カテゴリ毎の連番と固定IDを置き換え後の情報として追加を行なう。
(1) 「2013/6/1 10:30」/「REPLACE(登録タイムスタンプ-1)」
(2) 「20130601_1030_001」/「REPLACE(プライマリキー-1)」
今回の例では、これ以外の値が現れないため、追加は2行のみとなる。
1…ネットワーク
5…クライアント装置
20…保守・改善開発支援装置
30…テスト対象装置
32…回帰テスト支援装置
34…操作記録処理部
36…自動操作用データ格納装置
38…自動操作処理部
40…時系列テスト情報取得処理部
42…比較用データ格納装置
44…判定除外設定処理部
46…除外手動設定処理部
48…差分抽出処理部
50…比較除外データ格納装置
52…比較判定処理部
54…判定結果出力処理部
60…時系列実行結果データ取得処理部
62…実行結果データ格納装置
64…置き換えテーブル作成処理部
66…置き換えテーブル格納装置
68…置換処理部
70…置き換え比較データ手動入力
301〜303…バス
310…CPU
311…RAM
312…ROM
313…LAN−I/F
314…MODEM
320〜322…I/F
330…画面表示装置
331…キーボード
332…マウス
333…プリンタ装置
340…HDD装置
341…CDドライブ装置
342…FDD装置

Claims (9)

  1. テスト対象プログラムのプログラム修正後の不具合を見出すための回帰テスト支援方法において、
    時系列実行結果データ取得処理部により、前記テスト対象プログラムの実行結果を、逐次時系列で取得し、
    置き換えテーブル作成処理部により、プログラム修正の有無には依存しない、乃至は依存しない可能性があるものの、前記テスト対象プログラムの実行状況によって変化する、実行結果の部分を示す置き換えテーブル情報を生成して、置き換えテーブル格納装置に格納し、
    前記置き換えテーブル情報を用いながら、プログラム修正前後の実行結果を比較し、プログラムの不具合を判定する情報を生成するようにしたことを特徴とする回帰テスト支援方法。
  2. 請求項1に記載の回帰テスト支援方法において、
    前記置き換えテーブル情報の各レコードが、テスト対象プログラムが出力する処理結果データ別の、該当の処理結果データに結びつけるための判定識別情報、及び該当の処理結果データを置き換えるために用いられる補助情報によって構成されるチェック用記号データであることを特徴とする回帰テスト支援方法。
  3. 請求項1又は2に記載の回帰テスト支援方法において、
    時系列テスト情報取得処理部により、修正前のプログラムの複数回の実行結果を、それぞれの実行中に取得し、
    前記置き換えテーブル作成処理部により、これら取得した複数回の実行結果を比較することで、前記置き換えテーブル情報を自動的に生成し、前記置き換えテーブル格納装置に保存するようにしたことを特徴とする回帰テスト支援方法。
  4. 請求項1乃至3のいずれか1つに記載の回帰テスト支援方法において、
    前記置き換えテーブル作成処理部により、前記置き換えテーブル情報の自動設定、又は手動設定を可能とするようにしたことを特徴とする回帰テスト支援方法。
  5. 請求項1乃至4のいずれか1つに記載の回帰テスト支援方法において、
    判定除外設定処理部により、修正前のプログラムの実行結果、及び修正後のプログラムの実行結果の比較による、プログラムの不具合の判定の対象外とする判定除外情報を取得し、
    比較判定処理部により、前記判定除外情報を参照しながら、修正前及び修正後の前記実行結果を比較し、プログラムの不具合を判定する情報を生成するようにしたことを特徴とする回帰テスト支援方法。
  6. テスト対象プログラムのプログラム修正後の不具合を見出すための回帰テスト支援装置において、
    前記テスト対象プログラムの実行結果を、逐次時系列で取得する時系列実行結果データ取得処理部と、
    プログラム修正の有無には依存しない、乃至は依存しない可能性があるものの、前記テスト対象プログラムの実行状況によって変化する、実行結果の部分を示す置き換えテーブル情報が格納される置き換えテーブル格納装置と、
    前記置き換えテーブル情報を生成する置き換えテーブル作成処理部と、
    前記置き換えテーブル情報を用いながら、個々の前記テスト対象プログラムの逐次時系列となっている実行結果を元データとして、不具合を見出すためのプログラム修正前後の実行結果の比較に用いる比較用実行結果データが格納される比較用データ格納装置と、
    前記比較用実行結果データを生成する置換処理部と、
    プログラム修正前後の前記比較用実行結果データを比較し、プログラムの不具合を判定する情報を生成する比較判定処理部と、を備えることを特徴とする回帰テスト支援装置。
  7. 請求項6に記載の回帰テスト支援装置において、
    前記置き換えテーブル情報の各レコードが、テスト対象プログラムが出力する処理結果データ別の、該当の処理結果データに結びつけるための判定識別情報、及び該当の処理結果データを置き換えるために用いられる補助情報によって構成されるチェック用記号データであると共に、
    時系列テスト情報取得処理部が、修正前のプログラムの複数回の実行結果を、それぞれの実行中に取得するものであり、
    前記置き換えテーブル作成処理部が、これら取得した複数回の実行結果を比較することで、前記置き換えテーブル情報を自動的に生成し、前記置き換えテーブル格納装置に保存するものであり、
    更に、前記置き換えテーブル作成処理部が、前記置き換えテーブル情報の自動設定、又は手動設定を可能とするものであることを特徴とする回帰テスト支援装置。
  8. 請求項6又は7に記載の回帰テスト支援装置において、
    修正前のプログラムの実行結果、及び修正後のプログラムの実行結果の比較による、プログラムの不具合の判定の対象外とする判定除外情報を取得する判定除外設定処理部と、
    前記判定除外情報を参照しながら、修正前及び修正後の前記実行結果を比較し、プログラムの不具合を判定する情報を生成する比較判定処理部と、を更に備えるようにしたことを特徴とする回帰テスト支援装置。
  9. 請求項1乃至請求項5のいずれか1つに記載の回帰テスト支援方法、又は、請求項6乃至請求項8のいずれか1つに記載の回帰テスト支援装置を実施するためのコンピュータ・プログラム。
JP2014053595A 2014-03-17 2014-03-17 回帰テスト支援システム Pending JP2015176454A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014053595A JP2015176454A (ja) 2014-03-17 2014-03-17 回帰テスト支援システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014053595A JP2015176454A (ja) 2014-03-17 2014-03-17 回帰テスト支援システム

Publications (1)

Publication Number Publication Date
JP2015176454A true JP2015176454A (ja) 2015-10-05

Family

ID=54255572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014053595A Pending JP2015176454A (ja) 2014-03-17 2014-03-17 回帰テスト支援システム

Country Status (1)

Country Link
JP (1) JP2015176454A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022249420A1 (ja) * 2021-05-27 2022-12-01 日本電信電話株式会社 テスト生成装置、テスト生成方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022249420A1 (ja) * 2021-05-27 2022-12-01 日本電信電話株式会社 テスト生成装置、テスト生成方法、及びプログラム

Similar Documents

Publication Publication Date Title
US7895470B2 (en) Collecting and representing knowledge
US8875103B2 (en) Method of testing multiple language versions of a software system using one test script
JP6919569B2 (ja) ログ分析システム、方法、及び記録媒体
US20180060415A1 (en) Language tag management on international data storage
JP5703195B2 (ja) プログラムの新旧バージョンに対する差分比較テストシステム及びテスト方法
US20120254662A1 (en) Automated test system and automated test method
WO2011080062A1 (en) Analyzing objects from a graphical interface for standards verification
CN112540924A (zh) 接口自动化测试方法、装置、设备及存储介质
US20210133179A1 (en) Method, system and apparatus for processing database updates
JP5942009B1 (ja) ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム
JP2017045238A (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP5045517B2 (ja) 設計書作成プログラム、該装置、及び該方法
JP2009098706A (ja) 処理履歴分析支援装置及び処理履歴分析支援システム及び処理履歴分析支援プログラム
JP2005258501A (ja) 障害影響範囲解析システム及び障害影響範囲解析方法及びプログラム
JP5747751B2 (ja) リグレッションテスト支援プログラム及びリグレッションテスト支援装置
JP5998239B1 (ja) ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム
JP2015176454A (ja) 回帰テスト支援システム
JP2015043181A (ja) 回帰テスト支援システム
JP2003345628A (ja) 障害調査資料採取方法及びその実施システム並びにその処理プログラム
JP2005276040A (ja) デグレード確認検査方法、デグレード確認検査システム、およびそのためのプログラム
JP2009199172A (ja) 情報処理システム、プログラム中の類似箇所特定方法、及びプログラム
JP5569438B2 (ja) あいまい記述自動検出装置及びその方法
JP5479389B2 (ja) 情報処理システム、プログラム改修装置、プログラム改修方法、及びプログラム
JP2007199800A (ja) デグレート防止支援プログラムおよびデグレート防止支援方法
JP2015176455A (ja) 回帰テスト支援システム