JP2014232428A - テスト実行支援装置、テストシステム、テスト実行方法、及び、テスト実行支援プログラム - Google Patents

テスト実行支援装置、テストシステム、テスト実行方法、及び、テスト実行支援プログラム Download PDF

Info

Publication number
JP2014232428A
JP2014232428A JP2013112911A JP2013112911A JP2014232428A JP 2014232428 A JP2014232428 A JP 2014232428A JP 2013112911 A JP2013112911 A JP 2013112911A JP 2013112911 A JP2013112911 A JP 2013112911A JP 2014232428 A JP2014232428 A JP 2014232428A
Authority
JP
Japan
Prior art keywords
program
test
execution
initial value
information
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
JP2013112911A
Other languages
English (en)
Inventor
佳之 風間
Yoshiyuki Kazama
佳之 風間
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.)
NEC Communication Systems Ltd
Original Assignee
NEC Communication Systems Ltd
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 NEC Communication Systems Ltd filed Critical NEC Communication Systems Ltd
Priority to JP2013112911A priority Critical patent/JP2014232428A/ja
Publication of JP2014232428A publication Critical patent/JP2014232428A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】テストの実行を効率化することができる、テスト実行支援装置を提供する。
【解決手段】テスト対象のテスト対象機能を指定する静的変数の初期値を含む処理対象プログラムから、初期値を取得する取得手段と、プログラム群に含まれる、テスト対象機能をテストするための個別テストプログラムの実行条件と初期値との対応情報と取得した初期値とに基づき、プログラム群から実行対象の個別テストプログラムを抽出して実行プログラム情報を生成し、実行プログラム情報に基づいて個別テストプログラムを抽出し個別テストプログラムを実行するテスト対象装置へ出力する抽出手段と、を備える。
【選択図】 図1

Description

本発明は、テストの実行を効率化することができる、テスト実行支援装置、テストシステム、テスト実行方法、及び、テスト実行支援プログラムに関する。
プログラム(ソフトウェア)の品質向上のためには、様々な場合を想定したテストケースにおいて、網羅的にテストが行われる必要がある。通常、プログラムの動作に影響を与える項目(因子)は複数存在し、各項目は様々な値や条件(水準)をとりうる。そこで、テストケースは、各因子の各水準の組み合わせが広く網羅されるように設計されることが望ましい。
ところが、因子数をm(mは1以上の整数)、水準数をn(nは1以上の整数)とすると、因子の組み合わせ(テストケース)の数はnのm乗個であり、因子の組み合わせが完全に網羅されることは困難である。
そこで、与えられた因子と水準に基づき、限られた個数でありながら効果的な組み合わせテストのテストケースを生成する技術が開発されてきた。このような、効果的な組み合わせテストのテストケースを生成する組み合わせテスト技法は、当業者に広く知られているので、ここでは詳しく説明しない(直交表、Pairwise法(All−Pair法)等)。
例えば、組み合わせテスト技法を利用するプログラムテスト支援装置の例が、特許文献1に開示されている。特許文献1のプログラムテスト支援装置は、単体テストの所定のテスト項目毎に、テスト対象ソフトウェア、言語仕様、業務仕様等に基づいて、テストの因子と水準を分析する。特許文献1のプログラムテスト支援装置は、テストケース生成技法(All−Pair法や直交表を用いた手法や、代表値のみの組み合わせから1変数のみ値を変更する等の手法)に基づいて、分析結果からテストケースを生成する。特許文献1のプログラムテスト支援装置は、更に、テストケースに対応したテストプログラムを生成する。
ところで、多数のテストケースにおいて効率的にテストが実行されるためには、テストの実行自体が効率化されることが望ましい。
テストの実行を自動化する各種の技術がある。例えば、テストシナリオに沿ったテストの実行を自動化することができるテストシナリオ生成装置が、特許文献2に開示されている。
特許文献2のシナリオ生成装置は、テスト被対象装置が人手の操作だけではなく外部信号に基づいて動作する場合であっても、そのテスト被対象装置が正常に動作するか否かについてテストするテストシナリオを生成する。すなわち、特許文献2のシナリオ生成装置は、外部信号の特性の変化とテストパラメータに基づいて、テストシナリオを生成する。特許文献2のシナリオ生成装置は、テストシナリオをテスト装置に送信し、テスト装置は、テストシナリオに従ってテスト被対象装置の動作のテストを行う。
ところで、メモリ容量に制約のある組込みシステムでは、システムを動作させるプログラムがROM(Read-Only Memory)に格納されることにより、RAM(Random Access Memory)の使用量が削減されることがある。プログラムの動作中に内容が変化することの無い静的データがROMに格納されることで、RAMの使用量が更に削減される。一般に、同容量のROMとRAMでは、ROMの方がコスト的に有利なので、上記のようなRAMの使用量の削減対策は有効である。
このようなシステムでは、プログラムに含まれる機能のうち、実際に使用される機能が、静的データに基づいて決定されることがある。このような静的データは、静的変数の初期値としてプログラムにより保持されることがある。「静的変数」とは、プログラムの開始から終了まで、プログラムにより値が保持される変数(データ)である。初期値とは、プログラムの開始時に最初に設定される変数の値である。静的変数の初期値は、プログラム中で静的変数の宣言と同時に設定されることがある。
以下では特に、テスト対象の機能が静的変数の初期値により指定されるテスト対象(プログラム、又はプログラムが動作する装置を含む)のテストについて説明する。
このようなテストでは、テストケースが機能(1つの機能の、異なる動作形態を含む)毎に用意されている場合、機能毎、つまり静的変数の初期値に応じて、適切なテストケースが実行される必要がある。
また、静的変数の初期値により指定されるテスト対象の機能が複数存在し、さらに各テスト対象の機能の組み合わせによる、複数のテスト対象(プログラム又は装置)も存在することがある。このような場合では、テストプログラム中の静的変数の個数、又は静的変数の取り得る初期値の個数が多いとき、組み合わせテストケースの個数が膨大になる。そのため、適切な組み合わせテストケースを抽出し、各テストケースにおいてテストを実行するために、プログラムの実行に膨大な工数が必要であり、またプログラムの実行時間も膨大になる。
そのため、静的変数の初期値に基づきテスト対象機能が決定されるテスト対象(プログラム又は装置)において、各テストケースに対応した個別のテストの実行が効率化されることが望ましい。
特開2012−248101号公報(第7−8ページ、図1、6−10) 特開2010−123052号公報(第5−17ページ、図1、2、9、10)
特許文献1のプログラムテスト支援装置は、テストケースに対応した多数のテストプログラムを生成する。ところが、特許文献1のプログラムテスト支援装置は、テストプログラムの信頼性のテスト、すなわち、テストケースが対応付けられていないテスト項目が存在しないことの判定を行うものであり、テストプログラムを実行する作業自体を効率化するものではない。そのため、特許文献1のプログラムテスト支援装置では、必ずしも、多数のテストケースに対応するテストを実行する作業を効率化できるとはいえない。なぜなら、判定対象のテスト項目には含まれない、他のテスト項目に対応するテストケースが含まれる可能性があるためである。
特許文献2のシナリオ生成装置は、外部信号の特性の変化とテストパラメータに基づいて、テストシナリオを生成する。しかし、生成されたテストシナリオを用いたテストの効率化、すなわち、生成されたテストシナリオに指定された個々のテスト項目に対応したテスト(以下、「項目別テスト」という。)自体の効率化までが実現される保証はない。すなわち、特許文献2のシナリオ生成装置は、必要なテスト項目のテストが行われるテストシナリオを生成するが、項目別テストについては効率化できない。
(発明の目的)
本発明の目的は、テストの実行を効率化することができる、テスト実行支援装置、テストシステム、テスト実行方法、及び、テスト実行支援プログラムを提供することにある。
本発明のテスト実行支援装置は、テスト対象のテスト対象機能を指定する静的変数の初期値を含む処理対象プログラムから、初期値を取得する取得手段と、プログラム群に含まれる、テスト対象機能をテストするための個別テストプログラムの実行条件と初期値との対応情報と取得した初期値とに基づき、プログラム群から実行対象の個別テストプログラムを抽出して実行プログラム情報を生成し、実行プログラム情報に基づいて個別テストプログラムを抽出し個別テストプログラムを実行するテスト対象装置へ出力する抽出手段と、を備えることを特徴とする。
本発明のテストシステムは、テスト対象のテスト対象機能を指定する静的変数の初期値を含む処理対象プログラム、及び実行プログラム情報に基づいて選択した、プログラム群に含まれる、テスト対象機能をテストするための個別テストプログラムを実行するテスト実行手段を含むテスト対象装置と、処理対象プログラムから初期値を取得する取得手段、個別テストプログラムの実行条件と初期値との対応情報と、取得した初期値とに基づき、プログラム群から実行対象の個別テストプログラムを抽出して実行プログラム情報を生成し、テスト対象装置へ出力する抽出手段と、を含むテスト実行支援装置と、を備えることを特徴とする。
本発明のテスト実行方法は、テスト対象のテスト対象機能を指定する静的変数の初期値を含む処理対象プログラムから、初期値を取得し、プログラム群に含まれる、テスト対象をテストするための個別テストプログラムの実行条件と初期値との対応情報と取得した初期値とに基づき、プログラム群から実行対象の個別テストプログラムを抽出して実行プログラム情報を生成し、処理対象プログラム、及び実行プログラム情報に基づいて選択した個別テストプログラムを実行することを特徴とする。
本発明のテスト実行支援プログラムは、テスト実行支援装置が備えるコンピュータを、テスト対象のテスト対象機能を指定する静的変数の初期値を含む処理対象のプログラムから、初期値を取得する取得手段と、プログラム群に含まれる、テスト対象機能をテストするための個別テストプログラムの実行条件と初期値との対応情報と取得した初期値とに基づき、プログラム群から実行対象の個別テストプログラムを抽出して実行プログラム情報を生成する抽出手段として機能させることを特徴とする。
本発明によれば、テストの実行を効率化することができるという効果がある。
本発明の第1の実施形態におけるテスト実行支援装置の構成の一例を示すブロック図である。 本発明の第1の実施形態におけるテスト実行支援装置のハードウェア構成の一例を示すブロック図である。 本発明の第1の実施形態におけるテスト実行支援装置の動作を示すフローチャートである。 本発明の第1の実施形態における、具体的なプログラム等の記述例を示す図である。 本発明の第1の実施形態におけるテスト実行支援装置の動作結果の具体例を説明するための図である。 本発明の第2の実施形態におけるテスト実行支援装置の動作を示すフローチャートである。 本発明の第2の実施形態におけるテスト実行支援装置の動作結果の具体例を説明するための図である。
以下、本発明の実施形態について図面を参照して詳細に説明する。尚、すべての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
(第1の実施形態)
図1は、本実施形態におけるテスト実行支援装置の構成の一例を示すブロック図である。
まず、テスト実行支援装置100が前提とする、テスト対象装置について説明する。
テスト対象装置200は、テストドライバを用いたテストが実行される装置(組み込みシステム、コンピュータ等)である。
テスト対象装置200は、テスト実行手段250を備える。テスト実行手段250は、処理対象プログラム210と、テストドライバ220と、ドライバリスト230とに基づいて、テストを実行する。
処理対象プログラム210は、テスト対象装置200上で実行されるプログラムである。テスト対象の機能は、処理対象プログラム210、又はテスト対象装置200のハードウェアにより実現される。テスト対象である、テスト対象装置200において実現される機能は、処理対象プログラム210中で記述された静的変数の初期値により指定される。
テストドライバ220は、テスト対象に対する各種のテストケースのためのテストの実行時に使用されるプログラム群である。テストドライバ220は、通常、テスト対象の機能毎に用意されるが、複数の機能のテストに対して共通なプログラムとして用意されてもよい。テストドライバ220には、特定の静的変数の初期値の組み合わせに対応するテストケース以外のテストケースのためのテストドライバも含まれる。
ドライバリスト230は、テスト対象のテストの実行に必要なテストドライバを示すリスト、又は必要なテストドライバを抽出するプログラムである。
テスト対象装置200は、テスト実行手段250を用いて、ドライバリスト230に従ってテストドライバ220中の必要なテストドライバを選択して、処理対象プログラム210の一部を実行する。そして、テスト対象装置200は、テスト実行手段250を用いて、テスト対象をテストし、テスト結果280を出力する。
テスト実行支援装置100は、処理対象プログラム210とテストドライバ実行条件記述130とに基づいて、ドライバリスト230を生成する。
テストドライバ実行条件記述130は、テストドライバ220に含まれる各テストドライバが実行されるための、静的変数の初期値に関する条件である実行条件が記述されたデータである。実行条件とは、特定のテストドライバが実行されるための、静的変数の値が満たすべき条件を規定するもので、例えば、静的変数の値が取るべき値又は値の範囲といった条件である。テストドライバ実行条件記述130は、処理対象プログラム210及びテストドライバ220に応じて予め準備される。
テスト実行支援装置100は、テストドライバ実行条件記述130と、静的変数抽出手段110と、テストドライバ抽出手段120とを備える。
静的変数抽出手段110は、処理対象プログラム220を解析して、処理対象プログラム220の機能を指定する静的変数の初期値のリストである「初期値リスト」を抽出し、テストドライバ抽出手段120に渡す。初期値リストは、静的変数の一覧と、それらの初期値を列挙したものである。したがって、静的変数の初期値自体のみでなく、静的変数の初期値を取得するプログラムも含まれてもよい。
テストドライバ抽出手段120は、静的変数抽出手段110に接続される。テストドライバ抽出手段120は、初期値リストと、テストドライバ実行条件記述130とに基づいて、テストドライバ220のうち、特定のテスト対象の機能をテストするテストドライバの一覧である「ドライバリスト」を抽出する。テストドライバ抽出手段120は、抽出結果を、ドライバリスト230に出力する。
図2は、本実施形態におけるテスト実行支援装置のハードウェア構成の一例を示すブロック図である。
テスト実行支援装置101は、記憶装置102と、CPU(Central Processing Unit)103と、キーボード104と、モニタ105と、I/O(Input/Output)108とを備え、これらが内部バス106で接続されている。記憶装置102は、テストドライバ抽出手段120等のCPU103の動作プログラムを格納する。CPU103は、テスト実行支援装置101全体を制御し、記憶装置102に格納された動作プログラムを実行し、I/O108を介してテストドライバ抽出手段120等のプログラムの実行やデータの送受信を行なう。なお、上記のテスト実行支援装置101の内部構成は一例である。テスト実行支援装置101は、CPU103のみを備え、外部に備えられた、記憶装置102、キーボード104、モニタ105、及びI/O108を用いて動作してもよい。
次に、本実施形態の動作を説明する。
図3は、本実施形態におけるテスト実行支援装置100の動作を示すフローチャートである。
静的変数抽出手段110は、処理対象プログラム210から、処理対象プログラム210の機能を指定する静的変数の初期値リストを抽出する(ステップS11)。
次に、テストドライバ抽出手段120は、抽出された初期値リストと、テストドライバ実行条件記述130とに基づき、実行対象のテストドライバの一覧であるドライバリストを生成する(ステップS12)。
図4は、本実施形態における、具体的なプログラム等の記述例を示す図である。図4(a)は、処理対象プログラム210の例である。図4(b)は、テストドライバ220の例である。図4(c)は、テストドライバ実行条件記述130の例である。
以下では、3つの機能A、B、Cを有し、C言語で記述された処理対象プログラム210を具体例として説明する。尚、C言語は一例であり、本実施形態で使われるプログラム言語は、C言語に限定されない。
図4(a)の処理対象プログラム210には、以下の内容が記述されている。
第1−3行は、処理対象プログラム210の機能A、B、Cを指定する静的変数“parameter_A”、“parameter_B”、“parameter_C”の宣言である。静的変数には、それぞれ、初期値“ON”、“OFF”、“ON”が設定される。つまり、機能A、Cは有効化され、機能Bは無効化される。
第5−13行は、処理対象プログラム210のメインルーチンである。第5行のメインルーチンの名称“main”は、テスト実行時に適当な名前に変更されてもよい。
処理対象プログラム210のメインプロセスが起動されると、まず、3つの静的変数の初期値に基づいて、3つの機能A、B、Cを処理する3つのプロセスを起動するルーチンが順に処理される(第6−11行)。各プロセス起動ルーチンは、対応する子プロセスを起動して終了し、起動された子プロセスはメインプロセス(メインルーチンに対応)の終了まで常駐する。起動された各子プロセスは、各子プロセスに対応する機能A、B、Cの処理を行う。最後に、メインループが実行される(第12行)。メインプロセスは、別途、終了が指示されるまで常駐する。
図4(b)のテストドライバ220には、以下の内容が記述されている。
第1−6行は、処理対象プログラム210の機能Aのテストを実行するテストドライバである。テストドライバ220が実行されると、まず、機能Aのテストを実行するルーチン“test_function_A”が実行され、実行結果(成功又は失敗)がルーチンの戻り値を通して変数“ret_val”に設定される(第4行)。最後に、“ret_val”に設定された値が正しい(“OK”)か否か検査する(第5行)。具体的には、変数“ret_val”に設定された値が“OK”ならば実行結果は成功で何も表示せず、そうでなければエラーメッセージを表示する。
第8−13行は、処理対象プログラム210の機能Bのテストを実行するテストドライバである(機能Aの場合と同様)。
第15−20行は、処理対象プログラム210の機能Cのテストを実行するテストドライバである(機能Aの場合と同様)。
図4(c)のテストドライバ実行条件記述130には、特定のドライバを実行するための静的変数の初期値に関する実行条件として、以下の内容が記述されている。
第1−2行は、処理対象プログラム210の機能Aのテストを実行するテストドライバを指定する行である。
処理対象プログラム210の機能Aを指定する静的変数“parameter_A”の初期値が“ON”であれば、テストドライバ“driver1”が実行される(第1行)。処理対象プログラム210の機能Aを指定する静的変数“parameter_A”の初期値が“OFF”であれば、テストドライバ“driver2”が実行される(第2行)。
第3−4行は、処理対象プログラム210のそれぞれ機能B、Cのテストを実行するテストドライバを指定する行である。
それぞれ、処理対象プログラム210の機能B、Cのそれぞれを指定する静的変数“parameter_B”、“parameter_C”の初期値が“ON”であれば、テストドライバ“driver2”、“driver3”が実行される(第3、4行)。
図5は、本実施形態におけるテスト実行支援装置の動作結果の具体例を説明するための図である。
本動作例では、図4(a)、(b)、(c)に示したプログラム等が与えられた場合の動作を説明する。
図5(a)は、図3のステップS11において、静的変数抽出手段110が、処理対象プログラム210から抽出した初期値リストの具体例を示す表である。
図5(a)の表の1、2、3行目は、それぞれ、静的変数“parameter_A”、“parameter_B”、“parameter_C”が、初期値“ON”、“OFF”、“ON”を有することを示す。それぞれ、図5(a)に示された処理対象プログラム210の機能A、B、Cを指定する3つの静的変数の宣言に対応する。
図5(b)は、図3のステップS12において、テストドライバ抽出手段120が入力するテストドライバ実行条件記述130の具体例を示す表である。
図5(b)の表の1、2、3、4行目には、それぞれ、図4(c)に示されたテストドライバ実行条件記述130の実行条件の記述がそのまま入力される。
図5(c)は、テストドライバ抽出手段120が出力するドライバリスト230の例を示す表である(ステップS12)。
図5(c)の表の1行目は、テストドライバ“driver1”が、実行対象のテストドライバであることを示す。図5(b)によれば、テストドライバ“driver1”は、静的変数“parameter_A”の初期値が“ON”の時に実行される。図5(a)によれば、“parameter_A”の初期値は“ON”である。したがって、テストドライバ“driver1”は実行対象である。
図5(c)の表の2行目は、テストドライバ“driver3”が、実行対象のテストドライバであることを示す。図5(b)によれば、テストドライバ“driver3”は、静的変数“parameter_C”の初期値が“ON”の時に実行される。図5(a)によれば、“parameter_C”の初期値は“ON”である。したがって、テストドライバ“driver3”は実行対象である。
一方、図5(c)の表は、テストドライバ“driver2”が実行対象のテストドライバではないことを示す。図5(b)によれば、テストドライバ“driver2”は、“parameter_A”の初期値が“OFF”かつ“parameter_B”の初期値が“ON”の時に実行される。ところが、図5(a)によれば、“parameter_A”の初期値は“ON”、“parameter_B”の初期値は“OFF”である。したがって、テストドライバ“driver2”は実行対象ではない。
テスト対象装置200のテスト実行手段250は、ドライバリスト230に基づき、テストドライバ220から処理対象プログラム210のテストに必要なテストドライバ“driver1”、“driver3”を選択して、処理対象プログラム210のテストを実行する。
以上説明したように、本実施形態におけるテスト実行支援装置100では、静的変数抽出手段110が、処理対象プログラム210から、処理対象プログラム210における静的変数の初期値を抽出する。そして、テストドライバ抽出手段120が、抽出された静的変数の初期値と、テストドライバ実行条件記述130とから、処理対象のテストに必要なテストドライバを抽出する。そのため、テストを実行する際に、テストケースを検討し、必要なドライバを抽出する作業が必要なくなる。そのため、ユーザは、テストの準備に要する工数を低減することができる。従って、本実施形態におけるテスト実行支援装置100は、テストの実行を効率化することができる。
(第2の実施形態)
テストドライバ抽出手段120は、初期値リストと、テストドライバ実行条件記述130とに基づいて、テストドライバ220のうち、処理対象プログラム220の機能をテストするテストドライバのリストである「ドライバリスト」を抽出し、テスト対象装置200に渡す。ドライバリストは、テストドライバの一覧である。したがって、テストドライバの一覧自体のみでなく、テストドライバを抽出して実行するプログラムも含まれてもよい。
本実施形態の説明においては、第1の実施形態と本実施形態とで共通する説明は省略し、第1の実施形態に対する本実施形態の相違点のみについて説明する。
本発明の第2の実施形態におけるテスト実行支援装置105の構成は、図1に示した第1の実施形態におけるテスト実行支援装置100の構成と同じである。
但し、本発明の第2の実施形態におけるテスト実行支援装置105の機能は、第1の実施形態におけるテスト実行支援装置100の機能と異なる。
図6は、本実施形態におけるテスト実行支援装置の動作を示すフローチャートである。
テスト実行支援装置105の静的変数抽出手段115は、処理対象プログラム210から、処理対象プログラム210の機能を指定する静的変数の初期値を取得する取得プログラムを生成する(ステップS21)。
次に、テスト実行支援装置105のテストドライバ抽出手段125は、静的変数の初期値を取得する取得プログラムと、テストドライバ実行条件記述130とに基づき、実行対象のテストドライバを抽出する取得プログラムを生成する(ステップS22)。
図7は、本実施形態におけるテスト実行支援装置の動作結果の具体例を説明するための図である。
本動作例では、図4(a)、(b)、(c)に示したプログラム等が与えられた場合の動作を説明する。
図7の前半部(第1−9行、静的変数取得プログラム)は、静的変数抽出手段115がテストドライバ抽出手段125に渡す、処理対象プログラム210から抽出した静的変数の初期値を取得するプログラムの例を示すコードである(ステップS21)。
図7のコードの1―3行目は、静的変数“parameter_A”の初期値を戻り値として返すルーチン定義である。ルーチン名は、静的変数の名称に従って機械的に与えられる。
図7のコードの4―6、7−9行目は、それぞれ、同様に静的変数“parameter_B”、“parameter_C”の初期値を戻り値として返すルーチン定義である。
図7の後半部(第10−23行、テストドライバ実行プログラム)は、テストドライバ抽出手段120が出力するプログラムの例を示すコードである(ステップS22)。
図7のコードの11行目は、処理対象プログラム210のメインプロセスを起動するルーチン“run_test_main”である。ルーチン“run_test_main”は、処理対象プログラム210のメインプロセスを起動後に終了する。
図7のコードの第13−15行では、まず、処理対象プログラム210の機能Aに対応する静的変数“parameter_A”の初期値が、静的変数抽出手段115が生成したプログラムにより取得される。静的変数の初期値が“ON”ならば、処理対象プログラム210の機能Aをテストするテストドライバ“driver1”が実行される。
図7のコードの第16−19行では、まず、処理対象プログラム210の機能A及びBに対応する静的変数“parameter_A”及び“parameter_B”の初期値が、静的変数抽出手段115が生成したプログラムにより取得される。静的変数の初期値が共に“ON”ならば、処理対象プログラム210の機能A、Bをテストするテストドライバ“driver2”が実行される。
図5(c)のコードの第20−22行では、まず、処理対象プログラム210の機能Cに対応する静的変数“parameter_C”の初期値が、静的変数抽出手段115が生成したプログラムにより取得される。静的変数の初期値が“ON”ならば、処理対象プログラム210の機能Cをテストするテストドライバ“driver3”が実行される。
テスト対象装置205のテスト実行手段255は、テストドライバ抽出プログラム235に基づき、テストドライバ220から処理対象プログラム210のテストに必要なテストドライバ“driver1”、“driver3”を選択して、処理対象プログラム210のテストを実行する。
以上説明したように、本実施形態におけるテスト実行支援装置105では、静的変数抽出手段110が、処理対象プログラム210から、処理対象プログラム210における静的変数の初期値を抽出する。そして、テストドライバ抽出手段120が、抽出された静的変数の初期値と、テストドライバ実行条件記述130とから、処理対象プログラム210のテストに必要なテストドライバを抽出する。そのため、テストを行うユーザは、テストケースを検討し、必要なドライバを抽出する必要がない。そのため、ユーザは、テストの準備に要する工数を低減することができる。従って、本実施形態におけるテスト実行支援装置100は、テストの実行を効率化することができる。
尚、図3、7の各処理は、ソフトウェアによって実行されてもよい。すなわち、各処理を行うためのコンピュータプログラムが、テスト実行支援装置が備えるCPU(例えば、図2のコンピュータ903)によって読み込まれ、実行されてもよい。プログラムを用いて各処理を行っても、上述の実施形態の処理と同内容の処理を行うことができる。そして、上記のプログラムは、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体記憶装置、光ディスク、磁気ディスク、光磁気ディスク等、非一時的な媒体に格納されてもよい。
あるいは、各処理は、個別の回路等の構成要素によって実行されてもよい。
尚、本願発明は、上述の実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することができる。

Claims (8)

  1. テスト対象のテスト対象機能を指定する静的変数の初期値を含む処理対象プログラム、及び実行プログラム情報に基づいて選択した、プログラム群に含まれる、前記テスト対象機能をテストするための個別テストプログラムを実行するテスト実行手段を含むテスト対象装置と、
    前記処理対象プログラムから前記初期値を取得する取得手段、前記個別テストプログラムの実行条件と前記初期値との対応情報と、前記取得した初期値とに基づき、前記プログラム群から実行対象の前記個別テストプログラムを抽出して前記実行プログラム情報を生成し、前記テスト対象装置へ出力する抽出手段と、を含むテスト実行支援装置と、
    を備えることを特徴とするテストシステム。
  2. 前記抽出手段は、前記実行プログラム情報の生成に代えて、前記プログラム群から実行対象の前記個別テストプログラムを抽出して前記実行プログラム情報を生成する情報生成プログラムを作成して前記テスト対象装置へ出力し、
    前記テスト対象装置は、前記処理対象プログラム、前記情報生成プログラム、及び前記実行プログラム情報に基づいて選択した前記個別テストプログラムを実行する
    ことを特徴とする請求項1に記載のテストシステム。
  3. テスト対象のテスト対象機能を指定する静的変数の初期値を含む処理対象プログラムから、前記初期値を取得する取得手段と、
    プログラム群に含まれる、前記テスト対象機能をテストするための個別テストプログラムの実行条件と前記初期値との対応情報と前記取得した初期値とに基づき、前記プログラム群から実行対象の前記個別テストプログラムを抽出して実行プログラム情報を生成し、前記実行プログラム情報に基づいて前記個別テストプログラムを抽出し前記個別テストプログラムを実行するテスト対象装置へ出力する抽出手段と、
    を備えることを特徴とするテスト実行支援装置。
  4. 前記抽出手段は、前記実行プログラム情報の生成に代えて、前記プログラム群から実行対象の前記個別テストプログラムを抽出して前記実行プログラム情報を生成する情報生成プログラムを作成し、前記テスト対象装置へ出力する
    前記テスト対象装置は、前記処理対象プログラム、前記情報生成プログラム、及び前記実行プログラム情報に基づいて選択した前記個別テストプログラムを実行する
    ことを特徴とする請求項3に記載のテスト実行支援装置。
  5. テスト対象のテスト対象機能を指定する静的変数の初期値を含む処理対象プログラムから、前記初期値を取得し、
    プログラム群に含まれる、前記テスト対象をテストするための個別テストプログラムの実行条件と前記初期値との対応情報と前記取得した初期値とに基づき、前記プログラム群から実行対象の前記個別テストプログラムを抽出して実行プログラム情報を生成し、
    前記処理対象プログラム、及び前記実行プログラム情報に基づいて選択した前記個別テストプログラムを実行する
    ことを特徴とするテスト実行方法。
  6. 前記実行プログラム情報の生成に代えて、前記プログラム群から実行対象の前記個別テストプログラムを抽出して前記実行プログラム情報を生成する情報生成プログラムを作成し、
    前記処理対象プログラム、前記情報生成プログラム、及び前記実行プログラム情報に基づいて選択した前記個別テストプログラムを実行する
    ことを特徴とする請求項5に記載のテスト実行方法。
  7. テスト実行支援装置が備えるコンピュータを、
    テスト対象のテスト対象機能を指定する静的変数の初期値を含む処理対象のプログラムから、前記初期値を取得する取得手段と、
    プログラム群に含まれる、前記テスト対象機能をテストするための個別テストプログラムの実行条件と前記初期値との対応情報と前記取得した初期値とに基づき、前記プログラム群から実行対象の前記個別テストプログラムを抽出して実行プログラム情報を生成する抽出手段と、
    して機能させるためのテスト実行支援プログラム。
  8. 前記抽出手段は、前記実行プログラム情報の生成に代えて、前記プログラム群から実行対象の前記個別テストプログラムを抽出して前記実行プログラム情報を生成する情報生成プログラムを作成する
    ことを特徴とする請求項7に記載のテスト実行支援プログラム。
JP2013112911A 2013-05-29 2013-05-29 テスト実行支援装置、テストシステム、テスト実行方法、及び、テスト実行支援プログラム Pending JP2014232428A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013112911A JP2014232428A (ja) 2013-05-29 2013-05-29 テスト実行支援装置、テストシステム、テスト実行方法、及び、テスト実行支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013112911A JP2014232428A (ja) 2013-05-29 2013-05-29 テスト実行支援装置、テストシステム、テスト実行方法、及び、テスト実行支援プログラム

Publications (1)

Publication Number Publication Date
JP2014232428A true JP2014232428A (ja) 2014-12-11

Family

ID=52125769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013112911A Pending JP2014232428A (ja) 2013-05-29 2013-05-29 テスト実行支援装置、テストシステム、テスト実行方法、及び、テスト実行支援プログラム

Country Status (1)

Country Link
JP (1) JP2014232428A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101685299B1 (ko) * 2015-07-30 2016-12-09 한국과학기술원 비결정적인 이벤트 처리가 가능한 프로그램의 자동 테스트 방법 및 자동 테스트 장치
CN110347594A (zh) * 2019-06-28 2019-10-18 上海电气泰雷兹交通自动化系统有限公司 Cbtc系统安全功能模块测试中静态变量同步和设定方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101685299B1 (ko) * 2015-07-30 2016-12-09 한국과학기술원 비결정적인 이벤트 처리가 가능한 프로그램의 자동 테스트 방법 및 자동 테스트 장치
CN110347594A (zh) * 2019-06-28 2019-10-18 上海电气泰雷兹交通自动化系统有限公司 Cbtc系统安全功能模块测试中静态变量同步和设定方法
CN110347594B (zh) * 2019-06-28 2023-03-10 上海电气泰雷兹交通自动化系统有限公司 Cbtc系统安全功能模块测试中静态变量同步和设定方法

Similar Documents

Publication Publication Date Title
US8589892B2 (en) Verification of speculative execution
CN106776334B (zh) 基于注释生成测试用例方法及装置
US8868976B2 (en) System-level testcase generation
US9690682B2 (en) Program information generating system, method, and computer program product
CN113704110A (zh) 用户界面的自动化测试方法及装置
US20140289708A1 (en) Methods, Circuits, Devices, Systems and Associated Computer Executable Code for Testing Software Code
WO2014134990A1 (en) Method, device and computer-readable storage medium for closure testing
US8438000B2 (en) Dynamic generation of tests
JP2014232428A (ja) テスト実行支援装置、テストシステム、テスト実行方法、及び、テスト実行支援プログラム
JP5937245B1 (ja) 運用手順評価装置および運用手順評価プログラム
US20220214963A1 (en) Analysis apparatus, analysis method and program
US9442826B2 (en) Kernel functionality checker
JP6903249B2 (ja) テストケース生成装置、テストケース生成方法、およびテストケース生成プログラム
JP6476777B2 (ja) テストコンテキストの生成
US20210382810A1 (en) Test data generation apparatus, test data generation method and program
JP2012238235A (ja) プログラム検証装置及びプログラム
US20110225400A1 (en) Device for Testing a Multitasking Computation Architecture and Corresponding Test Method
JP5755861B2 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
JPWO2012049816A1 (ja) モデル検査装置、方法及びプログラム
US20090271770A1 (en) Method, system, and computer program product for generating unit testing scripts
JP5387521B2 (ja) 論理検証シナリオ生成装置、及び、論理検証シナリオ生成プログラム
JP2015069332A (ja) 静的検証装置に静的検証を実行させる対象範囲を抽出する、対象範囲抽出装置、静的検証システム、対象範囲抽出方法、及び対象範囲抽出プログラム
US20130262932A1 (en) Stream Generation
US20220374343A1 (en) Test information extraction apparatus, test information extraction method and program
JP6658297B2 (ja) テストケース生成方法、テストケース生成プログラムおよびテストケース生成装置