JP6579022B2 - 生成プログラム、生成方法および生成装置 - Google Patents

生成プログラム、生成方法および生成装置 Download PDF

Info

Publication number
JP6579022B2
JP6579022B2 JP2016079103A JP2016079103A JP6579022B2 JP 6579022 B2 JP6579022 B2 JP 6579022B2 JP 2016079103 A JP2016079103 A JP 2016079103A JP 2016079103 A JP2016079103 A JP 2016079103A JP 6579022 B2 JP6579022 B2 JP 6579022B2
Authority
JP
Japan
Prior art keywords
code
test
global
variable
program
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
JP2016079103A
Other languages
English (en)
Other versions
JP2017191380A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016079103A priority Critical patent/JP6579022B2/ja
Publication of JP2017191380A publication Critical patent/JP2017191380A/ja
Application granted granted Critical
Publication of JP6579022B2 publication Critical patent/JP6579022B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明の実施形態は、生成プログラム、生成方法および生成装置に関する。
従来、ソフトウェア開発において、開発対象のプログラムに対してテストケースを生成する技術としてシンボリック実行が知られている。シンボリック実行は、テスト対象のプログラム(以下、対象プログラム)中の変数値を具体化せずに記号(シンボル値)のまま実行することによりプログラムを分析する技術である。
対象プログラムをシンボリック実行してテストケースを生成する際には、対象プログラムにおいてシンボル化する変数の宣言(シンボル宣言)などを行うテストドライバを生成する。そして、生成されたテストドライバを用いてシンボリック実行することで、対象プログラムに含まれる制御構造で実行可能なパス条件を網羅的に繰り返してテストケース(テストデータ)を取得する。
特開2015−146178号公報 特開2015−32282号公報
しかしながら、上記の従来技術では、全てのグローバル変数をテストの生成対象とするなどのテストに要する時間が長くなるケースがあり、実用的な時間でテストを行うことが困難な場合があるという問題がある。
図9は、対象プログラムの制御構造を説明する説明図である。図9に示すように、シンボリック実行では、対象プログラム300に含まれる変数の中でテストドライバで示された変数(図示例では引数(a、b))をシンボル変数として制御構造301を求める。次いで、制御構造301より実行可能なパス条件を取得する。図示例では、block1を経由するプログラムパスはランタイムエラーとして検出され、各プログラムパスにおけるシンボルの取り得る実行可能なパス条件(3×2=6ケース)が得られる。
図10は、生成されるテストケースを説明する説明図である。図10に示すように、制御構造301における実行可能な各パス条件について、充足性判定ツール(SMTソルバ)を用いてパス条件を満たす具体値を得ることで、各パス条件のテストケース302を取得することができる。
図11は、テストを行うためのテストドライバを説明する説明図である。図11に示すように、ドライバ303は、テストの対象プログラム300を呼び出すプログラムであり、例えばテストの対象とする関数を引数を与えて呼び出す。シンボリック実行では、ドライバ303より与える引数をシンボル変数とし、各パス条件についてのテストケース302が取得される。
図12、13は、テストデータの生成対象を説明する説明図である。図12、13に示すように、対象プログラム300は、環境初期化コード310、テスト対象コード311、アプリ初期化コード312およびテストドライバ313を有する。環境初期化コード310は、処理系における変数定義や環境などの初期化を示すコードである。テスト対象コード311は、テストの対象とするコードである。アプリ初期化コード312は、アプリ用のグローバル変数を定義するコードである。テストドライバ313は、テストの対象とするテスト対象コード311を引数を与えて呼び出すコードである。
JavaScript(登録商標)などのインタプリタ型言語では、動的に定義されたグローバル変数の値に応じて実行されるコードが存在する。例えば、図12に示すように、動的に定義されたグローバル変数をシンボル変数とするドライバを生成しない場合は、テスト対象コード311において、グローバル変数のテストデータが生成されないこととなる。このため、全てのグローバル変数をシンボル変数とする場合が考えられる。しかしながら、図13に示すように、全てのグローバル変数をシンボル変数とすると、シンボル変数が大量になる場合がある。この場合、処理系・環境内部のロジックまで考慮した複雑なパス条件が得られることから、テストデータの生成に要する処理時間が大幅に長くなり、実用的な時間でテストを行うことが困難なものとなる。
1つの側面では、テストの対象プログラムよりテストケースを生成する際の処理時間を短縮することを可能とする生成プログラム、生成方法および生成装置を提供することを目的とする。
第1の案では、生成プログラムは、判別する処理と、挿入する処理と、生成する処理とをコンピュータに実行させる。判別する処理は、テストの対象プログラムに含まれるグローバル変数を定義する所定のコードを判別する。挿入する処理は、判別された所定のコードの前後に定義済のグローバル変数を出力する出力コードを対象プログラムに挿入する。生成する処理は、出力コードを挿入後の対象プログラムを実行して得られる所定のコードの前後におけるグローバル変数の集合の差分に基づいてシンボル化する変数を定義するテストドライバを生成する。
本発明の1実施態様によれば、テストの対象プログラムよりテストケースを生成する際の処理時間を短縮することができる。
図1は、実施形態にかかる生成装置の機能構成を例示するブロック図である。 図2は、実施形態にかかる生成装置の動作例を示すフローチャートである。 図3は、対象プログラムへのコードの挿入を説明する説明図である。 図4は、シンボル化コードとテストドライバとを説明する説明図である。 図5は、最終的なテストドライバを説明する説明図である。 図6は、ユーザがテスト対象コードの位置を指定する場合を説明する説明図である。 図7は、ユーザがアプリ初期化コードを指定する場合を説明する説明図である。 図8は、実施形態にかかる生成装置のハードウエア構成の一例を示すブロック図である。 図9は、対象プログラムの制御構造を説明する説明図である。 図10は、生成されるテストケースを説明する説明図である。 図11は、テストを行うためのテストドライバを説明する説明図である。 図12は、テストデータの生成対象を説明する説明図である。 図13は、テストデータの生成対象を説明する説明図である。
以下、図面を参照して、実施形態にかかる生成プログラム、生成方法および生成装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する生成プログラム、生成方法および生成装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
図1は、実施形態にかかる生成装置の機能構成を例示するブロック図である。図1に示すように、生成装置1は、アプリ初期化コード判定部10、コード挿入部11、実行部12、シンボル化コード生成部13およびテストドライバ生成部14を有し、対象プログラム20よりシンボリック実行を行ってテストケースを得るためのテストドライバ30を生成する装置である。
アプリ初期化コード判定部10には、対象プログラム20が入力される。アプリ初期化コード判定部10は、入力された対象プログラム20を解析し、対象プログラム20におけるアプリのロジックに影響し、テストデータ生成の対象となるグローバル変数を定義するコード(アプリ初期化コードと呼ぶ)を判定する。アプリ初期化コード判定部10の判定結果はコード挿入部11に入力される。
対象プログラム20(ソースコード)において、アプリ初期化コードは、コードの末尾などの予め定められた領域に定義されている。例えば、アプリ初期化コードの領域は、コメント(アノテーション)などが挿入され、ユーザが容易に認識できる形式を用いて定義されている。一例として、対象プログラム20では、「//APP INIT.BEGINS」のコメントで始まり、「//APP INIT.ENDS」のコメントで終わる領域にアプリ初期化コードが定義されている。例えば、アプリ初期化コード判定部10は、対象プログラム20の構文解析により、上記のコメントで示されている領域に定義されているアプリ初期化コードを判別する。
コード挿入部11には、アプリ初期化コード判定部10の判定結果、対象プログラム20および定義済変数出力コード21が入力される。定義済変数出力コード21は、定義済のグローバル変数を出力するための出力コードである。定義済変数出力コード21の一例としては、「var global_var_set_before=dump_all_grobal()」、「var global_var_set_after=dump_all_grobal()」などがある。この定義済変数出力コード21は、ユーザにより予め定義され、メモリなどに格納されている。
コード挿入部11は、対象プログラム20において、アプリ初期化コード判定部10により判定されたアプリ初期化コードの前後に定義済変数出力コード21を挿入する。定義済変数出力コード21が挿入された対象プログラム20は実行部12に入力される。
実行部12は、対象プログラム20を実行する一般的な処理系であり、コード挿入部11より入力された対象プログラム20について、記述された内容に従って順次処理を行う。
この実行部12の実行結果では、対象プログラム20のアプリ初期化コードの前後に挿入された定義済変数出力コード21により、アプリ初期化コードの前後における定義済のグローバル変数の集合が得られる。この得られた実行結果は、シンボル化コード生成部13に入力される。
シンボル化コード生成部13は、アプリ初期化コードの前後におけるグローバル変数の集合の差分に基づいてシンボル化する変数を定義するコードを生成する。
具体的には、シンボル化コード生成部13は、アプリ初期化コードの前後におけるグローバル変数の集合の差分より、アプリ初期化コードの実行後に定義されており、アプリ初期化コードの実行前に定義されていない変数、すなわちアプリ初期化コードの実行により新たに定義された変数を求める。次いで、シンボル化コード生成部13は、求めた変数をシンボル化するコードを生成する。シンボル化コード生成部13により生成されたコードはテストドライバ生成部14に入力される。
なお、シンボル化する変数の型については、アプリ初期化コードの実行後に変数がとる値の型より求める。例えば、アプリ初期化コードの実行により新たに定義された変数の型が「””」などである場合は「String型」、「0」などである場合は「Number型」、「true」などである場合は「Boolean型」とする。
テストドライバ生成部14は、シンボル化コード生成部13で生成されたコードおよび対象プログラム20をもとに、対象プログラム20を呼び出すテストドライバ30を生成する。
具体的には、テストドライバ生成部14は、公知の手法により対象プログラム20内のテスト対象関数を引数を与えて呼び出すテストドライバを求める。次いで、テストドライバ生成部14は、シンボル化コード生成部13で生成された、アプリ初期化コードの実行により新たに定義された変数をシンボル化するコードを、公知の手法により求めたテストドライバに連結してテストドライバ30を生成する。
次に、生成装置1の動作について詳細に説明する。図2は、実施形態にかかる生成装置1の動作例を示すフローチャートである。
図2に示すように、処理が開始されると、アプリ初期化コード判定部10は、対象プログラム20に含まれるアプリ初期化コードを判定する(S1)。次いで、コード挿入部11は、判定されたアプリ初期化コードの前後に定義済変数出力コード21を挿入する(S2)。
図3は、対象プログラム20へのコードの挿入を説明する説明図である。図3に示すように、対象プログラム20は、環境初期化コード201、テスト対象コード202およびアプリ初期化コード203を有する。
アプリ初期化コード203の領域は、「//APP INT.BEGINS」、「//APP INT.ENDS」などのコメントが挿入されている。アプリ初期化コード判定部10は、このコメントをもとにアプリ初期化コード203を判定する。次いで、コード挿入部11は、アプリ初期化コード203の前後に定義済変数出力コード204a、204bを挿入して対象プログラム20aを求める。
次いで、実行部12は、コード挿入部11による定義済変数出力コード204a、204bを挿入した後の対象プログラム20aを実行する。これにより、シンボル化コード生成部13は、アプリ初期化コード203の実行前における定義済のグローバル変数の集合である初期化前変数集合(VSbefore)と、アプリ初期化コード203の実行後における定義済のグローバル変数の集合である初期化後変数集合(VSafter)とを得る(S3)。
次いで、シンボル化コード生成部13は、初期化前変数集合(VSbefore)と、初期化後変数集合(VSafter)との差集合(VSbefore−VSafter)を計算する。
一例として、初期化前変数集合(VSbefore)には次の要素が含まれているものとする。
・env_global_str0:””(String型)
・func:...(function型)
また、初期化後変数集合(VSafter)には次の要素が含まれているものとする。
・env_global_str0:””(String型)
・func:...(function型)
・app_global_str0:””(String型)
この場合の差集合(VSbefore−VSafter)では、「app_global_str0:””(String型)」が得られる。
次いで、シンボル化コード生成部13は、計算した差集合により得られた変数、すなわち、アプリ初期化コード203の実行により新たに定義された変数をシンボル変数とし、このシンボル変数を代入するシンボル化コード(d)を得る(S4)。
このシンボル変数の型については、アプリ初期化コード203実行後の値と同じ型とする。例えば、上記の例では、「app_global_str0:””(String型)」であることから、「app_global_str0」について「String型」のシンボル変数を生成するシンボル化コード(d)が得られる。
次いで、テストドライバ生成部14は、対象プログラム20のテスト対象コード202をもとに、公知の手法によりテスト対象コード202内のテスト対象関数の引数をシンボル変数とするテストドライバ(d)を得る(S5)。
図4は、シンボル化コードとテストドライバとを説明する説明図である。図4に示すように、S4では、アプリ初期化コード203の実行により新たに定義された変数をシンボル変数とするシンボル化コード205a(d)が得られる。また、S5では、ソースコードのコメント(アノテーション)から型を取得しテストドライバを自動生成する公知の手法により、テスト対象コード202内のテスト対象関数の引数をシンボル変数とするテストドライバ205b(d)が得られる。
次いで、テストドライバ生成部14は、シンボル化コード(d)と、テストドライバ(d)とを連結(d+d)し、最終的なテストドライバ30として出力する(S6)。
図5は、最終的なテストドライバ30を説明する説明図である。図5に示すように、テストドライバ生成部14は、対象プログラム20の環境初期化コード201、テスト対象コード202およびアプリ初期化コード203に、シンボル化コード(d)およびテストドライバ(d)を連結したテストドライバ205を付加したものを最終的なテストドライバ30として出力する。
このように、テストドライバ30では、全てのグローバル変数をシンボル変数とするのではなく、アプリ初期化コードの実行により新たに定義された変数をシンボル変数としている。したがって、テストドライバ30によりシンボリック実行してテストケースを生成することで、全てのグローバル変数をシンボル変数とする場合と比較して、テストケースの生成に要する処理時間を短くできる。このため、テストドライバ30によりシンボリック実行してテストケースを生成する場合には、テストケースの生成に要する処理時間が大幅に長くなることを抑止できることから、実用的な時間でテストを行うことができる。
なお、テスト対象コード202およびアプリ初期化コード203などのコード位置については、ユーザがコメント(アノテーション)などにより適宜指定してもよい。図6は、ユーザがテスト対象コード202の位置を指定する場合を説明する説明図である。図7は、ユーザがアプリ初期化コード203を指定する場合を説明する説明図である。
図6に示すように、対象プログラム20aでは、「//TEST TARGET BEGINS」および「//TEST TARGET ENDS」のコメントがユーザにより挿入されることで、テスト対象コード202の位置が指定されている。
生成装置1では、アプリ初期化コード判定部10における前処理として対象プログラム20aにおけるコメントの削除・置換・挿入を行う。例えば、「//TEST TARGET BEGINS」については削除し、テスト対象コード202の終了位置である「//TEST TARGET ENDS」については、以後でアプリ初期化コード203が始まることを示す「//APP INT.BEGINS」に置換する。また、ファイルの末尾には、アプリ初期化コード203が終了することを示す「//APP INT.ENDS」を挿入する。これにより、アプリ初期化コード判定部10では、アプリ初期化コード203の判定を行うことができる。
図7に示すように、対象プログラム20bでは、「//APP INT.BEGINS」および「//APP INT.ENDS」のコメントがユーザにより挿入されることで、アプリ初期化コード203a、203cと、アプリ初期化コード指定外203bとが指定されている。具体的には、ユーザは、「//APP INT.BEGINS」のコメントで始まり、「//APP INT.ENDS」のコメントで終わる領域に含めることでアプリ初期化コード203a、203cを指定し、その領域から外すことでアプリ初期化コード指定外203bを指定している。
アプリ初期化コード判定部10は、対象プログラム20bにおいてユーザにより指定されたアプリ初期化コード203a、203cを判定する。そして、コード挿入部11は、判別されたアプリ初期化コード203a、203cのそれぞれについて定義済変数出力コード21を挿入する。次いで、シンボル化コード生成部13では、アプリ初期化コード203a、203cのそれぞれについて、実行前後におけるグローバル変数の集合の差集合(VSbefore−VSafter)を求める。そして、シンボル化コード生成部13は、アプリ初期化コード203a、203cのそれぞれについて得られた差集合の和集合を計算し、テストデータ生成対象の変数集合とする。
例えば、アプリ初期化コード203aの実行前後における差集合が次のように求められているものとする。
・(env_global_str0,func0,app_global_str0)−(env_global_str0,func0)=(app_global_str0)
また、アプリ初期化コード指定外203cの実行前後における差集合が次のように求められているものとする。
・(env_global_str0,func0,app_global_str0,app_global_str1,app_global_str2)−(env_global_str0,func0,app_global_str0,app_global_str1)=(app_global_str2)
この時の和集合は、(app_global_str0)+(app_global_str2)=(app_global_str0,app_global_str2)となる。この和集合をテストデータ生成対象の変数集合とすることで、ユーザにより指定されたアプリ初期化コード203a、203cについてのシンボリック実行を行うことができる。
以上のように、生成装置1は、対象プログラム20に含まれるグローバル変数を定義するアプリ初期化コード203を判別し、判別されたアプリ初期化コード203の前後に定義済変数出力コード204a、204bを挿入する。また、生成装置1は、定義済変数出力コード204a、204bを挿入後の対象プログラム20aを実行して得られる、アプリ初期化コード203の実行前後におけるグローバル変数の集合の差分に基づいてシンボル化する変数を定義するテストドライバ30を生成する。このようにして得られたテストドライバ30では、全てのグローバル変数をシンボル変数とするのではなく、アプリ初期化コード203の実行により新たに定義された変数をシンボル変数としている。したがって、テストドライバ30によりシンボリック実行してテストケースを生成することで、テストケースの生成に要する処理時間を短くでき、実用的な時間でテストを行うことができる。
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、生成装置1で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、生成装置1で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ(ハードウエア)の一例を説明する。図8は、実施形態にかかる生成装置1のハードウエア構成の一例を示すブロック図である。
図8に示すように、生成装置1は、各種演算処理を実行するCPU101と、データ入力を受け付ける入力装置102と、モニタ103と、スピーカ104とを有する。また、生成装置1は、記憶媒体からプログラム等を読み取る媒体読取装置105と、各種装置と接続するためのインタフェース装置106と、有線または無線により外部機器と通信接続するための通信装置107とを有する。また、生成装置1は、各種情報を一時記憶するRAM108と、ハードディスク装置109とを有する。また、生成装置1内の各部(101〜109)は、バス110に接続される。
ハードディスク装置109には、上記の実施形態で説明したアプリ初期化コード判定部10、コード挿入部11、実行部12、シンボル化コード生成部13およびテストドライバ生成部14における各種の処理を実行するためのプログラム111が記憶される。また、ハードディスク装置109には、プログラム111が参照する各種データ112(対象プログラム20、定義済変数出力コード21など)が記憶される。入力装置102は、例えば、生成装置1の操作者から操作情報の入力を受け付ける。モニタ103は、例えば、操作者が操作する各種画面を表示する。インタフェース装置106は、例えば印刷装置等が接続される。通信装置107は、LAN(Local Area Network)等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
CPU101は、ハードディスク装置109に記憶されたプログラム111を読み出して、RAM108に展開して実行することで、各種の処理を行う。なお、プログラム111は、ハードディスク装置109に記憶されていなくてもよい。例えば、生成装置1が読み取り可能な記憶媒体に記憶されたプログラム111を読み出して実行するようにしてもよい。生成装置1が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこのプログラム111を記憶させておき、生成装置1がこれらからプログラム111を読み出して実行するようにしてもよい。
1…生成装置
10…アプリ初期化コード判定部
11…コード挿入部
12…実行部
13…シンボル化コード生成部
14…テストドライバ生成部
20、20a、20b…対象プログラム
21…定義済変数出力コード
30、205b、205…テストドライバ
101…CPU
102…入力装置
103…モニタ
104…スピーカ
105…媒体読取装置
106…インタフェース装置
107…通信装置
108…RAM
109…ハードディスク装置
110…バス
111…プログラム
112…各種データ
201…環境初期化コード
202…テスト対象コード
203、203a、203c…アプリ初期化コード
203b…アプリ初期化コード指定外
204a、204b…定義済変数出力コード
205a…シンボル化コード

