JPH08235024A - ソフトウェアテスト自動化装置 - Google Patents

ソフトウェアテスト自動化装置

Info

Publication number
JPH08235024A
JPH08235024A JP7040661A JP4066195A JPH08235024A JP H08235024 A JPH08235024 A JP H08235024A JP 7040661 A JP7040661 A JP 7040661A JP 4066195 A JP4066195 A JP 4066195A JP H08235024 A JPH08235024 A JP H08235024A
Authority
JP
Japan
Prior art keywords
graph
data
cause
input
output
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
JP7040661A
Other languages
English (en)
Inventor
Kazunori Matsumoto
一教 松本
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP7040661A priority Critical patent/JPH08235024A/ja
Publication of JPH08235024A publication Critical patent/JPH08235024A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 利用者の理解しやすいような原因・結果グラ
フを利用者の負担を少なくして作成するためのソフトウ
ェアテスト自動化装置を提供すること。 【構成】 本発明に係るソフトウェアテスト自動化装置
は、ソフトウェアの外部仕様を記述した入出力マトリク
スから入力データと出力データの関係を抽出し、該入力
データと抽出した該関係に基づき入力データの階層化を
行なって、階層化した入力データと出力データの関係を
抽出する手段と、抽出された前記階層化した入力データ
と出力データの関係に基づいて、原因・結果グラフのノ
ードとなる入出力集合の完備化を行なう手段と、完備化
された前記入出力集合に基づいて、内部構造グラフを生
成する手段と、与えられた前記入力データ間の論理関係
と前記内部構造グラフに基づいて、原因・結果グラフを
作成する手段とを具備したことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入出力マトリクスから
ソフトウェアテストのための原因・結果グラフを作成す
る作業を支援するソフトウェアテスト自動化装置に関す
る。
【0002】
【従来の技術】ソフトウェアの開発においては、十分な
テストを行なうことが要求される。さもなければ、ソフ
トウェアの品質を保証することは困難である。従来から
ソフトウェアのテストに関する技法が多数提案されてお
り、例えば「ソフトウェアの検査と品質保証」(石井康
雄編集、日科技連ソフトウェア品質管理シリーズ、日科
技連、1986;以下、文献1と呼ぶ)などにさまざま
な技術が解説されている。
【0003】ソフトウェアのテスト方式としては、ソフ
トウェアの機能をテストするためのブラックボックステ
ストと、実際に作成されたソフトウェアの各部分を十分
にテストするためのホワイトボックステストに大別でき
る。
【0004】ブラックボックステスト技術の代表的方法
として、原因・結果グラフを利用する方式が知られてい
る。この方式を簡単に説明すると、ソフトウェアの外部
仕様を、ソフトウェアの出力(結果)とこれを生じせし
める原因(入力)との論理関係を示す原因・結果グラフ
により表現し、出力を得るために必要な入力を原因・結
果グラフ上の操作により同定して決定表(デシジョンテ
ーブル)を作成し、テスト項目を設計しようとするもの
である。このような原因・結果グラフを利用する方法を
用いることの利点としては、テスト項目の見落としなど
のミスをなくして、テストに必要な入力を洗い出すこと
ができるということにある。本来ならテストすべきであ
った組合せをミスしてしまうことによって重大な問題が
引き起こされたりするので、原因・結果グラフ法のよう
に組織的にテスト項目を洗い出す方式は有効である。
【0005】しかしながら、原因・結果グラフ作成のた
めには、ソフトウェアの機能仕様書を十分に解析し、さ
らに入出力データ間にどのような論理関係が存在するの
かを入念に解析しなければならない。そのために、原因
・結果グラフ作成者に多大な負担を強いる困難な作業と
なっていた。
【0006】また、従来の原因・結果グラフを利用する
テスト方式においては、複雑なソフトウェアのテストを
行なう場合には、詳細なテスト項目が多数羅列されるこ
とになってしまい、テスト担当者がそれらの意味を把握
することが極めて困難になるという問題を生じていた。
【0007】ここで、特開昭59−5357号公報に
は、原因・結果グラフ方式を利用してテストデータを高
速に生成する原因・結果グラフ実行装置が開示されてい
る。しかしながら、原因・結果グラフそのものの作成手
段は支援されていない。同様に、特開平4−14834
6号公報には、原因・結果グラフを利用してテストを行
なう際の自動化に関する技術が開示されている。しかし
ながら、原因・結果グラフそのものの作成手段は支援さ
れていない。
【0008】また、“An Algebara for
Data Flow Diagram Proces
s Decomposition”,M.Adler,
IEEE Trans. on SE. Vol.1
4,No 2, 1988(以下、文献2と呼ぶ)、
「プロセス分解代数に基づくデータフロー図の段階的詳
細化について」(鈴木英明、高橋直久、情処学会研究会
報告、91−SE−82、pp.71−78、199
1;以下、文献3と呼ぶ)、「データフロー図の自動生
成方式の提案」(山本修一郎、太田賢治、信学会研究会
報告、KBSE92−19、1992;以下、文献4と
呼ぶ)では、入出力マトリクスあるいはI/Oマトリク
スとよばれるデータの入出力仕様からデータフローダイ
アグラム(DFD)を自動生成する技術が開示されてい
る。しかしながら、これらの文献による方法は、ソフト
ウェア作成の上流工程、特に要求分析工程においてDF
Dを利用するためのものであった。従って、機能仕様書
をもとに行なうブラックボックステストに、それらの方
式を単純に適用することは困難であった。すなわち、こ
の技術では現実規模のソフトウェア機能仕様書に対して
大規模なI/OマトリックスやDFDが直接作成される
ことになり、利用者がその意味を把握したり、指示を与
えることが実質上不可能となっていた。
【0009】
【発明が解決しようとする課題】従来、ソフトウェアの
ブラックボックステストのデータ項目作成に用いる原因
・結果グラフ作成のためには、ソフトウェアの機能仕様
書を十分に解析し、さらに入出力データ間にどのような
論理関係が存在するのかを入念に解析しなければなら
ず、原因・結果グラフ作成者に多大な負担を強いる困難
な作業となっていた。
【0010】また、従来の原因・結果グラフを利用する
テスト方式においては、複雑なソフトウェアのテストを
行なう場合には、詳細なテスト項目が多数羅列されるこ
とになってしまい、テスト担当者がそれらの意味を把握
することが極めて困難になるという問題を生じていた。
【0011】また、従来の原因・結果グラフの作成を支
援する装置では、大規模なI/Oマトリックスが作成さ
れてしまい、利用者がその意味を把握したり、指示を与
えることが実質上不可能となっていた。
【0012】本発明は、上記事情を考慮してなされたも
のであり、利用者の理解しやすいような原因・結果グラ
フを利用者の負担を少なくして作成するためのソフトウ
ェアテスト自動化装置を提供することにある。
【0013】また、本発明は、機能仕様書の詳細な項目
を単純に羅列した、利用者にとって理解困難なテスト項
目が生成されてしまうことを防ぎ、意味のある固まりご
とにテスト項目を生成することで利用者が容易に意味を
把握することのできるソフトウェアテスト自動化装置を
提供することにある。
【0014】
【課題を解決するための手段】本発明に係るソフトウェ
アテスト自動化装置は、ソフトウェアの外部仕様を記述
した入出力マトリクスから入力データと出力データの関
係を抽出し、該入力データと抽出した該関係に基づき入
力データの階層化を行なって、階層化した入力データと
出力データの関係を抽出する手段と、抽出された前記階
層化した入力データと出力データの関係に基づいて、原
因・結果グラフのノードとなる入出力集合の完備化を行
なう手段と、完備化された前記入出力集合に基づいて、
内部構造グラフを生成する手段と、与えられた前記入力
データ間の論理関係と前記内部構造グラフに基づいて、
原因・結果グラフを作成する手段とを具備したことを特
徴とする。
【0015】好ましくは、前記入出力マトリクスから抽
出された前記入力データと出力データの関係、抽出され
た前記階層化した入力データと出力データの関係、生成
された前記内部構造グラフ、および作成された前記原因
・結果グラフの少なくとも1つを表示する手段をさらに
具備したことを特徴とする。
【0016】また、好ましくは、前記入出力マトリクス
から抽出された前記入力データと出力データの関係、抽
出された前記階層化した入力データと出力データの関
係、生成された前記内部構造グラフ、および作成された
前記原因・結果グラフの少なくとも1つを編集するため
の手段をさらに具備したことを特徴とする。
【0017】また、好ましくは、生成された前記内部構
造グラフに基づいて、前記入力データ間の論理関係を得
るための手段をさらに具備したことを特徴とする。ま
た、好ましくは、作成された原因・結果グラフを元にし
て階層的なテスト項目を作成する手段をさらに具備した
ことを特徴とする。
【0018】また、好ましくは、作成された前記階層的
なテスト項目を表示する手段をさらに具備したことを特
徴とする。また、好ましくは、作成された前記階層的な
テスト項目を編集する手段をさらに具備したことを特徴
とする。
【0019】
【作用】本発明では、入出力(I/Oマトリクス)とい
う簡単に記述することのできる機能仕様書から生成され
たグラフをもとに、自動的あるいは対話的に原因・結果
グラフを作成することができるので、利用者の負担を大
きく減少させることができる。
【0020】また、本発明では、データの階層構造を用
いて階層的に原因・結果グラフを作成するので、作成さ
れた原因・結果グラフは意味の把握しやすい単位ごとに
まとめられるため、利用者がテストの目的を十分に把握
することが可能になる利点が生じる。さらに、利用者が
追加や修正を加えることも容易になる。
【0021】また、本発明では、データの階層構造を用
いて階層的に原因・結果グラフを作成し、階層的なテス
ト項目生成を行なうので、作成されたテスト項目は意味
の把握しやすい単位ごとにまとめられるため、利用者が
テストの目的を十分に把握することが可能になる利点が
生じる。さらに、作成されたテスト項目に対して、利用
者が追加や修正を加えることも容易になる。
【0022】
【実施例】以下、図面を参照しながら実施例を説明す
る。本発明は、概略的には、I/Oマトリクスによる機
能仕様から、データに関する階層構造を抽出し、その結
果に基づいて原因・結果グラフを作成するものである。
ソフトウェアのテスト工程を対象とする本発明では、原
因・結果グラフを作成する中間段階において、ソフトウ
ェア要求分析工程の支援のために開発されたDFDの自
動生成技術(文献[2] ,[3] ,[4] 等)をそのま
ま利用することはできないので、データの階層構造を利
用して階層的にDFD作成を行なうことができるように
している。
【0023】図1に、本発明の一実施例に係るソフトウ
ェアテスト自動化装置の構成を示す。本実施例のソフト
ウェアテスト自動化装置は、仕様記述部1、仕様解析部
2、仕様完備化部3、グラフ解釈部4、グラフ質問部
5、原因・結果グラフ作成部6、記憶部10、インタフ
ェース部11、テスト項目生成部12、入出力部20を
備えている。
【0024】仕様記述部1は、I/Oマトリクス形式で
ソフトウェア機能仕様書を記述・入力するためのもので
ある。仕様解析部2は、入力されたI/Oマトリクスを
解析して、グラフ作成に必要なデータの抽出とデータ階
層化を行なう。
【0025】仕様完備化部3は、仕様解析部2で抽出さ
れ階層化されたデータを解析し、必要なデータを追加す
る。グラフ解釈部4は、仕様完備化部3の結果をグラフ
として出力する。
【0026】グラフ質問部5は、グラフ解釈部4の出力
をもとに利用者に質問し、原因・結果グラフ作成のデー
タをそろえる。原因・結果グラフ作成部6は、そろえら
れたデータに基づいて、最終的な原因・結果グラフを作
成する。
【0027】テスト項目生成部12は、得られた原因・
結果グラフからテスト項目を階層的に生成する。入出力
部20は、必要なデータを入出力するためのものであ
る。本実施例では、入出力部20は、出力装置としてデ
ィスプレイを、入力装置としてキーボードおよびマウス
を備えているものとする。
【0028】記憶部10は、処理に必要なデータを保存
するためのものである。インタフェース部11は、上記
の各ブロック間でのデータ転送や記憶部10への読み書
きを行うためのものである。
【0029】本実施例は、ソフトウェアのブラックボッ
クステストを行なうために用いるものであり、ソフトウ
ェアの機能仕様書から簡単に得られるI/Oマトリクス
を入力とする。機能仕様書とは、図3にその一例を示す
ように、ソフトウェアがどのような機能を持つのかを規
定するものである。以下、本実施例では、図3に示す機
能仕様書を使って説明を行う。
【0030】ここで、本実施例にて具体例として用いる
ソフトウェアの機能仕様書(図3)を以下に示してお
く。 <機能仕様書>ファイル出力ツールは、編集中ファイル
の表示機能、指定ファイルの表示機能、指定ファイルの
指定部分を他のファイルに転送する機能を持つ。編集中
ファイルの表示機能では、現在編集中のファイルの表示
開始位置と表示終了位置および表示を行なう出力装置を
指定することで、編集中のファイルの表示開始位置から
表示終了位置までを指定した出力装置に出力する。指定
ファイル表示機能では、表示するファイルとファイル表
示開始位置、表示終了位置、表示装置とを指定すること
で、そのファイルの開始位置から終了位置までを指定し
た装置に出力する。ファイル転送機能では、転送元ファ
イルと転送元ファイルの転送開始位置、転送終了位置、
および転送先ファイル名を指定する。転送元ファイルの
転送開始位置から転送終了位置までが、転送先ファイル
の後部に転送される。なお、各機能で指定するファイル
名としては、ローカルな記憶装置上のものを表すローカ
ルファイル名と、ホスト上の記憶装置上のものを表すグ
ローバルファイル名のいずれをも指定できる。また、表
示開始位置および表示終了位置に関しては、ファイル先
頭からの行数を行指定指示子と共に指定するか、先頭か
らのバイト数をバイト数指定指示子共に指定することが
できる。表示終了位置に関しては、ファイル先頭からの
行数を英数字で指定するか、ファイルの末端位置を意味
する*で指定する。出力装置の指定においては、ディス
プレイ装置、プリンタ装置、テープ装置、カード装置の
装置名を指定する。本システムでは、ファイル名、装置
名のデフォルト名をあらかじめ与えることができ、ファ
イル名や装置名が省略された場合には、デフォルト名が
使用される。 (機能仕様書の終り)図2は、本実施例のソフトウェア
テスト自動化装置の処理の流れを示すフローチャートで
ある。以下、図2を参照しながら、本実施例の処理の流
れを説明する。
【0031】[ステップS1]まず、仕様記述部1によ
りI/Oマトリクスを入力する。もちろん、入出力部2
0のディスプレイ、キーボード、マウスが、インタフェ
ース部11によりデータを交換しながら、容易に入力が
行なえるようになっている。
【0032】ここでの作業は、機能仕様書で規定される
各機能について、その機能が出力されるために必要とな
る入力データをリストアップし、マトリクス形式でまと
めることである。
【0033】なお、自然言語で記述された文章を自動的
あるいは利用者の援助を得ながら解析するための装置に
関して、多くの技術が知られており、仕様記述部1にお
いても、それらの技術を利用することができる。
【0034】本実施例では、I/Oマトリクスとして図
4が仕様記述部1により入力されたものとする。ここ
で、I/Oマトリクスの読み方について説明する。図4
のI/Oマトリクスには、3つの列があるが、各々、編
集中ファイル表示機能、指定ファイル表示機能、ファイ
ル転送機能に対応している。一方、マトリクスの行につ
いて注目するとローカルファイル名、グローバルファイ
ル名、デフォルトファイル名、行指定開始位置、バイト
数指定開始位置、開始位置指定省略、行指定終了位置、
バイト数指定終了位置、終了位置指定省略、ディスプレ
イ装置名、プリンタ装置名、テープ装置名、カード装置
名、デフォルト装置名、転送ローカルファイル名、転送
グローバルファイル名、デフォルト転送ファイル名、デ
フォルト名使用指示子、行指定指示子、バイト数指定指
示子という20行がある。これらは、各々入力データを
示している。
【0035】マトリクスの第j列において、1となって
いる行成分は、第j列に対応する機能にはそれらの入力
データが必要とされることを意味している。例えば、第
1列めに対応する編集ファイル表示機能については、4
行めから14行めまでの成分が1となっているので、そ
れらに対応するデータがこの機能に必要であることが解
る。
【0036】I/Oマトリクスにおいては、入力データ
間の論理的な関係は無視されている。例えば、この編集
ファイル表示機能の場合には、図3を見ると、行指定開
始位置、バイト数指定開始位置、開始位置指定省略の3
つの入力データは論理和(OR)で結ばれる関係にある
ことが分かるが、図4のI/Oマトリクスにはその情報
は記述されていない。
【0037】[ステップS2]次に、ステップS1で得
たI/Oマトリクスを、インターフェース部11を介し
て記憶部10に保存する。
【0038】[ステップS3]続いて、仕様解析部2
は、まず、上記のI/Oマトリクスの入力データ間の論
理関係を解析して、入出力データを抽出する。
【0039】具体的には、仕様解析部2では、入力され
たI/Oマトリクス(図4)を解析し、各入力記号iに
対してそれと関連する出力記号集合Vi を対応させる。
i全体は、Vで表す。出力記号集合−入力記号関係E
Iは、入力記号Iと出力記号集合の部分集合を表すもの
であり、次のように定義される。
【0040】
【数1】
【0041】図4の場合には、次に示すようになる。こ
こで、第i行目の入力記号を数字のiで示している。例
えば、1は第1行名の入力データであるローカルファイ
ル名を示す。
【0042】 V1 ={SDS,FCP} V2 ={SDS,FCP} V3 ={SDS,FCP} V4 ={EDS,SDS,FCP} V5 ={EDS,SDS,FCP} V6 ={EDS,SDS,FCP} V7 ={EDS,SDS,FCP} V8 ={EDS,SDS,FCP} V9 ={EDS,SDS,FCP} V 10 ={EDS,SDS} V11={EDS,SDS} V12={EDS,SDS} V13={EDS,SDS} V14={EDS,SDS} V15={FCP} V16={FCP} V17={FCP} V18={EDS,SDS,FCP} V19={EDS,SDS,FCP} V20={EDS,SDS,FCP} V={{SDS,FCP},{EDS,SDS,FC
P},{EDS,SDS},{FCP}} EI={ {1,{SDS,FCP}}, {2,{SDS,FCP}}, {3,{SDS,FCP}}, {4,{EDS,SDS,FCP}}, {5,{EDS,SDS,FCP}}, {6,{EDS,SDS,CP}}, {7,{EDS,SDS,FCP}}, {8,{EDS,SDS,FCP}}, {9,{EDS,SDS,FCP}}, {10,{EDS,SDS}}, {11,{EDS,SDS}}, {12,{EDS,SDS}}, {13,{EDS,SDS}}, {14,{EDS,SDS}}, {15,{FCP}}, {16,{FCP}}, {17,{FCP}}, {18,{EDS,SDS,FCP}}, {19,{EDS,SDS,FCP}}, {20,{EDS,SDS,FCP}}, } [ステップS4]仕様解析部2は、次に、I/Oマトリ
クスを解析し、データ階層構造を抽出する。
【0043】ここで、前述の文献[2],[3],
[4]で提案されている方式をそのまま用いるとする
と、上記のVi,V,EIを直接使ってデータフローダ
イアグラム(DFD)を作成することになるが、そのよ
うに機能仕様書から直接作成するI/Oマトリクスは極
めて大きなサイズになるため、処理のために著しい時間
を必要とするばかりでなく、複雑すぎるDFDが作成さ
れてしまい利用者の解読が困難になってしまう。これを
解決するために、本実施例の仕様解析部2においては、
図4のマトリクスに基づいてデータの階層化およびI/
Oマトリクスの階層化を行なって、I/Oマトリクスの
サイズをコンパクトにする。
【0044】図5に、仕様解析部2でデータ階層化を行
なうための処理の流れを示す。まず、I/Oマトリクス
を読み込む(ステップS21)。そして、以下の処理
を、マトリクスのすべての行について施す(ステップS
22,S23,S28)。
【0045】I/Oマトリクスの各行について、それと
一致する行を求め、それらを階層化するかどうかを、入
出力部20を用いて利用者に尋ねる(ステップS2
6)。本実施例では、第1行めの入力データローカルフ
ァイル名に対して、第2、3行めが一致するので、これ
らを入出力部20のディスプレイ上に表示する。利用者
は、その表示内容に従い、ローカルファイル名、グロー
バルファイル名、デフォルトファイル名の3つの入力デ
ータについて、機能仕様書を再検討等し、これらをひと
まとめにして階層化するか否かなどを決定する。
【0046】これらをひとまとめにして階層化する場合
には、このグループを表現する適当な名前を、入出力部
20から入力する(ステップS27)。本実施例では、
ファイル名(FN)という新たな名前を与えている。
【0047】以上のような操作が各行について繰返し行
われる。例えば、マトリクスの4行め(行指定開始位
置)の処理では、5行めから9行めまで、および18、
19、20行がこれと一致し、ディスプレイに表示され
る。本実施例では、行指定開始位置、バイト数指定開始
位置、開始位置指定省略の3つをひとまとめに階層化
し、開始位置(SP)という名前を与えている。また、
行指定終了位置、バイト数指定終了位置、終了位置指定
省略、デフォルト名使用指示子、行指定指示子、バイト
数指定指示子の6つに対しては、ファイル終了位置(E
P)という名前を与えている。ディスプレイ装置名、プ
リンタ装置名、テープ装置名、カード装置名、装置名省
略に対しては、装置名(DN)として階層化している。
転送ローカルファイル名、転送グローバルファイル名、
転送ファイル名省略に対しては、転送先名(TN)とし
て階層化している。
【0048】このようにして、I/Oマトリクスの階層
化が完了する。図6は、図4のI/Oマトリクスを基に
して階層化された最も上位のI/Oマトリクスを示して
いる。図7(a),(b)は、ファイル名(FN),開
始位置(SP),終了位置(EP)、装置名(DN)、
転送先名(TN)の各階層化データともとのデータとの
関連を示す図であり、利用者との対話により作成するこ
とができる。なお、図7は、原因・結果グラフと同様の
記述方法で表されており、図中のアーク(矢印)間の論
理関係をAND(論理積)やOR(論理和)を用いて表
現している。
【0049】抽出した階層構造は、インターフェース部
11を介して記憶部10に保存される。上記のようにし
てステップS4のI/Oマトリクスの階層化が完了する
と、続けて、データ階層構造の上位から下位に向けて順
に、次のステップS6からの一連の処理を行う。ステッ
プS5に示すように、全てのデータ階層について一連の
処理を行った場合に本実施例の処理を終了する。
【0050】(ステップS6)まず、ステップS6で、
仕様完備化部3により、I/Oマトリクスの完備化が行
なわれる。ここで、完備化とは、出力記号集合全体の任
意の部分集合が最小元を持つようにすることである。こ
こでは、図6に示す階層化されたI/Oマトリクスを対
象として処理を行なうこととする。
【0051】図8に、完備化の様子を示す。図8におい
て、破線で表示された部分が完備化により付加された部
分である。すなわち、{{EDS,SDS,FCP},
{EDS,SDS},{SDS,FCP}}の最小元
は、{SDS}であり、もとのVに含まれないので{S
DS}が全体に追加される。結局、完備化により得られ
た部分を出力記号集合に付加して、次に示すV´を得
る。
【0052】
【数2】
【0053】(ステップS7)次に、グラフ解釈部4
は、仕様完備化部3の実行結果をグラフ(N;E)とし
て表現し表示する。この操作を、グラフ解釈と呼ぶ。グ
ラフ解釈部4の処理としては、例えば、文献[2],
[3],[4]に開示されている技術を利用し、階層化
した入出力と完備化された出力記号集合の接続関係を求
める。
【0054】このグラフ解釈の結果を、例えば図9のよ
うにして、データフローダイアグラム(DFD)の形式
で入出力部20のディスプレイに表示する。 (ステップS8〜ステップS12)次に、グラフ質問部
5は、グラフ解釈部4の出力をもとに利用者に質問し、
原因・結果グラフ作成のデータをそろえる。
【0055】まず、ステップS8で、グラフ質問部5
は、このグラフがテスト対象のソフトウェアの内部構造
として適当であるかどうかを利用者に質問する。もし、
変更すべき部分があるなら、利用者は、入出力部20の
マウスやキーボードを使って変更を指示することができ
る(ステップS12)。ここで、本実施例においては、
データの階層化を行なってからDFDを作成しているた
め、階層化を行なわない従来の方式に比べて可読性や理
解性が大幅に向上していることが従来と異なる特長であ
る。従って、利用者がこのDFDの表示を見ながら、細
部の修正を行なうなどの処理が容易となっている。
【0056】本実施例では、図9のDFDを修正するこ
となく採用できたものとする。続いて、ステップS9
で、グラフ上のデータ間の論理関係を利用者に質問す
る。
【0057】まず、グラフ質問部5は、図9のDFDを
図10のような形式として改めて表示する。もとのDF
Dとの相違は、入力データFN,SP,EP,DN,T
Nや出力EDS,SDS,FCPの各々にグラフ上のノ
ード(頂点)を作っていることと、入力データに対応す
るノードをできる限り左に、出力に対応するノードをで
きる限り右に配置していることである。これは、原因・
結果グラフの標準的な記述に合わせるために行うもので
ある。
【0058】そして、グラフ質問部5は、図10のグラ
フ上にどのような論理関係が存在するのかを利用者に質
問する。例えば、グラフ上の入力データ(に対応するノ
ード)から処理を開始し、複数の入力アークを持つノー
ドに対して、それらのアークが論理的にどのような関係
にあるのかを質問している。質問を受けた利用者は、図
3のような機能仕様書や作成した図4のようなI/Oマ
トリクスを見ながら、どのような論理関係が存在するの
かを考えることになる。なお、本実施例では、データ階
層化が行なわれているために、詳細なデータで考える必
要はなく、利用者に負担は生じない。
【0059】そして、利用者は、例えば、論理的に積の
関係にある(AND)か、論理的に和の関係にある(O
R)かなどを与える。具体的には、本実施例では、開始
位置(SP)と終了位置(EP)とを同時に省略しては
ならないことが解るので、これらの入力データには“包
含する”(図11中のE)という関係が存在することを
入力する。
【0060】図11は、グラフ質問部5の実行によりら
れるグラフを示している。これは原因・結果グラフとな
っている。図11では、SPとEPで示されるノードが
Iとラベル付けされた辺で結ばれている。転送先名(T
N)を指定する場合には、ファイル名(FN)を必ず指
定しておかねばならないので、これらのノードは“必要
とする”という関係で結ばれる。図11中では、これら
のノードがRというラベルを付けた辺で結ばれている。
装置名(DN)と転送先名(TN)とは同時に指定する
ことができないため、“排他的である”という関係で結
ばれる。図11中では、これらのノードがEというラベ
ルを付けた辺で結ばれている。
【0061】このようにして、図11で示すような原因
・結果グラフを得ることができる。原因・結果グラフ
は、原因・結果グラフ作成部6により上記のようにして
そろえられたデータに基づいて作成される。
【0062】次に、ステップS10で、論理関係をグラ
フに表現し表示する。例えば、図11の原因・結果グラ
フが、入出力部のディスプレイ表示される。次に、ステ
ップS11で、グラフ質問部5は、このグラフがテスト
対象のソフトウェアの内部構造として適当であるかどう
かを利用者に質問する。もし、変更すべき部分があるな
ら、利用者は、入出力部20のマウスやキーボードを使
って変更を指示することができる(ステップS12)。
【0063】本実施例では、図11の原因・結果グラフ
を修正することなく採用できたものとする。 (ステップS13)作成した原因・結果グラフは、原因
・結果グラフ作成部6により表示されるとともに記憶部
10に保存される。
【0064】(ステップS14)以上のようにして、I
/Oマトリクスから原因・結果グラフが作成されると、
次に、テスト項目生成部12は、得られた原因・結果グ
ラフからソフトウェアのブラックボックステストに用い
るテスト項目を階層的に生成する。
【0065】原因・結果グラフからテスト項目を得るた
めの方法に関しては、文献[1]に示されている。その
方法では、原因・結果グラフから決定表とよばれるマト
リクスを作成するものである。具体的には、文献[1]
で提供されている決定表の作成手順は、以下の通りであ
る。まず、原因・結果グラフから1つの結果を選ぶ。次
に、グラフをこの結果から逆にたどり、この結果が存在
状態(1で表す)になる原因の組合わせをすべてみつけ
る。このとき、原因間の制約条件を考慮する。次に、原
因の組合わせを表現するための決定表の列を作る。他の
結果についても、同様な操作を行って決定表を完成させ
る。
【0066】図12は、図11の原因・結果グラフテス
トに基づいて、項目生成部12により作成された決定表
である。ここで、「1」はその原因あるいは結果が存在
している状態を表し、「0」は存在していない状態を表
す。また、空白はどちらでもよいことを表す。
【0067】上記のようにして決定表が得られると、出
力(EDS,SDS,FCP)の各々が1である各列に
対して、その列中で1となっている入力成分をテスト項
目として採用する。入力成分が0である欄は、その入力
を与えないことに対応している。
【0068】本実施例では、決定表から得られるテスト
項目を利用者が容易に理解できるものとするため、解り
やすい日本語で表示されるようになっている。例えば、
決定表の最初の列に対しては、“編集機能表示(ED
S)テストのために、装置名と開始位置と終了位置を与
えてテストせよ”のような日本語が出力される。決定表
の3番めの列に対しては、“編集機能表示(EDS)テ
ストのために、終了位置を省略し、装置名と開始位置を
与えてテストせよ”のような日本語が出力される。この
ように、本装置の出力を容易に解りやすい日本語で出力
することができ、しかもテスト項目はデータ階層化に従
って抽象化されたものになっているため、利用者はテス
ト項目の意味を十分に理解することができる。
【0069】本実施例では、次に、ここまで得られてい
るテスト項目をより具体的なものとするための処理を行
なう。データ階層化を行なった際に、図7に示したデー
タ間の論理関係を規定した場合、図7を原因・結果グラ
フと見なして、規定していない場合、図7に相当するも
のを作成して、これに基づいて上記と同様にして決定表
の作成を行なうことができる。その結果は、図13のよ
うになる。この図13の決定表をもとにデータ間のテス
ト項目を生成することができる。
【0070】(ステップS15)作成したテスト項目
は、記憶部10に保存する。以上のステップS6からス
テップS15の一例の処理により、1つの階層の処理が
終わる。以降は、前述したように、各階層について一連
の処理を繰返し行う。
【0071】ここで、本実施例は、種々変更することが
可能である。例えば、ステップS14とステップS15
のテスト項目生成等は、処理ループの中に入れずに、す
べての階層について原因・結果グラフを得たあとで、ま
とめて行っても良い。
【0072】また、ステップS4,ステップS8,ステ
ップS11,ステップS12など対話的な部分のうち任
意のものを省いても良い。例えば、ステップS4では、
ひとまとめにして階層化できる入力データは、利用者に
尋ねずに、すべて階層化してしまっても良い。すべての
対話的な部分を省いて利用者による修正を行わずに本実
施例の処理を行っても良い。対話を省略したとしても、
続く処理を自動的に継続することが可能である。また、
最終的な出力結果を、ユーザが見た後にあらためて対話
的な修正を行なうように、本実施例を容易に修正するこ
とができる。いずれの場合においても、従来に比較し
て、容易に理解しやすい原因・結果グラフあるいはテス
ト項目を得ることができる。
【0073】また、得られた各データは、その都度、記
憶部10に格納しても良いし、格納せずに、必要な転送
を行っても良い。以上のように本実施例によれば、原因
・結果グラフを利用者の負担を少なくして作成すること
ができる。
【0074】また、データ階層化を行うので、利用者が
理解困難になるような複雑な原因・結果グラフが直接作
成されることを防ぐことができる。従って、利用者が原
因・結果グラフの意味を容易に把握することができた
り、状況に応じて出力された原因・結果グラフを容易に
修正したり追加したりできるようになる。
【0075】また、機能仕様書の詳細な項目を単純に羅
列した、利用者にとって理解困難なテスト項目が生成さ
れてしまうことを防ぎ、意味のある固まりごとにテスト
項目を生成することで利用者が容易に意味を把握するこ
とのできるテスト項目を生成することができる。また、
本発明は上述した各実施例に限定されるものではなく、
その要旨を逸脱しない範囲で、種々変形して実施するこ
とができる。
【0076】
【発明の効果】本発明によれば、入出力マトリクスとい
う簡単に記述することのできる機能仕様書から生成され
たグラフをもとに原因・結果グラフを作成することがで
きるので、利用者の負担を大きく減少させることができ
る。
【0077】また、本発明では、データの階層構造を用
いて階層的に原因・結果グラフを作成するので、作成さ
れた原因・結果グラフは意味の把握しやすい単位ごとに
まとめられるため、利用者がテストの目的を十分に把握
することが可能になる利点が生じる。
【0078】また、本発明では、データの階層構造を用
いて階層的に原因・結果グラフを作成し、階層的なテス
ト項目生成を行なうので、作成されたテスト項目は意味
の把握しやすい単位ごとにまとめられるため、利用者が
テストの目的を十分に把握することが可能になる利点が
生じる。さらに、作成された原因・結果グラフやテスト
項目などに対して、利用者が追加や修正を加えることも
容易になる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るソフトウェアテスト自
動化装置の構成を示す図
【図2】同実施例の処理の流れを示すフローチャート
【図3】ソフトウェアの機能仕様書の一例を示す図
【図4】I/Oマトリクスの一例を示す図
【図5】I/Oマトリクスの階層化の手順の一例を示す
フローチャート
【図6】階層化されたI/Oマトリクスの一例を示す図
【図7】階層化されたデータ間の論理関係を示す図
【図8】I/Oマトリクスの完備化の手順の一例を示す
フローチャート
【図9】グラフ解釈結果の一例を示す図
【図10】グラフ解釈結果の表示例を示す図
【図11】原因・結果グラフの一例を示す図
【図12】決定表の一例を示す図
【図13】決定表の一例を示す図
【符号の説明】 1…仕様記述部、2…仕様解析部、3…仕様完備化部、
4…グラフ解釈部、5…グラフ質問部、6…原因・結果
グラフ作成部、10…記憶部、11…インタフェース
部、12…テスト項目生成部、20…入出力部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】ソフトウェアの外部仕様を記述した入出力
    マトリクスから入力データと出力データの関係を抽出
    し、該入力データと抽出した該関係に基づき入力データ
    の階層化を行なって、階層化した入力データと出力デー
    タの関係を抽出する手段と、 抽出された前記階層化した入力データと出力データの関
    係に基づいて、原因・結果グラフのノードとなる入出力
    集合の完備化を行なう手段と、 完備化された前記入出力集合に基づいて、内部構造グラ
    フを生成する手段と、 与えられた前記入力データ間の論理関係と前記内部構造
    グラフに基づいて、原因・結果グラフを作成する手段と
    を具備したことを特徴とするソフトウェアテスト自動化
    装置。
  2. 【請求項2】前記入出力マトリクスから抽出された前記
    入力データと出力データの関係、抽出された前記階層化
    した入力データと出力データの関係、生成された前記内
    部構造グラフ、および作成された前記原因・結果グラフ
    の少なくとも1つを表示する手段をさらに具備したこと
    を特徴とする請求項1に記載のソフトウェアテスト自動
    化装置。
  3. 【請求項3】前記入出力マトリクスから抽出された前記
    入力データと出力データの関係、抽出された前記階層化
    した入力データと出力データの関係、生成された前記内
    部構造グラフ、および作成された前記原因・結果グラフ
    の少なくとも1つを編集するための手段をさらに具備し
    たことを特徴とする請求項1または2に記載のソフトウ
    ェアテスト自動化装置。
  4. 【請求項4】生成された前記内部構造グラフに基づい
    て、前記入力データ間の論理関係を得るための手段をさ
    らに具備したことを特徴とする請求項1に記載のソフト
    ウェアテスト自動化装置。
  5. 【請求項5】作成された原因・結果グラフを元にして階
    層的なテスト項目を作成する手段をさらに具備したこと
    を特徴とする請求項1に記載のソフトウェアテスト自動
    化装置。
  6. 【請求項6】作成された前記階層的なテスト項目を表示
    する手段をさらに具備したことを特徴とする請求項5に
    記載のソフトウェアテスト自動化装置。
  7. 【請求項7】作成された前記階層的なテスト項目を編集
    する手段をさらに具備したことを特徴とする請求項5ま
    たは6に記載のソフトウェアテスト自動化装置。
