JP2585460B2 - テストデータ作成方法 - Google Patents

テストデータ作成方法

Info

Publication number
JP2585460B2
JP2585460B2 JP2260177A JP26017790A JP2585460B2 JP 2585460 B2 JP2585460 B2 JP 2585460B2 JP 2260177 A JP2260177 A JP 2260177A JP 26017790 A JP26017790 A JP 26017790A JP 2585460 B2 JP2585460 B2 JP 2585460B2
Authority
JP
Japan
Prior art keywords
test
test cases
cases
test case
analysis table
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
JP2260177A
Other languages
English (en)
Other versions
JPH04137146A (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 JP2260177A priority Critical patent/JP2585460B2/ja
Publication of JPH04137146A publication Critical patent/JPH04137146A/ja
Application granted granted Critical
Publication of JP2585460B2 publication Critical patent/JP2585460B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔概要〕 テストデータ作成方法に関し、 テストデータを効率的に求めることを目的とし、プロ
グラムソースからパス解析用テーブルを作成し、この解
析用テーブルの基づいて、開始アドレスと終了アドレス
との間のパスに相当するテストケースを連結していく方
法であって、パス解析用テーブルには、開始アドレスご
とに、すべてのテストケースについてのデータを格納
し、最初の開始アドレスから、順次、グループことに、
未連結のテストケースの中で、終了アドレスの小さい方
を選択する第1のルールと、すべてのテストケースを連
結したグループにおいては、その中の終了アドレスの一
番小さいものと次に小さいものとの間に、以降のグルー
プの未連結テストケースが存在する時は終了アドレスが
一番小さいほうのテストケースを選択し、存在しない時
は終了アドレスの二番目に小さいものと三番目に小さい
ものとの間で同様の処理を実行し、以後これを繰り返す
第2のルール、の2つのルールにしたがって、テストケ
ースを連結していく構成を有する。
〔産業上の利用分野〕
本発明は、プログラムのテストデータ作成方法に関
し、特にプラグラムソースからパス解析用テーブルを作
成し、この解析用テーブルに基づいてテストケースを連
結していくテストデータ作成方法に関する。
プログラム開発においては、作成されたプログラムの
検査のためにテストデータを用いたプログラムを実行す
る方法がとられる。この場合、テストデータはプログラ
ムのロジックに対応したあらゆるケースを網羅するもの
でなければならない。本発明はこのテストケースをプロ
グラムソースから効率的に抽出する方法を提供する。
〔従来の技術〕
一般に、プログラムソースからテストデータを生成す
る際、全体のロジック検証を可能にするためには当該プ
ログラムソース中の条件文のすべてをカバーできるデー
タ群を用意すること、例えば、第6図に示すように、条
件文アドレス〔0010〕,〔0030〕,〔0040〕および条件
後の飛び先アドレス〔0020〕,〔050〕,〔0060〕間の
フローで表されるプログラムソースにおいては、前記ア
ドレス〔0010〕,〔0030〕,〔0040〕の条件文のすべて
をカバーできるテストデータを作成することが必要であ
る。なお、このプログラムソースは、COBOLで書かれた
ものである。
そして、従来、このテストデータの作成は、プログラ
ムソース中の条件文を洗い出してすべての組合せを求め
ることにより行っていた。すなわち、アドレス〔001
0〕,〔0030〕,〔0040〕それぞれの条件文の内容が、
例えば「A=1であるかどうか」,「B=2であるかど
うか」,「C=3であるかどうか」のとき、第7図に示
すように、それぞれが「YES」の場合と「NO」の場合と
についてのすべての組合せを求めていた。なお、図中の
「」,「」,「」はそれぞれ「1」,「2」,
「3」でないことを表している。
〔発明が解決しようとする課題〕
以上のように、従来の、プログラムソースのテストデ
ータ作成は、プログラムソース中の条件文のそれぞれが
「YES」の場合と「NO」の場合についてのすべての組合
せを求めることにより行ない、n個の条件文を持つプロ
グラムソースに対しては2n組のデータを用意していた。
しかしながら、この方法では、実際にはパスとして成立
しないテストデータも作成されるため、膨大なテストデ
ータ量になるとともに、実作業では使いづらいテストデ
ータになるといった問題がある。
そこで、本発明では、プログラムソース中の条件命令
が記述されている行番号である開始アドレスと、当該条
件命令の途中に分岐命令がある時はその分岐線、また分
岐命令がない時はこの条件命令の飛び先の行番号である
終了アドレスとの間のパスに相当するテストケースそれ
ぞれについてのデータを格納したパス解析用テーブルを
作成し、この解析用テーブルに基づいて、最初の開始ア
ドレスから、順次、所定のルールにしたがってテストケ
ースを連結してテストデータを作成することにより、プ
ログラムソース全体のロジック検証のために必要な最低
限のテストデータを効率的に求めることを目的とする。
〔課題を解決するための手段〕
第1図は本発明の原理説明図である。
第1図は、第6図と同様のフローからなるプログラム
ソースのテストデータを求める際に、本発明を適用した
場合の説明図である。
第1図において、 1は、フロー中のテストケースの開始アドレスであ
り、プログラムソース中の条件命令が記述されている行
番号に対応している。
2は、フロー中のテストケースの終了アドレスであ
り、プログラムソース中の条件命令の途中に分岐命令が
ある時はその分岐先、また分岐命令がない時はこの条件
命令の飛び先の行番号に対応している。
3は、プログラムソースファイルであり、テスト対象
のプログラムソースが格納されている。
4は、パス解析用テーブルであり、開始アドレスと終
了アドレスとの間のパスに対応するテストケースについ
てのデータが、テストケースの開始アドレスごとのグル
ープ単位で格納されている。
5は、テストデータテーブルであり、パス解析用テー
ブルから求めたテストケースの連結状態およびテストデ
ータが格納されている。
ここで、パス解析用テーブル4には、開始アドレスが
〔0010〕であるテストケース,および開始アドレス
が〔0030〕であるテストケース,,のそれぞれに
ついて、終了アドレスや、アドレス〔0010〕,〔003
0〕,〔0040〕における状態値A,B,Cなどが格納されてい
る。
なお、「−」は「任意の値」であることを、また
「」,「」,「」はそれぞれ「1」,「2」,
「3」でないことを表している。
そして、このパス解析用テーブル4に基づいて、開始
アドレス〔0010〕から、 (a) 未連結のテストケースの中で、終了アドレスの
小さい方を選択する第1のルール、 (b) すべてのテストケースを連結したグループにつ
いては、その中の終了アドレスの一番小さいものと次に
小さいものとの間に、以降のグループの未連結テストケ
ースが存在する時は終了アドレスが一番小さいほうのテ
ストケースを選択し、存在しない時は終了アドレスの二
番目に小さいものと三番目に小さいものとの間で同様の
処理を実行し、以後これを繰り返す第2のルール、 の2つのルールにしたがってテストケースを連結してい
く。なお、アドレス〔0050〕及び〔0060〕は、テストケ
ースを連結していくときの最終アドレスでもある。
先ず、前記第1のルール(a)にしたがって、開始ア
ドレス〔0010〕から始まるテストケース,の中、テ
ストケース終了アドレスの小さい方のテストケースを
選択し、続いて、この終了アドレス〔0020〕の次の開始
アドレス〔0030〕から始まるテストケース,,に
ついて同様の処理を行なう。なお、複数のテストケース
の終了アドレスが同一であるときは任意のテストケー
ス、例えばテストケース番号の若いテストケースを選択
する。このようにしてテストケースとテストケース
とを連結し、第1のテストデータ〔A=1,B=2,C=−〕
を作成する。
次に、開始アドレス〔0010〕から始まる未連結のテス
トケースを選択する。このときの終了アドレス〔006
0〕は最終アドレスであるため、テストケースのみで
第2のテストデータ〔A=,B=−,C=−〕を作成す
る。
次に、開始アドレス〔0010〕から始まるテストケース
,はともに使用され、このテストケース,それ
ぞれの終了アドレス〔0020〕と〔0060〕との間には未連
結のテストケース,があるので、前記第2のルール
(b)にしたがって、終了アドレスが〔0020〕であるテ
ストケースを選択する。続いて、前記第1のルール
(a)にしたがって、開始アドレスが〔0030〕であるテ
ストケース,,のグルーフの中から未連結のテス
トケースを選択してテストケースに連結し、第3の
テストデータ〔A=1,B=,C=3〕を作成する。
次に、この第3のテストデータの作成手順と同じ手順
でテストケースとテストケースを連結し、第4のテ
ストデータ〔A=1,B=,C=〕を作成する。
このようにして、プログラムソース全体のロジック検
証のために最低限必要なテストデータを求めている。
〔作用〕
本発明においては、プログラムソースからパス解析用
テーブルを作成し、この解析用テーブルの内容に基づい
て、最初の開始アドレスから、順次、前記の2つのルー
ル(a),(b)にしたがってテストケースを連結して
いくため、実際に使用するパスのテストデータのみを確
実に求めることができる。
〔実施例〕
第2図〜第5図を参照して本発明の実施例を説明す
る。
この実施例は、第2図のように、条件文アドレス〔01
10〕,〔0130〕,〔0140〕,〔0160〕,〔0170〕および
条件後の飛び先アドレス〔0120〕,〔0150〕,〔0180〕
間のフローで表せるプログラムソースに関するものであ
る。
先ず、このプログラムソースから、開始アドレス〔00
10〕,〔0140〕,〔0160〕のそれぞれごとのテストケー
スをグループにした、第3図のパス解析用テーブルを作
成する。この解析用テーブルには、前記グループごとの
連結済テストケース数、およびテストケースそれぞれの
連結済フラグについてのデータも格納されている。
次に、この解析用テーブルのデータに基づき、前記第
1,第2のルール(a),(b)にしたがってテストケー
スを連結していく。すなわち、開始アドレス〔0110〕か
ら始まるテストケース′,′,′に第1のルール
(a)を適用して′を選択し、続いて開始アドレス
〔0140〕から始まるテストケース′,′にも当該ル
ール(a)を適用して′を選択し、続いて開始アドレ
ス〔0160〕から始まるテストケース′,′,′に
も第1のルール(a)を適用して′を選択し、′−
′−′のテストケースを連結することにより、第1
のテストデータ〔A′=1,B′=−,C′=3,D′=4,E′
=−〕を求める。このとき、連結に用いたテストケース
のグループを連結済テストケース数を「1」だけカウン
トアップするとともに、連結に用いたテストケースの連
結済フラグを「ON」にするため、解析用テーブルの状態
は第4図Aのようになっている。
次も、第1のルール(a)にしたがって、テストケー
ス′と′とを選択してこの両者を連結し、第2のテ
ストデータ〔A′=,B′=2,C′=−,D′=,E′=
5〕を求める。このとき、前記の場合と同様に、連結に
用いたテストケースのグループの連結済テストケース数
を「1」だけカウントアップするとともに、連結に用い
たテストケースの連結済フラグを「ON」にするため、解
析用テーブルの状態は第4図Bのようになっている。
次も、第1のルール(a)にしたがって、テストケー
ス′を選択して第3のテストデータ〔A′=,B′=
,C′=−,D′=−,E′=−〕を求める。このとき、前
記の場合と同様に、連結に用いたテストケースのグルー
プの連結済テストケース数を「1」だけカウントアップ
するとともに、連結に用いたテストケースの連結済フラ
グを「ON」にするため、解析用テーブルの状態は第4図
Cのようになる。この段階で、開始アドレスが〔0110〕
のグループの連結済テストケース数は発生テストケース
数と同じ「3」となり、これ以降、当該グループに対し
て第1のルール(a)を適用する必要がないことを示し
ている。
次に、開始アドレスが〔0110〕のグループのテストケ
ースに第2のルール(b)を適用する。すなわち、テス
トケース′,′の終了アドレス〔0120〕,〔0150〕
の間に未連結テストケース′があるため、先ず、テス
トケース′,′の中、終了アドレスが小さい方のテ
ストケース′を選択し、続いて開始アドレスが〔014
0〕のグループのテストケースに第1のルール(a)を
適用して未連結テストケース′を選択し、更に開始ア
ドレスが〔0160〕のグループのテストケースに第1のル
ール(a)を適用して未連結テストケース′を選択し
てテストケース′−′−′を連結し、第4のテス
トデータ〔A′=1,B′=−,C′=,D′=,E′=
〕を求める。このとき、前記の場合と同様に、連結に
用いたテストケースのグループの連結済テストケース数
を「1」だけカウントアップするとともに、連結したテ
ストケースの連結済フラグを「ON」にするため、解析用
テーブルの状態は第4図Dのようになり、この段階で、
各グループの連結済テストケース数は発生テストケース
数と同じ値になり、また連結済フラグのすべてが「ON」
になり、必要数のテストデータが作成されたことが判明
する。
このように、最初の開始アドレスのグループから、順
次、前記の第1,第2のルール(a),(b)にしたがっ
てテストケースを選択して連結することにより、第5図
に示すような、必要最低限のテストデータを効率的に求
めている。
そして、連結したテストケースの連結済フラグを「O
N」にするとともに、当該テストケースのグループの連
結済テストケース数を「1」だけカウントアップしてい
るため、すべての連結済フラグが「ON」となった時点、
または、すべてのグループの連結済テストケース数のそ
れぞれが発生テストケース数と同じ値になった時点で、
プログラムソース全体のロジック検証のために必要なテ
ストデータが求められたことになる。
なお、この実施例のプログラムソースにおいて従来の
方法を用いると、条件文のそれぞれについての「YES」
の場合と「NO」の場合とのすべての組合せを求めるた
め、32(25)組のテストデータなる。
〔発明の効果〕
本発明は、パス解析用テーブルに格納したテストケー
スそれぞれについての各種データに基づき、最初の開始
アドレスから、前記の第1,第2のルール(a),(b)
にしたがってテストケースを連結することによりテスト
データを求める構成にしているため、テスト対象のプロ
グラムソース全体のロジック検証に必要なテストデータ
を効率的に作成することができる。
【図面の簡単な説明】
第1図は本発明の原理説明図、第2図は本発明の対象フ
ローの一例を示す説明図、第3図は本発明の実施例のパ
ス解析用テーブルの初期状態を示す説明図、第4図A,B,
C,Dは本発明の実施例のパス解析用テーブルのテストケ
ース連結の各状態を示す説明図、第5図は本発明の実施
例のテストデータを示す説明図、第6図はプログラムソ
ース及びそのフローの一例を示す説明図、第7図は従来
のテストデータを示す説明図である。 第1図において、 1……テストケースの開始アドレス 2……テストケースの終了アドレス 3……プログラムソースファイル 4……パス解析用テーブル 5……テストデータテーブル

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】プログラムソースからパス解析用テープル
    を作成し、この解析用テーブルに基づいて、条件命令が
    記述されている行番号に対応する開始アドレスと、当該
    条件命令の途中に分岐命令がある時はその分岐先、また
    は分岐命令がない時はこの条件命令の飛び先の行番号に
    対応する終了アドレスとの間のパスに相当するテストケ
    ースを連結していくテストデータ作成方法であって、 前記パス解析用テーブルには、前記開始アドレスごと
    に、この開始アドレスから生じるすべての前記テストケ
    ースについてのデータをグループにして格納し、 最初の前記開始アドレスから、順次、前記グループごと
    に、 ・未連結の前記テストケースの中で、前記終了アドレス
    の小さい方を選択する第1のルールと、 ・すべての前記テストケースを連結した前記グループに
    おいては、その中の前記終了アドレスの一番小さいもの
    と次に小さいものとの間に、以降の前記グループの未連
    結テストケースが存在する時は前記終了アドレスが一番
    小さいほうの前記テストケースを選択し、存在しない時
    は前記終了アドレスの二番目に小さいものと三番目に小
    さいもとの間で同様の処理を実行し、以後これを繰り返
    す第2のルール、 の2つのルールにしたがって、最終の終了アドレスまで
    テストケースを連結していくことを特徴とするテストデ
    ータ作成方法。
  2. 【請求項2】パス解析用テーブルには、グループごとの
    発生テストケース数及び連結済テストケース数について
    のデータを格納し、テストケースを連結するたびに対応
    する連結済テストケース数の値をカウントアップして、
    すべてのグループについて、この値が予めセットされて
    いる前記発生テストケース数になった時点でテストケー
    スの連結処理を終了する請求項1記載のテストデータ作
    成方法。
  3. 【請求項3】パス解析用テーブルには、テストケースそ
    れぞれの連結済フラグについてのデータも格納し、テス
    トケースを連結するたびに対応する連結済フラグを「O
    N」にして、すべてのテストケースの連結済フラグが「O
    N」になった時点でテストケースの連結処理を終了する
    請求項1記載のパス解析におけるテストデータ作成方
    法。
JP2260177A 1990-09-28 1990-09-28 テストデータ作成方法 Expired - Lifetime JP2585460B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2260177A JP2585460B2 (ja) 1990-09-28 1990-09-28 テストデータ作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2260177A JP2585460B2 (ja) 1990-09-28 1990-09-28 テストデータ作成方法

Publications (2)

Publication Number Publication Date
JPH04137146A JPH04137146A (ja) 1992-05-12
JP2585460B2 true JP2585460B2 (ja) 1997-02-26

Family

ID=17344393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2260177A Expired - Lifetime JP2585460B2 (ja) 1990-09-28 1990-09-28 テストデータ作成方法

Country Status (1)

Country Link
JP (1) JP2585460B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729676A (en) * 1993-12-10 1998-03-17 Nec Corporation Method of generating data for evaluating programs
JPH07219819A (ja) * 1993-12-10 1995-08-18 Nec Corp プログラム評価データ作成方法
JP4874277B2 (ja) * 2008-03-12 2012-02-15 株式会社日立ソリューションズ 自動テスト実行システム
JP6658297B2 (ja) * 2016-05-19 2020-03-04 富士通株式会社 テストケース生成方法、テストケース生成プログラムおよびテストケース生成装置

Also Published As

Publication number Publication date
JPH04137146A (ja) 1992-05-12

Similar Documents

Publication Publication Date Title
CN110008113B (zh) 一种测试方法、装置、电子设备
US6941546B2 (en) Method and apparatus for testing a software component using an abstraction matrix
US7676794B2 (en) Testing scenarios that sequentially execute a plurality of application program interfaces
US7895575B2 (en) Apparatus and method for generating test driver
CN111881042B (zh) 自动化测试脚本的生成方法、装置和电子设备
CN108469955B (zh) 一种基于注解的Android注入框架实现方法
US5130932A (en) Generating device for production system simulator
WO2004025463A1 (ja) 要件定義方法、ソフトウェアの開発方法、及び、要件単語の変更方法並びに新規規定方法
US8595559B2 (en) Method and apparatus for model-based testing of a graphical user interface
JP2585460B2 (ja) テストデータ作成方法
CN114297961A (zh) 一种芯片测试用例处理方法及相关装置
JP3965068B2 (ja) ハードウェア設計を検証するための統合テストケース言語
CN108628750B (zh) 一种测试代码处理方法及装置
JPH06110733A (ja) プログラムのテストケース生成装置
Hayes et al. Software specification
JP2820184B2 (ja) ロードモジュール単体テスト支援装置
JPH10207727A (ja) テストプログラム自動生成システム
JPH08166892A (ja) データ処理装置の試験方法
CN105930630A (zh) 一种数据分析方法及装置
CN116126704A (zh) 一种基于语义识别的mock自动造数方法、装置及介质
CN118095451A (zh) 一种产品数据流转决策方法及系统
JPH05143312A (ja) オンラインプログラムのテスト方法
CN115203030A (zh) 一种测试信息处理方法及装置
CN115904973A (zh) 一种基于数据驱动的测试方法及装置
CN116541264A (zh) 一种联调测试案例维护方法、装置