Claims (5)

  1. テストの対象プログラムに含まれるグローバル変数を定義する所定のコードを判別し、
    前記判別された所定のコードの前後に定義済のグローバル変数を出力する出力コードを前記対象プログラムに挿入し、
    前記出力コードを挿入後の対象プログラムを実行して得られる前記所定のコードの前後におけるグローバル変数の集合の差分に基づいてシンボル化する変数を定義するテストドライバを生成する
    処理をコンピュータに実行させることを特徴とする生成プログラム。
  2. 前記テストドライバを生成する処理は、前記差分に基づいて、前記所定のコードの後において新たに定義されているグローバル変数をシンボル化するテストドライバを生成する
    ことを特徴とする請求項1に記載の生成プログラム。
  3. 前記判別する処理は、前記グローバル変数を定義する複数のコードの中で、予め指定されたコードを判別する
    ことを特徴とする請求項1または2に記載の生成プログラム。
  4. テストの対象プログラムに含まれるグローバル変数を定義する所定のコードを判別し、
    前記判別された所定のコードの前後に定義済のグローバル変数を出力する出力コードを前記対象プログラムに挿入し、
    前記出力コードを挿入後の対象プログラムを実行して得られる前記所定のコードの前後におけるグローバル変数の集合の差分に基づいてシンボル化する変数を定義するテストドライバを生成する
    処理をコンピュータが実行することを特徴とする生成方法。
  5. テストの対象プログラムに含まれるグローバル変数を定義する所定のコードを判定する判定部と、
    前記判定された所定のコードの前後に定義済のグローバル変数を出力する出力コードを前記対象プログラムに挿入する挿入部と、
    前記出力コードを挿入後の対象プログラムを実行して得られる前記所定のコードの前後におけるグローバル変数の集合の差分に基づいてシンボル化する変数を定義するテストドライバを生成する生成部と
    を有することを特徴とする生成装置。
