JP2009169828A - テストケース生成装置及びテストケース生成プログラム - Google Patents

テストケース生成装置及びテストケース生成プログラム Download PDF

Info

Publication number
JP2009169828A
JP2009169828A JP2008009252A JP2008009252A JP2009169828A JP 2009169828 A JP2009169828 A JP 2009169828A JP 2008009252 A JP2008009252 A JP 2008009252A JP 2008009252 A JP2008009252 A JP 2008009252A JP 2009169828 A JP2009169828 A JP 2009169828A
Authority
JP
Japan
Prior art keywords
model
test case
inspection
inspected
source code
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
JP2008009252A
Other languages
English (en)
Inventor
Masaya Oi
正也 大井
Yoshitaka Uematsu
義貴 植松
Yoshiyuki Maki
良幸 牧
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2008009252A priority Critical patent/JP2009169828A/ja
Priority to US12/354,369 priority patent/US20090187892A1/en
Publication of JP2009169828A publication Critical patent/JP2009169828A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】自動テストケース生成の性能限界を緩和する。
【解決手段】テストケースを生成する対象のモデルにソースコードの検査が完了している検査済部分が存在するか否かを、検査済部分を識別可能な検査情報に基づき判定し(S101)、検査済部分が存在すると判定した場合には(S101:YES)、その検査済部分を簡略化することで検査対象のモデルを簡略化し(S102)、簡略化したモデルに基づいてテストケースを生成する(S103)。このため、生成するテストケースのパターン数を減らすことができ、その結果、自動テストケース生成の性能限界を緩和することができる。
【選択図】図3

Description

