JPH073654B2 - テストケ−ス抽出装置 - Google Patents

テストケ−ス抽出装置

Info

Publication number
JPH073654B2
JPH073654B2 JP61220863A JP22086386A JPH073654B2 JP H073654 B2 JPH073654 B2 JP H073654B2 JP 61220863 A JP61220863 A JP 61220863A JP 22086386 A JP22086386 A JP 22086386A JP H073654 B2 JPH073654 B2 JP H073654B2
Authority
JP
Japan
Prior art keywords
importance
program
conditional
statement
file
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 - Lifetime
Application number
JP61220863A
Other languages
English (en)
Other versions
JPS6378232A (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 JP61220863A priority Critical patent/JPH073654B2/ja
Publication of JPS6378232A publication Critical patent/JPS6378232A/ja
Publication of JPH073654B2 publication Critical patent/JPH073654B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔概要〕 本発明はプログラムの流れをディスプレイ上の画面上で
流れ図の表記を用いて、木構造で表現する編集システム
において、ソースプログラムの条件文に対応するディス
プレイ上の表示場所に複数段階の重みを付加して編集し
た結果を、一旦ファイルに格納しそのファイルからテス
トケースジェネレータにより条件文だけを出力する場
合、入力した重要度レベルと一致する重みの付加された
条件文を抽出し、印刷するものである。
これによりプログラムの重要度がプログラムの条件文の
テストシステムに反映され、プログラム設計者以外の人
がプログラムをテストする場合でもプログラムの論理的
な重みづけの重要度を把握することが容易となる。
〔産業上の利用分野〕
本発明はソフトウェアを設計したり、試験するシステム
に係り、特にワークステーション等のディスプレイ上で
ソフトウェアの論理的な流れを画像的に表記し、木構造
で表現する編集システムにおいて、条件文の重要度を付
加することにより重要度レベルに従ってテストケースを
生成できるテストケース抽出装置に関する。
〔従来の技術〕
集積化技術の発展に伴い、大型計算機と複数のワークス
テーションとをネットワークで結合し、各ワークステー
ション上で大きなソースプログラムをワークステーショ
ンの画面エディタを使って開発できるようになってき
た。非常に大きなソースプログラムは演算命令やメモリ
の読み書き命令等に加えて、IF文やDO文(繰り返し文)
等の条件文が非常に多く含まれている。この条件文は条
件文の中にさらに条件文があるようなネスティングが多
く含まれており、特に事務処理を対象とした大規模なソ
ースプログラムにおいては、これらの条件文によってプ
ログラムの論理的な流れが、ほぼ決定されている。従っ
てソースプログラムの条件文を抽出し、条件文の内容を
プログラムの試験時において、効率的に調べることの重
要性が高まっている。最近ソフトウェアを開発する場
合、例えば、ワークステーションのディスプレイ上でマ
ウス等を用いてソフトウェアの流れを画像処理的に例え
ば木構造を用いて表記し、編集するシステムが開発で
き、その編集システムによってできたソフトウェアの表
記ファイルをコンパイルすることによりCOBOL,C言語,
フォートラン、パスカル等のような汎用的な高級言語に
変換するシステムも開発されてきている。例えばソフト
ウェアの表記法としてYAC IIという木構造のチャートが
使用され、そのYAC IIチャート専用のエディタシステム
で編集した結果から各種言語へのコンパイラーも開発さ
れている。従来この種のソフトウェアの表記法に基づく
システムにおいて、ソースプログラムの条件文を抽出
し、この条件文の試験をすべての条件文に対して網羅す
ることが可能である。
〔発明が解決しようとする問題点〕
従来、ソフトウェアの表記法に基づいて編集し、条件文
の試験を行うシステムにおいて、すべての条件を逐次に
抽出し、試験するとき、各条件文の重要度に係わりな
く、試験する場合の数が膨大になるソースプログラムの
試験を行う場合、試験者の負担が大きく試験に時間がか
かってしまうという問題があった。
〔問題点を解決するための手段〕
本発明はディスプレイ上にソフトウェアを表記しながら
編集し、編集した結果をテストケースジェネレータによ
り試験するソフトウェア開発システムに関する。すなわ
ち第1図に示すようにワークステーションのディスプレ
イ1上に例えばYAC II木構造チャートでソフトウェアの
表記を行って編集する編集手段と、前記編集手段により
得られた編集ファイル2を例えばYAC IIファイルコンパ
イラ3を介してソースコード4を生成する前に、前記編
集ファイル2を入力し、試験すべきソフトウェア上の場
所を発生するテストケースジェネレータ手段5と、テス
トケースジェネレータ手段5の結果を出力するテストケ
ース出力手段6とを有するソフトウェアの編集システム
においてソフトウェアの表記時において、IF文やDO文等
の各条件文にその重要性を表す重みを付け加える条件文
重みづけ手段と、テストケースジェネレータへ編集ファ
イルを入力する前に出力したい条件文の重要度レベルを
入力する重要度レベル入力手段と、前記テストケースジ
ェネレータから入力し、前記重要度レベルに等しい重み
のついた条件文をテストケースとして出力するテストケ
ース出力手段を有している。
〔作用〕
本発明はソースプログラムの条件文をその重要度に従っ
て抽出し、試験することができ、プログラム設計者と異
なるテスト担当者がそのソースプログラムを試験する場
合でもソフトウェアの論理的な進み方を条件文の重要度
を用いて認識でき、重要度の順番に各条件文を試験する
ことができテストの作業効率を上げることができる。そ
して、ソフトウェアの表記法に基づく画面エディタ時に
おいて条件文のある画面位置に条件文の重要度に対応す
る重みを与えて、テストケースジェネレータに編集ファ
イルを入力する時に、所望の重要度のレベルを入力し、
テストケースジェネレータにより前記入力した重要度レ
ベルと一致する重みがつけられた条件文を出力する。
〔実施例〕
次に、本発明のプログラム試験装置を図面を参照して説
明する。第2図は本発明のプログラム試験装置の流れ図
である。本発明は例えば、ワークステーションのディス
プレイ1上に開発すべきソースプログラムをコンパイル
する前にソフトウェアの流れを画像処理的にマウス等を
用いて木構造で処理しながら編集する編集手段を有して
いる。特に、プログラムの論理構造を木構造図により表
わす表記法は前述のようにYAC IIチャートと呼ばれる。
ここで、木構造は節点とループを含まない枝集合からな
るプログラムであり、枝分かれしている節点はIF分、DO
文、ケース文等の条件文に対応している。すなわち、場
合の数に対応する数だけその節点から枝分かれすること
になる。枝分かれの中に枝分かれがあればネスティング
が存在することになり、ネスティングが多い場合にはプ
ログラムの論理の流れが複雑となる。従って、各条件文
を効率よく試験できればプログラムの開発期間も短縮で
きることになる。本発明のプログラム試験装置は、前述
のYAC IIエディタにおいてディスプレイ1上に表記され
ている開発されるべきソフトウェアの木構造チャートに
おいてIF文やDO文等の条件文に対応する接点の近傍に条
件文の重要性に従って重要度のパラメータを表示する。
例えば、第2図のディスプレイ1上に表記されている木
構造チャートのIF文に対応する節点に図に示すような重
要度パラメータとして、数字の1や2を記入する。重要
度を表すパラメータはこのように数字で表示してもよ
く、色調や輝度を用いてもよい。YAC IIエディタを用い
てソフトウェアの流れを表記として表現した情報は編集
ファイルとしてのYAC IIファイルに格納される。YAC II
ファイルはソフトウェアの流れを木構造で表現したもの
であり、その表記に従う二値画像のデータである。ワー
クステーションの機能がマルチウィンドウの場合には複
数のウィンドウ上木構造を用いてYAC IIエディタ上で表
記し、各ウィンドウに対応する複数の画面集合体からYA
C IIファイルが構成される。
例えば1つの画面体に対応するファイルの内容は図に示
すように2つのIF文に対応して枝分かれするグラフで表
記されて、第1番目のIF文はフラグという変数の内容に
従い枝分かれする方向が異なることを示している。例え
ばフラグが0である場合には1番上のラインに処理の流
れが進むことを示す。また第2番目のIF文はLCNTという
変数の値により、流れの処理が異なってくる場合であ
る。LCNTという変数が60という値である場合に、第1番
目のラインに処理の流れが移行することを示す。この2
つのIF文の重要度はYAC IIエディタを用いて現在ソフト
ウェアを開発している設計者は、その重要度がどのぐら
いであるかを把握しているので、その重要度を表す重み
の数字をIF文に対応する各節点に有効枝を介して数字で
表現するものである。例えばフラグ変数に関するIF文の
重要性は非常に高いので重み1が表現されて付加されて
いる。
LCNT変数に関するIF文はフラグ変数に関するIF文よりも
重要度がやや低いため重みの変数は2となっている。
このように本発明ではYAC IIチャート用エディタに対し
て、IF文,DO文、あるいはケース文等の条件文に対応す
る木構造グラフの節点の近傍に重み変数を付加する手段
を有するものである。
このように重み変数が付加された木構造チャートを表現
する画面全体の集合からなるYAC IIファイルをテストケ
ースジェネレータ5に入力する。テストケースジェネレ
ータ5は木構造チャートから試験すべき条件文を抽出す
るものであるが本発明では次の5乃至11に示されるよう
なステップに対応するフローの流れに従って指定された
重要度レベルと一致する重みを持った条件文をもつよう
にする。そのために、本発明ではYAC IIファイルをテス
トケースジェネレータ5で入力した後に、プログラムの
設計者は2段階の重要度レベルをステップ7において入
力するものである。重要度レベルの入力後、ステップ8
においてYAC IIファイルの各画面全体を主記憶装置にロ
ーディングする。
そしてステップ9に移って木構造チャートの各節点の内
容あるいは意味がIF文、DO文、或いはケース文等の条件
文に対応するものであるかどうかの判定を行う。この判
定の結果もし条件文でない場合には、ステップ8にもど
りYAC IIファイルの内容をさらに追跡することとなる。
次にステップ9の判定の結果、条件文である場合にはス
テップ10に移り、ステップ10で現在のポインタが示して
いる条件文を意味する節点の近傍に表示された条件の重
み変数の値がステップ7に入力された重要度レベルに一
致するかの判定を行う。条件文の重みが重要度に一致し
ていない場合にはポインタがさしているところの現在の
条件文の節点を無視し、ステップ8に戻ってYAC IIファ
イル内の木構造グラフをさらに追跡することになる。
ステップ10においてポインタが現在示している条件文の
節点に関する重みが入力された重要度に等しい場合には
ステップ11に移りその条件文をテストケースとして印刷
する。この印刷後再びステップ8に戻り、木構造グラフ
をさらに追跡する。
以上のフローチャートの流れを繰り返すことによりYAC
IIファイルに格納されていたすべての木構造グラフの追
跡が終了すればテストケースの生成は終了したこととな
り、すなわちステップ7で入力した重要度レベルに等し
い重みをもった条件文はステップ11においてすべて出力
され印刷されることになる。
次にプログラムの一例として商品に関する入力出力トラ
ンズアクションを各商品1つずつに関してファイルから
読み残庫マスタを更新し、各商品毎の入出庫数の一覧等
を作製し、入出庫数を印刷する場合を説明する。
入力ファイルは第3図(a)に示すように、商品コー
ド、入出庫数からなる入出庫区分は対応する商品コード
の商品が入庫である場合は で表され、出庫である場合には“OUT"で表わされる。入
出庫数は入庫や出庫の個数を表す。入出庫区分Xすなわ
ち入庫 か或いは出庫“OUT"であるかの条件は本プログラムの機
能の中心的役割を占めるので重要度は1とする。
第3図(b)は出力帳票すなわち入出力プランの出力結
果例を示す。各出力ラインには入出力商品コード、商品
名、個数が表現されている。たとえば商品コード00010
で商品名がM380Rである商品は、入庫の状態にあるもの
とし、入庫の個数は3である。また、商品コード00130
で商品名がFM16βである商品は、100個出庫されたこと
を表している。出力帳票の最後には入庫合計と、出庫合
計が記されている。この入庫合計と出庫合計が条件Bと
してもしオーバーフローしたならばALL“*”で編集す
るようにプログラム処理を行うようにするものとする。
入庫合計や出庫合計は実際上では例えばほとんどオーバ
ーフロー状態に陥ることはないので、オーバーフローが
おきた場合にALL“*”で編集するという条件文は重要
度が低く重要度を2とする。
このような入出庫トランズアクションを読み、各商品ご
との入出庫数一覧は重要度のレベルごとに出力するプロ
グラムをYAC IIファイルエディタを用いて編集する場
合、本発明では第4図(a)に示すような木構造プログ
ラムの表現を用いて行う。この場合ファイルは入力ファ
イル上に格納された第3図(a)に示すような入出庫ト
ランズアクションを1件ずつ読込み入出力の処理を行い
最後に入庫合計と出庫合計を計算するプログラムとす
る。
従って、プログラムの木構造の表現は第4図(a)に示
すように である場合には、入庫処理を行うIF文による枝別れ構造
や、入出庫区分が“OUT"である場合には入出庫処理を行
う条件文、例えばIF文による枝別れが縦ライン12に接続
されて表記される。これらのIF文は重要度が高い為、プ
ログラム設計者はこの重要度を表すパラメータ1をIF文
に対応する接点の近傍に表記する。本プログラムの最後
の部分において入庫合計や出庫合計にオーバーフローす
なわち桁あふれがあった場合の処理ルーチンが記されて
いる。桁あふれ表示がオン状態であるならば処理の流れ
はイエスに対応する枝分かれ方向に進み、ALL“*”を
印刷する処理を行う。この桁あふれ表示がオンであるIF
文は重要度は低く、重要度2としてIF文の対応する接点
の近傍2が記載される。このようなプログラムをYAC II
エディタで編集し、YAC IIファイルをテストケースジェ
ネレータ5に入力し、重要度レベルとして1または2を
入力すれば第4図(b)に示すようなテストケース一覧
表が各レベル毎に印刷される。すなわち表記された木構
造を追跡し各接点が条件文であるかどうかの判定を行い
条件文に対応する接点である場合には、条件文の重みが
入力した重要度レベルに一致するかどうかを調べ、一致
すれば条件文を印刷する。
例えば入力したレベルが1である場合には重要度が1で
ある条件文が13の出力結果のように印刷される。また入
力したレベルが2である場合には出力結果は14のように
出力される。出力結果13は重要度が1であるテストケー
ス一覧であり、入出庫区分が と“OUT"に対応する条件文が印刷される。一方、出力結
果14が重要度2の条件文であり、例えば桁あふれ表示が
“ON"である条件文が印刷される。
〔発明の効果〕
本発明はソースプログラムが膨大である場合にも、プロ
グラムの設計者が決めた条件文の重要度に従って、設計
者以外の人でも条件文の重要度の程度が判断でき、重要
度の低い条件文のテストを省略し、重要度の高い条件文
から試験を行うことができるので、条件文ひいてはプロ
グラム全体の試験の効率化を図ることができる。
【図面の簡単な説明】
第1図は本発明のプログラム試験装置の構成図、第2図
は本発明の動作を示す流れ図、 第3図(a)は入出庫トランズアクションを示すファイ
ルの内容図、 第3図(b)は出力帳票の出力結果を示す図、 第4図(a)は本発明の入出庫トランズアクションのフ
ァイルを読み、入出庫処理を行うプログラムを表す図、 第4図(b)は本発明の出力結果を表す図である。 1……ディスプレイ、 2……編集ファイル、 3……YAC IIコンパイラ、 4……ソースコード、 5……テストケースジェネレータ.

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】プログラムの条件文に各条件の重要度に応
    じ重みをつける重みづけ手段(1)と、該プログラムを
    格納する手段(2)と、所望の重みを入力する手段
    (7)と、前記入力された重みに基づいて所望の条件文
    を選択してテストケースとして発生する手段(5)とか
    らなることを特徴とするテストケース抽出装置。
JP61220863A 1986-09-20 1986-09-20 テストケ−ス抽出装置 Expired - Lifetime JPH073654B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61220863A JPH073654B2 (ja) 1986-09-20 1986-09-20 テストケ−ス抽出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61220863A JPH073654B2 (ja) 1986-09-20 1986-09-20 テストケ−ス抽出装置

Publications (2)

Publication Number Publication Date
JPS6378232A JPS6378232A (ja) 1988-04-08
JPH073654B2 true JPH073654B2 (ja) 1995-01-18

Family

ID=16757724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61220863A Expired - Lifetime JPH073654B2 (ja) 1986-09-20 1986-09-20 テストケ−ス抽出装置

Country Status (1)

Country Link
JP (1) JPH073654B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2773672B2 (ja) * 1995-03-15 1998-07-09 日本電気株式会社 入力チェック方式

Also Published As

Publication number Publication date
JPS6378232A (ja) 1988-04-08

Similar Documents

Publication Publication Date Title
US5557774A (en) Method for making test environmental programs
US5450545A (en) Generation of rules-based computer programs using data entry screens
US5758160A (en) Method and apparatus for building a software program using dependencies derived from software component interfaces
JPH03102484A (ja) 図式データ駆動型プログラム開発支援装置
JPH02109127A (ja) 仕様処理方法
EA010958B1 (ru) Способ, устройство и система визуализации вероятностных моделей
Petricek et al. Real-World Functional Programming: With examples in F# and C
Pollock et al. Theia: automatically generating correct program state visualizations
JPH096628A (ja) 並列処理手続き選定装置及び方法
US8234102B2 (en) Development of assertions for integrated circuit design simulation
Sankaranarayanan et al. Automating thematic analysis with multi-agent llm systems
Watson Common LISP modules: artificial intelligence in the era of neural networks and chaos theory
JPH073654B2 (ja) テストケ−ス抽出装置
Mendes et al. Phylojunction: a computational framework for simulating, developing, and teaching evolutionary models
EP1661038A1 (en) A method of processing data for a system model
JPH09292985A (ja) プログラム再利用部品生成方法
Trejo Basic Uses of Python for Research in Our Laboratory: Examples of Data Analysis, and Processing of Histological Samples Based on the Special Graduate Lecture for Postgraduate Students Presented on January 2025
Campbell et al. A Guided Introduction to C++ Programming
EP4475027A1 (en) Change history reproduction apparatus, change history reproduction method, and change history reproduction program
Antoshchuk et al. Method for Detecting Error in Design of Virtual Environment
Golub et al. Visualizing Russian kinship term possessive sequences as family trees
KR100316246B1 (ko) 내장형 소프트웨어 시스템의 안전성 분석 방법 및 그 장치
JPH0850576A (ja) 視覚対話型シミュレーション装置
JPH0793144A (ja) プログラム解析装置
Raither et al. TRICS: a Testing Tool for C

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term