JP2016079103A 2016-04-11 2016-04-11 生成プログラム、生成方法および生成装置 Expired - Fee Related JP6579022B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016079103A JP6579022B2 (ja) 2016-04-11 2016-04-11 生成プログラム、生成方法および生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016079103A JP6579022B2 (ja) 2016-04-11 2016-04-11 生成プログラム、生成方法および生成装置

Publications (2)

Publication Number Publication Date
JP2017191380A JP2017191380A (ja) 2017-10-19
JP6579022B2 true JP6579022B2 (ja) 2019-09-25

Family

ID=60086040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016079103A Expired - Fee Related JP6579022B2 (ja) 2016-04-11 2016-04-11 生成プログラム、生成方法および生成装置

Country Status (1)

Country Link
JP (1) JP6579022B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908898B (zh) * 2019-11-06 2023-07-21 贝壳找房(北京)科技有限公司 生成测试方案的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002014847A (ja) * 2000-06-30 2002-01-18 Toshiba Corp プログラム検査装置、プログラム検査方法及び検査を行うためのプログラムを格納した記録媒体
JP6331756B2 (ja) * 2014-06-25 2018-05-30 富士通株式会社 テストケース生成プログラム、テストケース生成方法、及びテストケース生成装置

Also Published As

Publication number Publication date
JP2017191380A (ja) 2017-10-19