本発明は、テストケースを自動的に生成するためのテストケース生成装置に関するものである。
従来、例えば車両のエンジンECUの作動等、信号入出力制御のためのプログラムにおいては、開発者が直接そのプログラムのソースコードを記述せず、目的とするプログラムの機能を、より作成が簡易で視認性の良い「モデル」という形態で記述する場合がある。
開発者は、このモデルに対応したプログラム開発環境がインストールされたワークステーションやパーソナルコンピュータ等を用い、このモデルによって定義されたデータの入出力のシミュレーションを行い、モデルに基づきソースコードを生成する。
モデルからソースコードを生成するようなプログラム開発は、モデルベース開発と呼ばれる。モデルベース開発に対応したプログラム開発環境としては、例えば、MathWorks社のMATLAB(登録商標)がある。MATLAB(登録商標)においては、開発者はMATLAB(登録商標)に対する付加機能を提供するソフトウェアであるSimulink(登録商標)を用いて、目的とするデータ入出力を表現するモデルを記述する。
モデルは、データ演算、データ入力及びデータ出力のうち少なくともいずれか1つの機能を実現する機能単位としてのブロック、及びブロック間の入出力関係を示す結線の組合せとして記述される。すなわち、複数のブロックが結線によってつなぎ合わされることにより、車両制御等のデータ入出力を表現する集合体がモデルである。
このようなモデルベース開発環境においては、モデルからソースコードへの変換が意図したとおり適正に行われているか、すなわち、モデルの表す処理内容がソースコードに正しく反映されているかを判断するための検査が行われる。この検査には、モデルの表す処理内容(例えば命令分岐の条件等)に基づき、できるだけ多くの命令分岐先の処理が実行されるようなテスト用入力データ(テストケース)が用いられる。
そして、こうしたテストケースを自動的に生成する技術が既に知られている(特許文献1参照)。この技術では、モデルを入力し、そのロジック中の分岐条件等を解析してテストケースを自動的に生成する。このとき、テストケースはすべてのロジックを通過することを目標として生成される。
特開2006−24006号公報
しかしながら、テストケースを生成する対象のモデルが複雑な場合、コンピュータで解析できる限界を超え、有効なテストケースが得られなかったり、テストケースの生成に多大な時間を要したりする場合がある。この場合、人手によりテストケースを補う必要があり、自動テストケース生成が本来ねらうソフトウェア開発の効率化効果が著しく損なわれてしまう。
本発明は、こうした問題にかんがみてなされたものであり、自動テストケース生成の性能限界を緩和することを目的としている。
上記目的を達成するためになされた本発明の請求項1に記載のテストケース生成装置は、処理内容を表すモデルに基づき生成されたソースコードを検査するためのテストケースを、モデルに基づいて生成するものである。そして、このテストケース生成装置では、判定手段が、テストケースを生成する対象のモデルにソースコードの検査が完了している検査済部分が存在するか否かを、検査済部分を識別可能な検査情報に基づき判定し、判定手段により検査済部分が存在すると判定された場合には、生成手段が、その検査済部分を簡略化したモデルに基づいてテストケースを生成する。
すなわち、例えば車載ソフトウェアなどのように、既存のソフトウェアからの変更による開発(差分開発)が行われるものでは、過去の開発で既にソースコードの検査が完了している検査済部分が存在する場合がある。この場合、検査済部分を簡略化することによって、自動テストケース生成時間の短縮・性能限界の補完を図ることが可能となる。
したがって、本発明のテストケース生成装置によれば、テストケースを生成する対象のモデルをあらかじめ簡略化することで、生成するテストケースのパターン数を減らすことができる。この結果、自動テストケース生成の性能限界を緩和することができ、複雑なモデルについてもテストケースを自動的に生成することが可能となる。
ところで、モデルにおける検査済部分の判定は、例えば請求項2に記載のように行うことができる。すなわち、請求項2に記載のテストケース生成装置では、判定手段は、モデルにその属性情報として埋め込まれた検査情報に基づき検査済部分が存在するか否かを判定する。このようなテストケース生成装置によれば、検査済部分を容易かつ確実に判定することができる。
そして、このような検査情報は、例えば請求項3に記載のように書き込まれるようにするとよい。すなわち、請求項3に記載のテストケース生成装置では、検査手段が、生成手段により生成されたテストケースを用いてソースコードの検査を行い、検査手段による検査結果が合格の場合に、書込手段が、モデルの属性情報として検査済であることを示す検査情報を書き込む。このようなテストケース生成装置によれば、検査情報がモデルの属性情報として自動的に書き込まれるようにすることができる。
一方、請求項4に記載のテストケース生成装置では、判定手段は、データベースに記憶された検査情報に基づき検査済部分が存在するか否かを判定する。このようなテストケース生成装置によれば、モデル自体に検査情報を埋め込むことなく、検査済部分を容易かつ確実に判定することができる。
ここで、検査情報は、例えば請求項5に記載のように、モデルの検査済部分の識別情報とすることができる。このようにすれば、モデルの検査済部分のデータ自体を記憶するのに比べ、検査情報として記憶するデータ量を小さくすることができる。
一方、例えば請求項6に記載のように、モデルの検査済部分のデータ自体を検査情報として記憶するようにすれば、例えば、モデルのデータの一部(識別情報等)が変更された場合にも、実質的な内容に基づき同一のモデルであると判定するといったように、柔軟な判定が可能となる。
また、検査情報は、例えば請求項7に記載のように、モデルの検査済部分に対応するソースコードとすることもできる。このようにしても、請求項6と同様、柔軟な判定が可能となる。
そして、このような検査情報は、例えば請求項8に記載のように記憶されるようにするとよい。すなわち、請求項8に記載のテストケース生成装置では、検査手段が、生成手段により生成されたテストケースを用いてソースコードの検査を行い、検査手段による検査結果が合格の場合に、書込手段が、モデルについての検査情報をデータベースに書き込む。このようなテストケース生成装置によれば、検査情報がデータベースに自動的に書き込まれるようにすることができる。
ところで、検査済部分の簡略化は、例えば請求項9や請求項10に記載のように行うことができる。
すなわち、請求項9に記載のテストケース生成装置では、生成手段は、モデルの検査済部分の分岐処理を1つの経路に固定することでモデルを簡略化する。このようなテストケース生成装置によれば、モデルの構成を大きく変更することなくモデルを簡略化することができる。
また、請求項10に記載のテストケース生成装置では、生成手段は、モデルの検査済部分を削除することでモデルを簡略化する。このようなテストケース生成装置によれば、モデルを効率よく簡略化することができる。
次に、請求項11に記載のテストケース生成プログラムは、処理内容を表すモデルに基づき生成されたソースコードを検査するためのテストケースを、モデルに基づいて生成するテストケース生成装置としてコンピュータを機能させるためのものである。そして、このテストケース生成プログラムは、テストケースを生成する対象のモデルにソースコードの検査が完了している検査済部分が存在するか否かを、検査済部分を識別可能な検査情報に基づき判定する判定手段と、判定手段により検査済部分が存在すると判定された場合には、その検査済部分を簡略化したモデルに基づいてテストケースを生成する生成手段としてコンピュータを機能させる。
このようなテストケース生成プログラムによれば、請求項1のテストケース生成装置としてコンピュータを機能させることができ、これにより前述した効果を得ることができる。
以下、本発明が適用された実施形態について、図面を用いて説明する。
[第1実施形態]
図1は、第1実施形態のテストケース生成装置としてのパーソナルコンピュータ1の構成を示すブロック図である。
同図に示すように、このパーソナルコンピュータ1は、ディスプレイ11、入力装置12、RAM13、ROM14、HDD(ハードディスクドライブ)15、CPU(演算装置)16を備える。
ディスプレイ11は、CPU16から受けた映像信号を、ユーザに対して映像として表示する。
入力装置12は、キーボード、マウス等から構成され、ユーザが操作することにより、その操作に応じた信号をCPU16に出力する。
RAM13は読み出し、書き込み可能な揮発性メモリであり、ROM14は読み出し専用の不揮発性メモリであり、HDD15は読み出し、書き込み可能な不揮発性メモリである。ROM14、HDD15には、CPU16が読み出して実行するプログラム等があらかじめ記憶されている。またHDD15には、後述するモデルが記憶されている。
RAM13は、CPU16がROM14、HDD15に記憶されたプログラムを実行する際に、そのプログラムを一時的に保存するための記憶領域、及び作業用のデータを一時的に保存するための記憶領域として用いられる。
CPU16は、パーソナルコンピュータ1に電源が投入されることによって起動すると、ROM14から所定のブートプログラムを読み出して実行し、このブートプログラムに規定されるオペレーティングシステム(OS)その他のプログラムをHDD15から読み出して実行することにより、起動処理を行う。起動処理以後、電源が遮断されるまで、CPU16は、入力装置12からの信号や、OSによってあらかじめ定められたスケジュール等に基づいて、HDD15に記録されている各種プログラムをOS上のプロセスとして実行する。また、上記の起動処理及びプロセスにおいて、CPU16は必要に応じて入力装置12から信号の入力を受け付け、またディスプレイ11に映像信号を出力し、またRAM13、HDD15に対してデータの読み出し/書き込みの制御を行う。
次に、パーソナルコンピュータ1によって実行される処理の概要について説明する。
パーソナルコンピュータ1は、処理内容を表すモデルに基づき生成されたソースコード(例えば、車両制御用のECUで実行させるC言語のソースコード)を検査するためのテストケースを、そのモデルに基づいて生成するためのものである。
モデルは、時系列の中でのデータ演算、データ入力及びデータ出力のうち少なくともいずれか1つの機能を表すブロック(サブシステム)、及びブロック間の入出力関係を示す結線の組合せとして記述される。モデルの例としては、MathWorks社のSimulink(登録商標)モデルがある。
図2(a)に、モデルの一例を示す。このモデルにおいて、図形31〜38がブロックを表し、これらブロック間を繋ぐ線が結線を表す。なお、入力ブロック31〜35は、外部からのデータの入力を受け、その受けたデータを結線の後段に出力する機能を表す。また、スイッチブロック36,37は、入力される選択信号が「1」の場合には出力信号として選択1の値を出力し、入力される選択信号が「0」の場合には出力信号として選択2の値を出力する。このモデルにおいては、スイッチブロック36,37への入力の結線のうち、上段、中段、下段の各結線から選択1、選択信号、選択2の各値が入力される。一方、出力ブロック38は、結線を介して受けたデータを外部に出力する機能を有する。
このようなモデルに基づき、そのモデルの表すデータ入出力処理を実現するための処理が記述されたソースコードが生成される。なお、ソースコードの生成は、モデルに基づき自動で行うことも、プログラマが手動で行うことも可能である。
そして、生成したソースコードを、テストケース(モデルのすべてのブロック又はソースコードのすべての命令文ができる限り実行されるようなバラエティを持った入力データ)を用いて検査する。例えば、図2(a)のモデルは、図2(b)に示すようなテストケースを用いて検査を行うことができる。このテストケースでは、スイッチブロック36,37の各選択信号となる入力2及び入力4の4とおりの組合せをそれぞれテストする。
このようなテストケースを用いて、モデルに基づき生成されたソースコードの検査を行う。具体的には、テストケースを用いて、モデルのシミュレーションを実行するとともにソースコード(そのモデルに基づき生成されたソースコード)を実行し、各実行結果(出力値)が一致していれば合格とする。なお、モデルのシミュレーションとは、そのモデルの表現するデータの入出力の時間変化をパーソナルコンピュータ1上で再現する処理をいう。
次に、本実施形態のテストケース生成装置でテストケースを生成するためにCPU16が実行する自動テストケース生成処理について、図3のフローチャートを用いて説明する。なお、この自動テストケース生成処理は、ユーザによって入力装置12を用いた実行開始の操作が行われることにより開始される。
CPU16は、自動テストケース生成処理を開始すると、まず、S101で、検査対象(テストケースを生成する対象)のモデルにソースコードの検査が完了している検査済部分が存在するか否かを判定する。本実施形態では、各ブロックの属性情報として、検査済部分を識別可能な検査情報(検査済であるか否かを示す情報)が埋め込まれており、各ブロックの属性情報を参照することにより、検査対象のモデルを構成するブロックに検査済のものが存在するか否かを判定することができる。例えば、図4に示すモデルは、サブシステムA〜Cからなるものであり、サブシステムAには属性情報として検査済を示す情報が記憶されており、サブシステムB,Cには属性情報として未検査を示す情報が記憶されている。なお、検査情報を書き込む処理については後述する(S106)。
そして、S101で、検査対象のモデルに検査済部分が存在すると判定した場合には、S102へ移行し、その検査済部分を簡略化することで検査対象のモデルを簡略化した後、S103へ移行する。具体的には、検査済の分岐処理を1つの経路に固定することで、モデルを簡略化する。例えば、図5に示す例では、入力2(スイッチ1の選択信号)を「1」に固定することでモデルを簡略化している。なお、分岐を固定した代替部分モデルを用意しておき、差し替えるようにしてもよい。
一方、S101で、検査対象のモデルに検査済部分が存在しないと判定した場合には、そのままS103へ移行する。
S103では、検査対象のモデル(S102で簡略化した場合には、簡略化したモデル)に基づき、テストケースを生成する。
続いて、S104では、S103で生成したテストケースを用いて、検査対象のモデルに基づき別途生成されたソースコードの検査を行う。
続いて、S105では、S104での検査結果が合格であるか否かを判定する。
そして、S105で、検査結果が合格であると判定した場合には、S106へ移行し、検査対象のモデルの属性情報として検査済を示す検査情報を書き込む。その後、本自動テストケース生成処理を終了する。
一方、S105で、検査結果が合格でないと判定した場合には、そのまま本自動テストケース生成処理を終了する。
以上説明したように、第1実施形態のパーソナルコンピュータ1は、検査対象のモデルに検査済部分が存在するか否かを判定し(S101)、検査済部分が存在すると判定した場合には(S101:YES)、その検査済部分を簡略化したモデルに基づいてテストケースを生成する(S102,S103)。このため、生成するテストケースのパターン数を減らすことができる。その結果、自動テストケース生成の性能限界を緩和することができる。
また、このパーソナルコンピュータ1では、モデルに埋め込まれた属性情報に基づき検査済部分が存在するか否かを判定するようにしているため、検査済部分を容易かつ確実に判定することができる。特に、このパーソナルコンピュータ1では、生成されたテストケースを用いてソースコードの検査を行い(S104)、その検査結果が合格の場合に(S105:YES)、モデルの属性情報として検査済であることを示す情報を書き込む(S106)。このため、検査済であることを示す情報がモデルの属性情報として自動的に書き込まれるようにすることができる。
さらに、このパーソナルコンピュータ1では、モデルの検査済部分の分岐処理を1つの経路に固定することでモデルを簡略化するようにしているため、モデルの構成を大きく変更することなくモデルを簡略化することができる。
なお、第1実施形態のパーソナルコンピュータ1では、S101の処理を実行するCPU16が判定手段に相当し、S102,S103の処理を実行するCPU16が生成手段に相当する。また、S104の処理を実行するCPU16が検査手段に相当し、S105,S106の処理を実行するCPU16が書込手段に相当する。
[第2実施形態]
次に、第2実施形態のパーソナルコンピュータ1について説明する。
第2実施形態のパーソナルコンピュータ1は、基本的な構成は図1に示す第1実施形態のパーソナルコンピュータ1と同一であるが、検査対象のモデルに検査済部分が存在するか否かを判定する方法が異なる。そこで、第1実施形態と共通する部分については同一符号を用いて説明を省略する。
第2実施形態のパーソナルコンピュータ1においても、第1実施形態と同様の自動テストケース生成処理(図3)をCPU16が実行する。ただし、S101及びS106の処理内容が若干異なる。
S101では、検査対象のモデルに検査済部分が存在するか否かを判定する。本第2実施形態では、検査済のモデル(ブロック)の識別情報(例えばサブシステム名)が検査情報(検査実施履歴情報)としてHDD15のデータベースに記憶されており、そのデータベースを参照することにより、検査対象のモデルを構成するブロックに検査済のものが存在するか否かを判定する。例えば、図6に示すモデルは、サブシステムA〜Cからなるものであり、データベースには、サブシステムAが検査済であることを示す検査情報が記憶されている。
また、S106では、検査対象のモデルの検査情報としてモデル名(サブシステム名)をHDD15に書き込む。例えば、既存の表計算ソフトのデータファイルとして記憶させておくことができる。
以上説明したように、第2実施形態のパーソナルコンピュータ1では、データベースに記憶されている検査情報に基づき検査済部分が存在するか否かを判定するようにしているため、モデル自体に余分な情報を埋め込むことなく、検査済部分を容易かつ確実に判定することができる。また、データベースをサーバで集中管理するといったシステムを構築することも可能となる。特に、モデルの識別情報を記憶するようにしているため、検査情報として記憶するデータ量を小さくすることができる。
[第3実施形態]
次に、第3実施形態のパーソナルコンピュータ1について説明する。
第3実施形態のパーソナルコンピュータ1も、基本的な構成は図1に示す第1実施形態のパーソナルコンピュータ1と同一であるが、検査対象のモデルに検査済部分が存在するか否かを判定する方法が異なる。そこで、第1実施形態と共通する部分については同一符号を用いて説明を省略する。
第3実施形態のパーソナルコンピュータ1においても、第1実施形態と同様の自動テストケース生成処理(図3)をCPU16が実行する。ただし、S101及びS106の処理内容が若干異なる。
S101では、検査対象のモデルに検査済部分が存在するか否かを判定する。本第3実施形態では、検査済のモデル(ブロック)のデータ自体が検査情報としてHDD15のデータベースに記憶されており、そのデータを参照して例えばパターンマッチングによってサブシステムの内容の一致を確認することにより、検査対象のモデルを構成するブロックに検査済のものが存在するか否かを判定する。例えば、図7に示すモデルは、サブシステムA〜Cからなるものであり、データベースには、サブシステムAのデータ自体が検査情報として記憶されている。
また、S106では、検査対象のモデルの検査情報としてモデルのデータ自体をHDD15に書き込む。
以上説明したように、第3実施形態のパーソナルコンピュータ1によれば、モデルのデータ自体を記憶するようにしているため、モデルのデータの一部(サブシステム名や、モデルエディタにおけるブロック座標のずれ等)が変更された場合にも、ロジックが同じであれば同一のモデルであると判定するといったように、柔軟な判定が可能となる。加えて、図8に示すように、データベースに記憶された検査済モデルを用いて(ライブラリリンクで参照して)新規モデルの作成を効率よく行うことも可能となる。
[第4実施形態]
次に、第4実施形態のパーソナルコンピュータ1について説明する。
第4実施形態のパーソナルコンピュータ1も、基本的な構成は図1に示す第1実施形態のパーソナルコンピュータ1と同一であるが、検査対象のモデルに検査済部分が存在するか否かを判定する方法が異なる。そこで、第1実施形態と共通する部分については同一符号を用いて説明を省略する。
第4実施形態のパーソナルコンピュータ1においても、第1実施形態と同様の自動テストケース生成処理(図3)をCPU16が実行する。ただし、S101及びS106の処理内容が若干異なる。
S101では、検査対象のモデルに検査済部分が存在するか否かを判定する。本第4実施形態では、検査済のモデル(ブロック)に対応するソースコードが検査情報としてHDD15のデータベースに記憶されており、そのソースコードを参照して生成済みのソースコードとの一致を確認することにより、検査対象のモデルを構成するブロックに検査済のものが存在するか否かを判定する。例えば、図9に示すモデルは、サブシステムA〜Cからなるものであり、データベースには、サブシステムAのソースコードが検査情報として記憶されている。
また、S106では、検査対象のモデルの検査情報としてモデルのソースコードをHDD15に書き込む。
以上説明したように、第4実施形態のパーソナルコンピュータ1によれば、モデルのソースコードを記憶するようにしているため、前述した第3実施形態と同様の効果を得ることができる。
[変形例]
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されることなく、種々の形態を採り得ることは言うまでもない。
上記各実施形態では、検査済の分岐処理を1つの経路に固定することで、モデルを簡略化するようにしているが、これに限定されるものではなく、例えば図10に示すように、モデルの検査済部分のロジックを削除することでモデルを簡略化するようにしてもよい。このようにすれば、モデルを効率よく簡略化することができる。
また、上記各実施形態では、テストケースの生成後にソースコードの検査を連続して行う処理を例示したが、これに限定されるものではなく、別々に行うようにしてもよい。
さらに、上記各実施形態では、ソースコードの検査結果に基づき検査済の情報を自動的に書き込むようにしているが、これに限定されるものではなく、例えばモデルの作成時などに作成者が手動で書き込むようにしてもよい。
実施形態のパーソナルコンピュータの構成を示すブロック図である。 モデル及びテストケースの説明図である。 自動テストケース生成処理のフローチャートである。 属性情報として検査情報が埋め込まれたモデルの説明図である。 検査済の分岐処理を1つの経路に固定するモデルの簡略化の説明図である。 検査情報がデータベースに記憶されたモデルの説明図である。 検査済モデルのデータ自体がデータベースに記憶されたモデルの説明図である。 データベースに記憶された検査済モデルを用いて新規モデルを作成する説明図である。 検査済モデルのソースコードがデータベースに記憶されたモデルの説明図である。 モデルの検査済部分のロジックを削除するモデルの簡略化の説明図である。
符号の説明
1…パーソナルコンピュータ、11…ディスプレイ、12…入力装置、13…RAM、14…ROM、15…HDD、16…CPU

Claims (11)

  1. 処理内容を表すモデルに基づき生成されたソースコードを検査するためのテストケースを、前記モデルに基づいて生成するテストケース生成装置であって、
    前記テストケースを生成する対象のモデルにソースコードの検査が完了している検査済部分が存在するか否かを、検査済部分を識別可能な検査情報に基づき判定する判定手段と、
    前記判定手段により検査済部分が存在すると判定された場合には、その検査済部分を簡略化したモデルに基づいて前記テストケースを生成する生成手段と、
    を備えることを特徴とするテストケース生成装置。
  2. 前記判定手段は、前記モデルにその属性情報として埋め込まれた前記検査情報に基づき検査済部分が存在するか否かを判定すること
    を特徴とする請求項1に記載のテストケース生成装置。
  3. 前記生成手段により生成されたテストケースを用いて前記ソースコードの検査を行う検査手段と、
    前記検査手段による検査結果が合格の場合に、前記モデルの属性情報として検査済であることを示す検査情報を書き込む書込手段と、
    を備えることを特徴とする請求項2に記載のテストケース生成装置。
  4. 前記判定手段は、データベースに記憶された前記検査情報に基づき検査済部分が存在するか否かを判定すること
    を特徴とする請求項1に記載のテストケース生成装置。
  5. 前記データベースには、前記検査情報として前記モデルの検査済部分の識別情報が記憶されること
    を特徴とする請求項4に記載のテストケース生成装置。
  6. 前記データベースには、前記検査情報として前記モデルの検査済部分のデータ自体が記憶されること
    を特徴とする請求項4に記載のテストケース生成装置。
  7. 前記データベースには、前記検査情報として前記モデルの検査済部分に対応するソースコードが記憶されること
    を特徴とする請求項4に記載のテストケース生成装置。
  8. 前記生成手段により生成されたテストケースを用いて前記ソースコードの検査を行う検査手段と、
    前記検査手段による検査結果が合格の場合に、前記モデルについての前記検査情報を前記データベースに書き込む書込手段と、
    を備えることを特徴とする請求項4から請求項7までのいずれか1項に記載のテストケース生成装置。
  9. 前記生成手段は、前記モデルの検査済部分の分岐処理を1つの経路に固定することで前記モデルを簡略化すること
    を特徴とする請求項1から請求項8までのいずれか1項に記載のテストケース生成装置。
  10. 前記生成手段は、前記モデルの検査済部分を削除することで前記モデルを簡略化すること
    を特徴とする請求項1から請求項8までのいずれか1項に記載のテストケース生成装置。
  11. 処理内容を表すモデルに基づき生成されたソースコードを検査するためのテストケースを、前記モデルに基づいて生成するテストケース生成装置としてコンピュータを機能させるためのテストケース生成プログラムであって、
    前記テストケースを生成する対象のモデルにソースコードの検査が完了している検査済部分が存在するか否かを、検査済部分を識別可能な検査情報に基づき判定する判定手段と、
    前記判定手段により検査済部分が存在すると判定された場合には、その検査済部分を簡略化したモデルに基づいて前記テストケースを生成する生成手段
    としてコンピュータを機能させることを特徴とするテストケース生成プログラム。
JP2008009252A 2008-01-18 2008-01-18 テストケース生成装置及びテストケース生成プログラム Pending JP2009169828A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008009252A JP2009169828A (ja) 2008-01-18 2008-01-18 テストケース生成装置及びテストケース生成プログラム
US12/354,369 US20090187892A1 (en) 2008-01-18 2009-01-15 Apparatus and program for test case generation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008009252A JP2009169828A (ja) 2008-01-18 2008-01-18 テストケース生成装置及びテストケース生成プログラム

Publications (1)

Publication Number Publication Date
JP2009169828A true JP2009169828A (ja) 2009-07-30

Family

ID=40877467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008009252A Pending JP2009169828A (ja) 2008-01-18 2008-01-18 テストケース生成装置及びテストケース生成プログラム

Country Status (2)

Country Link
US (1) US20090187892A1 (ja)
JP (1) JP2009169828A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011070695A1 (ja) * 2009-12-07 2011-06-16 三菱電機株式会社 シーケンス変換装置
US8479165B1 (en) 2011-05-23 2013-07-02 International Business Machines Corporation System for testing operation of software
JP2014038397A (ja) * 2012-08-10 2014-02-27 Fuji Electric Co Ltd 図式プログラムのテストデータ生成装置およびその方法、並びにプログラム
JP2019185648A (ja) * 2018-04-17 2019-10-24 KLab株式会社 デバッグ装置、シミュレーション装置及びデバッグ用のプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8286140B2 (en) * 2008-10-10 2012-10-09 American Express Travel Related Services Company, Inc. System, computer program, and method for a static code coverage analyzer for computer programs
US8448146B2 (en) 2011-03-31 2013-05-21 Infosys Limited Generation of functional tests for re-hosted applications
CN103235759B (zh) * 2013-05-15 2018-03-09 百度在线网络技术(北京)有限公司 测试用例生成方法和装置
CN104572031A (zh) * 2013-10-09 2015-04-29 腾讯科技(深圳)有限公司 一种测试用例的生成方法及装置
US10558551B2 (en) * 2017-08-24 2020-02-11 Salesforce.Com, Inc. Runtime expansion of test cases

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006024006A (ja) * 2004-07-08 2006-01-26 Denso Corp テストケース生成装置、テストケース生成プログラム、モデルベース開発プログラム、ソースコード生成妥当性診断装置、ソースコード生成妥当性診断プログラム、およびモデルベース開発方法。

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011070695A1 (ja) * 2009-12-07 2011-06-16 三菱電機株式会社 シーケンス変換装置
JPWO2011070695A1 (ja) * 2009-12-07 2013-04-22 三菱電機株式会社 シーケンス変換装置
US8479165B1 (en) 2011-05-23 2013-07-02 International Business Machines Corporation System for testing operation of software
US8707268B2 (en) 2011-05-23 2014-04-22 Interntional Business Machines Corporation Testing operations of software
US8745588B2 (en) 2011-05-23 2014-06-03 International Business Machines Corporation Method for testing operation of software
JP2014038397A (ja) * 2012-08-10 2014-02-27 Fuji Electric Co Ltd 図式プログラムのテストデータ生成装置およびその方法、並びにプログラム
JP2019185648A (ja) * 2018-04-17 2019-10-24 KLab株式会社 デバッグ装置、シミュレーション装置及びデバッグ用のプログラム

Also Published As

Publication number Publication date
US20090187892A1 (en) 2009-07-23

Similar Documents

Publication Publication Date Title
JP2009169828A (ja) テストケース生成装置及びテストケース生成プログラム
JP2006024006A (ja) テストケース生成装置、テストケース生成プログラム、モデルベース開発プログラム、ソースコード生成妥当性診断装置、ソースコード生成妥当性診断プログラム、およびモデルベース開発方法。
US9274928B1 (en) Verification of computer-executable code generated from a model
US7681180B2 (en) Parameterized test driven development
KR100915762B1 (ko) 통합 개발 환경에서의 의사 번역
US7536678B2 (en) System and method for determining the possibility of adverse effect arising from a code change in a computer program
US11048487B1 (en) Syntactical change-resistant code generation
JP2007012003A (ja) フィーチャ指向ソフトウェア製品ラインの開発環境を提供するシステム
US7895575B2 (en) Apparatus and method for generating test driver
US20120226952A1 (en) Automatic identification of information useful for generation-based functional verification
JP2009294846A (ja) テストケース生成装置、テストケース生成プログラム、およびテストケース生成方法
JP5200675B2 (ja) シミュレーション装置,シミュレーション方法,シミュレーションプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP2009104252A (ja) デバッグ支援装置およびデバッグ支援方法
JP4702194B2 (ja) プログラム開発支援装置、プログラム開発支援方法およびプログラム開発支援プログラム
JP6878707B2 (ja) 試験装置、試験方法および試験プログラム
CN110765008A (zh) 一种数据处理方法及装置
US20180088914A1 (en) Method for supporting program creation and apparatus for supporting program creation
JP2016128941A (ja) 出力判定装置、出力判定方法、出力判定プログラム、及び、静的解析装置
JP2013161219A (ja) コード生成装置、及びコード生成プログラム
US20160085519A1 (en) Determination of signals for readback from fpga
JP2005301568A (ja) 表示情報記憶制御装置および表示情報記憶制御プログラム
JP2016126700A (ja) プログラム検証装置、プログラム検証方法及びプログラム検証プログラム
JP2010020680A (ja) 情報処理装置及びプログラム
JP7059827B2 (ja) ソースコード生成装置
JP2018147114A (ja) テストケース生成方法、計算機及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101109