JP6923569B2 - テストパターン生成装置 - Google Patents

テストパターン生成装置 Download PDF

Info

Publication number
JP6923569B2
JP6923569B2 JP2019008728A JP2019008728A JP6923569B2 JP 6923569 B2 JP6923569 B2 JP 6923569B2 JP 2019008728 A JP2019008728 A JP 2019008728A JP 2019008728 A JP2019008728 A JP 2019008728A JP 6923569 B2 JP6923569 B2 JP 6923569B2
Authority
JP
Japan
Prior art keywords
test
signal
input sequence
test input
state
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.)
Active
Application number
JP2019008728A
Other languages
English (en)
Other versions
JP2020119153A (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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2019008728A priority Critical patent/JP6923569B2/ja
Priority to DE102020100758.2A priority patent/DE102020100758A1/de
Priority to US16/743,010 priority patent/US20200233783A1/en
Priority to CN202010075781.6A priority patent/CN111459791A/zh
Publication of JP2020119153A publication Critical patent/JP2020119153A/ja
Application granted granted Critical
Publication of JP6923569B2 publication Critical patent/JP6923569B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3688Test management for test execution, e.g. scheduling of test suites
    • 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
    • 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/3696Methods or tools to render software testable

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)
  • Tests Of Electronic Circuits (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、テストパターン生成装置に関し、特にシーケンスプログラムのテストパターンを容易に作成できるテストパターン生成装置に関する。
プログラムのソースコード(例えば、C/C++等のプログラム言語で作成された汎用コンピュータプログラムのソースコード)を解析して、プログラムのテストパターンを自動生成する技術が従来技術として知られている。
テストパターン生成に関するものではないが、従来技術に関連の深い文献として特許文献1がある。特許文献1には、タイムシーケンス図に対応するシーケンスプログラムを自動生成することができる装置が開示されている。
特開2007−206798号公報
しかしながら、従来技術である汎用プログラム向けのテストパターン自動生成技術をシーケンスプログラムに適用すると、シーケンスプログラムでは時系列を考慮しなければならないため、テストパターン及びテスト入力シーケンスの数が膨大になるという問題がある。すなわち、シーケンスプログラムでは、ある時刻における入力信号の状態が複数ありうるほか、時刻毎に入力信号の状態が変化しうる。このような入力信号の経時変化を網羅したテストパターンを作成しようとすれば、パターン数が非常に多くなる。
図1を用いてこの問題について説明する。2つの信号A,Bを入力とするシーケンスプログラムを考える。A,Bはいずれも0,1のいずれかの値をとるものとする。A,Bがある時刻において取りうる値の組み合わせは、2*2=4パターンである。また、このシーケンスプログラムではn回のスキャンが行われるとすると、テストパターンの数は4パターンのn乗となる。このような膨大な数のテストパターンの生成は、多大な手間とコストを要する作業である。
本発明はこのような課題を解決するためのものであり、シーケンスプログラムのテストパターンを容易に作成できるテストパターン生成装置を提供することを目的とする。
本発明の一実施形態にかかる数値制御装置は、シーケンスプログラムのテストのためのテスト入力シーケンスを生成するテストパターン生成装置であって、前記シーケンスプログラムの入力信号それぞれについて、とりうる全ての状態と、状態変化と、を求める状態・状態変化解析部と、前記入力信号の前記状態変化それぞれについて、他の前記信号の前記状態又は前記状態変化と組み合わせたテストパターンを生成するテストパターン生成部と、前記テストパターンに基づいて前記テスト入力シーケンスを生成するテスト入力シーケンス生成部と、を有することを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記テスト入力シーケンスのうち、重複するものを削除するテスト入力シーケンス削減部をさらに有することを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記テスト入力シーケンス生成部は、生成した前記テスト入力シーケンスの信号変化のタイミングをずらすことで、新たな前記テスト入力シーケンスを生成することを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記テスト入力シーケンス生成部は、生成した前記テスト入力シーケンスを複数結合することで、新たな前記テスト入力シーケンスを生成することを特徴とする。
本発明により、シーケンスプログラムのテストパターンを容易に作成できるテストパターン生成装置を提供することができる。
従来のテストパターン生成方法の一例を示す図である。 テスト装置1のハードウェア構成図である。 テスト装置1の特徴的な機能構成を示すブロック図である。 状態・状態変化解析部112による入力信号の状態及び状態変化の解析処理を説明する図である。 テストパターン生成部113によるテストパターン生成処理を説明する図である。 テスト入力シーケンス生成部114によるテスト入力シーケンス生成処理を説明する図である。 テスト入力シーケンス生成部114によるテスト入力シーケンス生成処理を説明する図である。 テスト入力シーケンス生成部114によるテスト入力シーケンス生成処理を説明する図である。 テスト入力シーケンス削減部115によるテスト入力シーケンス削減処理を説明する図である。 テスト入力シーケンス削減部115によるテスト入力シーケンス削減処理を説明する図である。 テスト入力シーケンス生成部114によるテスト入力シーケンス生成処理を説明する図である。 テスト入力シーケンス生成部114によるテスト入力シーケンス生成処理を説明する図である。 状態・状態変化解析部112による入力信号の状態及び状態変化の解析処理を説明する図である。 テストパターン生成部113によるテストパターン生成処理を説明する図である。 テスト入力シーケンス生成部114によるテスト入力シーケンス生成処理を説明する図である。 テスト入力シーケンス生成部114によるテスト入力シーケンス生成処理を説明する図である。 テスト入力シーケンス生成部114によるテスト入力シーケンス生成処理を説明する図である。 テスト入力シーケンス削減部115によるテスト入力シーケンス削減処理を説明する図である。 テスト入力シーケンス生成部114によるテスト入力シーケンス生成処理を説明する図である。 テスト入力シーケンス生成部114によるテスト入力シーケンス生成処理を説明する図である。
図2は、本発明の実施の形態にかかるテストパターン生成装置110を含むテスト装置1の要部を示す概略的なハードウェア構成図である。テスト装置1は、典型的にはパーソナルコンピュータや数値制御装置等の情報処理装置である。テスト装置1は、CPU11、ROM12、RAM13、不揮発性メモリ14、バス10、インタフェース18を有する。テスト装置1には、入出力装置60が接続される。
CPU11は、テスト装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス10を介して読み出し、システム・プログラムに従ってテスト装置1全体を制御する。
ROM12は、例えばシステム・プログラムを予め格納している。RAM13は、一時的な計算データや表示データ、入出力装置60を介してオペレータが入力したデータやプログラム等を一時的に格納する。
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされており、テスト装置1の電源が遮断されても記憶状態を保持する。不揮発性メモリ14は、入出力装置60から入力されるデータやプログラム等を格納する。不揮発性メモリ14に記憶されたプログラムやデータは、実行時及び利用時にはRAM13に展開されても良い。
入出力装置60は、ディスプレイやキーボード等を含むデータ入出力装置である。入出力装置60は、インタフェース18を介してCPU11から受けた情報をディスプレイに表示する。入出力装置60は、キーボードから入力された指令やデータ等をインタフェース18を介してCPU11に渡す。
図3は、テスト装置1の特徴的な機能構成を示すブロック図である。テスト装置1は、テストパターン生成装置110、テスト処理装置120を含む。テストパターン生成装置110、テスト処理装置120は、典型的にはテスト装置1が備える論理的な処理部として実装されるが、それぞれ独立したハードウェアを有していても構わない。
テストパターン生成装置110は、入力信号保持部111、状態・状態変化解析部112、テストパターン生成部113、テスト入力シーケンス生成部114、テスト入力シーケンス削減部115を有する。
入力信号保持部111は、ラダー編集装置2で作成されたラダープログラムを読み込んで解析し、ラダープログラムへの1以上の入力信号を抽出する。なお、ラダープログラムはシーケンスプログラムの典型例であるが、本実施の形態はこれに限定されるものでなく、入力信号保持部111は任意のシーケンスプログラムを読み込むことが可能である。
状態・状態変化解析部112は、入力信号保持部111が抽出した入力信号それぞれについて、取りうる全ての状態(値)と、状態変化とを求める。ここで状態変化とは、時間経過に伴う入力信号の状態の変化の仕方を指す、本願発明の特徴的な概念である。
図4を用いて、入力信号の状態および状態変化について具体的に説明する。いまシーケンスプログラムに対する入力信号はA,Bの2つであり、いずれも0,1のいずれかの値を取りうるものとする。この場合、Aの取りうる状態は0又は1の2種類である。Bの取りうる状態は0又は1の2種類である。また、信号Aは、0である場合には1に変化しうるし、1である場合は0に変化しうる。これがAについて考えうる2つの状態変化である。信号Bも、0である場合には1に変化しうるし、1である場合は0に変化しうる。これがBについて考えうる2つの状態変化である。
テストパターン生成部113は、入力信号保持部111が抽出した入力信号のうち1つを選択し、選択した信号のある状態変化について、他の信号の状態又は状態変化との組み合わせ(テストパターン)を生成する。
図5を用いて具体的に説明する。テストパターン生成部113は、いま信号Aの状態変化「0→1」を選択した。テストパターン生成部113は、これに他の信号Bの状態又は状態変化を組み合わせる。すなわち、信号Aの状態変化「0→1」と、信号Bのとりうる状態「0」及び「1」、並びに信号Bが取りうる状態変化「0→1」及び「1→0」と、の組み合わせを網羅的に生成する。ここでは、図5に示す4通りの組み合わせが生成される。
同様にして、テストパターン生成部113は、信号Aの状態変化「1→0」、信号Bの状態変化「0→1」、信号Bの状態変化「1→0」についても、他の信号の状態又は状態変化との組み合わせ(テストパターン)を生成していく。
テスト入力シーケンス生成部114は、テストパターン生成部113が生成した組み合わせ(テストパターン)を基に、テスト入力シーケンスを生成する。
図6を用いて具体的に説明する。テスト入力シーケンス生成部114は、入力信号保持部111が抽出した入力信号のうち1つを選択し、選択した信号のある状態変化と、他の信号の状態又は状態変化との組み合わせ(テストパターン)に対応するテスト入力シーケンスを、それぞれ生成する。例えば、まず信号Aの状態変化「0→1」に着目すると、信号Aの状態変化「0→1」と信号Bの状態「0」との組み合わせに対しては、信号Aの状態が0→1に変化するあいだ信号Bが0に保たれるテスト入力シーケンスを生成する。信号Aの状態変化「0→1」と信号Bの状態「1」との組み合わせに対しては、信号Aの状態が0→1に変化するあいだ信号Bが1に保たれるテスト入力シーケンスを生成する。信号Aの状態変化「0→1」と信号Bの状態変化「0→1」との組み合わせに対しては、信号Aの状態が0→1に変化するとき信号Bが同時に0→1に変化するテスト入力シーケンスを生成する。信号Aの状態変化「0→1」と信号Bの状態変化「1→0」との組み合わせに対しては、信号Aの状態が0→1に変化するとき信号Bが同時に1→0に変化するテスト入力シーケンスを生成する。
同様にして、テスト入力シーケンス生成部114は、選択した信号の他の状態変化について、テスト入力シーケンスの生成処理を繰り返す。例えば図7に示すように、信号Aの状態変化「1→0」について、他の信号の状態又は状態変化との組み合わせ(テストパターン)に対応するテスト入力シーケンスを生成していく。テスト入力シーケンス生成部114は、他の信号の各状態変化についても、テスト入力シーケンスの生成処理を繰り返す。例えば図8に示すように、信号Bの状態変化「0→1」、信号Bの状態変化「1→0」についても、他の信号の状態又は状態変化との組み合わせ(テストパターン)に対応するテスト入力シーケンスを生成していく。
テスト入力シーケンス削減部115は、テスト入力シーケンス生成部114が生成した全てのテスト入力シーケンスの中から同一のパターンを発見し、1つにまとめる。例えば図9の例では、同一のテスト入力シーケンスのペアを4種類、8個発見できる。テスト入力シーケンス削減部115は、これらのペアの一方のテスト入力シーケンスを削除し、他方のみを残しておく。
図10を用いて具体的に説明する。テスト入力シーケンス削減部115は、テスト入力シーケンス生成部114が生成した全てのテスト入力シーケンスをビット列に変換する。すなわち、テスト入力シーケンスの各入力信号を所定数の区間に分割し、各区間における入力信号の値を数値列として出力する。テスト入力シーケンス削減部115は、この数値列同士を比較することにより、一致するテスト入力シーケンスを発見することができる。
テスト処理装置120は、テスト実行部121、テスト結果表示部122を有する。
テスト実行部121は、テストパターン生成装置110が生成したテスト入力シーケンスを用いて、シーケンスプログラムのテストを実行する。テストの実行方法については公知技術であるため、本稿では詳細な説明を省略する。
テスト結果表示部122は、テスト実行部121によるテスト結果をディスプレイ等に表示する。
数値制御装置(CNC)3のラダー実行部301は、ラダー編集装置2で作成されたラダープログラムを読み込んで解析し、ラダープログラムを実行する。
本実施の形態によれば、テストパターン生成装置110は、信号の状態変化に注目して、テスト入力シーケンスを効率よく生成することができる。例えば、従来の手法では、信号A,Bがそれぞれ0,1のいずれかの値をとる場合のテストパターンの数は4パターンのn乗である。スキャン数が5であれば4の5乗=1024通りのテストパターンが必要となり、膨大な手間を要していた。ところが、本実施の形態では、状態変化に着目することにより、図9に示す12パターンだけで網羅的なテストを行うことが可能である。これにより、シーケンスプログラムのテストにかかる工数を大幅に抑制することが可能となる。
その他の実施形態(1)
テスト入力シーケンス生成部114は、上述の実施の形態において生成したテスト入力シーケンスを基に、信号変化のタイミングをずらすことで、より豊富なバリエーションを有するテスト入力シーケンスを生成することができる。
図11を用いて具体的に説明する。図11の左図は、上述の実施の形態に示す手法によりテスト入力シーケンス生成部114が生成したテスト入力シーケンスの1つを示している。本実施の形態では、信号Aが0→1に変化するタイミング、又は信号Bが0→1に変化するタイミングを変化することにより、テスト入力シーケンスを追加生成する。右上図は、信号Bが0→1に変化する時刻を遅らせた例である。右下図は、信号Aが0→1に変化する時刻を遅らせた例である。
テスト入力シーケンス削減部115は、テスト入力シーケンス生成部114が追加生成したテスト入力シーケンスについても、同一のパターンを発見し、1つにまとめることができる。
その他の実施形態(2)
テスト入力シーケンス生成部114は、生成したテスト入力シーケンスのうちのm個を結合することで、テスト入力シーケンスを追加生成することができる。ここで、mは2以上N以下の任意の整数である。ただし、Nはテスト入力シーケンス生成部114が生成したテスト入力シーケンスの数とする。
図12を用いて具体的に説明する。図12の上図は、上述の実施の形態に示す手法によりテスト入力シーケンス生成部114が生成した3つのテスト入力シーケンスを示している(m=3)。テスト入力シーケンス生成部114は、これらのテスト入力シーケンスを時間的に直列に結合することで、1つの新たなテスト入力シーケンスを生成することが可能である。また、これらのテスト入力シーケンスの結合順序を変更することにより、さらなるテスト入力シーケンスを追加生成することが可能である。
その他の実施形態(3)
シーケンスプログラムに対する入力信号は3以上であっても良い。一例として、入力信号の数が3である場合のテスト装置1の動作について、図13乃至図20を用いて説明する。
状態・状態変化解析部112は、入力信号保持部111が抽出した入力信号それぞれについて、取りうる全ての状態(値)と、状態変化とを求める。
図13を用いて、入力信号の状態および状態変化について具体的に説明する。いまシーケンスプログラムに対する入力信号はA,B,Cの3つであり、いずれも0,1のいずれかの値を取りうるものとする。この場合、Aの取りうる状態は0又は1の2種類、Bの取りうる状態は0又は1の2種類、Cの取りうる状態は0又は1の2種類である。また、信号Aは、0である場合には1に変化しうるし、1である場合は0に変化しうる。これがAについて考えうる2つの状態変化である。信号Bも、0である場合には1に変化しうるし、1である場合は0に変化しうる。これがBについて考えうる2つの状態変化である。信号Cも、0である場合には1に変化しうるし、1である場合は0に変化しうる。これがCについて考えうる2つの状態変化である。
テストパターン生成部113は、入力信号保持部111が抽出した入力信号のうち1つを選択し、選択した信号のある状態変化について、他の信号の状態又は状態変化との組み合わせ(テストパターン)を生成する。
図14を用いて具体的に説明する。テストパターン生成部113は、いま信号Aの状態変化「0→1」を選択した。テストパターン生成部113は、これに他の信号B及びCの状態又は状態変化を組み合わせる。すなわち、信号Aの状態変化「0→1」と、信号Bのとりうる状態「0」及び「1」、並びに信号Bが取りうる状態変化「0→1」及び「1→0」と、の組み合わせを網羅的に生成する。さらに、信号Bのとりうる状態及び状態変化と、信号Cのとりうる状態「0」及び「1」、並びに信号Cが取りうる状態変化「0→1」及び「1→0」と、の組み合わせを網羅的に生成する。この結果、図14に示す16通りの組み合わせが生成される。
同様にして、テストパターン生成部113は、信号Aの状態変化「1→0」、信号Bの状態変化「0→1」、信号Bの状態変化「1→0」、信号Cの状態変化「0→1」、信号Cの状態変化「1→0」についても、他の信号の状態又は状態変化との組み合わせ(テストパターン)を生成していく。
テスト入力シーケンス生成部114は、テストパターン生成部113が生成した組み合わせ(テストパターン)を基に、テスト入力シーケンスを生成する。
図15を用いて具体的に説明する。テスト入力シーケンス生成部114は、入力信号保持部111が抽出した入力信号のうち1つを選択し、選択した信号のある状態変化と、他の信号の状態又は状態変化との組み合わせ(テストパターン)に対応するテスト入力シーケンスを、それぞれ生成する。一例として、図15で太線の矢印で示す組み合わせに対応するテスト入力シーケンスの生成処理を示す。テスト入力シーケンス生成部114は、まず信号Aの状態変化「0→1」に着目し、信号Aの状態変化「0→1」と信号Bの状態「0」と信号Cの状態「0」との組み合わせに対しては、信号Aの状態が0→1に変化するあいだ信号B及び信号Cが0に保たれるテスト入力シーケンスを生成する。信号Aの状態変化「0→1」と信号Bの状態「0」と信号Cの状態「1」との組み合わせに対しては、信号Aの状態が0→1に変化するあいだ信号Bが0に、信号Cが1に保たれるテスト入力シーケンスを生成する。信号Aの状態変化「0→1」と信号Bの状態「0」と信号Cの状態変化「0→1」との組み合わせに対しては、信号Aの状態が0→1に変化するとき信号Bが0に保たれ、信号Cが同時に0→1に変化するテスト入力シーケンスを生成する。信号Aの状態変化「0→1」と信号Bの状態「0」と信号Cの状態変化「1→0」との組み合わせに対しては、信号Aの状態が0→1に変化するとき信号Bが0に保たれ、信号Cが同時に1→0に変化するテスト入力シーケンスを生成する。
同様にして、テスト入力シーケンス生成部114は、信号Bの状態が「1」及び状態変化が「0→1」「1→0」である場合に対応するテスト入力シーケンスの生成処理を繰り返す。すなわち、図15に示す16通りの組み合わせ全てについて、テスト入力シーケンスを生成する。
テスト入力シーケンス生成部114は、選択した信号の他の状態変化について、テスト入力シーケンスの生成処理を繰り返す。例えば図16に示すように、選択した信号Aの状態変化「1→0」について、他の信号の状態又は状態変化との組み合わせ(テストパターン)に対応する16通りのテスト入力シーケンスを生成していく。
テスト入力シーケンス生成部114は、他の信号の各状態変化についても、テスト入力シーケンスの生成処理を繰り返す。例えば図17に示すように、信号Bの状態変化「0→1」、信号Bの状態変化「1→0」について、信号A及びCの状態又は状態変化との組み合わせ(テストパターン)に対応する32通りのテスト入力シーケンスを生成していく。同様に、信号Cの状態変化「0→1」、信号Cの状態変化「1→0」についても、信号A及びBの状態又は状態変化との組み合わせ(テストパターン)に対応する32通りのテスト入力シーケンスを生成していく。
テスト入力シーケンス削減部115は、テスト入力シーケンス生成部114が生成した全てのテスト入力シーケンスの中から同一のパターンを発見し、1つにまとめる。図18に示すように、テスト入力シーケンス削減部115は、これらの同一のパターンのうち1つのテスト入力シーケンスのみを残し、その他を削除する。
一例として、図13に示した条件で生成されたテスト入力シーケンスについて、同一のパターンを1つにまとめる処理を考える。この場合、生成されるテストパターンは96通りである。そのうち、同一のテストパターンが生成されるケースは以下の通りである。
・3つの同一なテストパターンが生成されるケース:8通り
3つの信号が同時に変化するパターンでは、図18上図に示すように、3つの同一なテストパターンが生成される。このケースでは、それぞれ2つのパターンを削減可能である。合計で2×8=16通りのパターンが削減されることになる。
・2つの同一なテストパターンが生成されるケース:24通り
2つの信号が同時に変化するパターンでは、図18下図に示すように、2つの同一なテストパターンが生成される。このケースでは、それぞれ1つのパターンを削減可能である。合計で24×1=24通りのパターンが削減されることになる。
したがって、削減後のパターン数は96−16−24=56通りとなる。
具体的には、図10に示したように、テスト入力シーケンス削減部115は、テスト入力シーケンス生成部114が生成した全てのテスト入力シーケンスをビット列に変換する。すなわち、テスト入力シーケンスの各入力信号を所定数の区間に分割し、各区間における入力信号の値を数値列として出力する。テスト入力シーケンス削減部115は、この数値列同士を比較することにより、一致するテスト入力シーケンスを発見することができる。
なお、本実施の形態においても、テスト入力シーケンス生成部114は、本実施の形態にかかる手法により生成したテスト入力シーケンスを基に、信号変化のタイミングをずらすことで、より豊富なバリエーションを有するテスト入力シーケンスを生成することができる。
図19を用いて具体的に説明する。図19の左図は、テスト入力シーケンス生成部114が生成したテスト入力シーケンスの1つを示している。テスト入力シーケンス生成部114は、信号Aが0→1に変化するタイミング、信号Bが0→1に変化するタイミング、及び信号Cが0→1に変化するタイミングを変化することにより、テスト入力シーケンスを追加生成することができる。右上図は、信号Bが0→1に変化する時刻を遅らせた例である。右下図は、信号Aが0→1に変化する時刻を遅らせ、信号Bが0→1に変化する時刻を早め、信号Cが0→1に変化する時刻を遅らせた例である。
テスト入力シーケンス削減部115は、テスト入力シーケンス生成部114が追加生成したテスト入力シーケンスについても、同一のパターンを発見し、1つにまとめることができる。
また、本実施の形態においても、テスト入力シーケンス生成部114は、生成したテスト入力シーケンスのうちのm個を結合することで、テスト入力シーケンスを追加生成することができる。ここで、mは2以上N以下の任意の整数である。ただし、Nはテスト入力シーケンス生成部114が生成したテスト入力シーケンスの数とする。
図20を用いて具体的に説明する。図20の上図は、テスト入力シーケンス生成部114が生成した2つのテスト入力シーケンスを示している(m=2)。テスト入力シーケンス生成部114は、これらのテスト入力シーケンスを時間的に直列に結合することで、1つの新たなテスト入力シーケンスを生成することが可能である。また、これらのテスト入力シーケンスの結合順序を変更することにより、さらなるテスト入力シーケンスを追加生成することが可能である。
なお、本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を損なわない範囲において適宜変更することが可能である。
1 テスト装置
10 バス
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
18 インタフェース
60 入出力装置
110 テストパターン生成装置
111 入力信号保持部
112 状態・状態変化解析部
113 テストパターン生成部
114 テスト入力シーケンス生成部
115 テスト入力シーケンス削減部
120 テスト処理装置
121 テスト実行部
122 テスト結果表示部
2 ラダー編集装置
3 数値制御装置
301 ラダー実行部

Claims (4)

  1. シーケンスプログラムのテストのためのテスト入力シーケンスを生成するテストパターン生成装置であって、
    前記シーケンスプログラムの入力信号それぞれについて、とりうる全ての状態と、状態変化と、を求める状態・状態変化解析部と、
    前記入力信号の前記状態変化それぞれについて、他の前記入力信号の前記状態又は前記状態変化と組み合わせたテストパターンを生成するテストパターン生成部と、
    前記テストパターンに基づいて前記テスト入力シーケンスを生成するテスト入力シーケンス生成部と、を有することを特徴とする
    テストパターン生成装置。
  2. 前記テスト入力シーケンスのうち、重複するものを削除するテスト入力シーケンス削減部をさらに有することを特徴とする
    請求項1記載のテストパターン生成装置。
  3. 前記テスト入力シーケンス生成部は、生成した前記テスト入力シーケンスの信号変化のタイミングをずらすことで、新たな前記テスト入力シーケンスを生成することを特徴とする
    請求項1記載のテストパターン生成装置。
  4. 前記テスト入力シーケンス生成部は、生成した前記テスト入力シーケンスを複数結合することで、新たな前記テスト入力シーケンスを生成することを特徴とする
    請求項1記載のテストパターン生成装置。
JP2019008728A 2019-01-22 2019-01-22 テストパターン生成装置 Active JP6923569B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019008728A JP6923569B2 (ja) 2019-01-22 2019-01-22 テストパターン生成装置
DE102020100758.2A DE102020100758A1 (de) 2019-01-22 2020-01-15 Prüfmustererzeugungsvorrichtung
US16/743,010 US20200233783A1 (en) 2019-01-22 2020-01-15 Test pattern generation device
CN202010075781.6A CN111459791A (zh) 2019-01-22 2020-01-22 测试模式生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019008728A JP6923569B2 (ja) 2019-01-22 2019-01-22 テストパターン生成装置

Publications (2)

Publication Number Publication Date
JP2020119153A JP2020119153A (ja) 2020-08-06
JP6923569B2 true JP6923569B2 (ja) 2021-08-18

Family

ID=71403056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019008728A Active JP6923569B2 (ja) 2019-01-22 2019-01-22 テストパターン生成装置

Country Status (4)

Country Link
US (1) US20200233783A1 (ja)
JP (1) JP6923569B2 (ja)
CN (1) CN111459791A (ja)
DE (1) DE102020100758A1 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03286303A (ja) * 1990-04-02 1991-12-17 Hitachi Ltd シーケンス制御試験方式
JPH0764629A (ja) * 1993-06-30 1995-03-10 Mitsubishi Electric Corp 電子応用機器の試験パターンティーチング方法
JP2004046509A (ja) * 2002-07-11 2004-02-12 Mitsubishi Electric Corp プログラマブルコントローラのエミュレーション装置
JP3666507B2 (ja) * 2003-07-25 2005-06-29 オムロン株式会社 シミュレーション支援ツールおよびラダープログラムの検証システムならびにテスト入力ラダープログラム生成方法ならびにラダープログラムの検証方法
JP2015149004A (ja) * 2014-02-07 2015-08-20 富士電機株式会社 ラダー図試験データ作成装置
CN109643095A (zh) * 2017-06-23 2019-04-16 三菱电机株式会社 程序验证系统、控制装置及程序验证方法

Also Published As

Publication number Publication date
DE102020100758A1 (de) 2020-07-23
CN111459791A (zh) 2020-07-28
US20200233783A1 (en) 2020-07-23
JP2020119153A (ja) 2020-08-06

Similar Documents

Publication Publication Date Title
JP2006024006A (ja) テストケース生成装置、テストケース生成プログラム、モデルベース開発プログラム、ソースコード生成妥当性診断装置、ソースコード生成妥当性診断プログラム、およびモデルベース開発方法。
JP6904043B2 (ja) 未知のプログラムバイナリのための入力発見
JP2009294846A (ja) テストケース生成装置、テストケース生成プログラム、およびテストケース生成方法
JP6923569B2 (ja) テストパターン生成装置
Glazer Using python and Eppy for a large national simulation study
JP7162516B2 (ja) 監視画面生成装置および監視画面生成方法
WO2020194455A1 (ja) テストケース生成装置、テストケース生成方法、およびテストケース生成プログラム
JP2016128941A (ja) 出力判定装置、出力判定方法、出力判定プログラム、及び、静的解析装置
JP4952317B2 (ja) 退避データ判別方法、退避データ判別プログラムおよび退避データ判別装置
JP7059827B2 (ja) ソースコード生成装置
WO2020184195A1 (ja) ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム
KR102066022B1 (ko) 실행 코드 상의 함수 시그니처 생성 장치 및 방법
JPH04273533A (ja) 翻訳プログラムの手続きインライン展開方式
JP6948997B2 (ja) 制御ロジック図解析装置および制御ロジック図解析方法
CN108133002A (zh) 工控软件数据库生成系统
JP2006039614A (ja) タイミング制約情報の作成方法及び作成システム
JP7298229B2 (ja) ログ分析装置、ログ分析方法及びコンピュータプログラム
JP3648710B2 (ja) プログラム解析システム
JP2581806B2 (ja) パストレースファイルの修正方法
Boushaba et al. Process discovery: Automated approach for block discovery
JP2845173B2 (ja) 論理照合方式
JP2016213680A (ja) 波形解析支援方法、波形解析支援プログラム、及び波形解析支援装置
JPWO2021152689A5 (ja) イベント分析支援装置、イベント分析支援方法、及びプログラム
KR20220169240A (ko) 스마트공장 제조 데이터 분석을 위한 알고리즘 선정 및 입력 항목 선정 장치
JP6147094B2 (ja) 情報処理装置及び情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200609

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: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210729

R150 Certificate of patent or registration of utility model

Ref document number: 6923569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150