JP2014197276A - テストデータ表示装置 - Google Patents

テストデータ表示装置 Download PDF

Info

Publication number
JP2014197276A
JP2014197276A JP2013072054A JP2013072054A JP2014197276A JP 2014197276 A JP2014197276 A JP 2014197276A JP 2013072054 A JP2013072054 A JP 2013072054A JP 2013072054 A JP2013072054 A JP 2013072054A JP 2014197276 A JP2014197276 A JP 2014197276A
Authority
JP
Japan
Prior art keywords
node
target
test data
nodes
child node
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.)
Granted
Application number
JP2013072054A
Other languages
English (en)
Other versions
JP6037310B2 (ja
Inventor
崇師 北村
Takashi Kitamura
崇師 北村
ティ ビッチ ゴック ドウ
Bich Ngoc Do Thi
ティ ビッチ ゴック ドウ
大崎 人士
Hitoshi Osaki
人士 大崎
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
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 National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2013072054A priority Critical patent/JP6037310B2/ja
Priority to PCT/JP2014/000778 priority patent/WO2014155941A1/ja
Publication of JP2014197276A publication Critical patent/JP2014197276A/ja
Application granted granted Critical
Publication of JP6037310B2 publication Critical patent/JP6037310B2/ja
Expired - Fee Related 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/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

【課題】テストデータを画面上に表示するテストデータ表示ツールを提供する。【手段】テストデータ生成手段B04は、パラメータデータ生成手段B02からパラメータデータの入力を受けてテストデータを生成し、テストデータ表示手段B06は、その結果を論理構造と同一画面上に表示する。論理構造変更手段B08は、ユーザからのノードを展開し、または折り畳むといった操作入力を受け、論理構造データの変更を行う。パラメータデータ生成手段B02は、ユーザからの操作入力を受けて、変更された論理構造に基づいて、再び、パラメータデータを生成し、テストデータ生成手段B04が出力したテストデータが、テストデータ表示手段B06によって画面上に表示される。【選択図】図1

Description

この発明は、プログラムなどが正常に動作するかどうかをテストするためのテストデータを生成して、元となった論理構造と共に画面上に表示する装置に関するものである。
ソフトウエアの動作をテストするために、入力される可能性のあるデータの組合せを作成し、これらテストデータを入力して所望の動作となるかどうかを判断することが行われている。
従来、オールペア法(ペアワイズ法)等によって、入力される可能性のあるデータの組合せを生成し、テストデータが作成されていた。オールペア法等を用いたテストデータ生成のためのツールとして、マイクロソフト社のPICT(商標)などが使用されている。
たとえば、PICTにおいては、図31に示すように、パラメータ、バリュー、制約条件を定義することにより、バリューの組み合わせによるテストデータを生成することができる。
ここで、a、b・・・mはパラメータであり、a1、a2・・・anは、パラメータaのバリューである。1行目のa:a1、a2・・・anによって、パラメータaは、バリューa1、a2・・・anのいずれかをとることが示されている。2行目以下も同様である。
また、If m=m1 then a=anは、パラメータmがm1の場合には、aはanとなることを条件として示している。さらに、If b=b2 then NOT a=a2およびIf a=a2 then NOT b=b2は、パラメータbがb2であることと、パラメータaがa2であることが両立しないことを条件として示している。
このような形式のデータにて、PICTプログラムにパラメータを与えると、テストデータが生成されて出力される。
以上のようにオールペア法などを用いたテストデータ生成ツールにおいては、図31に示すような論理構造のデータを与えなければならない。このため、このような論理構造にて定義されていない事象については、ツールを使用することができなかった。
図32に、ある事象の論理構造をツリー形式にて示す。このツリー構造では、PICTのようなツールに入力することはできない。
そこで、この発明においては、階層化された論理構造で表現されるテストモデルについて、テストデータ生成ツールを使用することが可能となるパラメータデータを生成するとともに、これに基づいてテストデータ生成ツールによって生成されたテストデータの数などを調整することが可能な表示を実現することを目的とする。
(1)(2)この発明のテストデータ表示装置は、
テストデータを参照するためのユーザインターフェースを表示するために、
コンピュータを、
対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを、第1の表示領域に論理構造として表示する手段、
前記第1の表示領域が表示される同一画面上の第2の表示領域に、前記第1の表示領域の論理構造に対応するテストデータを表示する手段、
として機能させることを特徴とする。
これにより、第1の表示領域に表示される論理構造と、同一画面上の第2の表示領域に表示されるテストデータを比較参照することができる。
(3)この発明のテストデータ表示装置は、
第1の表示領域における論理構造の変更操作に基づいて、第2の表示領域におけるテストケースを再計算させること、を特徴とする。
これにより、第1の表示領域に表示される論理構造を直感的に操作し、テストケースの量などを制御することができる。
(4)この発明のテストデータ表示装置は、
第1の表示領域における入力操作に基づいて、第1の表示領域におけるノードを展開し、または折り畳んで表示することを特徴とする。
これにより、第1の表示領域に表示される論理構造と、同一画面上の第2の表示領域に表示されるテストデータを比較参照して、論理構造を変更することができる。
(5)この発明のテストデータ表示装置は、
ノードにカーソルを移動させた際に、各ノードの情報が表示されること、を特徴とする。
これにより、各ノードの情報を容易に把握することができる。
(6)この発明のテストデータ表示装置は、
テストケースにカーソルを移動させた際に、当該テストケースのバリューが全て表示されること、を特徴とする。
これにより、テストケースのバリューを容易に把握することができる。
(7)この発明のテストデータ表示装置は、
前記第2の表示領域において、パラメータのバリューが列項目に表示され、セル内に各バリュー選択の有無を表すマークを示したこと、特徴とする。
これにより、羅列されるテストケースのバリューの分布・バラツキを視覚的に把握することができる。
(8)この発明のテストデータ表示装置は、
前記第2の表示領域において、パラメータのバリューがセル内に表示されること、特徴とする。
これにより、テストケースを表示する際に、行方向の表示幅を狭くすることができる。
(9)この発明のテストデータ表示装置は、
各テストデータを構成するパラメータのバリューの中に、異常値が含まれていること、を特徴とする装置またはプログラム。
これにより、実際にテストした場合に異常値に対応した正しい動作が行われるか否かを容易に確認することができる。
(i)(ii)この発明に係るテストデータ生成装置は、対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを入力するための入力手段と、下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、入力された特徴データの階層構造を平坦化する平坦化手段と、前記平坦化された特徴データに基づいて、特徴の組合せによるテストデータを生成するテストデータ生成手段とを備えたテストデータ生成装置であって、
(a)前記アンド・アンド階層平坦化手段は、(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える排他条件付替手段と、(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象ノードに付け替える要求条件付替手段と、(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴としている。
したがって、テストデータ生成手段に与える特徴データの構造を平坦化することができ、テストデータ生成手段における処理が容易となる。
(iii)(iv)この発明に係る特徴データ処理装置は、対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを入力するための入力手段と、下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、入力された特徴データの階層構造を平坦化する平坦化手段とを備えた特徴データ処理装置であって、
(a)前記アンド・アンド階層平坦化手段は、(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、
(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替える排他条件付替手段と、(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える要求条件付替手段と、(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴としている。
したがって、テストデータ生成手段に与える特徴データの構造を平坦化することができ、テストデータ生成手段における処理が容易となる。
(v)この発明に係るテストデータ生成サーバ装置は、対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを端末装置から受け取るための受信手段と、下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、受信した特徴データの階層構造を平坦化する平坦化手段と、前記平坦化された特徴データに基づいて、特徴の組合せによるテストデータを生成するテストデータ生成手段と、生成したテストデータを前記端末装置に送信する送信手段とを備えたテストデータ生成サーバ装置であって、
(a)前記アンド・アンド階層平坦化手段は、(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替える排他条件付替手段と、(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える要求条件付替手段と、(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴としている。
したがって、テストデータ生成手段に与える特徴データの構造を平坦化することができ、テストデータ生成手段における処理が容易となる。
(vi)この発明に係る特徴データ処理サーバ装置は、対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを端末装置から受け取るための受信手段と、下記(a)アンド・アンド階層平坦化手段と、(b)オア・オア階層平坦化手段と、(c)持上平坦化手段の少なくとも一つを備え、入力された特徴データの階層構造を平坦化する平坦化手段と、前記平坦化された特徴データを端末装置に送信する送信手段と、を備えた特徴データ処理サーバ装置であって、
(a)前記アンド・アンド階層平坦化手段は、(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだすアンド・アンド関係抽出手段と、(a2)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替える要求・排他条件付替手段と、(a3)前記アンド・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加する対象子ノード削除手段とを備えており、
(b)前記オア・オア階層平坦化手段は、(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだすオア・オア関係抽出手段と、(b2)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替える排他条件付替手段と、(b3)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替える要求条件付替手段と、(b4)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する排他条件設定手段と、(b5)前記オア・オア関係抽出手段によって見いだされた箇所において、前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加する対象子ノード削除手段とを備えており、
(c)前記持上平坦化手段は、(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだすアンド・オア・アンド関係抽出手段と、(c2)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定する要求条件設定手段と、(c3)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定するノード追加手段と、(c4)前記アンド・オア・アンド関係抽出手段によって見いだされた箇所において、前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加する対象子ノード移動手段とを備えていることを特徴としている。
したがって、テストデータ生成手段に与える特徴データの構造を平坦化することができ、テストデータ生成手段における処理が容易となる。
(vii)この発明に係るテストデータ生成装置において、平坦化手段は、(a)前記アンド・アンド階層平坦化手段と、(b)前記オア・オア階層平坦化手段と、(c)前記持上平坦化手段とを備え、前記アンド・アンド階層平坦化手段および前記オア・オア階層平坦化手段によって処理された特徴データを、前記持上平坦化手段が処理するよう構成されていることを特徴としている。
したがって、アンド関係とオア関係によって結合された3層構造の特徴データとして平坦化することができる。
(viii)この発明に係るテストデータ生成装置において、要求条件は、要求元ノードが成立するときには、要求先ノードも成立することを定めるものであることを特徴としている。
(ix)この発明に係るテストデータ生成装置において、排他条件は、一方のノードが成立すると、他方のノードが成立しないことを定めるものであることを特徴としている。
(x)この発明に係るテストデータ生成装置は、アンド関係は、全てのノードが成立しなければならないことを示すものであることを特徴としている。
(xi)この発明に係るテストデータ生成装置は、オア関係は、いずれか一つのノードのみが成立することを示すものであることを特徴としている。
(xii)この発明に係る特徴データ処理方法は、コンピュータによって特徴データを処理する方法であって、前記コンピュータが、対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを入力し、
前記コンピュータが、下記(a)アンド・アンド階層平坦化処理と、(b)オア・オア階層平坦化処理と、(c)持上平坦化処理の少なくとも一つの処理を実行して、入力された特徴データの階層構造を平坦化する特徴データ処理方法であって、
(a)前記アンド・アンド階層平坦化処理は、(a1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがアンド関係を定めている箇所を見いだし、(a2)前記対象子ノードに要求条件または排他条件が付されていれば、当該要求条件または排他条件を、前記対象ノードに付け替え、(a3)前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてアンド関係に追加し、
(b)前記オア・オア階層平坦化処理は、(b1)前記特徴データにおいて、対象ノードがオア関係を定めており、対象ノードの子ノードを対象子ノードとして、当該対象子ノードがオア関係を定めている箇所を見いだし、(b2)前記対象子ノードに排他条件が付されていれば、当該排他条件を、前記対象ノードに付け替え、(b3)前記対象子ノードに要求条件が付されていれば、当該要求条件を、前記対象子ノードの子ノードである対象孫ノードに付け替え、(b4)前記対象子ノードに、当該対象子ノードが要求先である要求条件が付されていれば、前記対象ノードにおける前記対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定し、(b5)前記対象子ノードを削除し、当該対象子ノードの子ノードである対象孫ノードを、前記対象ノードの子ノードとしてオア関係に追加し、
(c)前記持上平坦化処理は、(c1)前記特徴データにおいて、対象ノードがアンド関係を定めており、対象ノードの子ノードである対象子ノードがオア関係を定めており、対象ノードの親ノードの親ノードである対象親親ノードがアンド関係を定めている箇所を見いだし、(c2)前記対象子ノードの子ノードである対象孫ノードから、前記対象ノードに対して要求条件を設定し、(c3)前記対象子ノードの子ノードとして、「前記対象孫ノードのいずれでもない」という特徴を示すノードを追加し、前記対象ノードと当該追加されたノードとの間に、排他条件を設定し、(c4)前記対象子ノードを、前記対象親親ノードの子ノードとしてアンド関係に追加することを特徴としている。
したがって、テストデータ生成処理に与える特徴データの構造を平坦化することができ、テストデータ生成における処理が可能となる。
この発明において、「入力手段」は、ステップS1がこれに対応する。
「アンド・アンド階層平坦化手段」は、ステップS2がこれに対応する。
「オア・オア階層平坦化手段」は、ステップS3がこれに対応する。
「持上平坦化手段」は、ステップS4がこれに対応する。
「テストデータ生成手段」は、ステップS5がこれに対応する。
「テストデータ」には、テストデータそのものだけでなく、テストデータを生成するための特徴の組合せを示すデータも含む。
「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
この発明の一実施形態によるテストデータ表示装置100の機能ブロック図である。 テストデータ表示装置100のハードウエア構成である。 テストデータ表示DB43のデータ構造を示す図である。 テストデータの表示例を示す図である。 テストデータの表示例を示す図である。 テストデータの表示例を示す図である。 テストデータの表示例を示す図である。 テストデータの表示例を示す図である。 テストデータの表示例を示す図である。 テストデータの表示例を示す図である。 テストデータの表示例を示す図である。 この発明の一実施形態によるテストデータ生成装置50の機能ブロック図である。 テストデータ生成装置のハードウエア構成である。 テストデータ生成プログラム44のフローチャートである。 AND−AND階層の平坦化処理のフローチャートである。 AND−AND階層の平坦化処理のフローチャートである。 XOR−XOR階層の平坦化処理のフローチャートである。 XOR−XOR階層の平坦化処理のフローチャートである。 XOR−XOR階層の平坦化処理のフローチャートである。 持ち上げによる平坦化処理のフローチャートである。 持ち上げによる平坦化処理のフローチャートである。 入力されるパラメータデータの例である。 入力されるパラメータデータを図示したものである。 AND−AND階層における要求条件の付け替えを示す図である。 AND−AND階層平坦化処理によって平坦化されたパラメータデータを示す図である。 XOR−XOR階層における要求条件の付け替えを示す図である。 XOR−XOR階層における要求条件の付け替えと、排他条件の不可を示す図である。 XOR−XOR階層平坦化処理によって平坦化されたパラメータデータを示す図である。 持ち上げ平坦化処理によって平坦化されたパラメータデータを示す図である。 持ち上げ平坦化処理によって平坦化されたパラメータデータを示す図である。 テストデータ生成サーバ装置のフローチャートである。 従来のテストデータ生成装置における標準的なパラメータデータの構造である。 従来のテストデータ生成装置における標準的なパラメータデータの構造を図に表したものである。
1−1.テストデータ生成装置の概要
図1に、本発明のテストデータ表示装置100のブロック図を示す。なお、図1に示すテストデータ表示装置100の中には、テストデータ生成装置50(後述するパラメータデータ生成手段B02およびテストデータ生成手段B04に相当)が組み込まれている。
テストデータ表示装置100は、図1に示すように、パラメータデータ生成手段B02、テストデータ生成手段B04、テストデータ表示手段B06、論理構造変更手段B08を備えている。テストデータ生成手段B04は、オールペア法等を用いたテストデータ生成のために用いられるツール(PICT(商標)、ACTS(商標)等)である。なお、オールペア法の簡単な応用としては、ペアワイズの他、フルカバレッジ、スリーワイズ、フォーワイズなどが該当する。
パラメータデータ生成手段B02は、テストデータ生成手段B04に与えるパラメータデータを論理構造から生成するための手段である。まず、パラメータデータ生成手段B02について説明する。
図22に、ある事象の論理構造をツリー形式にて示す。このツリー形式の構造のままでは、PICTのようなツールに入力することはできない。
一方、図31に示すPICTのために定められたデータを、ツリー形式の構造にて示すと、図32のようになる。
図32において、パラメータa1,a2,...anは、エクスクルーシブOR(XOR)によって、aのグループに結合されている。つまり、パラメータa1,a2,...anは、いずれか一つが必ず「成立」する関係にある。同様に、パラメータb1,b2,...bnは、エクスクルーシブOR(XOR)によって、bのグループに結合されている。さらに、パラメータm1,m2,...mnは、エクスクルーシブOR(XOR)によって、mのグループに結合されている。
a,b,c...mは、アンド(AND)によって、rのグループに結合されている。つまり、a,b,c...mは、全てが「成立」する関係にある。
なお、図32において、要素にドットを付すことによりAND関係を示している。また、ラインに弧を付すことによりXOR関係を示している。
パラメータm1からパラメータanに向かうreqラインは、パラメータm1が成立すると、パラメータanも成立する関係にあることを示している。また、パラメータa2とパラメータb2との間のmutexラインは、パラメータa2とパラメータb2が同時に成立しない関係にあることを示している。
パラメータデータ生成手段B02は、図22のようなツリー構造にて示されるデータを、PICTなどのツールを使用するために、図32に示すようなツリー構造にまで変換する。
ユーザは、たとえば、図4aに示す画面において、第1の表示領域R1に、マウスなどをを使用して、図22に例示されるようなツリー構造を入力する。第1の表示領域R1において、「AND」「XOR」は、上述のAND、XORに対応している。たとえば、「1.Execution_level」には「AND]が付され「2.Task」には「AND」が付されており、両者がラインL1で結合されている。これらは、「activate Task」より一つ下のレベルに描かれている。したがって、これを模式的に表すと、図4bのようになる。以下の階層についても同様である。
なお、この実施形態では、各ノードにノード符号を付して表示するようにしている。たとえば、9行目「1-1-2.No_Constraints」のノード符号「1-1-2」は、次のような意味を有している。最初の「1」は、第1階層において1番目のノードであることを示している。次の「1」は、第1階層の1番目のノードに含まれる第2階層において、1番目のノードであることを示している。次の「2」は、第2階層の1番目のノードに含まれる第3階層において、2番目のノードであることを示している。このように、ノード符号を付すことにより、各ノードを特定することができる。
8行目の「mutex2-4.priority」と、下から6行目の「mutex1-1-1-2.No」は、「2-4.priority」と「1-1-1-2.No」の間に、mutex(排他)条件が設定されていることを示している。
以上のようにして、ユーザが、ツリー構造を入力すると、前述のパラメータデータ生成手段B02は、これを変換して、PICTなどのツールに入力可能なツリー構造にする。なお、テストデータ生成手段B04に与えるパラメータデータを生成するための具体的な方法については、後述する。
テストデータ生成手段B04は、パラメータデータ生成手段B02からパラメータデータの入力を受けてテストデータを生成し、テストデータ表示手段B06は、その結果を論理構造と同一画面上に表示する。例えば、図4に示すように、第1の表示領域R1である左側には条件となった論理構造が表示されており、同一画面上の第2の表示領域R2である右側には、左側の論理構造に基づいて生成されたテストデータが表示されている。
さらに、論理構造変更手段B08は、図4の左側に示す第1の表示領域R1において、ユーザからのノードを展開し、または折り畳むといった操作入力を受け、論理構造データの変更を行う。パラメータデータ生成手段B02は、ユーザからの操作入力を受けて、変更された論理構造に基づいて、再び、パラメータデータを生成する。さらに、これに基づいてテストデータ生成手段B04が生成したテストデータが、テストデータ表示手段B06によって第2の表示領域R2に表示されることになる。
以上のように、テストデータが、条件となった論理構造と同一画面上に表示されるため、論理構造を調整(一部を削除、追加、変更など)して、所望のテストデータを得ることが容易になる。
1−2.ハードウエア構成
図2に、テストデータ表示装置のハードウエア構成を示す。CPU30には、メモリ32、ディスプレイ34、ハードディスク36、DVD−ROMドライブ38、キーボード/マウス46が接続されている。ハードディスク36には、WINDOWS(商標)などのオペレーティングシステム42、テストデータ表示DB43、テストデータ生成プログラム44、テストデータ表示プログラム45が記録されている。テストデータ生成プログラム44は、オペレーティングシステム42と協働してその機能を発揮するものである。テストデータ表示プログラム45も、オペレーティングシステム42と協働してその機能を発揮するものである。また、オペレーティングシステム42、テストデータ生成プログラム44、テストデータ表示プログラム45は、DVD−ROM40に記録されたものを、DVD−ROMドライブ38を介して、ハードディスク36にインストールしたものである。なお、テストデータ生成プログラム44は、図1に示すパラメータデータ生成手段B02およびテストデータ生成手段B04を備えている。
図3に、テストデータ表示DB43のデータ構造を示す。テストデータ表示DB43には、論理構造にて表現されたテキストデータ(後述する元パラメータデータ)と、PICTから出力されたテストデータのCSVファイル(図4aの右側に表示)がひも付けして記憶されている。ユーザの入力操作を受けてテストデータが算出される毎に、テストデータがテストデータ表示DB43に記憶され、画面上に表示される。
1−3.テストデータ生成プログラムの処理
図4aは、テストデータ表示プログラム45によって生成したテストケースを表示した画面の例を示す。図4aに示す例では、左側の第1の表示領域R1に表示されている論理構造に基づいて、テストケースが17個生成されている。なお、左側の第1の表示領域R1の下方に表示されている、フィーチャー数は総ノード数を表し、制約数は、mutexまたはreqの総数(12/2=6)を表している。
図4aの表示領域R2において、1行目は、ノード符号を示している。この例では、生成された17個のテストデータが示されている。黒丸の部分は、当該ノードを選択したデータをテストデータとして生成すべきことを示している。
図4aの状態で、カーソルC1をノード1-1.Normal上に移動させてクリックすると、図5に示すように、ノード1-1.Normalが折り畳まれて表示される。すなわち、ノード1-1.Normalより下位の論理構造が全て削除される。
さらに、この状態で、図5に示すテストケース算出ボタンB1を押下すると、ノード1-1.Normalが折り畳まれた(すなわち、ノード1-1.Normalより下位の論理構造が削除された)論理構造に基づいて、図6に示すように、テストデータが再び生成され、右側の第2の表示領域R2に表示される。図6の例では、ノード1-1.Normalより下位の論理構造が削除されたことで、テストケース数が「17」から「13」に減少している。このように、テストケース数を減少させることで、テストに要する時間を削減することが可能になる。
図7は、特定のテストケースの上にカーソルを移動させた際の表示例を示す図である。図7に示す例では、1番目のテストケース上にカーソルC2を移動させたことによって、当該テストケースT1に含まれるバリュー(「1-2 ISR2」、「2-1-1 Valid」など)が全てカーソルC2の付近にまとめて表示(ポップアップ)されるように構成している。これにより、第2の表示領域R2の全体を見渡す必要が無い点でメリットがある。
1−4.テストデータ生成プログラムの処理(異常値を含めたもの)
上記実施例では、テストデータを構成するパラメータのバリューが全て正常値であることとしているが、テストデータを構成するパラメータのバリュー中に異常値が含まれるように構成してもよい。図4aに示す例の一部を異常値に設定した例を図9に示す。
図9に示す例では、ノード2-1.TaskIDのバリュー2-1-2.Invalidと、ノード2-5Max_activationのバリュー2-5-2 reachedの2つが異常値(図9に太字で示す。)と設定されており、17個のテストデータのうち、7個のテストデータが異常値のバリュー2-5-2 reachedを含んでいる。
このように、テストデータに異常値のバリューを含め、これを把握することで、異常値が含まれている場合であっても、実際にテストした場合に異常値に対応した正しい動作が行われるか否かを容易に確認することができる。
上記実施例では、正常値か異常値の別を太字によって示したが、これに限られるものではない。図8は、特定のノードの上にカーソルを移動させた際の表示例を示す図である。図8に示すように、ノード1-1.NormalにカーソルC3を移動させたことによって、正常値か異常値の別「カテゴリ:正常値」をカーソルC3の付近に表示(ポップアップ)するようにしてもよい。
1−5.その他の実施形態
なお、上記実施形態では、テストデータ表示装置100(図1)の中に、テストデータ生成装置50(パラメータデータ生成手段B02およびテストデータ生成手段B04に相当)を組み込むこととしたが、テストデータ表示装置100の中に、テストデータ生成装置50を組み込まないようにしてもよい。
なお、上記実施形態では、図4に示す第2の表示領域において、パラメータのバリューが列項目に表示され、セル内に各バリュー選択の有無を表すマークを示すように構成したが、これに限定されず、例えば、図10に示すように、第2の表示領域R2において、パラメータのバリューがセル内に表示されるように構成してもよい。これにより、行方向の表示幅を狭くすることができる点でメリットがある。
なお、上記実施形態では、論理構造を変更することにより、テストケースを再生成することとしたが、これに加えて、あるいはこれに代えて、フルカバレッジ、スリーワイズ、ペアワイズ、フォーワイズなどの種別を選択することによりテストケースを再生成するようにしてもよい。
なお、上記実施形態では、PICT(商標)にパラメータデータを入力することにより、テストケースを生成することとしたが、ACTS(商標)などの他のツールにパラメータデータを入力することによりテストケースを生成するようにしてもよい。さらに、使用するツールとしてPICT(商標)、ACTS(商標)などの種別を選択することによりテストケースを生成するようにしてもよい。
2−1.テストデータ生成装置の全体構成
図11に、この発明の一実施形態によるテストデータ生成装置50(図1に示すパラメータデータ生成手段B02およびテストデータ生成手段B04に相当)の全体構成を機能ブロック図にて示す。入力手段2は、論理構造にて表現された元パラメータデータ20を入力する。
アンド・アンド階層平坦化手段4は、入力された元パラメータデータ20の論理構造中において、対象ノードから、AND関係とAND関係が階層として連続している部分を見いだす。図11においては、対象ノードがATであり、AND関係とAND関係が階層として連続している部分が30で示されている。
アンド・アンド階層平坦化手段4は、さらに、前記部分30において、対象子ノードTa(対象ノードATの子にあたるノード)に要求条件または排他条件が付されていれば、当該要求条件または排他条件を、対象ノードATに付け替える。図11の例では、対象子ノードTaに要求条件や排他条件が付されていないので、ここでは何も行われない。続いて、アンド・アンド階層平坦化手段4は、対象子ノードTaを削除する。
アンド・アンド階層平坦化手段4は、見いだしたAND関係とAND関係が階層として連続している部分の全てについて、上記の処理を実行する。これにより、アンド・アンド階層平坦化パラメータデータ22が得られる。
オア・オア階層平坦化手段6は、アンド・アンド階層平坦化パラメータデータ22の論理構造中において、対象ノードから、OR関係とOR関係が階層として連続している部分を見いだす。図11においては、対象ノードがElであり、OR関係とOR関係が階層として連続している部分が32で示されている。
オア・オア階層平坦化手段6は、さらに、前記部分32において、対象子ノードISRに排他条件が付されていれば、これを対象孫ノードISR1、ISR2(対象子ノードの子ノード)に付け替える。図11においては、対象子ノードISRとノードWAの間に設定されている排他条件が、対象孫ノードISR1、ISR2のそれぞれと、ノードWAとの間に付け替えられる。また、前記部分32において、対象子ノードISRに要求条件が付されていれば、当該要求条件を、対象ノードElに付け替える。この時、この要求条件が、対象子ノードを要求先とするものであれば、対象子ノード以外の子ノードと、当該要求条件の要求元ノードとの間に、排他条件を設定する。続いて、オア・オア階層平坦化手段6は、対象子ノードISRを削除する。
オア・オア階層平坦化手段6は、見いだしたOR関係とOR関係が階層として連続している部分の全てについて、上記の処理を実行する。これにより、オア・オア階層平坦化パラメータデータ24が得られる。
持上平坦化手段8は、対象ノードTaからAND関係とOR関係が下位階層として連続し、さらに、対象ノードからOR関係とAND関係が上位階層として連続している部分34をみい出す。
持上平坦化手段8は、前記部分34において、対象孫ノードY、Nから、前記対象ノードTaに対して要求条件を設定する。さらに、「対象孫ノードY、Nのいずれでもない」という対象孫ノードYNを追加し、対象ノードTaと対象孫ノードYNとの間に、排他条件を設定する。
持上平坦化手段8は、さらに、対象子ノードPreを対象親親ノードAT(対象ノードTaの親ノードElの親ノード)の子ノードとして、AND関係に追加するように移動する。この際、対象子ノードPre以下の構造も移動される。これにより、図11に示す持上平坦化パラメータデータ26が得られる。
持上平坦化パラメータデータ26は、AND関係とXOR関係の階層によって定められる論理構造を有するパラメータである。したがって、これをPICT等によって実現されるテストデータ生成手段10に与えることにより、テストデータを得ることができる。
2−2.テストデータ生成プログラムの処理
図13に、テストデータ生成プログラム44のフローチャートを示す。
4.1入力処理
CPU30は、パラメータデータを入力し、ハードディスク36に記録する(ステップS1)。パラメータデータは、キーボード/マウス46から入力してもよいし、DVD−ROMドライブ38から入力するようにしてもよい。
ここでは、図21に示すようなパラメータデータが入力されたものとする。これを模式的に示すと図22のようになる。なお、この実施形態では、パラメータデータは、図21のような形式にて入力している。しかし、図22のようなツリー構造をディスプレイ34に表示し、キーボード/マウス46などで編集を行いながら入力するようにしてもよい。
このパラメータデータは、オペレーティングシステムにおけるactivateTaskのプログラムに対する入力データが取り得る状態を示したものである。たとえば、図22において、ノードactivateTaskから、ノードExecutionlevel(実行レベル)、ノードTask(activate対象となるタスク)に、AND関係が結ばれている。これにより、activateTaskについては、ExecutionlevelとTaskの双方が成立しなければならないことが示されている。つまり、activateTaskは、ExecutionlevelとTaskの双方の決定が必要であることが示されている。
また、ノードExecutionlevelから、ノードExTask(タスク実行レベル)、ノードISR(割り込み)に、XOR関係が結ばれている。これにより、Executionlevelについては、ExTaskとISRのいずれか一方のみが成立しなければならないことが示されている。つまり、Executionlevelは、ExTaskとISRのいずれか一方のみの決定が必要であることが示されている。
同様に、Taskは、TaskID(タスクの識別符号)とstatus(activate実行後のタスクの状態)とpriority(実行の優先度)の全ての決定が必要であることが示されている。TaskIDは、valid(有効なID)かinvalid(無効なID)のいずれかに決定されなければならないことが示されている。statusは、suspended(停止中)、run(動作)、ready(準備完了)、wait(待ち)のいずれかに決定されなければならないことが示されている。pariorityは、high(高)、low(低)、equiv(普通)のいずれかに決定されなければならないことが示されている。
4.2アンド・アンド階層の平坦化処理
次に、CPU30は、入力されたパラメータデータについて、アンド・アンド階層の平坦化処理を行う(ステップS2)。前述のように、AND関係が階層として連続している部分を探し出して平坦化を行う。図14に、アンド・アンド階層の平坦化処理の詳細を示す。
CPU30は、まず、ルートノードactivateTaskを対象ノードに設定する(ステップS201)。次に、対象ノードからAND関係にて子ノードが定義されているかどうかを判断する(ステップS202)。ここでは、図22に示すように、対象ノードactivateTaskから、AND関係にて、子ノードExecutionlevelと子ノードTaskが定義されている。したがって、CPU30は、ステップS203に進み、最初の子ノードExecutionlevelを対象子ノードとする。
続いて、CPU30は、対象子ノードから、AND関係にて、孫ノードが定義されているかを判断する(ステップS204)。ここでは、対象子ノードExecutionlevelから、孫ノードExtask、ISRに対して、XOR関係が定義されており満たしていないので、ステップS205に進む。ステップS205において、すべての子ノードを対象子ノードとして処理したかどうかを判断する。ここでは、子ノードTaskに対する処理がまだであるから、これを対象子ノードとする(ステップS206)。
CPU30は、対象子ノードから、AND関係にて、孫ノードが定義されているかを判断する(ステップS204)。ここでは、対象子ノードTaskから、AND関係にて、孫ノードTaskID、status、priorityが定義されている。したがって、満足するので、ステップS209に進む。
ステップS209において、CPU30は、対象子ノードTaskに条件が付いているかどうかを判断する。ここでは、条件は付いていないので、ステップS211を実行する。ステップS211において、CPU30は、対象子ノードTaskを削除し、孫ノードTaskID、status、priorityを対象ノードactivateTaskの子ノードとする。これにより、図24に示すように、対象子ノードTaskが削除される。
次に、CPU30は、すべての子ノードを対象子ノードとして処理したかどうかを判断する(ステップS205)。ここでは、全ての子ノードについて処理を行ったので、ステップS207に進む。
ステップS207において、CPU30は、全てのノードを対象ノードとして処理したかどうかを判断する。ここでは、未処理のノードがあるので、ノードExecutionlevelを対象ノードに設定する(ステップS208)。
CPU30は、対象ノードExecutionlevelから、AND関係にて、子ノードが定義されているかどうかを判断する(ステップS202)。ここでは、対象ノードExecutionlevelから、子ノードExtask、ISRに対して、XOR関係が定義されており満たしていないので、ステップS207に進む。まだ、未処理のノードがあるので、ノードTaskIDを対象ノードに設定する(ステップS208)。なお、既にノードTaskは削除されており、図24のような状態となっているので、ノードTaskIDが対象ノードとして設定されることになる。
CPU30は、対象ノードTaskIDから、AND関係にて、子ノードが定義されているかどうかを判断する(ステップS202)。ここでは、対象ノードTaskIDから、XOR関係にて、子ノードvalid、invalidが定義されており、満足しないので、ステップS208に進む(ステップS207)。ステップS208においては、ノードstatusを対象ノードとして設定する。
ここでも、ステップS202は満足されないので、次に、ノードpriorityが対象ノードとして設定される(ステップS202、S207、S208)。
以上のような処理を繰り返し、全てのノードを対象ノードとして処理を行えば、アンド・アンド階層の平坦化処理を終了する(ステップS207)。
上記のアンド・アンド階層平坦化処理を行った後のパラメータデータを、図24に示す。
なお、ステップS209において、アンド・アンド階層の条件を満たす部分の対象子ノードに条件が付いていれば、CPU30は、当該条件を対象ノードに付け替える。たとえば、図23Aに示すように、対象子ノードCに要求条件が付いている場合、図23Bに示すように、この要求条件を対象ノードAに付け替える。なお、図23のように対象子ノードCが要求元となっている場合だけでなく、対象子ノードが要求先となっている場合も同様である。また、対象子ノードCに排他条件が付されている場合も同様に付け替えを行う。
4.3XOR・XOR階層の平坦化処理
以上のようにして、アンド・アンド階層の平坦化処理を終了すると、CPU30は、次に、XOR・XOR階層の平坦化処理を実行する(図13、ステップS3)。XOR・XOR階層の平坦化処理の詳細を、図16〜図18に示す。
CPU30は、図24の平坦化されたデータに対して、まず、ステップS301において、ルートノードactiavteTaskを対象ノードに設定する。次に、この対象ノードactiavteTaskから、XOR関係にて、子ノードが定義されているかどうかを判断する(ステップS302)。ここでは、AND関係にて、子ノードExecutionlevel、TaskID、status、priorityが定義されており、満足しない。したがって、ステップS307に進む。
ステップS307において、CPU30は、全てのノードを対象ノードとして処理を行ったかどうかを判断する。ここでは、未対象のノードがあるので、次のノードExecutionlevelを対象ノードとする(ステップS308)。
CPU30は、ステップS302において、対象ノードExecutionlevelから、XOR関係にて、子ノードが定義されているかを判断する。ここでは、XOR関係にて、子ノードExTask、ISRが定義されているので、満足する。したがって、CPU30は、子ノードExTaskを対象子ノードに設定する(ステップS303)。
次に、CPU30は、対象子ノードExTaskから、XOR関係にて、孫ノードが定義されているかどうかを判断する(ステップS304)。ここでは、AND関係にて、孫ノードPreemptiveが定義されており満足しないので、ステップS305に進む。
ステップS305において、CPU30は、全ての子ノードを対象子ノードとしたかどうかを判断する。まだ、子ノードISRを対象子ノードとしていないので、これを対象子ノードに設定する(ステップS306)。
CPU30は、対象子ノードISRから、XOR関係にて、孫ノードが定義されているかどうかを判断する(ステップS304)。ここでは、XOR関係にて、孫ノードISR1、ISR2が定義されているので満足する。したがって、ステップS309に進む。
ステップS309において、対象子ノードISRに条件が付いているかどうかを判断する。ここでは、対象子ノードISRに条件が付いているので、ステップS310に進む。ステップS310において、CPU30は、当該条件が排他条件であるかどうかを判断する。ここでは、排他条件が付されているので、ステップS311を実行する。ステップS311においては、対象子ノードISRに付された排他条件を、孫ノードISR1、ISR2に付け替える。つまり、ノードpriorityと対象子ノードISRとの間の排他条件が、ノードpriorityと対象孫ノードISR1との間の排他条件、ノードpriorityと対象孫ノードISR2との間の排他条件に、付け替えられる。
次に、CPU30は、対象子ノードISRに付されている条件が要求条件であるかどうかを判断する(ステップS312)。ここでは、要求条件は付されていないので、ステップS317に進む。ステップS317において、CPU30は、対象子ノードISRを削除し、孫ノードISR1、ISR2を対象ノードExecutionlevelの子ノードとする。したがって、図27に示すように、排他条件が付け替えられ、対象子ノードISRが削除される。
次に、CPU30は、全ての子ノードについて処理を行ったかどうかを判断する(ステップS305)。ここでは、未処理の子ノードがあるので、次に、子ノードTaskIDを対象子ノードとして、ステップS304以下の処理を実行する。同様に、他の子ノードstatus、priorityも、順次、対象子ノードとして、ステップS304以下の処理を実行する。
対象ノードの全ての子ノードに対する処理を終えると、次の、ノードを対象ノードとして(ステップS308)、ステップS302以下の処理を実行する。このようにして、全てのノードを対象ノードとして処理すると、XOR・XOR階層平坦化処理を終了する(ステップS307)。
上記のステップS310において、対象子ノードに排他条件が付されている場合には、当該排他条件を当該子ノードの孫ノード全てに付け替えるようにしている。この際、対象子ノードに要求条件が付いている場合には(ステップS312)、CPU30は、次のような処理を行う。
CPU30は、当該要求条件の要求元が子ノードであるかどうかを判断する(ステップS313)。そうであれば、CPU30は、子ノードからの要求条件を、当該子ノードの孫ノードおのおのからの要求条件に付け替える(ステップS314)。
たとえば、図25Aに示すように、XOR階層の連続する部分における対象子ノードCから、ノードEに対して要求条件が設定されていたとする。この場合、CPU30は、図25Bに示すように、要求元を当該対象子ノードのそれぞれの孫ノードにして、ノードEに対する要求条件を設定する。その後、対象子ノードCを削除し、孫ノードF、G、Hを、対象ノードAの子ノードに加える(ステップS317)。
ステップS313において、対象子ノードを要求先とする要求条件が付されていると判断すると、CPU30は、ステップS315に進む。ステップS315においては、CPU30は、対象子ノードに付された要求条件を、対象ノードに付け替える。さらに、当該要求条件の要求元ノードから、対象ノードの子ノードのそれぞれ(対象子ノードを除く)に対して、排他条件を設定する(ステップS316)。
たとえば、図26Aに示すように、XOR階層の連続する部分における対象子ノードCに対し、ノードEから要求条件が設定されていたとする。この場合、CPU30は、図26Bに示すように、当該要求条件の要求先を対象ノードAに付け替える。さらに、対象ノードAの子ノードB、Cの内、対象子ノードCを除く全ての子ノードのそれぞれ(ここでは子ノードBだけとなる)と、前記要求条件の要求元のノードEとの間に、排他条件を設定する。その後、対象子ノードCを削除し、孫ノードF、G、Hを、対象ノードAの子ノードに加える(ステップS317)。
4.4持ち上げによる平坦化処理
以上のようにして、XOR・XOR階層の平坦化処理を終了すると、CPU30は、次に、持ち上げによる平坦化処理を実行する(図13、ステップS4)。つまり、AND関係とXOR関係によって定義される3階層からなるパラメータデータに平坦化する。持ち上げによる平坦化処理の詳細を、図19、図20に示す。
まず、CPU30は、平坦化された図27のパラメータデータにおいて、第3階層以下の最初のノードを対象ノードとして設定する(ステップS401)。ここでは、ノードExTaskが対象ノードとなる。
次に、CPU30は、対象ノードExTaskからAND関係にて、子ノードが定義されているかどうかを判断する(ステップS402)。ここでは、子ノードpreemptiveが定義されているので満足するので、ステップS403に進む。ステップS403においては、最初の子ノードを対象子ノードとする。ここでは、子ノードpreemptiveが対象子ノードとなる。
次に、CPU30は、対象子ノードpreemptive以下の構造を、対象ノードExTaskの親の親のノード(親親ノードまたは祖父母ノード)activateTaskの子ノードとして、アンド関係にて定義する(図28参照)。
続いて、孫ノードYes、Noのそれぞれから、対象ノードExTaskに対して、要求条件を設定する(ステップS405)(以下、子ノード、孫ノードなどの表記は、図27の状態に基づいて表記している)。さらに、CPU30は、「他の孫ノードのいずれでもない」という内容の孫ノードを、XOR関係にて追加する(ステップS406)。ここでは、図18に示すように、YesでもNoでもないというノードYesNoが定義される。
次に、CPU30は、追加した孫ノードYesNoと対象ノードExTaskとの間に、排他条件を設定する(ステップS407)。これにより、図28に示すようなパラメータデータとなる。
次に、CPU30は、全ての子ノードを対象子ノードとしたかどうかを判断する(ステップS408)。処理をしていない子ノードがあれば、次の子ノードを対象子ノードとして、ステップS402以下を実行する。ここでは、全ての子ノードについての処理を行ったので、ステップS410に進む。
ステップS410においては、CPU30は、第3階層以下の全てのノードを対象ノードとしたかどうかを判断する。対象となっていない第3階層以下のノードがあれば、次のノードを対象ノードとする(ステップS411)。ここでは、第3階層以下のノードは存在しないので、持ち上げによる平坦化処理を終了する。
以上のようにして、図28に示すような平坦化されたパラメータデータを得ることができる。これをデータ形式にて表すと、図29に示すようになる。
4.5平坦化パラメータデータに基づくテストデータの生成
次に、CPU30は、このようにして生成したパラメータデータに基づいて、テストデータの生成処理を行う(図13、ステップS5)。この実施形態では、オールペア法に基づいてテストデータの生成を行う。
ここでは、平坦化されたパラメータデータは、AND関係、XOR関係からなる3階層のデータとして標準化されている。したがって、オールペア法によるテストデータ生成処理が容易である。また、オールペア法などに基づくテストデータ生成プログラム(たとえば、マイクロソフト社のPICT)などを用いることができる。
以上のようにして、テストデータを生成することができる。
2−3.その他の実施形態
(1)上記実施形態においては、テストデータの生成までを行っている。しかし、ステップS2〜S4の処理によって平坦化されたパラメータデータを出力するようにしてもよい。この場合、ユーザは、出力されたパラメータデータを、PICTなどのツールにこれを入力し、テストデータを得ることができる。
(2)上記実施形態においては、スタンドアローンのコンピュータにてテストデータを生成する場合を説明した。しかし、上記の各処理をインターネットなどに接続されたサーバ装置にて行うようにしてもよい。この場合のサーバ装置におけるサーバプログラムの処理フローチャートを、図13に示す。
まず、サーバ装置のCPUは、インターネットを介して端末装置からパラメータデータを受信する(ステップS50)。続いて、AND−AND階層の平坦化(ステップS2)、XOR−XOR階層の平坦化(ステップS3)、持ち上げによる平坦化(ステップS4)、テストデータの生成(ステップS5)を実行する。これらの処理は、図13と同様である。続いて、生成されたテストデータを、端末装置に送信する(ステップS51)。
以上のようにすれば、端末装置において、プログラムを用意しなくとも、テストデータを得ることができる。
また、平坦化されたパラメータデータを端末装置に送信するようにしてもよい。この場合、ユーザは、端末装置側のPICTなどのツールにこれを入力し、テストデータを得ることができる。
(3)上記実施形態では、AND−AND階層平坦化、XOR−XOR階層平坦化の順に処理を行っている。しかし、AND−AND階層平坦化より先に、XOR−XOR階層平坦化を実行するようにしてもよい。
(4)上記実施形態では、AND−AND階層平坦化、XOR−XOR階層平坦化持ち上げによる平坦化の全ての処理を行っている。しかし、AND−AND階層平坦化だけ、XOR−XOR階層平坦化だけ、持ち上げによる平坦化だけを実行するようにしてもよい。また、これらのうちの2つだけを実行するようにしてもよい。

Claims (9)

  1. テストデータを参照するためのユーザインターフェースを表示するテストデータ表示装置であって、
    対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを、第1の表示領域に論理構造として表示する手段、
    前記第1の表示領域が表示される同一画面上の第2の表示領域に、前記第1の表示領域の論理構造に対応するテストデータを表示する手段、
    を備えたこと、を特徴とする
    として機能させることを特徴とするテストデータ表示装置。
  2. テストデータを参照するためのユーザインターフェースを表示するために、
    コンピュータを、
    対象の特徴を示す上位ノードと、当該上位ノードの特徴の下位の特徴を示す下位ノードとを有する複数階層に配置されたノードを備えて構成され、上位ノードに対して下位ノードが全て成立しなければならないアンド関係、上位ノードに対して下位ノードのいずれかが成立すればよいオア関係にて上位ノードと下位ノードが結合され、ノード間において一方のノードの成立・不成立が他方のノードの成立・不成立を決定する要求条件と、ノード間において双方ノードの同時の成立・不成立を決定する排他条件との少なくとも一方が定義された特徴データを、第1の表示領域に論理構造として表示する手段、
    前記第1の表示領域が表示される同一画面上の第2の表示領域に、前記第1の表示領域の論理構造に対応するテストデータを表示する手段、
    として機能させることを特徴とするテストデータ表示プログラム。
  3. 請求項1または請求項2の装置またはプログラムにおいて、
    第1の表示領域における論理構造の変更操作に基づいて、第2の表示領域におけるテストケースを再計算させること、を特徴とする装置またはプログラム。
  4. 請求項1〜3のいずれかの装置またはプログラムにおいて、
    第1の表示領域における入力操作に基づいて、第1の表示領域におけるノードを展開し、または折り畳んで表示することを特徴とする装置またはプログラム。
  5. 請求項1〜4のいずれかの装置またはプログラムにおいて、
    ノードにカーソルを移動させた際に、各ノードの情報が表示されること、を特徴とする装置またはプログラム。
  6. 請求項1〜5のいずれかの装置またはプログラムにおいて、
    テストケースにカーソルを移動させた際に、当該テストケースのバリューが全て表示されること、を特徴とする装置またはプログラム。
  7. 請求項1〜6のいずれかの装置またはプログラムにおいて、
    前記第2の表示領域において、パラメータのバリューが列項目に表示され、セル内に各バリュー選択の有無を表すマークを示したこと、特徴とする装置またはプログラム。
  8. 請求項1〜6のいずれかの装置またはプログラムにおいて、
    前記第2の表示領域において、パラメータのバリューがセル内に表示されること、特徴とする装置またはプログラム。
  9. 請求項1〜7のいずれかの装置またはプログラムにおいて、
    各テストデータを構成するパラメータのバリューの中に、異常値が含まれていること、を特徴とする装置またはプログラム。
JP2013072054A 2013-03-29 2013-03-29 テストデータ表示装置 Expired - Fee Related JP6037310B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013072054A JP6037310B2 (ja) 2013-03-29 2013-03-29 テストデータ表示装置
PCT/JP2014/000778 WO2014155941A1 (ja) 2013-03-29 2014-02-14 テストデータ表示装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013072054A JP6037310B2 (ja) 2013-03-29 2013-03-29 テストデータ表示装置

Publications (2)

Publication Number Publication Date
JP2014197276A true JP2014197276A (ja) 2014-10-16
JP6037310B2 JP6037310B2 (ja) 2016-12-07

Family

ID=51622966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013072054A Expired - Fee Related JP6037310B2 (ja) 2013-03-29 2013-03-29 テストデータ表示装置

Country Status (2)

Country Link
JP (1) JP6037310B2 (ja)
WO (1) WO2014155941A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282536A (ja) * 2000-03-29 2001-10-12 Hitachi Software Eng Co Ltd テスト項目抽出装置
JP2004220330A (ja) * 2003-01-15 2004-08-05 Toshiba Solutions Corp テスト仕様作成支援装置、テスト仕様作成方法、データベースの構築方法、テスト仕様作成プログラム
JP2008176793A (ja) * 2007-01-19 2008-07-31 Suresoft Technologies Inc ソフトウェアテストシステム、ソフトウェアのテスト方法、および、そのテスト方法を実行するためのプログラムを記録したコンピュータ読取り可能な記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282536A (ja) * 2000-03-29 2001-10-12 Hitachi Software Eng Co Ltd テスト項目抽出装置
JP2004220330A (ja) * 2003-01-15 2004-08-05 Toshiba Solutions Corp テスト仕様作成支援装置、テスト仕様作成方法、データベースの構築方法、テスト仕様作成プログラム
JP2008176793A (ja) * 2007-01-19 2008-07-31 Suresoft Technologies Inc ソフトウェアテストシステム、ソフトウェアのテスト方法、および、そのテスト方法を実行するためのプログラムを記録したコンピュータ読取り可能な記録媒体

Also Published As

Publication number Publication date
WO2014155941A1 (ja) 2014-10-02
JP6037310B2 (ja) 2016-12-07

Similar Documents

Publication Publication Date Title
US9396241B2 (en) User interface controls for specifying data hierarchies
US20140095972A1 (en) Compressing tree diagrams
CN100533375C (zh) 自动布置方法和自动布置装置
WO2020151446A1 (zh) 一种监控系统的模式设置方法和装置
CN105930116B (zh) 显示控制系统及图形显示方法
JP2012083865A (ja) 操作画面設計支援プログラム、操作画面設計支援装置および操作画面設計支援方法
US9684738B2 (en) Text-based command generation
JP2003140798A (ja) 表示制御装置およびプログラム
JPWO2014061093A1 (ja) 画面作成装置および画面作成方法
JP6037310B2 (ja) テストデータ表示装置
US11061664B2 (en) Code management system and code management method
JP5116906B1 (ja) Plc設計装置
JP6410965B2 (ja) 計算機システムの管理システム及び管理方法
JP6037307B2 (ja) テストデータ生成装置
JP5645897B2 (ja) データベース可視化システム
US10078430B2 (en) Providing batch operations with an auxiliary user interface
JP2019204373A (ja) ビジュアルプログラミングツールを用いてプログラムを作成することを支援する装置および方法
JP5801682B2 (ja) 設定情報生成プログラム、設定情報生成装置および設定情報生成方法
JP2012533137A (ja) サブグリッドの統合トランザクション処理方法及びこれを記録した記録媒体
JP2022012393A (ja) ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム
JP2021174316A (ja) ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム
JP6575611B2 (ja) ロールバック処理制御プログラム、ロールバック処理制御方法及びロールバック処理制御装置
JP2015162200A (ja) ファイル管理装置
JP5889135B2 (ja) ユーザインタフェース設計装置
JPH11338677A (ja) システム構成の定義方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160804

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161024

R150 Certificate of patent or registration of utility model

Ref document number: 6037310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees