(57)【要約】【課題】ソフトウエアのテストの際に不具合が発生するに至った操作手順などを的確に且つ簡便に記録してプログラマに提供できるようにする。【解決手段】テスト開始から或る所定時間分の最新の操作画面の変遷を動画像として一時記憶領域に記憶していき（Ｓ２〜Ｓ４）、途中でテスト担当者が不具合を見つけて所定の操作を行うと動画の録画を中止して、その時点から所定時間遡った期間中の動画像を１つのファイルとしてデータベースに保存する（Ｓ５〜Ｓ８）。テスト担当者が不具合状況などを文章として記録する不具合連絡票をシステム上で作成するが、その連絡票の発生手順動画欄には上記動画像ファイルにリンクが張られたファイル名が自動的に挿入される。従って、プログラマはこの連絡票を確認する際に、クリック操作により操作画面の変遷を動画再生させて確認することができる。【選択図】図３
2009032214.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ上で動作するソフトウエアのテストを支援するソフトウエアテスト支援システムであって、テスト担当者が操作する入力手段と、表示手段とを含み、
a)対象とするソフトウエアのテスト実行時に、直近の所定時間中の前記入力手段の操作に応じた前記表示手段による操作画面を動画像として記憶する画像記憶手段と、
b)前記テスト実行中のソフトウエアの不具合発生に応じた前記入力手段による所定操作を受けて、その時点から規定の時間だけ遡った期間中の操作画面の動画像データを前記画像記憶手段より取得し、ファイル化して保存するデータ保存手段と、
を備えることを特徴とするソフトウエアテスト支援システム。
【請求項２】
前記データ保存手段は、テスト担当者により作成される不具合記録情報と前記動画像データを含むファイルとを対応付けて保存し、前記不具合記録情報から前記動画像データファイルへのリンクを張るようにしたことを特徴とする請求項１に記載のソフトウエアテスト支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種のソフトウエアを開発するときに行われる該ソフトウエアの不具合を見つけるためのテストや、そのテストの結果に基づくデバッグなどを支援するためのソフトウエアテスト支援システムに関する。
【背景技術】
【０００２】
コンピュータ上で動作する各種のソフトウエアを開発する過程では、そのソフトウエアの不具合を見つけるために様々なテストが実行される。こうしたテストとしては、テスト担当者が予め定められた手順で順次操作を行っていって不具合の発生の有無を確認するテストのほかに、テスト担当者が或る程度自由に操作を行って不具合の発生の有無を確認するというテストも行われる。いずれにしても何らかの不具合が発生した場合、どのような操作を行ったときにどのような不具合が発生したのかという情報をプログラマにフィードバックする必要がある。
【０００３】
後者のような任意の操作を伴うテストの場合、或る時点で不具合が発生しても、テスト担当者はその直前にどのような操作を行ったのかを覚えていない場合もあり、そうしたときには、オペレーティング・システム（ＯＳ）のシステムログやテスト対象のアプリケーション・ソフトウエアの操作ログを確認することになる。しかしながら、こうしたログを確認しても、不具合発生の条件や操作手順を特定するのが難しいことも多い。
【０００４】
また、プログラマがソフトウエアの修正を行う際には、不具合発生の条件やその操作手順、不具合の状況などを詳細に知ることが重要であり、こうした情報は一般的に文書化してテスト担当者から開発担当者に渡される。しかしながら、文章だけでは必ずしも意図が正確に伝わらないことも多く、テスト担当者とプログラマとの間で何度もやり取りをしなければならない場合もある。
【０００５】
従来、ソフトウエアテストが正しい環境下で実施されたのか否か等について後から容易に検証できるように、テストの開始時点から終了時点までの全てのテスト作業画面を動画像として記録しておくシステムが知られている（特許文献１参照）。しかしながら、一連のテストの実施時間は非常に長時間に亘る場合もあり、それら全ての作業画面を動画像として記録しておくためには膨大な容量の記憶装置が必要となる。また、プログラマにとって重要なのは不具合発生に関する作業画面だけであるが、そうした部分を後から探すにも大きな労力が必要となる。
【０００６】
【特許文献１】特開２００４−１８５１９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は上記課題を解決するために成されたものであり、その主たる目的は、ソフトウエアテストにおける不具合の発生条件やそれに至る操作手順などを正確にプログラマにフィードバックしてソフトウエアの開発を円滑に行うことができるソフトウエアテスト支援システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために成された本発明は、コンピュータ上で動作するソフトウエアのテストを支援するソフトウエアテスト支援システムであって、テスト担当者が操作する入力手段と、表示手段とを含み、
a)対象とするソフトウエアのテスト実行時に、直近の所定時間中の前記入力手段の操作に応じた前記表示手段による操作画面を動画像として記憶する画像記憶手段と、
b)前記テスト実行中のソフトウエアの不具合発生に応じた前記入力手段による所定操作を受けて、その時点から規定の時間だけ遡った期間中の操作画面の動画像データを前記画像記憶手段より取得し、ファイル化して保存するデータ保存手段と、
を備えることを特徴としている。
【０００９】
ここで画像記憶手段は例えばリングバッファなどと呼ばれる記憶装置を用い、時間的に古い動画像データを順に廃棄しつつ、常に最新の所定量（記憶容量で決まる）の動画像データを記憶しておくようにすればよい。但し、記憶する際にフレーム間の差を用いた画像圧縮などを行う場合には、単位時間（例えば１秒）当たりの動画像データ量は一定とはならないから、画像記憶手段に保持される動画像の時間長が一定であるとは限らない。
【発明の効果】
【００１０】
本発明に係るソフトウエアテスト支援システムでは、テスト担当者は予め定められた手順で或いは任意の手順で入力手段を操作しながらテストを実施するが、何らかの不具合の発生を見つけたときに、入力手段により所定の操作を行う。すると、データ保存手段は、その時点から時間的に或る所定時間だけ遡った期間中に記憶された動画像データを画像記憶手段から取得し、これを１つのファイルとして例えばデータベースに保存する。一般的には、画像記憶手段に記憶されている全ての動画像データをファイル化するとよいが、場合によっては一部でもよい。また、保存する際に、その時点の日時情報や不具合発生の連番情報などをファイル名として自動的に付与するようにするとよい。
【００１１】
上記のようにデータ保存手段により保存される動画像ファイルは、テストの過程で発生した不具合に至る操作手順や発生条件などに関する情報を必ず含む筈である。従って、不具合発生に至る操作が任意のものであってテスト担当者がはっきりと覚えていない場合であっても、ＯＳのシステムログやテスト対象のソフトウエアの操作ログなどに頼らずにテスト担当者自身が操作手順などを確認することができる。また、不具合の発生に至る過程を文章でなく画像としてプログラマに提供できるので、これを後からプログラマなどが見ることにより、プログラム上の問題点をすぐに見つけることができ、テスト担当者とプログラマとの間の面倒なやり取りも簡素化できる。
【００１２】
また本発明に係るソフトウエアテスト支援システムによれば、保存される動画像データは不具合発生とは無関係な部分を殆ど含まないので、上記のようなテスト担当者及びプログラマの作業が効率的に行え、ソフトウエア開発期間の短縮化に有効である。また、テストが長時間に亘るものであっても、画像記憶手段の記憶容量を抑えることができるので、システムを安価に提供することができる。
【００１３】
本発明の一態様として、前記データ保存手段は、テスト担当者により作成される不具合記録情報（文書情報）と前記動画像データを含むファイルとを対応付けて保存し、前記不具合記録情報から前記動画像データファイルへのリンクを張るようにした構成とするとよい。
【００１４】
この構成によれば、プログラマはテスト担当者から提供された不具合記録情報で不具合の状況やその発生に至る条件、操作手順などを文章で確認した上で、特に必要である場合に、簡単なクリック操作等で対応する動画像ファイルを呼び出してきて動画像を再生することができる。これにより、不具合個所が多数見つかった場合でも、不具合に至る操作手順などを効率よく把握して、デバッグ作業を進めることができる。また、そうしたソフトウエアの不具合に関する情報の管理が非常に楽になり、情報が共有化されるので、多数のプログラマが共同して作業を行う場合にも便利である。
【発明を実施するための最良の形態】
【００１５】
以下、本発明に係るソフトウエアテスト支援システムの一実施例について図面を参照して説明する。
【００１６】
図１は本実施例のソフトウエアテスト支援システムの概略構成図である。このシステムは、基本的には、キーボードやマウス等のポインティングデバイスを含む入力部３と、液晶モニタ等の表示部４と、を含むコンピュータにより構成され、その主体となるテスト支援処理部１は、記憶部２に格納されているテスト対象であるソフトウエア２１のプログラムを読み出して模擬的に実行するテスト実行部１１と、ハードディスクドライブなどの大容量記憶装置の一部の記憶領域（動画像一時記憶領域２２）を利用して表示部４の操作画面をキャプチャして記憶する動画像記憶制御部１２と、不具合に関する情報を保存する不具合情報データベース２３の管理を司るデータベース管理部１３と、後述する不具合連絡票の作成を支援するための不具合記録情報作成処理部１４と、を機能として含む。
【００１７】
動画像一時記憶領域２２は、常に最新の所定時間分のデータを記憶しておけるリングバッファの形態でその書き込み動作が制御される。動画像一時記憶領域２２へのデータ書き込みの概念を図２に示す。動画像一時記憶領域２２は図示するように循環的に、つまり記憶の始端、終端がないように形成され、全くデータが記憶されていない状態から時刻ｔ＝０で書き込みが開始されると、図２（ａ）に示すように一方向にデータが書き込まれていく。全ての記憶領域にデータが記憶されるのに要する時間がＴであるとすると、時刻ｔ＝０からＴだけ時間が経過した時点で記憶領域は満杯になるから（図２（ｂ）参照）、それ以降は古い順にデータを上書きしていく。従って、新しいデータが書き込まれた分だけ、古いデータは廃棄されることになる。こうして、常に最新の、記憶容量に相当する時間分のデータを保持しておくことができる。
【００１８】
次に、図３のフローチャートに従って、このソフトウエアテスト支援システムを用いたテストを行う際の、不具合発生時の典型的な作業（操作）と処理内容について説明する。
【００１９】
まずテスト担当者が入力部３よりテスト開始を指示すると（ステップＳ１）、テスト実行部１１がテスト対象ソフトウエア２１のテストを開始し（ステップＳ２）、動画像記憶制御部１２は表示部４上の操作画面をキャプチャした動画像データを上述のように動画像一時記憶領域２２へ書き込み始める（ステップＳ３）。テスト開始によってテスト実行部１１は所定の手順で順次ソフトウエア２１のプログラムを実行し、このプログラム実行の過程で様々な操作画面が表示部４に表示され、テスト担当者は入力部３で様々な操作を実行する。こうしてテストは継続され、テスト実行中には動画像データが上述したように動画像一時記憶領域２２に継続して書き込まれる（ステップＳ４）。
【００２０】
こうしてテストを継続する過程でテスト担当者が何らかの不具合の発生を見つけた場合には（ステップＳ５でＹＥＳ）、テスト担当者は入力部３によりテスト中断指示のための所定操作を行う（ステップＳ６）。この指示を受けて動画像記憶制御部１２は動画像一時記憶領域２２への動画像データの書き込みを中止する（ステップＳ７）。例えば図２（ｂ）に示すように時刻ｔ２で書き込みを中止すると、その時点から時間Ｔだけ遡った期間中の操作画面が動画像データとして動画像一時記憶領域２２に保持されている。それと同時にデータベース管理部１３はその時点で動画像一時記憶領域２２に保持されている動画像データを１つの動画像ファイルとして不具合情報データベース２３に保存する（ステップＳ８）。この際に、ステップＳ６の指示操作の行われた日時情報を動画像ファイルのファイル名として付与する。なお、動画像データのファイル形式は既存の各種方式を用いることができ、例えばＡＶＩ形式やＭＰＥＧ形式などを利用することができる。
【００２１】
続いて、テスト担当者は入力部３で所定操作を行い、これに応じて不具合記録情報作成処理部１４は図４に示すような不具合連絡票３０の作成画面を表示部４に表示させる。この際に、不具合連絡票３０の発生手順動画欄３１には、上記動画像ファイルのファイル名が自動的に記入され（この例では、「20070721.mpg」がファイル名）、このファイル名の記述から上記動画像ファイルに対するリンクが張られる。テスト担当者は不具合連絡票３０の各欄に適宜のコメント等を書き込むが（ステップＳ９）、その際に例えば発生順序や操作内容をはっきりと覚えていない場合には、発生手順動画欄３１のファイル名をクリック操作する。すると、上記のようにデータベース２３に保存された動画像ファイルが呼び出されて自動的に動画の再生が開始される。テスト担当者は、この再生された動画で不具合発生に至る操作手順を確認しながら、発生手順のコメントを書くことができる。動画再生は一般的に利用されているソフトウエア（例えばマイクロソフト社が提供するウインドウズ・メディア・プレーヤなど）を用いればよく、任意の位置で一時停止などが可能であるから、操作手順を１つずつ確認しながらコメントを書くのにも便利である。
【００２２】
そうして不具合連絡票が完成したならば、テスト担当者が入力部３により所定の操作を行うと（ステップＳ１０）、データベース管理部１３は完成した不具合連絡票３０と上記動画像ファイルとを関連付けて、つまりは上記のように張られたリンク情報が保持された状態でデータベース２３に登録する（ステップＳ１１）。さらにソフトウエアテストの続行が可能である場合には、テスト担当者が入力部３で所定の操作を行ってテストを再開すると、中断した部分の続きからソフトウエア２１のテストが開始される。それと共に、ステップＳ３の処理から、つまり操作画面の録画がｔ＝０から（それ以前に書き込まれたデータがクリアされた状態から）実行される。
【００２３】
以上のように、ソフトウエアのテスト実行時に不具合が発生する度に不具合連絡票と動画像ファイルとが作成され、両者が関連付けられた状態で不具合情報データベース２３に登録される。プログラマはこの情報をコンピュータ上で確認し、必要に応じて不具合連絡票中に書かれた動画像ファイルのファイル名をクリック操作して動画像を再生して確認することで、ソフトウエアの不具合の状態を把握して修正作業を行うことができる。
【００２４】
なお、上記実施例は単に一例であり、本発明の趣旨に沿った範囲で適宜変形や修正を行なえることは当然である。例えば、図４に示した不具合連絡票の様式やデータ形式（ファイル形式）は任意であり、不具合の状況などの必要な事項を文章で記述したものであって、その不具合に至る操作画面を録画した動画像ファイルへのリンクが張られている、つまり動画像ファイルの呼び出し・実行が簡単に行えるものであればよい。
【００２５】
また、テスト対象のソフトウエア２１が格納される記憶領域、動画像一時記憶領域２２、不具合情報データベース２３、は同一の記憶装置であっても別であってもよい。また、テスト支援処理部１自体が１台のコンピュータではなく複数のコンピュータで具現化されているものでもよい。例えばデータベース管理部１３及び不具合情報データベース２３が別のサーバにより実現されている構成、などが考えられる。
【００２６】
また、動画像一時記憶領域２２への動画像データの記憶様式として、最も単純なのは操作画面を各フレーム毎に例えば画像圧縮して記録していく方法であるが、この方法では操作画面に変化がない状態でも同じ画像が繰り返し記録され、記憶容量の点では無駄が生じ易い。そこで、例えばフレーム間の相関などを利用した画像圧縮を行うことで、操作画面に変化がない場合に大幅にデータ量を減らすことができる。こうした画像圧縮を導入した場合には、そのときの操作画面の変遷の状況によって単位時間当たりの動画像データ量が変化するため、上述した時間Ｔは必ずしも一定ではなく変動し得る。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施例であるソフトウエアテスト支援システムの概略構成図。
【図２】本実施例のソフトウエアテスト支援システムにおける動画一時記憶部の概念図。
【図３】本実施例のソフトウエアテスト支援システムにおけるテスト作業の操作及び処理動作を示すフローチャート。
【図４】本実施例のソフトウエアテスト支援システムを用いて作成される不具合連絡票の一例を示す図。
【符号の説明】
【００２８】
１…テスト支援処理部
２…記憶部
３…入力部
４…表示部
１１…テスト実行部
１２…動画像記憶制御部
１３…データベース管理部
１４…不具合記録情報作成処理部
２１…テスト対象ソフトウエア
２２…動画像一時記憶領域
２３…不具合情報データベース
３０…不具合連絡票
３１…発生手順動画欄
【図１】
2009032214.tif 000003
【図２】
2009032214.tif 000004
【図３】
2009032214.tif 000005
【図４】
2009032214.tif 000006