JP2011141631A - 現金自動取引装置及び現金自動取引装置の更新プログラムのテスト方法 - Google Patents

現金自動取引装置及び現金自動取引装置の更新プログラムのテスト方法 Download PDF

Info

Publication number
JP2011141631A
JP2011141631A JP2010000859A JP2010000859A JP2011141631A JP 2011141631 A JP2011141631 A JP 2011141631A JP 2010000859 A JP2010000859 A JP 2010000859A JP 2010000859 A JP2010000859 A JP 2010000859A JP 2011141631 A JP2011141631 A JP 2011141631A
Authority
JP
Japan
Prior art keywords
update program
memory
teller machine
automatic teller
history
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
JP2010000859A
Other languages
English (en)
Inventor
Shinichi Kido
信一 木戸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Omron Terminal Solutions Corp
Original Assignee
Hitachi Omron Terminal Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Omron Terminal Solutions Corp filed Critical Hitachi Omron Terminal Solutions Corp
Priority to JP2010000859A priority Critical patent/JP2011141631A/ja
Publication of JP2011141631A publication Critical patent/JP2011141631A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】実際の取引を模擬した環境で、更新プログラムの動作確認テストを行う。
【解決手段】現金自動取引装置10であって、第1のOS120と、第1のメモリ130と、を有し、現金自動取引が行われる実環境100と、前記第1のOS120と独立した第2のOS220と、前記第1のメモリと独立した第2のメモリ230と、を有し、前記実環境100から独立して前記実環境に適用する更新プログラム232のテストを行う仮想環境200と、を備え、前記仮想環境200は、前記実環境における稼働状況133を抽出し、前記第2のメモリ230に稼働履歴238として記録し、前記更新プログラム232に対し、前記稼働履歴238と同一の処理を実行させて、前記更新プログラム232のテストを行う。
【選択図】図2

Description

本発明は、現金自動取引装置(ATM)の更新プログラムのテストに関する。
現金自動取引装置のファームウエアを更新するための技術が知られている(例えば特許文献1)。
特開2006−227677号公報 特開2006−39763号公報
一般にATMのプログラムは、開発元において動作確認テストを行っている。しかし、開発元での動作確認テストでは、実際の取引と同一のテスト環境を模擬することは困難であった。
本発明は、上述の課題の少なくとも一部を解決し、実際の取引を模擬した環境で、更新プログラムのテストを行うことを目的とする。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
[適用例1]
現金自動取引装置であって、第1のOSと、第1のメモリと、を有し、現金自動取引が行われる実環境と、前記第1のOSと独立した第2のOSと、前記第1のメモリと独立した第2のメモリと、を有し、前記実環境から独立して前記実環境に適用する更新プログラムのテストを行う仮想環境と、を備え、前記仮想環境は、前記実環境における稼働状況を抽出し、前記第2のメモリに稼働履歴として記録し、前記更新プログラムに対し、前記稼働履歴と同一の処理を実行させて、前記更新プログラムのテストを行う、現金自動取引装置。
この適用例によれば、実際の取引を模擬した環境で、更新プログラムのテストを行うことが可能となる。
[適用例2]
適用例1に記載の現金自動取引装置において、前記第2のメモリは、前記第1のメモリの稼働状況を前記第1のメモリから抽出して前記第2のメモリに稼働履歴として記録する抽出プログラムと、前記更新プログラムと、を格納しており、前記仮想環境は、前記更新プログラムに、前記第2のメモリに格納された前記稼働履歴と同一の処理を実行させて前記更新プログラムのテストを行う、現金自動取引装置。
この適用例によれば、抽出プログラムは、実環境のメモリから稼働履歴を抽出するだけなので、実環境100に影響を与えない。
[適用例3]
適用例1または適用例2に記載の現金自動取引装置において、前記稼働履歴は、あらかじめ前記現金自動取引装置毎に、定期あるいは不定期に実行される処理の履歴と、前記現金自動取引装置に対して行われた取引の履歴と、を含む、現金自動取引装置。
この適用例によれば、顧客との取引に基づく稼働履歴の他に、現金自動取引装置毎に、定期あるいは不定期に実行される処理の履歴の両方を稼働履歴に反映させることが可能となる。
本発明は、種々の形態で実現することが可能であり、例えば、現金自動取引装置の他、現金自動取引装置のプログラムのテスト方法等、様々な形態で実現することができる。
プログラム更新における現金自動取引システムの構成を示す説明図である。 現金自動取引装置の構成を示す説明図である。 仮想レイヤー250の構成を示す説明図である。 稼働履歴133の一例を示す説明図である。 仮想環境における処理を示すフローチャートである。 テストシナリオと判定結果236の一部を示す説明図である。
図1は、プログラム更新における現金自動取引システムの構成を示す説明図である。現金自動取引システムは、現金自動取引装置10(以下「ATM10」とも呼ぶ。)と、配布サーバー40と、配布クライアント50と、を備える。
現金自動取引装置10は、実環境100と、仮想環境200と、表示パネル300と、を備える。実環境100は、利用者との間で様々な取引を行うために用いられる。ここで取引とは、例えば、預入、払戻、振込、残高照会、通帳記入等の取引を意味する。なお、ここに列挙したものは、取引の一例であり、ここに記載されていない取引を排除するものではない。仮想環境200は、利用者との間の取引には用いられず、本実施例では、更新プログラムのテストのために用いられる。「更新プログラム」とは、自動取引装置10の処理を実行するためのプログラムであって、更新された新たなプログラム(バージョンアップされたプログラム)である。本実施例では、仮想環境200は、実環境100における稼働状況を抽出して、稼働履歴を仮想環境200内に作成する。そして、仮想環境200は、稼働履歴を用いて更新プログラムのテストランを実行し、その処理結果が正常か否かを確認する。ここで、仮想環境200による更新プログラムのテストの動作が実環境100の動作に影響を与えないように、仮想環境200は、実環境から独立して構成されている。表示パネル300は、現金自動取引装置10の稼働状態を、現金自動取引装置10の管理者に知らせるために用いられるが、本実施例では、表示パネル300は、更新プログラムのテスト結果を表示するためにも用いられる。なお、表示パネル300は、現金自動取引装置10の、利用者(顧客)から見えない位置、例えば背面に配置されることが好ましい。
更新プログラムのテスト結果には、様々な表示方法があり、ここでは、そのいくつかの例について説明する。
(1)パターン1:自動機の表示パネルに表示
パターン1では、上述したように、現金自動取引装置10の表示パネル300にテスト結果を表示する。この方法では、作業担当者は、現金自動取引装置10の表示パネル300にて、テスト結果を容易に確認することがが可能となる。
(2)パターン2:Push型 (即時)
パターン2では、仮想環境200は、テスト結果を、リアルタイムに指定の配布サーバー40に接続されたの仮想データベース45に格納する。この方法では、作業担当者は、配布クライアント50を用いて、テスト結果を即座に確認することが可能となる。
(3)パターン3:Pull型
パターン3では、テスト結果は、フラッシュメモリ230に格納される。配布クライアント50あるいは配布サーバー40は、ネットワークを介して仮想環境200のフラッシュメモリにアクセスし、テスト結果を取得する。この方法では、現金自動取引装置10が通電されている状態であれば、配布クライアント50あるいは配布サーバー40は、24時間365日いずれであってもテスト結果を取得することが可能である。また、パターン3では、現金自動取引装置10稼動中のネットワーク負荷を考慮したテスト結果採取を可能である。
配布サーバー40は、更新プログラムを現金自動取引装置10に配布する。更新プログラムをテストする場合には、配布サーバー40は、仮想環境200に更新プログラムを配布する。更新プログラムが、テストされ、実環境100に導入可能な状態までデバッグが完了している場合には、配布サーバー40は、更新プログラムを実環境100に配布する。なお、配布サーバー40は、仮想環境200により行われた更新プログラムのテストの結果を格納するための仮想データベース45を備えていてもよい。
配布クライアント50は、配布サーバー40に対し、更新プログラムの配布を指示するための端末である。なお、現金自動取引装置10の管理者は、配布クライアント50を操作することにより、配布サーバー40に格納された更新プログラムのテストの結果を取得することが可能である。
図2は、現金自動取引装置の構成を示す説明図である。現金自動取引装置10は、上述のように、実環境100と、仮想環境200と、を備えている。実環境100は、第1のコンピュータにより構成されており、CPU110と、OS120と、RAM130と、ハードディスク140とを備える。仮想環境200は、第2のコンピュータにより構成されており、CPU210と、OS220と、フラッシュメモリ230とを備える。以後、『実環境100』を『第1のコンピュータ100』とも呼び、『仮想環境200』を『第2のコンピュータ200』とも呼ぶ。なお、CPU110、210は、実際には、同一のハードウエア(1個のCPU)であってもよく、あるいは、別個の独立した2つのCPUとして実装されていてもよい。ハードディスク140は、実環境100の更新前のバージョンのプログラム(以下「更新前プログラム141」と呼ぶ。)及び稼働シナリオ142を格納している。CPU110は、この更新前プログラム141を実行することにより、実環境100における取引処理を実行する。稼働シナリオ142は、現金自動取引装置10の実環境100における定期的なルーチンワークを規定する。
実環境100は、仮想環境200から独立して設けられており、仮想環境200の処理が実環境100の処理に影響を与えない。RAM130、フラッシュメモリ230も独立して設けられている。ただし、RAM130と、フラッシュメモリ230とは、仮想レイヤー250を形成している。仮想環境200のOS220は、仮想レイヤー250を介して、フラッシュメモリ230にアクセス可能である。すなわち、OS220上で実行される抽出プログラム(後述)が、RAM130に格納されたデータの一部を抽出することが可能である。一方、実環境のOS120は、フラッシュメモリ230にアクセスすることはできない。
図3は、仮想レイヤー250の構成を示す説明図である。仮想レイヤー250は、上述したように、RAM130と、フラッシュメモリ230と、を備えている。RAM130は、更新前プログラム131と、稼働シナリオ132と、稼働状況133とを格納している。ここで、更新前プログラム131と、稼働シナリオ132は、それぞれ、ハードディスク140の更新前プログラム141、稼働シナリオ142がコピーされてきたものである。稼働状況133は、取引処理134と、取引により生じたメモリの状態(例えばプロセス134、スレッド135)を含む。
フラッシュメモリ230は、抽出プログラム231と、更新プログラム232と、テスト実行プログラム233と、判定プログラム234と、通信プログラム235と、判定結果236、テストシナリオ237と、稼働記録238と、を格納している。抽出プログラム231は、実環境100に影響を与えることなく、RAM130から稼働状況133を抽出して稼働履歴238として記録する。このときの抽出タイミングは、例えば、稼働状況133に変化が生じたとき、すなわち、新たな取引や、ルーチン処理が行われたとき、あるいは、メモリ状態(プロセス135やスレッド136)に変化が生じたときが好ましい。
稼働履歴238は、取引履歴238aと、ルーチン処理履歴238bと、メモリ状態履歴238cと、を含んでいる。取引履歴238aは、利用者により行われる不定期な取引の処理の履歴であり、ルーチン処理履歴238bは、稼働シナリオ132に従って行われる定期的な処理の履歴である。メモリ状態履歴238cは、実環境100のRAM130内の構成要素であるプロセス135やスレッド136の割り当て状態や稼働状態の履歴である。メモリ状態履歴238cは、プロセス135やスレッド136以外の情報(例えば、メモリ管理用の情報など)を含んでいてもよい。
図4は、稼働履歴238の一例を示す説明図である。稼働履歴238には、時刻を基準として、処理内容、処理結果が格納されている。例えば、図4に記載した処理のうち、出金処理、入金処理、通帳記入処理、振込処理、残高照会処理は、取引履歴134に相当し、処理A、集計処理は、ルーチン処理履歴に相当する。
図3に示す更新プログラム232は、テストされるプログラムであり、配布サーバー40から仮想環境200に送信され、フラッシュメモリ230に格納されたものである。テストシナリオ237は、抽出した稼働履歴238を用いて構成されたものである。テスト実行プログラム233は、テストシナリオ237を用いて、更新プログラム232のテストランを実行する。判定プログラム234は、稼働履歴238と、更新プログラムのテストランの処理結果とを比較して、更新プログラム232の良否判定を行い、結果を判定結果236に格納する。通信プログラム235は、更新プログラム232を受信したり、判定結果236を配布サーバー40に送信したりする場合に用いられる。
図5は、仮想環境における処理を示すフローチャートである。ステップS500では、CPU210は、配布サーバー40から更新プログラムを受信し、フラッシュメモリ230に格納する。ステップS510では、CPU210は、抽出プログラム231を実行し、実環境100のRAM130から稼働状況133を抽出する。CPU210は、RAM130の稼働状況133が変化する度に抽出することが好ましい。また、抽出条件は、指定が可能であり、特定の処理に関する稼働状況133のみを抽出することも可能である。
ステップS520では、CPU210は、抽出した稼働状況133を、フラッシュメモリ230中に稼働履歴238として格納する。ステップS530では、CPU210は、テスト実行プログラム233を実行して、稼働履歴238を用いてテストシナリオ237を作成する。ステップS540では、CPU210は、更新プログラム232に対し、テストシナリオ237に規定された動作を実行させることにより、実環境100における動作を模擬したテストランを実行する。なお、CPU210は、テストシナリオ237を作成する際に、稼働履歴238の内容に、更新前のプログラムでは実行していなかったルーチンワークの内容を加えてもよい。この追加するルーチンワークの内容は、例えば、配布サーバー40から送信される。また、ルーチン処理履歴に記録された処理の内容を、異なる処理の内容に変更してもよい。
ステップS550では、CPU210は、判定プログラム234を実行し、更新プログラム232のテストランの結果の良否を判定する。CPU210は、抽出した稼働履歴238に格納された処理結果と、更新プログラム232のテストランの処理結果と、を比較することにより判定を行う。判定は、処理毎に行われることが好ましい。こうすれば、どの処理に対するプログラムにバグがあり、どの処理に対するプログラムにバグが無かったかが判る。したがって、プログラム開発者は、バグがあった処理に関する更新プログラム部分(例えばサブルーチンやダイナミンク・リンク・ライブラリー(DLL))のデバッグを行えばよい。
ステップS560では、CPU210は、判定結果236を表示パネル300に表示する。この処理は、上述したパターン1の表示方法に相当する。ステップS570では、CPU210は、判定結果236を配布サーバー40に送信する。この処理は、上述したパターン2の表示方法に相当する。なお、ステップS560、S570は、いずれか一方のみの実行であってもよい。また、上述したパターン3の表示方法のように、配布サーバー40が、現金自動取引装置10に対し、判定結果を送信するように要求した場合に、CPU210が、ステップS560を実行してもよい。
図6は、テストシナリオと判定結果236の一部を示す説明図である。上段がテストシナリオ237を示し、下段が判定結果236を示している。例えば、処理401は、実環境100で毎週月曜日の10:00に実行する処理を示す。ここでは指定条件が自動となっている。指定条件が自動の場合は、月曜日の10:00に実環境100で実行されると、その処理内容や処理結果は直ちに、仮想環境200にコピーされ、仮想環境200で直ちに実行される。この処理は正常に終了している。処理402は、金曜日の10:00に1回のみ実行する処理を示している。ここでは指定条件が手動となっている。指定条件が手動の場合には、その処理は、実環境100で実行されたものが自動的に取り込まれたものではなく、例えば配布サーバー40において準備された新たな処理が、手動でテストシナリオ237に格納されたことを意味する。本実施例では、NGとなっており、NGの内容が判定結果236に書き込まれる。開発者は、この判定結果を考慮して、処理402に係る更新プログラム部分のデバッグを行うことができる。処理403は、土曜日の10:00に処理Aを行い、その結果を引き継いで11:00に処理Bを実行する処理を示している。このように、複数の処理A、Bを合わせて1トランザクションとしてプログラムの良否を判定することも可能である。
以上、本実施例によれば、現金自動取引装置10は、実環境100と仮想環境200で、それぞれ独立したOS120、220、メモリ(RAM130、フラッシュメモリ230)を有している。そして、実環境100は、稼働状況をRAM130に格納し、仮想環境200は、実環境100で行われた稼働状況133を抽出し、稼働状況133に基づいて、テストシナリオ237を作成し、更新プログラム232のテストランを行う。したがって、実際の取引を模擬した環境で、更新プログラム232のテストランを行うことが可能となる。また、本実施例では、仮想環境200の抽出プログラム231は、実環境100のRAM130から取引状況133を抽出するだけなので、実環境100に影響を与えない。また、実環境100で取引が有ったときは、すぐにその取引についての稼働状況133を抽出するので、1回ごとの抽出するデータ量が少ないので、データ抽出の負担が少ない。
以上、いくつかの実施例に基づいて本発明の実施の形態について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物が含まれることはもちろんである。
10…現金自動取引装置
40…配布サーバー
45…仮想DB
50…配布クライアント
100…実環境(第1のコンピュータ)
110…CPU
120…OS
130…第1のメモリ
131…更新前プログラム
132…稼働シナリオ
133…稼働状況
134…取引処理
135…プロセス
136…スレッド
140…ハードディスク
141…更新前プログラム
142…稼働シナリオ
200…仮想環境(第2のコンピュータ)
210…CPU
220…OS
230…フラッシュメモリ
231…抽出プログラム
232…更新プログラム
233…テスト実行プログラム
234…判定プログラム
235…通信プログラム
236…判定結果
237…テストシナリオ
238…稼働履歴
238a…取引履歴
238b…ルーチン処理履歴
238c…メモリ状態履歴
250…仮想レイヤー
300…表示パネル
401〜403…処理

Claims (4)

  1. 現金自動取引装置であって、
    第1のOSと、第1のメモリと、を有し、現金自動取引が行われる実環境と、
    前記第1のOSと独立した第2のOSと、前記第1のメモリと独立した第2のメモリと、を有し、前記実環境から独立して前記実環境に適用する更新プログラムのテストを行う仮想環境と、
    を備え、
    前記仮想環境は、
    前記実環境における稼働状況を抽出し、
    前記第2のメモリに稼働履歴として記録し、
    前記更新プログラムに対し、前記稼働履歴と同一の処理を実行させて、前記更新プログラムのテストを行う、
    現金自動取引装置。
  2. 請求項1に記載の現金自動取引装置において、
    前記第2のメモリは、
    前記第1のメモリの稼働状況を前記第1のメモリから抽出して前記第2のメモリに稼働履歴として記録する抽出プログラムと、
    前記更新プログラムと、
    を格納しており、
    前記仮想環境は、前記更新プログラムに、前記第2のメモリに格納された前記稼働履歴と同一の処理を実行させて前記更新プログラムのテストを行う、
    現金自動取引装置。
  3. 請求項1または請求項2に記載の現金自動取引装置において、
    前記稼働履歴は、
    あらかじめ前記現金自動取引装置毎に、定期あるいは不定期に実行される処理の履歴と、
    前記現金自動取引装置に対して行われた取引の履歴と、
    を含む、
    現金自動取引装置。
  4. 現金自動取引装置の更新プログラムのテスト方法であって、
    (a)現金自動取引装置内の実環境の稼働状況を第1のメモリに格納する工程と、
    (b)前記稼働状況を前記第1のメモリから抽出し、前記現金自動取引装置内の仮想環境の第2のメモリであって、前記実環境からアクセス不能な第2のメモリに稼働履歴として格納する工程と、
    (c)更新プログラムを前記第2のメモリに格納する工程と、
    (d)前記更新プログラムに対し、前記稼働履歴と同一の処理を実行させて、前記更新プログラムのテストを行う工程と、
    を備える、現金自動取引装置の更新プログラムのテスト方法。
JP2010000859A 2010-01-06 2010-01-06 現金自動取引装置及び現金自動取引装置の更新プログラムのテスト方法 Pending JP2011141631A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010000859A JP2011141631A (ja) 2010-01-06 2010-01-06 現金自動取引装置及び現金自動取引装置の更新プログラムのテスト方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010000859A JP2011141631A (ja) 2010-01-06 2010-01-06 現金自動取引装置及び現金自動取引装置の更新プログラムのテスト方法

Publications (1)

Publication Number Publication Date
JP2011141631A true JP2011141631A (ja) 2011-07-21

Family

ID=44457449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010000859A Pending JP2011141631A (ja) 2010-01-06 2010-01-06 現金自動取引装置及び現金自動取引装置の更新プログラムのテスト方法

Country Status (1)

Country Link
JP (1) JP2011141631A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013105358A (ja) * 2011-11-15 2013-05-30 Japan Research Institute Ltd プログラムの新旧バージョンに対する差分比較テストシステム及びテスト方法
JP2018200683A (ja) * 2017-04-28 2018-12-20 ザ・ボーイング・カンパニーThe Boeing Company 自動化された試験システムの方法及び設計
JP2019067274A (ja) * 2017-10-04 2019-04-25 富士通株式会社 生成プログラム、生成方法、及び情報処理装置
JP2020154815A (ja) * 2019-03-20 2020-09-24 富士ゼロックス株式会社 情報処理装置及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013105358A (ja) * 2011-11-15 2013-05-30 Japan Research Institute Ltd プログラムの新旧バージョンに対する差分比較テストシステム及びテスト方法
JP2018200683A (ja) * 2017-04-28 2018-12-20 ザ・ボーイング・カンパニーThe Boeing Company 自動化された試験システムの方法及び設計
JP7125854B2 (ja) 2017-04-28 2022-08-25 ザ・ボーイング・カンパニー 自動化された試験システムの方法及び設計
AU2018200693B2 (en) * 2017-04-28 2023-07-13 The Boeing Company Method and design for automated testing system
JP2019067274A (ja) * 2017-10-04 2019-04-25 富士通株式会社 生成プログラム、生成方法、及び情報処理装置
JP2020154815A (ja) * 2019-03-20 2020-09-24 富士ゼロックス株式会社 情報処理装置及びプログラム

Similar Documents

Publication Publication Date Title
US10185924B1 (en) Security risk response impact analysis
US8418150B2 (en) Estimating impact of configuration changes
JP6788178B2 (ja) 設定支援プログラム、設定支援方法及び設定支援装置
US8209564B2 (en) Systems and methods for initiating software repairs in conjunction with software package updates
US9152484B2 (en) Generating predictive diagnostics via package update manager
US20160098810A1 (en) Watermarking and Scalability Techniques for a Virtual Desktop Planning Tool
US20110296398A1 (en) Systems and methods for determining when to update a package manager software
WO2018183620A1 (en) Methods and systems for testing web applications
US20140325480A1 (en) Software Regression Testing That Considers Historical Pass/Fail Events
US9116802B2 (en) Diagnostic notification via package update manager
US8311794B2 (en) Testing executable logic
US8312415B2 (en) Using code analysis for requirements management
US11768751B2 (en) Software performance testing
US20100047760A1 (en) Method and system for delivering performance based emulation testing
US11580008B2 (en) Method and system for synchronous development and testing of live, multi-tenant microservices based SaaS systems
US20180232299A1 (en) Composing future tests
JP2006119848A (ja) ソフトウェア更新プログラム、ソフトウェア更新装置およびソフトウェア更新方法
US9195562B2 (en) Recording external processes
JP2011141631A (ja) 現金自動取引装置及び現金自動取引装置の更新プログラムのテスト方法
EP2883134A1 (en) Executable software specification generation
CN105005519B (zh) 清除客户端缓存的方法和装置
CN112769609B (zh) 控制故障模拟和模拟故障的方法、系统、介质和产品
US10324821B2 (en) Oracle cemli analysis tool
Wang et al. Application Monitoring for bug reproduction in web-based applications
Cohen et al. Robustness testing of software-intensive systems: explanation and guide