Similar Documents

Publication Publication Date Title
US9747187B2 (en) Simulating black box test results using information from white box testing
JP2015043198A (ja) 解析システム、解析方法および解析プログラム
WO2013184364A2 (en) Visualized code review
KR20090017598A (ko) 소프트웨어를 분석하기 위한 방법 및 시스템
JP6486574B2 (ja) プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム
KR101110241B1 (ko) 프로그램 테스트 장치 및 프로그램
US20170075665A1 (en) Program information generation system, method, and computer program
CN110209902B (zh) 对机器学习过程中的特征生成过程可视化的方法和系统
JP6579022B2 (ja) 生成プログラム、生成方法および生成装置
US8813036B2 (en) Visual representation of a difference between Cartesian product models
EP3570173B1 (en) Equivalence verification apparatus and equivalence verification program
CN109359055B (zh) 一种数据测试的方法和设备
US10372849B2 (en) Performing and communicating sheet metal simulations employing a combination of factors
US8661421B2 (en) Methods and apparatuses for endian conversion
JP6665576B2 (ja) 支援装置、支援方法及びプログラム
CN108614704B (zh) 代码编译方法及装置
JP2015146178A (ja) テストコンテキストの生成
CN111338968A (zh) 项目的功能模块调试方法、装置、介质及电子设备
JP5755861B2 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
CN110988661A (zh) 一种fpga原型验证开发板时分分析系统、方法、介质及终端
JP6369102B2 (ja) ソフトウェア試験支援システム
JP6658297B2 (ja) テストケース生成方法、テストケース生成プログラムおよびテストケース生成装置
US11650802B2 (en) Idiomatic source code generation
CN114115763B (zh) 打印机平台化产品的配置装置及配置方法
JP2009223366A (ja) ソフトウェア生成システム、ソースコード共通化方法、及びソフトウェア生成用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190812

R150 Certificate of patent or registration of utility model

Ref document number: 6579022

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees