JP5225553B2 - テストケース抽出装置、テストケース抽出プログラム、テストケース抽出プログラムが格納された記憶媒体およびテストケース抽出方法 - Google Patents

テストケース抽出装置、テストケース抽出プログラム、テストケース抽出プログラムが格納された記憶媒体およびテストケース抽出方法 Download PDF

Info

Publication number
JP5225553B2
JP5225553B2 JP2006113083A JP2006113083A JP5225553B2 JP 5225553 B2 JP5225553 B2 JP 5225553B2 JP 2006113083 A JP2006113083 A JP 2006113083A JP 2006113083 A JP2006113083 A JP 2006113083A JP 5225553 B2 JP5225553 B2 JP 5225553B2
Authority
JP
Japan
Prior art keywords
state
test case
information
function
test
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.)
Expired - Fee Related
Application number
JP2006113083A
Other languages
English (en)
Other versions
JP2007286871A (ja
Inventor
昌志 大角
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2006113083A priority Critical patent/JP5225553B2/ja
Publication of JP2007286871A publication Critical patent/JP2007286871A/ja
Application granted granted Critical
Publication of JP5225553B2 publication Critical patent/JP5225553B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、コンピュータ応用製品の開発において、その動作試験に使用される技術に関する。特に、動作試験に使用されるテストケースを抽出する装置、テストケースを抽出するプログラム、テストケースを抽出するプログラムが格納された記憶媒体およびテストケースを抽出する方法に関する。
携帯電話端末や産業機器、家電製品などのコンピュータ応用製品に内蔵されるマイクロコンピュータを制御するためのソフトウェアを総称して、組み込みソフトウェアと呼ぶ。
昨今、携帯電話端末に代表されるコンピュータ応用製品の高機能化、高性能化にともなう組み込みソフトウェアの大規模化が急速に進んでいる。その一方で、市場の競争激化による、組み込みソフトウェアの開発期間の短縮化が要請されている。そのため、高品質なソフトウェアを、効率的に開発するための取り組みが広く行なわれている。
ソフトウェアの開発段階においては、ソフトウェアが設計仕様にしたがって、正しく動作しているかをテストするための情報(以下、テストケースと呼ぶ)が作成される。特許文献1では、完成したソフトウェアの動作確認がもれなく効率的に実施できるようなテストケースを自動的に作成する装置について記載されている。
特開平7−253905号公報明細書
しかしながら、特許文献1で開示されるテストケース作成装置は、ソフトウェアの部品の完成状況を考慮してテストケースを作成しない。このため、作成されたテストケースには、未完成の部品に関するテストケースも含まれる。未完成の部品がテスト対象に含まれる場合、そのソフトウェアに対するテストを実行したとしても、その結果には信頼性がない。また、不具合が検出された場合であっても、部品が完成していないことによるものなのか、プログラムミスなどのソフトウェア中の誤りによるものなのか分からず、分析に時間を要していた。
このため、すべてのソフトウェア開発が完了してから、テストを開始する必要があり、開発からテスト終了まで、長い期間が必要となる。
本発明は、上記のような問題を解決するためになされたものであって、その目的は、作成したテストケースから、ソフトウェアの部品の完成状況を考慮したテストケースを抽出する装置を提供することである。
本発明の1つの局面に従うと、対象物を制御するためのソフトウェアの開発段階において、対象物が設計仕様を満足しているかを検証するためテストケースを抽出するための抽出装置であって、ソフトウェアは複数の部品を含み、対象物の取り得る状態と、発生したイベントに対して取り得る状態が遷移する先の状態とが予め関連付けられた情報および対象物の取り得る状態のうちの対象物の動作初期状態を含む、対象物の設計仕様に基づく第1の状態遷移情報を記憶するための状態遷移情報記憶部と、対象物を制御するためのソフトウェアの開発段階において、対象物の機能ごとに当該機能に属する取り得る状態および対象物の機能を実現するための部品の設計仕様に基づく開発が完了したか否かを示す機能完成情報を記憶するための機能完成情報記憶部と、第1の状態遷移情報の中から、機能完成情報に基づき、開発の完了状況において動作初期状態から遷移可能な状態で構成される第2の状態遷移情報を生成するための状態遷移情報再構成部と、対象物が設計仕様を満足しているかを検証するために予め設定されている情報であるテストケースごとに、第1の状態遷移情報に基づくテストケース情報を記憶するためのテストケース情報記憶部と、開発段階においてテスト可能なテストケース情報を、テストケース情報記憶部から抽出するためのテストケース抽出部とを備える。テストケース情報は、テストケースの開始時点における対象物の状態を示すテスト開始状態から、テストケースにおいて発生したイベントによって対象物が遷移する最終到達状態までの状態の系列として、テスト開始状態から最終到達状態までの取り得る状態の遷移を特定する情報を含む。状態遷移情報再構成部は、第1の状態遷移情報に含まれる取り得る状態の中から、機能完成情報に基づき、未完成のソフトウェアの部品と対応する対象物の機能に属する取り得る状態を削除し、完成した機能に属する取り得る状態のみに基づく状態遷移情報を生成するための手段と、完成した機能に属する取り得る状態のみに基づく状態遷移情報の中から、動作初期状態から到達可能な取り得る状態を抽出するための手段とを含む。テストケース抽出部は、テストケース情報記憶部に記憶されるテストケース情報の中から、テスト開始状態から最終到達状態まで順に遷移するすべての取り得る状態が、状態遷移情報再構成部によって動作初期状態から到達可能として抽出された取り得る状態であるテストケース情報を、テスト可能なテストケース情報として抽出する。
好ましくは、ユーザが、設計仕様の変更に応じて、状態遷移情報記憶部に記憶された状態遷移情報を書き換えるための手段をさらに備える。
好ましくは、ユーザが、開発の完了状況状況の変更に応じて、機能完成情報記憶部に記憶された機能完成情報を書き換えるための手段をさらに備える。
好ましくは、ユーザが、テストケースの変更に応じて、テストケース情報記憶部に記憶されたテストケース情報を書き換えるための手段をさらに備える。
本発明の他の局面に従うと、対象物が設計仕様を満足しているかを検証するために予め設定されている第1のテストケースの中から、対象物を制御するためのソフトウェアの開発段階において実行可能な第2のテストケースを抽出する処理を、演算部および記憶部を有するコンピュータに実行させるためのプログラムであって、ソフトウェアは複数の部品を含み、演算部が、対象物の取り得る状態と、発生したイベントに対して取り得る状態が遷移する先の状態とが予め関連付けられた情報および対象物の取り得る状態のうちの対象物の動作初期状態を含む、対象物の設計仕様に基づく第1の状態遷移情報を記憶部から読み込むステップと、演算部が、開発段階において、対象物の機能ごとに当該機能に属する取り得る状態および対象物の機能を実現するための部品の設計仕様に基づく開発が完了したか否かを示す機能完成情報を記憶部から読み込むステップと、演算部が、第1の状態遷移情報の中から、機能完成情報に基づき、開発の完了状況において動作初期状態から遷移可能な状態で構成される第2の状態遷移情報を生成するステップと、演算部が、第1のテストケースごとに、第1の状態遷移情報に基づく第1のテストケース情報を記憶部から読み込むステップと、演算部が、開発段階においてテスト可能なテストケース情報を、読み込まれた第1のテストケース情報から第2のテストケース情報として抽出するステップとを備える。第1のテストケース情報は、第1のテストケースの開始時点における対象物の状態を示すテスト開始状態から、第1のテストケースにおいて発生したイベントによって対象物が遷移する最終到達状態までの状態の系列として、テスト開始状態から最終到達状態までの取り得る状態の遷移を特定する情報を含む。第2の状態遷移情報を生成するステップは、第1の状態遷移情報に含まれる取り得る状態の中から、機能完成情報に基づき、未完成のソフトウェアの部品と対応する対象物の機能に属する取り得る状態を削除し、完成した機能に属する取り得る状態のみに基づく状態遷移情報を生成するステップと、完成した機能に属する取り得る状態のみに基づく状態遷移情報の中から、動作初期状態から到達可能な取り得る状態を抽出するステップとを含む。第2のテストケース情報を抽出するステップでは、記憶部に記憶される第1のテストケース情報の中から、テスト開始状態から最終到達状態まで順に遷移するすべての取り得る状態が、第2の状態遷移情報を生成するステップによって動作初期状態から到達可能として抽出された取り得る状態であるテストケース情報を、テスト可能な第2のテストケース情報として抽出する。
本発明のさらに他の局面に従うと、上記テストケース抽出プログラムを格納したコンピュータ読み取り可能な記憶媒体を提供する。
本発明のさらに他の局面に従うと、対象物が設計仕様を満足しているかを検証するために予め設定されている第1のテストケースの中から、対象物を制御するためのソフトウェアの開発段階において実行可能な第2のテストケースを抽出する方法であって、ソフトウェアは複数の部品を含み、対象物の取り得る状態と、発生したイベントに対して取り得る状態が遷移する先の状態とが予め関連付けられた情報および対象物の取り得る状態のうちの対象物の動作初期状態を含む、対象物の設計仕様に基づく第1の状態遷移情報を読み込むステップと、開発段階において、対象物の機能ごとに当該機能に属する取り得る状態および対象物の機能を実現するための部品の設計仕様に基づく開発が完了したか否かを示す機能完成情報を読み込むステップと、第1の状態遷移情報の中から、機能完成情報に基づき、完成状況において動作初期状態から遷移可能な状態で構成される第2の状態遷移情報を生成するステップと、第1のテストケースごとに、第1の状態遷移情報に基づく第1のテストケース情報を読み込むステップと、開発段階においてテスト可能なテストケース情報を、読み込まれた第1のテストケース情報から第2のテストケース情報として抽出するステップとを備え、第1のテストケース情報は、第1のテストケースの開始時点における対象物の状態を示すテスト開始状態から、第1のテストケースにおいて発生したイベントによって対象物が遷移する最終到達状態までの状態の系列として、テスト開始状態から最終到達状態までの取り得る状態の遷移を特定する情報を含む。第2の状態遷移情報を生成するステップは、第1の状態遷移情報に含まれる取り得る状態の中から、機能完成情報に基づき、未完成のソフトウェアの部品と対応する対象物の機能に属する取り得る状態を削除し、完成した機能に属する取り得る状態のみに基づく状態遷移情報を生成するステップと、完成した機能に属する取り得る状態のみに基づく状態遷移情報の中から、動作初期状態から到達可能な取り得る状態を抽出するステップとを含む。第2のテストケース情報を抽出するステップでは、読み込まれた第1のテストケース情報の中から、テスト開始状態から最終到達状態まで順に遷移するすべての取り得る状態が、第2の状態遷移情報を生成するステップによって動作初期状態から到達可能として抽出された取り得る状態であるテストケース情報を、テスト可能な第2のテストケース情報として抽出する。
本発明によれば、作成したテストケースから、ソフトウェアの部品の完成状況を考慮したテストケースを抽出することができる。これにより、開発途中においてもテストを開始することができる。したがって、開発期間、およびテスト期間を短縮することができ、効率的にソフトウェア開発を行なうことが可能である。
以下、図面を参照しつつ本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについては詳細な説明は繰り返さない。
本実施の形態の説明に先立って、コンピュータ応用製品に組み込まれるソフトウェアの一般的な開発工程について述べる。
図1は、ソフトウェアの開発工程の概略を示したフローチャートである。
図1を参照して、一般的なソフトウェアの開発工程について説明する。まず、製品開発者によって、製品に要求される機能、および性能が分析される(S1200)。ここで、製品に対する要求が明文化され、製品の仕様を記述した状態遷移モデルが作成される。その仕様に基づいて、製品の仕様を満たすためのシステムの基本設計を行なう(S1202)。次いで、そのシステムを制御するためのソフトウェアの詳細設計を行ない(S1204)、実装する(S1206)。
また、これらの処理と並行して、製品の動作試験担当者によって、テスト設計が行なわれる(S1212)。ここでは、試験担当者によって、テストケースが作成される。
最後に、システムが要求を満足するかどうかを確認するために、上記のテストケースを用いて、システムテストを行なう(S1208)。ここで不具合が生じると(S1210にて、YES)、システムの基本設計を再度行なう(S1202)。また、図示しないが、不具合の内容によっては、コード変更等の詳細設計を再度行なう(S1206)。
このような開発工程においては、テストは完成したソフトウェアに対して実行されており、開発途中のソフトウェアに対してテストを実行する手法は明らかではなかった。
本発明に係るテストケース抽出装置は、試験担当者によって作成されたテストケース情報の中から、開発途中でも実行可能なテストケース情報を抽出するものである。
図2は、テストケース抽出装置1の構成例を示すブロック図である。
図2を参照して、テストケース抽出装置1の構成について説明する。
テストケース抽出装置1は、コンピュータ本体102と、コンピュータ本体102とバス126を介して接続される、フレキシブルディスク(Flexible Disk、以下FD)116に情報を読み書きするためのFDドライブ106と、CD−ROM(Compact Disc Read-Only Memory)118等の光ディスク上の情報を読み込むための光ディスクドライブ108と、外部とデータの授受を行なうための通信インターフェイス128と、表示装置としてのモニタ104と、入力装置としてのキーボード110およびマウス112とを備える。また、通信インターフェイス128を経由して、外部より、状態遷移情報140、機能完成情報142、およびテストケース情報144が与えられる。コンピュータ本体102は、バス126に接続されたCPU(Central Processing Unit)120と、ROM(Read Only Memory)およびRAM(Random Access Memory)を含むメモリ122と、直接アクセスメモリ装置、たとえば、ハードディスク124を含む。
また、光ディスクドライブ108にはCD−ROM118などの光ディスクが装着される。FDドライブ106にはFD116が装着される。なお、CD−ROM118は、コンピュータ本体に対してインストールされるプログラム等の情報を記録可能な媒体であれば、他の媒体、たとえば、DVD−ROM(Digital Versatile Disc)やメモリーカードなどでもよく、その場合は、コンピュータ本体102には、これらの媒体を読み取ることが可能なドライブ装置が設けられる。
テストケースを抽出するプログラム(以下、単にテストケース抽出プログラムと呼ぶ)は、FD116またはCD−ROM118等の記憶媒体によって供給される。テストケース抽出プログラムがコンピュータ本体102によって実行されることにより、上述のようなテスト可能なテストケースの抽出が行なわれる。また、テストケース抽出プログラムは他のコンピュータより通信インターフェイス128を経由し、コンピュータ本体102に供給されてもよい。
また、本実施の形態では、状態遷移情報140、機能完成情報142、およびテストケース情報144は、通信インターフェイス128を介してコンピュータ本体102に与えられるが、記憶媒体によって供給されてもよい。なお、これらの情報は、一旦ハードディスク124に格納されることにより、ユーザは、これらの情報に対して、キーボード110を介して、追加、修正、削除等の編集を行なうことが可能である。
CPU120は、メモリ122をワーキングメモリとして、上述したテストケース抽出プログラムに対応した処理を実行する。
テストケース抽出プログラムは、上述の通り、CPU120により実行されるソフトウェアである。一般的に、こうしたソフトウェアは、CD−ROM118、FD116等の記憶媒体に格納されて流通し、光ディスクドライブ108またはFDドライブ106等により記憶媒体から読み取られてハードディスク124に一旦格納される。または、コンピュータ100がネットワークに接続されている場合には、ネットワーク上のサーバから一旦ハードディスク124にコピーされる。そうしてさらにハードディスク124からメモリ122中のRAMに読み出されてCPU120により実行される。なお、ネットワーク接続されている場合には、ハードディスク124に格納することなくRAMに直接ロードして実行するようにしてもよい。
図2に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の機能を実現するに当り本質的な部分は、FD116、CD−ROM118、ハードディスク124等の記憶媒体に記憶されたソフトウェアである。
図3は、CPU120の機能的構成を示すブロック図である。
図3を参照して、CPU120の機能的構成を説明する。
CPU120は、状態遷移情報134と機能完成情報136とから状態遷移情報134を再構成する状態遷移情報再構成部204と、再構成された状態遷移情報をもとに、テストケース情報138の中からテスト可能なテストケースを抽出するテスト可能テストケース抽出部208と、抽出したテストケースを表示するための処理を行なう表示処理部210とを含む。
記憶部220は、状態遷移情報134と、機能完成情報136と、テストケース情報138と、状態遷移情報再構成部204から与えられた遷移可能な状態のみで構築された状態遷移情報130と、テスト可能テストケース抽出部208から与えられたテスト可能テストケース132とを保存する。なお、遷移可能な状態のみで構成された状態遷移情報130は、テスト可能テストケース抽出部208に与えられる。また、テスト可能テストケース132は、表示処理部210に与えられる。
状態遷移情報は、製品開発者によって、製品に要求される機能および性能が分析される際に作成される、その製品の仕様を記述した情報である。この状態遷移情報には、テスト対象の製品の取り得る状態と、ある処理が与えられたときに遷移する先の状態とが予め関連付けられている。このような処理が与えられることを、「イベントが発生する」と呼ぶ。
図4は、状態遷移情報の一例を示した図である。
図4を参照して、状態遷移情報について説明する。
図4において、列30には、「条件」、「状態名」、および条件と状態名とから決定される「ID」が示され、列32には、「イベント名」が示されている。また、イベント発生時の遷移先のIDが各行の下段36に示される。イベント発生時に、条件も変更される場合は、変更内容が上段35に示される。遷移先がない場合、および変更内容がない場合は、「−」で表示されており、条件によって、遷移先が異なる場合は、その条件が遷移先のIDの前に表示されている。なお、欄34に示される「ボイスレコーダトップ」は、製品が最初にとる状態である「動作初期状態」として表わされている。
製品の取り得る状態は、内部あるいは外部の少なくとも一方による条件と、製品の状態とによって決定される。したがって、ここでは、状態名が同一でも、条件によって異なる状態として区別し、それぞれに異なるIDが割り振られる。以下、IDが割り振られた状態名を、ID付き状態名と呼ぶ。
ID付き状態名ごとに、発生したイベントに対する遷移先状態のIDが示される。たとえば、ID11の状態(条件が「ファイル数>0」で、状態名が「録音中」である状態)に対して、「停止ボタン」のイベントが発生した場合、「ファイル数+1」のように条件が変更され、ID12の状態に遷移する。
動作初期状態は、ID付き状態名で表現してもよいし、特定のID(たとえば、00など)として定義してもよい。また、外部入力情報として指定してもよい。
上記のような状態遷移情報は、図4で示すようなテーブル形式で表現してもよいし、状態を頂点、遷移の様子を向きによって示す辺とからなる有向グラフを用いた表現でもよい。有向グラフについては、後述する。
機能完成情報は、製品を制御するためのソフトウェアの開発段階において、製品の機能に対応するソフトウェアの部品ごとの完成状況が示された、製品開発者によって与えられる情報である。
図5は、機能完成情報の一例を示した図である。
図5を参照して、機能完成情報について説明する。
図5において、各列は、製品の開発単位となる機能の名称を表わす「機能名」、その機能に関する製品の状態遷移情報での状態名を表わす「機能の属している状態名」、および開発途中での各機能の完成状況を表わす「完成状況」を示す。なお、ここでは、完成済みの機能に対しては「○」、未完成の機能に対しては「×」で表示されているが、二値の情報として示された他の表現を用いてもよい。
図5では、たとえば、「ボイスレコーダ機能」が属する状態は、図4で示した状態遷移情報中の「ボイスレコーダトップ」であり、この機能は「完成済み」であることを示している。
上記のような機能完成情報は、図5で示すようなテーブル形式で表現してもよいし、他の形式で表現してもよい。
テストケースは、テスト担当者によって、状態遷移情報に基づいて自然言語で作成される、テスト手順を示した情報である。テストケース情報は、この自然言語で記載されるテスト手順を状態遷移情報において示されるIDを用いて記述した情報である。
図6は、テストケース情報の一例を示した図である。
図6を参照して、テストケース情報について説明する。
図6において、各列は、テストケースを識別するための「テストケースID」、テスト開始時における製品状態のIDを表わす「テスト開始状態」、テスト終了時における製品状態のIDを表わす「最終到達状態」、及び、イベント発生順に遷移した状態のIDを表わす「イベント発生順の遷移状態の一覧」を示す。
テスト開始状態、最終到達状態、およびイベント発生順の遷移状態の一覧は、状態遷移情報で割り振られたIDのみで表現してもよいし、ID付き状態名で表現してもよい。
テスト担当者は、製品の機能をテストするため、機能に対する操作とその操作によって得られる結果が示されたテストケースを作成する。そして、この操作と結果を、状態遷移情報で用いられたIDで記述し、テストケース情報を得る。
図6では、たとえば、Test01は、ボイスレコーダ録音テストである。まず、テスト担当者は、機能「音声ファイルなしボイスレコーダ機能」に対して、操作「録音ボタンを押し、10秒後に停止ボタンを押す」をすると、結果「リスト表示機能に遷移し、音声ファイルがリストに追加される」というテストケースを自然言語で作成する。図4において、テスト開始状態は、ID00の状態(動作初期状態34)である。この状態で、「録音ボタンを押す」イベントが発生すると、ID01の状態に遷移する。次いで、録音中(ID01の状態)に「停止ボタンを押す」イベントが発生すると、「ファイル数+1」という条件変更をし、ID12の状態に遷移する。したがって、図6において、Test1では、テスト開始状態は「00」、最終到達状態は「12」、イベント発生順の遷移状態の一覧は「00,01,12」となる。
上記のようなテストケース情報は、図6で示すようなテーブル形式で表現してもよいし、リスト形式など他の形式で表現してもよい。
以上のような情報を用いて、テストケース抽出装置1は、与えられたテストケースの中からテスト可能なテストケースを抽出する。以下に、テストケース抽出装置1が実行する処理について説明する。
図7は、テスト可能なテストケースを抽出する処理の流れを示したフローチャートである。
図7を参照して、テストケース抽出装置1がテスト可能なテストケースを抽出する処理について説明する。
S600では、CPU120は、通信インターフェイス128を介して与えられる状態遷移情報140および機能完成情報142を読み込み、ハードディスク124に一旦格納する。
S602では、CPU120は、状態遷移情報140および機能完成情報142を、メモリ122中のRAMに読み出して、動作初期状態から遷移可能な状態のみで構成された状態遷移情報を再構成する。
ここでは、まず、CPU120は、状態遷移情報の中から、未完成の機能に関連付けられた状態を削除し、完成した機能に基づく状態遷移情報を作成する。さらに、完成した機能に基づく状態遷移情報の中から、動作初期状態から到達可能な遷移状態を抽出したものを出力する。
S604では、CPU120は、通信インターフェイス128を介して与えられるテストケース情報144を読み込み、ハードディスク124に一旦格納する。
S606では、CPU120は、S604で読み込んだテストケース情報144からテスト可能なテストケースを抽出する。CPU120は、遷移可能な状態のみで構成された状態遷移情報130から、遷移可能な状態を読み込む。そして、テストケース情報144のうち、遷移可能な状態から構成されているテストケースを、テスト可能なテストケースとして抽出し、ハードディスク124に書き込む。
また、CPU120は、ハードディスク124からテスト可能なテストケース132を読み込み、モニタ104に表示させることもできる。
以下に、テストケース抽出のための具体的な手順の一例について示す。ここでは、CPU120は、説明のため、図4で示した状態遷移情報、図5で示した機能完成情報、および図6で示したテストケース情報を読み込むとする。
まず、CPU120は、状態遷移情報をもとに、有向グラフを作成する。
図8は、図4に示す状態遷移情報に基づいて作成した有向グラフを示した図である。
図8を参照して、有向グラフについて説明する。
有向グラフは、状態に対応する頂点と、遷移の様子を向きによって示す辺とから構成される。たとえば、頂点700は、図4におけるID00の状態に対応する。頂点702,704,706,708,710,712,714,716に対しても同様である。辺730は、遷移前の状態を示す頂点700を始点、遷移後の状態を示す頂点702を終点とする。
ここでは、遷移するときに条件があるものに対しては、辺に条件が示されている。また、遷移するときに条件が変更されるものに対しては、頂点に変更内容が示されている。なお、頂点700に対しては、動作初期状態における条件が付されている。
この有向グラフを用いると、辺の向きに従って頂点をたどることで、状態遷移を表現することができる。たとえば、図8において、頂点700から、辺730の向きに従えば、頂点702に到達する。これは、図4において、頂点700に対応するID00の状態で、「録音ボタンを押す」イベントが発生し、頂点702に対応するID01の状態へ遷移することに対応する。
次に、CPU120は、図8のように作成した有向グラフから、機能完成情報をもとに、未完成の機能に属する状態に対応する頂点を除去する。
図9は、図5に示す機能完成情報をもとに、頂点を除去した有向グラフを示した図である。
図9および図8を参照して、未完成の機能に属する状態に対応する頂点を除去する処理について説明する。
まず、CPU120は、図5に示される機能完成情報から、録音機能が未完成であると判断する。そして、CPU120は、録音機能が属する状態と、図4に示される状態遷移情報の状態名とに基づき、遷移することができない状態を検索する。ここでは、ID01とID11が遷移できない状態である。CPU120は、遷移できない状態に対応する頂点を図8に示す有向グラフから除去する。つまり、CPU120は、図8に示す有向グラフから、遷移することができない状態であるID01に対応する頂点702、ID11に対応する頂点708、および、これらの頂点に接続する辺730,732,734,736を取り除く。このような処理の結果、図9に示すような有向グラフが得られる。
次に、CPU120は、頂点を除去してできた有向グラフにおいて、動作初期状態に対応する頂点700から到達可能な頂点で構成される有向グラフを再構成する。
図10は、図9に示す有向グラフから、頂点700から到達可能な頂点によって誘導される有向グラフを示した図である。
図10および図9を参照して、頂点700から到達可能な頂点によって誘導される有向グラフを構築する処理について説明する。
CPU120は、図9に示す有向グラフにおいて、深さ優先探索や幅優先探索などのアルゴリズムに従い、頂点700から到達可能な頂点を探索する。図9において、辺の向きに従って、頂点700から到達可能な頂点は、頂点700および頂点704である。CPU120は、図9に示す有向グラフから、これらの頂点によって誘導される有向グラフを抽出する。このような処理の結果、図10に示すような有向グラフが得られる。
次いで、CPU120は、状態遷移情報から遷移可能な状態のみを抽出する。
図11は、図4に示す状態遷移情報のうち、遷移可能な状態のみで構成された状態遷移情報を示す図である。
図11を参照して、状態遷移情報から遷移可能な状態のみを抽出する処理について説明する。
CPU120は、図10で示される有向グラフから、遷移可能な状態が、ID00とID02の示す状態であると判断する。CPU120は、状態遷移情報から、これらのIDが示す状態を抽出する。このような処理の結果、図11に示すような、遷移可能な状態のみの状態遷移情報が得られる。
最後に、CPU120は、テスト可能なテストケース情報を抽出する。
図12は、図6に示すテストケース情報のうち、テスト可能なテストケース情報を示した図である。
図12、図6および図11を参照して、テスト可能なテストケース情報を抽出する処理について説明する。
CPU120は、図11で示す遷移可能な状態遷移情報より、遷移可能な状態がID00とID02の示す状態であると判断する。CPU120は、図6で示すテストケース情報のうち、イベント発生順の遷移状態の一覧で、遷移可能な状態のみから構成されるテストケースを検索する。図6では、Test05が該当する。このような処理の結果、図12に示すような、テスト可能なテストケース情報が抽出される。
以上のような処理に従えば、本発明に係るテストケース抽出装置は、テスト担当者によって作成されたテストケースの中から、各ソフトウェアによって実現される機能の完成状況を考慮して、実行可能なテストケースを抽出できる。これにより、すべての機能が完成していない開発途中においても、完成している機能だけに対するテストを実行することができるため、開発期間およびテスト期間を短縮することができる。
また、完成している機能だけに対してテストを実行するため、検出された不具合の原因を特定しやすくなる。
また、ソフトウェアに対する要求の変更や、完成状況が変わっても、作成されたテストケースから、変更に応じた、テスト可能なテストケースを抽出することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
コンピュータ応用製品の開発工程の概略を示したフローチャートである。 テストケース抽出装置1の構成例を示すブロック図である。 CPU120の機能的構成を示すブロック図である。 状態遷移情報の一例を示した図である。 機能完成情報の一例を示した図である。 テストケース情報の一例を示した図である。 テスト可能なテストケースを抽出する処理の流れを示したフローチャートである。 図4に示す状態遷移情報に基づいて作成した有向グラフを示した図である。 図5に示す機能完成情報をもとに、頂点を除去した有向グラフを示した図である。 図9に示す有向グラフから、頂点700から到達可能な頂点によって誘導される有向グラフを示した図である。 図4に示す状態遷移情報のうち、遷移可能な状態のみで構成された状態遷移情報を示す図である。 図6に示すテストケース情報のうち、テスト可能なテストケース情報を示した図である。
符号の説明
102 コンピュータ本体、104 モニタ、106 FDドライブ、108 光ディスクドライブ、110 キーボード、112 マウス、116 FD、118 CD−ROM、120 CPU、122 メモリ、124 ハードディスク、128 通信インターフェイス、130 遷移可能な状態のみで構成された状態遷移情報、132 テスト可能なテストケース、134,140 状態遷移情報、136,142 機能完成情報、139,144 テストケース情報、204 状態遷移情報再構成部、208 テスト可能テストケース抽出部、210 表示処理部、220 記憶部。

Claims (7)

  1. 対象物を制御するためのソフトウェアの開発段階において、前記対象物が設計仕様を満足しているかを検証するためテストケースを抽出するための抽出装置であって、
    前記ソフトウェアは複数の部品を含み、
    前記対象物の取り得る状態と、発生したイベントに対して前記取り得る状態が遷移する先の状態とが予め関連付けられた情報および前記対象物の取り得る状態のうちの前記対象物の動作初期状態を含む、前記対象物の設計仕様に基づく第1の状態遷移情報を記憶するための状態遷移情報記憶部と、
    前記ソフトウェアの開発段階において、前記対象物の機能ごとに当該機能に属する前記取り得る状態および前記対象物の機能を実現するための前記部品の前記設計仕様に基づく開発が完了したか否かを示す機能完成情報を記憶するための機能完成情報記憶部と、
    前記第1の状態遷移情報の中から、前記機能完成情報に基づき、前記開発の完了状況において前記動作初期状態から遷移可能な状態で構成される第2の状態遷移情報を生成するための状態遷移情報再構成部と、
    前記対象物が前記設計仕様を満足しているかを検証するために予め設定されている情報であるテストケースごとに、前記第1の状態遷移情報に基づくテストケース情報を記憶するためのテストケース情報記憶部と
    前記開発段階においてテスト可能なテストケース情報を、前記テストケース情報記憶部から抽出するためのテストケース抽出部とを備え、
    前記テストケース情報は、前記テストケースの開始時点における前記対象物の状態を示すテスト開始状態から、前記テストケースにおいて発生した前記イベントによって前記対象物が遷移する最終到達状態までの状態の系列として、前記テスト開始状態から前記最終到達状態までの取り得る状態の遷移を特定する情報を含
    前記状態遷移情報再構成部は、
    前記第1の状態遷移情報に含まれる前記取り得る状態の中から、前記機能完成情報に基づき、未完成の前記ソフトウェアの部品と対応する前記対象物の機能に属する前記取り得る状態を削除し、完成した機能に属する前記取り得る状態のみに基づく状態遷移情報を生成するための手段と、
    前記完成した機能に属する前記取り得る状態のみに基づく状態遷移情報の中から、前記動作初期状態から到達可能な前記取り得る状態を抽出するための手段とを含み、
    前記テストケース抽出部は、前記テストケース情報記憶部に記憶されるテストケース情報の中から、前記テスト開始状態から前記最終到達状態まで順に遷移するすべての取り得る状態が、前記状態遷移情報再構成部によって前記動作初期状態から到達可能として抽出された前記取り得る状態であるテストケース情報を、テスト可能なテストケース情報として抽出する、テストケース抽出装置。
  2. ユーザが、前記設計仕様の変更に応じて、前記状態遷移情報記憶部に記憶された前記状態遷移情報を書き換えるための手段をさらに備える、請求項記載のテストケース抽出装置。
  3. 前記ユーザが、前記開発の完了状況の変更に応じて、前記機能完成情報記憶部に記憶された前記機能完成情報を書き換えるための手段をさらに備える、請求項記載のテストケース抽出装置。
  4. 前記ユーザが、前記テストケースの変更に応じて、前記テストケース情報記憶部に記憶された前記テストケース情報を書き換えるための手段をさらに備える、請求項記載のテストケース抽出装置。
  5. 対象物が設計仕様を満足しているかを検証するために予め設定されている第1のテストケースの中から、前記対象物を制御するためのソフトウェアの開発段階において実行可能な第2のテストケースを抽出する処理を、演算部および記憶部を有するコンピュータに実行させるためのプログラムであって、
    前記ソフトウェアは複数の部品を含み、
    前記演算部が、前記対象物の取り得る状態と、発生したイベントに対して前記取り得る状態が遷移する先の状態とが予め関連付けられた情報および前記対象物の取り得る状態のうちの前記対象物の動作初期状態を含む、前記対象物の設計仕様に基づく第1の状態遷移情報を前記記憶部から読み込むステップと、
    前記演算部が、前記開発段階において、前記対象物の機能ごとに当該機能に属する前記取り得る状態および前記対象物の機能を実現するための前記部品の前記設計仕様に基づく開発が完了したか否かを示す機能完成情報を前記記憶部から読み込むステップと、
    前記演算部が、前記第1の状態遷移情報の中から、前記機能完成情報に基づき、前記開発の完了状況において前記動作初期状態から遷移可能な状態で構成される第2の状態遷移情報を生成するステップと、
    前記演算部が、前記第1のテストケースごとに、前記第1の状態遷移情報に基づく第1のテストケース情報を前記記憶部から読み込むステップと
    前記演算部が、前記開発段階においてテスト可能なテストケース情報を、前記読み込まれた第1のテストケース情報から第2のテストケース情報として抽出するステップとを備え、
    前記第1のテストケース情報は、前記第1のテストケースの開始時点における前記対象物の状態を示すテスト開始状態から、前記第1のテストケースにおいて発生した前記イベントによって前記対象物が遷移する最終到達状態までの状態の系列として、前記テスト開始状態から前記最終到達状態までの取り得る状態の遷移を特定する情報を含
    前記第2の状態遷移情報を生成するステップは、
    前記第1の状態遷移情報に含まれる前記取り得る状態の中から、前記機能完成情報に基づき、未完成の前記ソフトウェアの部品と対応する前記対象物の機能に属する前記取り得る状態を削除し、完成した機能に属する前記取り得る状態のみに基づく状態遷移情報を生成するステップと、
    前記完成した機能に属する前記取り得る状態のみに基づく状態遷移情報の中から、前記動作初期状態から到達可能な前記取り得る状態を抽出するステップとを含み、
    前記第2のテストケース情報を抽出するステップでは、前記記憶部に記憶される第1のテストケース情報の中から、前記テスト開始状態から前記最終到達状態まで順に遷移するすべての取り得る状態が、前記第2の状態遷移情報を生成するステップによって前記動作初期状態から到達可能として抽出された前記取り得る状態であるテストケース情報を、テスト可能な第2のテストケース情報として抽出する、テストケース抽出プログラム。
  6. 請求項記載のテストケース抽出プログラムを格納したコンピュータ読み取り可能な記憶媒体。
  7. 対象物が設計仕様を満足しているかを検証するために予め設定されている第1のテストケースの中から、前記対象物を制御するためのソフトウェアの開発段階において実行可能な第2のテストケースを抽出する方法であって、
    前記ソフトウェアは複数の部品を含み、
    前記対象物の取り得る状態と、発生したイベントに対して前記取り得る状態が遷移する先の状態とが予め関連付けられた情報および前記対象物の取り得る状態のうちの前記対象物の動作初期状態を含む、前記対象物の設計仕様に基づく第1の状態遷移情報を読み込むステップと、
    前記開発段階において、前記対象物の機能ごとに当該機能に属する前記取り得る状態および前記対象物の機能を実現するための前記部品の前記設計仕様に基づく開発が完了したか否かを示す機能完成情報を読み込むステップと、
    前記第1の状態遷移情報の中から、前記機能完成情報に基づき、前記開発の完了状況において前記動作初期状態から遷移可能な状態で構成される第2の状態遷移情報を生成するステップと、
    前記第1のテストケースごとに、前記第1の状態遷移情報に基づく第1のテストケース情報を読み込むステップと
    前記開発段階においてテスト可能なテストケース情報を、前記読み込まれた第1のテストケース情報から第2のテストケース情報として抽出するステップとを備え、
    前記第1のテストケース情報は、前記第1のテストケースの開始時点における前記対象物の状態を示すテスト開始状態から、前記第1のテストケースにおいて発生した前記イベントによって前記対象物が遷移する最終到達状態までの状態の系列として、前記テスト開始状態から前記最終到達状態までの取り得る状態の遷移を特定する情報を含
    前記第2の状態遷移情報を生成するステップは、
    前記第1の状態遷移情報に含まれる前記取り得る状態の中から、前記機能完成情報に基づき、未完成の前記ソフトウェアの部品と対応する前記対象物の機能に属する前記取り得る状態を削除し、完成した機能に属する前記取り得る状態のみに基づく状態遷移情報を生成するステップと、
    前記完成した機能に属する前記取り得る状態のみに基づく状態遷移情報の中から、前記動作初期状態から到達可能な前記取り得る状態を抽出するステップとを含み、
    前記第2のテストケース情報を抽出するステップでは、前記読み込まれた第1のテストケース情報の中から、前記テスト開始状態から前記最終到達状態まで順に遷移するすべての取り得る状態が、前記第2の状態遷移情報を生成するステップによって前記動作初期状態から到達可能として抽出された前記取り得る状態であるテストケース情報を、テスト可能な第2のテストケース情報として抽出する、テストケース抽出方法。
JP2006113083A 2006-04-17 2006-04-17 テストケース抽出装置、テストケース抽出プログラム、テストケース抽出プログラムが格納された記憶媒体およびテストケース抽出方法 Expired - Fee Related JP5225553B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006113083A JP5225553B2 (ja) 2006-04-17 2006-04-17 テストケース抽出装置、テストケース抽出プログラム、テストケース抽出プログラムが格納された記憶媒体およびテストケース抽出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006113083A JP5225553B2 (ja) 2006-04-17 2006-04-17 テストケース抽出装置、テストケース抽出プログラム、テストケース抽出プログラムが格納された記憶媒体およびテストケース抽出方法

Publications (2)

Publication Number Publication Date
JP2007286871A JP2007286871A (ja) 2007-11-01
JP5225553B2 true JP5225553B2 (ja) 2013-07-03

Family

ID=38758585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006113083A Expired - Fee Related JP5225553B2 (ja) 2006-04-17 2006-04-17 テストケース抽出装置、テストケース抽出プログラム、テストケース抽出プログラムが格納された記憶媒体およびテストケース抽出方法

Country Status (1)

Country Link
JP (1) JP5225553B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5120565B2 (ja) * 2009-02-20 2013-01-16 三菱自動車工業株式会社 ソフトウェア試験方法
JP7327471B2 (ja) * 2019-05-09 2023-08-16 日本電信電話株式会社 テスト装置、テスト方法及びプログラム

Also Published As

Publication number Publication date
JP2007286871A (ja) 2007-11-01

Similar Documents

Publication Publication Date Title
TWI510915B (zh) Computer automated test system and test methods, recording media and program products
US20070214173A1 (en) Program, method, and apparatus for supporting creation of business process model diagram
CN100428143C (zh) 顺序程序的编辑装置
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
JP2012221380A (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
JP2008310663A (ja) 仕様検証プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、仕様検証装置、および仕様検証方法
JP2007025497A (ja) 教育支援プログラムおよび教育支援装置
JP2000112784A (ja) プログラムテスト支援装置及びプログラムテスト支援プログラムを記録した記録媒体
JP5225553B2 (ja) テストケース抽出装置、テストケース抽出プログラム、テストケース抽出プログラムが格納された記憶媒体およびテストケース抽出方法
JPH10275093A (ja) プログラムテスト支援装置
JP5366412B2 (ja) コールフロー作成システム、方法及びプログラム
JP4215255B2 (ja) デグレード確認検査方法、デグレード確認検査システム、およびそのためのプログラム
Freeman Toward improved review of software designs
JP4625432B2 (ja) 操作部品データ作成装置
JP4672532B2 (ja) オペレータ擬似システムおよびオペレータ擬似方法
JP2008293382A (ja) テスト仕様自動生成方式
US8346560B2 (en) Dialog design apparatus and method
JP2002014845A (ja) テスト・スクリプト部品の自動生成方法および装置
KR20190084827A (ko) 프로그램 호환성 자동테스트 방법 및 이를 이용하는 장치
JP2010198479A (ja) アプリケーションのテスト自動実行システム
TWI393897B (zh) 整合測試方法及其系統
JP2007328447A (ja) ソフトウェア試験項目選択装置、ソフトウェア試験項目選択プログラム、ソフトウェア試験項目選択プログラムが格納された記憶媒体およびソフトウェア試験項目選択方法
JP4781163B2 (ja) 設計検証装置、設計検証プログラム、および設計検証プログラムを記録する記録媒体
JP6827610B1 (ja) 開発支援装置、プログラム及び開発支援方法
JP4946588B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100823

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110329

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110401

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110428

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130313

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160322

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees