JPH06214775A - テストプログラム作成支援装置 - Google Patents

テストプログラム作成支援装置

Info

Publication number
JPH06214775A
JPH06214775A JP5007378A JP737893A JPH06214775A JP H06214775 A JPH06214775 A JP H06214775A JP 5007378 A JP5007378 A JP 5007378A JP 737893 A JP737893 A JP 737893A JP H06214775 A JPH06214775 A JP H06214775A
Authority
JP
Japan
Prior art keywords
sentence
test program
test
function
program
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
JP5007378A
Other languages
English (en)
Inventor
Teru Matsuoka
輝 松岡
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.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi 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 Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP5007378A priority Critical patent/JPH06214775A/ja
Publication of JPH06214775A publication Critical patent/JPH06214775A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】言語処理プログラムのテストに用いるテストプ
ログラムの作成において、文法の網羅性を確保したテス
トプログラムの集合を、容易に作成できること。 【構成】言語処理プログラムの機能である文の構文規則
を入力し、その構文規則から導出される全ての文パター
ンを自動生成する文パターン生成部と、文パターンを表
示し、使用者のキー操作を伺って、文パターンを編集す
ることでテストプログラムを作成するテストプログラム
編集部とからなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、言語処理プログラムの
テストに用いるテストプログラムの作成において、文法
の網羅性を確保したテストプログラムの集合を、容易に
作成するためのテストプログラム作成支援装置に関する
ものである。
【0002】
【従来の技術】言語処理プログラムのテストプログラム
の作成方法として、一般的な方法は人手による作成であ
る。すなわち、検査員等が言語処理プログラムの機能で
ある各文の構文規則が記載されたドキュメントから文の
機能や文法を読み取り、テストに必要であると思われる
文を検査員の経験的な判断により選出し、エディタ等に
よりファイルに書き込んでテストプログラムを作成して
いた。また、このほかに機械的な方法も実施されてい
る。特開平1−220044号公報(昭和63年2月2
9日出願、”言語処理プログラム検証方式”)では、言
語処理プログラムの各文の文法を示した構文・意味記述
を入力し、乱数的に構文規則をたどり、自動的にテスト
プログラムを作成する方式が報告されている。また、特
開平3−75840号公報(平成1年8月17日出
願、”テストデータ作成支援装置”)では、言語処理プ
ログラムの各文の文法を示した文法定義ファイルと、既
存のテストプログラムの集合とを入力とし、既存のテス
トプログラムの集合の文法の網羅性を判定し、不足のテ
ストプログラムを自動的に作成する装置が報告されてい
る。ここで、文法の網羅性とは、言語処理プログラムの
各文の構文規則において、各生成規則の使用の程度を示
すものである。
【0003】
【発明が解決しようとする課題】しかしながら、上記の
方法は現実的な言語プログラムのテストにおいて、それ
ぞれにいくつかの問題点を含んでいる。
【0004】まず、人手による作成では、文法以外でも
テストプログラム作成時に考慮しなければならない要素
などを作成者の考えにより自由にテストプログラム中に
取り込めるといった利点はあるが、作成されたテストプ
ログラムの集合が、文法の網羅性を確保しているかどう
かは、検査員の能力に左右されるため、網羅性を確保し
たテストプログラムを安定して得られなかった。また、
多数のテストプログラムの集合をエディタで作成する作
業は、多大な労力を必要とするといった問題点があっ
た。
【0005】また、”言語処理プログラム検証方式”で
は、自動的なテストプログラムの作成を実現している
が、文の生成過程で乱数を使用していることから、文法
の網羅性が確保されないといった問題点があった。
【0006】”テストデータ作成支援装置”では、自動
的なテストプログラムの作成を実現し、文法の網羅性も
考慮されているが、ここでの網羅性は「個々の生成規則
が少なくとも一度使われたか」という意味であり、「個
々の生成規則の組み合わせにより導出されうる全ての文
を生成したか」という意味では十分ではないといった問
題点があった。図8に「個々の生成規則が少なくとも一
度使われたか」という意味で網羅性を考えた場合と「個
々の生成規則の組み合わせにより導出されうる全ての文
を生成したか」という意味で網羅性を考えた場合にでき
るテストプログラムの相違を示す。前者に72が後者に
73が対応する。現実的に言語処理プログラムのテスト
において、732、733の文によりテストを行うこと
は必要である。
【0007】さらに、通常、ソースプログラムの形式は
44に示すように複数の文から構成されることによっ
て、初めて即実行可能な正しい形式のプログラムとな
り、また、見やすさを考えてインデンテーションをつけ
るなどの編集がされている。しかし、2つの自動的な方
法(”言語処理プログラム検証方式”、”テストデータ
作成支援装置”)は、41に示すような1つの文だけか
らなるテストプログラムしか生成せず、テストプログラ
ムを編集するという点が考慮されていないといった問題
点があった。
【0008】本発明の目的は、生成規則の組み合せまで
考慮された文法の網羅性が確保され、かつ、人手により
作成したように、見やすく、即実行可能な正しい形式の
テストプログラムの集合を容易に作成できる装置を提供
することにある。
【0009】
【課題を解決するための手段】本発明が、上記の目的を
達成するための手段を図1、図4により説明する。
【0010】図1において、構文規則ファイル1は、言
語処理プログラムの各文の構文規則をバッカス記法で記
述し、示したものである。テストプログラム作成支援装
置2は本発明を具備するものであり、文パターン生成部
3とテストプログラム編集部4とからなる。文パターン
生成部3は、構文規則ファイル1を入力し、構文規則か
ら導出される全ての文パターンを逐次に生成する。ここ
で、文パターンとは41に示すようなもので、あと1回
の導出で終端記号に変換されるような非終端記号を含む
文のパターンである。
【0011】テストプログラム編集部4は、文パターン
生成部3により生成された文パターンを表示装置5に表
示し、入力装置6による使用者のキー操作を伺い、非終
端記号の終端記号への変換(42)、文のインデンテー
ション(43)、他の文の取り込み(44)を行ってテ
ストプログラム7を完成させる。
【0012】
【作用】本発明では、文パターン生成部3が構文規則フ
ァイル1を入力し、構文規則を木構造の内部形式に変換
する。さらに、この変換された構文規則を解析すること
によって、構文規則から導出される全ての文パターンを
逐次に生成する。テストプログラム編集部4はこの文パ
ターンを受け取り、1つの文パターンを表示装置5に表
示する。ここで、入力装置6による使用者のキー操作を
伺い、キー操作によって非終端記号の終端記号への変
換、文のインデンテーション、他の文の取り込みを行
う。
【0013】非終端記号の終端記号への変換は、使用者
が文パターン中の変換したい非終端記号をキー操作によ
り選択し、さらに、その非終端記号に対応する終端記号
の集合の中から任意の終端記号をキー操作により選択す
ることにより行われる。また、非終端記号を終端記号に
変換せずに残しておくと、その非終端記号に対応した全
ての終端記号を選択したことになり、2つ以上の非終端
記号が残されると、それらの非終端記号に対応する終端
記号を組み合わせて選択したことになる。
【0014】文のインデンテーションは、使用者が文パ
ターン中の改行したい位置をキー操作により指定するこ
とで行われる。また、行われたインデンテーションは、
次の文パターンにも引き継がれる。
【0015】他の文の取り込みは、使用者が取り込む文
のあるファイルのファイル名をキー操作により指定する
ことで行われる。また、取り込まれた文は、次の文パタ
ーンにも引き継がれる。
【0016】以上の操作により作成されたテストプログ
ラムは、自動的にファイル名が指定されて、ディスク装
置に登録される。
【0017】このように本発明では、文の構文規則から
全ての文パターンを自動的に作成するため、最終的に作
成されたテストプログラムの集合が文法の網羅性を確保
することが保証され、また、簡単なキー操作によりテス
トプログラムが編集され、登録できるため、テストプロ
グラム作成作業にかかる工数が従来より大幅に削減でき
る。
【0018】
【実施例】以下、本発明を実施例に基づいて詳細に説明
する。
【0019】図1は、本発明を適用したテストプログラ
ム作成支援装置の構成を示すものである。
【0020】図1において、構文規則ファイル1は、言
語処理プログラム(被テストプログラム)の機能である
各文の構文規則をバッカス記法で記述し示したもの、テ
ストプログラム作成支援装置2は、本発明を具備するも
ので、文パターン生成部3とテストプログラム編集部4
からなるもの、文パターン生成部3は、構文規則ファイ
ル1を入力して、構文規則から導出される全ての文パタ
ーンを逐次に生成するもの、テストプログラム編集部4
は、文パターン生成部3で生成された文パターンを表示
装置5に表示し、入力装置6から使用者の操作によって
与えられる指示により、表示装置5に表示される未完成
のテストプログラムを編集して完成させるもの、テスト
プログラム7は、完成したテストプログラムの集合であ
る。
【0021】図2は、簡単な文の構文規則を記述したも
ので、構文規則ファイル1の例を示すものである。
【0022】図2(21)において、各行は、文の構文
規則を示した生成規則、生成規則の右辺中の”<”、”
>”で囲まれた記号は、非終端記号、括弧で囲まれてい
ない記号は、終端記号、”|”はorのを表わす記号で
あり、先頭行の左辺の記号はこの構文規則における出発
記号である。尚、構文規則を木構造で表したときの最下
段以外の全ての部分の生成規則が21にあたる。
【0023】図2(22)において、各行の右辺の各記
号は終端記号であり、使用者によるテストプログラムの
編集において、左辺の非終端記号に対する選択肢とな
る。尚、構文規則を木構造で表したときの最下段の部分
の生成規則が22にあたる。
【0024】図3は、文パターン生成部2により逐次に
生成される文パターンであり、21をもとに生成された
ものである。
【0025】図4は、文編集部3により、一つの文パタ
ーンをもとに一つのテストプログラムが完成されていく
過程を示したものである。
【0026】図4において、41は文パターン生成部2
により生成された一つの文パターン、42は41の全て
の非終端記号を終端記号に変換してできた一つの文、4
3は42にインデンテーションをつけたもの、44は4
2の前後に他の文を取り込んでできた完成した一つのテ
ストプログラムである。
【0027】図5及び図6は、文編集部3により、一つ
の文パターンをもとに複数のテストプログラムが完成さ
れていく過程を示したものである。
【0028】図5及び図6において、51は文パターン
生成部2により生成された一つの文パターンと前の状態
から引き継いだ他の文、52は51のいくつかの非終端
記号を終端記号に変換したもの、53は完成した複数の
テストプログラムである。
【0029】図7は、非終端記号の終端記号への変換の
過程を示したものである。
【0030】以上のように構成された本実施例のテスト
プログラム作成支援装置を用いて、図2に示す構文規則
を持つ言語処理プログラムのテストプログラムを作成す
る過程を説明する。
【0031】まず、文パターン生成部3は、図2に示す
構文規則を入力し、構文規則を木構造の内部形式に変換
する。さらに、文パターン生成部3は、木構造の構文規
則をルートより22の生成規則の直前までたどり一つの
文パターンを生成する。例えば30の1行目の文パター
ンを作成するとき、文パターン生成部3は、21の1行
目の生成規則を(DELETE <ファイル名> WHERE <比較述
語>)→(DELETE <ファイル名> WHERE <値式> <比較演
算子> <値式>)→(DELETE <ファイル名> WHERE<列名>
<比較演算子> <列名>)のように生成する。このように
して文パターン生成部3は、30に示す文パターンを逐
次に生成し、最終的にはこの構文規則の最下段(22)
を除く生成規則から導出される全ての文パターンを生成
する。
【0032】次に、生成された文パターンは、一つずつ
テストプログラム編集部4に渡され、41に示すように
表示装置5に表示される。表示された文パターン中の非
終端記号(22の左辺)は、入力装置6のカーソルキー
(←→キー)の操作によって変換する非終端記号が示さ
れ、カーソルキー(↓キー)によって図7に示す順序で
終端記号(22の右辺の一つ)に変換される。そして、
文パターン中の全ての非終端記号が終端記号に変換され
ると、42に示すような文ができる。
【0033】さらに、文中の改行したい位置をカーソル
キー(←→キー)の操作により指定し改行キーを押下、
タブキーにより前方のスペースを挿入すると、43に示
すように文のインデンテーションが行われる。また、ア
ルファベットキーの操作により、取り込む文のあるファ
イルのファイル名を指定すると文が取り込まれ、44に
示すようなテストプログラムが完成する。最後に、実行
キーを押下すると自動的にファイル名が指定され、ディ
スク装置に登録される。(尚、42、43、44を行う
順序はどのような順序でも構わない)このようにして、
一つのテストプログラムの作成が終わると、現在の終端
記号をさらに別の終端記号に変換して、次々にテストプ
ログラムを作成する。このとき、インデンテーションや
取り込まれた文はそのまま引き継がれる。また、一つの
文パターンに対して十分なテストプログラムを作成した
ときは、スペースキーの押下により次の文パターンを表
示して、同様の操作を繰り返す。最後の文パターンにつ
いて、テストプログラムの作成が終わると、この構文規
則によって導出されうる全ての文のパターンを網羅した
のテストプログラムが完成する。
【0034】次に、複数のテストプログラムを同時に作
成する過程を図5を用いて説明する。
【0035】まず、上記の過程と同様に文パターン生成
部3よりテストプログラム編集部4に文パターンが渡さ
れ、51に示すように表示装置5に表示される。表示さ
れた文パターン中の決定したいいくつかの非終端記号を
終端記号にカーソルキー(←→↓)の操作により変換
し、そのほかの非終端記号はそのまま残す(52)。最
後に、ディスクへの登録を行うと、残された非終端記号
が自動的に終端記号に変換され、53のように複数のテ
ストプログラムができる。また、この例のように複数の
非終端記号が残された場合、それぞれの非終端記号に対
応する終端記号が組み合わされてテストプログラムが作
成される。
【0036】
【発明の効果】以上説明したように、本発明によれば、
文の構文規則を入力し、その構文規則から導出される全
ての文パターンを自動的に生成することにより、文法の
網羅性を確保した品質の良いテストプログラムの集合を
作成することができる。また、簡単なキー操作により、
非終端記号の終端記号への変換、文のインデンテーショ
ン、他の文の取り込みなどのテストプログラムの編集、
登録が可能なため、テストプログラム作成作業にかかる
工数を従来より大幅に削減できる。
【図面の簡単な説明】
【図1】本発明における実施例の言語処理プログラム用
テストプログラム作成支援装置のブロック図である。
【図2】構文規則ファイルの内容図である。
【図3】文パターンの内容図である。
【図4】テストプログラム編集部の処理内容図である。
【図5】テストプログラム編集部の処理内容図である。
【図6】図5に続くテストプログラム編集部の処理内容
図である。
【図7】テストプログラム編集部における非終端記号の
終端記号への変換の処理内容図である。
【図8】本発明と従来技術における文法の網羅性を比較
するための構文規則とテストプログラムの内容図であ
る。
【符号の説明】
1…構文規則ファイル、 2…テストプログラム作成支援装置、 3…文パターン生成部、 4…テストプログラム編集部、 5…表示装置、 6…入力装置、 7…テストプログラム、 21…上位生成規則、 22…下位生成規則、 30…文パターン、 41…文パターン、 42…文、 43…インデンテーションされた文、 44…完成したテストプログラム、 51…文パターンを含む未完成のテストプログラム、 52…非終端記号を含む未完成のテストプログラム、 53…完成した複数のテストプログラム、 60…変換順序、 71…構文規則、 72…テストプログラム、 73…テストプログラム。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】言語処理プログラムの動作の正当性を検証
    するためのテストプログラムの作成において、言語処理
    プログラムの機能である文のバッカス記法で記述された
    構文規則をもとに、その構文規則を木構造で表したとき
    の最下段を除く全ての生成規則の組み合わせにより導出
    されうる全ての文のパターンを、逐次に生成することを
    特徴とするテストプログラム作成支援装置。
  2. 【請求項2】文のパターンを画面に表示し、文のパター
    ン中の非終端記号を使用者がキー操作により選択した終
    端記号に変換する機能、文を見やすくするためにインデ
    ンテーションをする機能、作成した文以外の必要な文を
    作成した文の前後に取り込む機能などのテストプログラ
    ム編集機能と編集したテストプログラムをファイルとし
    て、ディスク装置に出力する機能を持つことを特徴とす
    るテストプログラム作成支援装置。
JP5007378A 1993-01-20 1993-01-20 テストプログラム作成支援装置 Pending JPH06214775A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5007378A JPH06214775A (ja) 1993-01-20 1993-01-20 テストプログラム作成支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5007378A JPH06214775A (ja) 1993-01-20 1993-01-20 テストプログラム作成支援装置

Publications (1)

Publication Number Publication Date
JPH06214775A true JPH06214775A (ja) 1994-08-05

Family

ID=11664294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5007378A Pending JPH06214775A (ja) 1993-01-20 1993-01-20 テストプログラム作成支援装置

Country Status (1)

Country Link
JP (1) JPH06214775A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062760B2 (en) 2000-06-23 2006-06-13 Nec Corporation System and method for measuring syntax coverage percentage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062760B2 (en) 2000-06-23 2006-06-13 Nec Corporation System and method for measuring syntax coverage percentage

Similar Documents

Publication Publication Date Title
US6321198B1 (en) Apparatus for design and simulation of dialogue
JP2746875B2 (ja) 辞書操作装置
JPH0458052B2 (ja)
JP2023073095A (ja) 情報処理装置、情報処理方法および情報処理用プログラム
US7099828B2 (en) Method and apparatus for word pronunciation composition
CN113963681A (zh) 基于文本编辑器的语音合成方法、系统和存储介质
JP2002062792A (ja) 暗記学習システム
CN113988010A (zh) 一种乐谱编辑方法、装置、设备及计算机可读存储介质
JPH06214775A (ja) テストプログラム作成支援装置
JPH06231224A (ja) 操作ガイダンス生成装置および操作ガイダンスの生成方法
JP3830128B2 (ja) 要約作成支援装置
JPS61248155A (ja) ワ−ドプロセツシング方式
JP3003459B2 (ja) プログラム作成支援装置
JPH05274075A (ja) ヘルプ機能付き情報処理装置
JPH0475550B2 (ja)
JP2908184B2 (ja) テキストファイル編集方法及び装置
JPH0760363B2 (ja) ユーザ定義コマンドの自動作成方式
JPH0883270A (ja) 音声合成装置及びその方法
CN117521811A (zh) 由计算机实施的解答阅读理解题的方法及相关产品
CN115394282A (zh) 信息交互方法及装置、教学平台、电子设备和存储介质
CN121349324A (zh) 界面显示方法、装置、设备、存储介质及程序产品
JP3192686B2 (ja) 自然言語処理システム
JPH07219897A (ja) 操作履歴記録方法および操作履歴記録装置ならびに操作マニュアル作成方法および操作マニュアル作成装置
JP2004213083A (ja) 自然言語処理用辞書登録装置、自然言語処理用辞書登録方法及びプログラム
JPH05334346A (ja) 言語変換装置