JP7040661A 1995-02-28 1995-02-28 ソフトウェアテスト自動化装置 Pending JPH08235024A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7040661A JPH08235024A (ja) 1995-02-28 1995-02-28 ソフトウェアテスト自動化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7040661A JPH08235024A (ja) 1995-02-28 1995-02-28 ソフトウェアテスト自動化装置

Publications (1)

Publication Number Publication Date
JPH08235024A true JPH08235024A (ja) 1996-09-13

Family

ID=12586723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7040661A Pending JPH08235024A (ja) 1995-02-28 1995-02-28 ソフトウェアテスト自動化装置

Country Status (1)

Country Link
JP (1) JPH08235024A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766481B2 (en) * 2001-04-24 2004-07-20 West Virginia High Technology Consortium Foundation Software suitability testing system
WO2004104824A1 (ja) * 2003-05-26 2004-12-02 Fujitsu Limited ユーザインタフェースアプリケーション開発装置および開発方法
CN100407161C (zh) * 2004-09-09 2008-07-30 北京航空航天大学 软件动态聚类测试方法
JP2010511250A (ja) * 2006-11-27 2010-04-08 ハネウェル・インターナショナル・インコーポレーテッド 要求ベーステスト生成
US7904843B2 (en) 2006-03-23 2011-03-08 Fujitsu Limited Systematic generation of scenarios from specification sheet
JP2012190203A (ja) * 2011-03-10 2012-10-04 Hitachi Ltd 表形式ソフトウェア仕様作成支援方法、及び装置
CN115567340A (zh) * 2022-09-22 2023-01-03 重庆长安汽车股份有限公司 Can总线的测试工程生成方法、装置、设备及介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766481B2 (en) * 2001-04-24 2004-07-20 West Virginia High Technology Consortium Foundation Software suitability testing system
WO2004104824A1 (ja) * 2003-05-26 2004-12-02 Fujitsu Limited ユーザインタフェースアプリケーション開発装置および開発方法
CN100407161C (zh) * 2004-09-09 2008-07-30 北京航空航天大学 软件动态聚类测试方法
US7904843B2 (en) 2006-03-23 2011-03-08 Fujitsu Limited Systematic generation of scenarios from specification sheet
JP2010511250A (ja) * 2006-11-27 2010-04-08 ハネウェル・インターナショナル・インコーポレーテッド 要求ベーステスト生成
JP2012190203A (ja) * 2011-03-10 2012-10-04 Hitachi Ltd 表形式ソフトウェア仕様作成支援方法、及び装置
CN115567340A (zh) * 2022-09-22 2023-01-03 重庆长安汽车股份有限公司 Can总线的测试工程生成方法、装置、设备及介质
CN115567340B (zh) * 2022-09-22 2024-04-26 重庆长安汽车股份有限公司 Can总线的测试工程生成方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
JPH08235024A (ja) ソフトウェアテスト自動化装置
JP5747698B2 (ja) 要件管理支援装置
JPWO2006103760A1 (ja) 文書変換活用システム
JP2002014845A (ja) テスト・スクリプト部品の自動生成方法および装置
WO2006071368A2 (en) System and method for information encapsulation for providing multiple deliverable formats from one information source
JP2003330710A (ja) プログラム生成装置、及びプログラム生成方法、並びにプログラム生成用プログラム
WO2000038052A1 (en) Localization of software products
JP2762934B2 (ja) テスト項目設計支援システム
JPH0752387B2 (ja) ソフトウエア開発支援装置
JPH04181455A (ja) 画面遷移仕様作成方法
EP1014262A2 (en) Localization of software products
JP2604551B2 (ja) ファイルダンプ出力支援方法
JP3112623B2 (ja) プログラム生産支援装置
JPH07334523A (ja) 情報処理装置
JP3080891B2 (ja) 帳票処理装置
JPH0830448A (ja) プログラム仕様整合検査装置
JPH08255012A (ja) プラント運転記録報告書作成装置
Cheng et al. Providing user-oriented support for software development by formal methods
CN117149152A (zh) 一种编程式建模的数据分析方法
JPH0850576A (ja) 視覚対話型シミュレーション装置
JPH06282589A (ja) 情報検索装置における視覚化表示システム
JPS63226730A (ja) プログラム自動作成方法
JP2000066885A (ja) 要求仕様設計支援装置、要求仕様設計支援方法および記録媒体
JPH06309159A (ja) プログラム自動生成装置
JPH05119989A (ja) プログラム仕様管理システム