JP2001084162A - プログラム試験方法及び記憶媒体 - Google Patents

プログラム試験方法及び記憶媒体

Info

Publication number
JP2001084162A
JP2001084162A JP25808199A JP25808199A JP2001084162A JP 2001084162 A JP2001084162 A JP 2001084162A JP 25808199 A JP25808199 A JP 25808199A JP 25808199 A JP25808199 A JP 25808199A JP 2001084162 A JP2001084162 A JP 2001084162A
Authority
JP
Japan
Prior art keywords
test
program
output data
input
source code
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.)
Withdrawn
Application number
JP25808199A
Other languages
English (en)
Inventor
Hiroshi Oimatsu
寛 老松
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 JP25808199A priority Critical patent/JP2001084162A/ja
Publication of JP2001084162A publication Critical patent/JP2001084162A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】ソフトウェア開発過程で行われる検査及び試験
時の工数削減を図ると共に、試験漏れを防止する。 【解決手段】プログラム開発装置にかけられるプログラ
ムは、ソースコードXに、単体試験入力データ記述部2
1、単体試験予想出力データ記述部22、内部ロジック
記述部23を有し、プログラム開発装置のコンパイラ2
でソースコードXをコンパイルする中で生成されたオブ
ジェクトに、ソースコードXの単体試験入力データ記述
部21に記述された入力データを入力することで、この
プログラム自体の試験が実行された後、単体試験予想出
力データ記述部22に記述されている予想出力データと
対比されて、試験結果が出力される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば開発したプ
ログラムを試験するプログラム試験方法及びプログラム
を記憶した記憶媒体に関する。
【0002】
【従来の技術】ソフトウェアを開発する上では、検査及
び試験が必要不可欠である。
【0003】現在は、ソフトウェアを開発した開発者自
身あるいは検査スタッフなどの人手によるチェックが中
心である。
【0004】すなわち、通常のソフトウェア開発段階に
おけるソフトウェアの試験は、試験仕様書に基づきソフ
トウェアを動作させ、ソフトウェア動作後のアウトプッ
ト内容を人が一つずつ確かめることで、動作したソフト
ウェアの良否を判断しており、このため、多大な工数を
必要としている。
【0005】また、上記試験で、不具合が発見された場
合は、ソフトウェアのソースコードを修正し対処する必
要があるが、この場合、修正が他の正常に動作していた
部分に影響を及ぼすか否かを確認するために、試験範囲
を修正個所のみに限定せずに、上記した試験内容と同じ
内容で試験を繰り返し実施しなければならない。
【0006】
【発明が解決しようとする課題】上記のように、従来の
ソフトウェア開発過程では、試験を繰り返し実施するこ
とが多く、多大な工数を必要とするという問題があっ
た。
【0007】また、ソフトウェアの小改造あるいは不具
合箇所の修正を行った場合に、試験範囲を限定してしま
うと、試験漏れが発生し、デグレードを見落とす可能性
もある。
【0008】本発明はこのような課題を解決するために
なされたもので、ソフトウェア開発過程で行われる検査
及び試験時の工数削減を図ると共に、試験漏れを防止す
ることのできるプログラム試験方法及び記憶媒体を提供
することを目的としている。
【0009】
【課題を解決するための手段】上記した目的を達成する
ために、請求項1記載の発明のプログラム試験方法は、
プログラムをコンパイルすることでオブジェクトを生成
し、生成されたオブジェクトに、前記プログラムに予め
書き込まれているテスト用入力データを入力し、前記プ
ログラム自体の処理を実行させることで出力データを得
て、得られた出力データと前記プログラムに予め書き込
まれている予想出力データとを対比することで試験結果
を出力することを特徴としている。
【0010】請求項2記載の発明の記憶媒体は、コンピ
ュータを動作させるためのプログラムを記憶したコンピ
ュータ読み取り可能な記憶媒体において、前記コンピュ
ータに、前記プログラムをコンパイルさせることでオブ
ジェクトを生成させ、生成されたオブジェクトに、前記
プログラムに予め書き込まれているテスト用入力データ
を入力させ、前記プログラム自体の処理を実行させるこ
とで出力データを得させ、得られた出力データと前記プ
ログラムに予め書き込まれている予想出力データとを対
比させて試験結果を出力させるプログラムを記憶したこ
とを特徴としている。
【0011】本発明では、プログラムのソースコードに
予めテスト用入力データと予想出力データとを書き込ん
でおき、そのソースコードをコンパイルする際に、生成
したオブジェクトにテスト用データを入力することで処
理結果の出力データを得て、その出力データと予想出力
データとを対比することで、プログラム自体の仕上がり
具合をチェックするための試験結果が得られるので、従
来のように、ソフトウェア動作後のアウトプット内容を
人手で一つずつ確認しそのソフトウェアの良否を判断す
るといった人手の作業が不要になる。
【0012】また、ソフトウェアに修正を加えたり変更
を行ったことで、試験を繰り返し実施する上でも、初め
にすべての試験条件を網羅したテスト用入力データを書
き込んでおけば、常に同じテストパターンで試験を実施
できる。
【0013】この結果、ソフトウェア開発過程で行う検
査及び試験時の工数削減を図ると共に、試験漏れを防止
することができる。
【0014】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して詳細に説明する。図1は本発明のプログラム
試験方法及び記憶媒体に係る一つの実施形態のプログラ
ム開発装置の構成を示す図である。図1に示すように、
このプログラム開発装置は、入力装置1、コンパイラ
2、オブジェクト記憶部3、試験結果記憶部としての試
験結果ファイル4、試験成績書発行部5、表示装置6な
どから構成されている。オブジェクト記憶部3及び試験
結果ファイル4などはハードディスク装置などに設けら
れている。入力装置1は試験対象のプログラムのソース
コードXが入力される、例えばキーボード、マウス、フ
ロッピーディスクドライブ、リーダ、ネットワーク通信
装置などである。コンパイラ2は入力装置1からソース
コードXを読み込みコンパイルし、コンパイル結果とし
て生成されたオブジェクトをオブジェクト記憶部3に格
納し、またオブジェクト記憶部3からオブジェクトを読
み出すものである。またコンパイラ2は作成したオブジ
ェクト及び入力されたソースコードX上の試験仕様を基
に試験を実施し試験結果を出力する機能を有している。
オブジェクト記憶部3はコンパイラ2によりアクセスさ
れ、オブジェクトを記憶及び読出する。試験結果ファイ
ル4はコンパイラ2がコンパイルする中でプログラムに
よって実行された試験の結果を、例えば試験成績書とし
て記憶する。試験成績書発行部5は試験結果ファイル4
の記憶内容、つまり試験生成書を発行する、例えばプリ
ンタなどの印刷手段である。試験結果ファイル4には試
験結果が記憶される。表示装置6はコンパイル状況及び
試験結果などを表示する、例えばモニタなどである。
【0015】上記ソースコードXは、図2に示すよう
に、データベーステーブルのカラム数を取得する関数の
コーディングサンプルである。
【0016】このコーディングサンプルにおいて、入力
値はDBオブジェクト名、テーブル名及びDBタイプで
あり、出力値はテーブルカラム数、例えばエラーの場合
は「−1」を出力する。
【0017】また、このコーディングサンプルにおい
て、符号21で示した範囲に記述されている内容はテス
ト入力値の記述(単体試験入力データ記述部)であり、
INPUT01〜03は入力値のパターンであり、この
場合、3パターンの試験を実施することとなる。
【0018】さらに、符号22で示した範囲に記述され
ている内容はテスト入力値に対する予想出力値の記述
(単体試験予想出力データ記述部)であり、OUTPU
T01〜03はそれぞれINPUT01〜03に対応し
た出力値である。
【0019】また、符号23で示した範囲に記述されて
いる記述内容(内部ロジック記述部)は関数の内部ロジ
ックであり、通常のプログラムコードが記述されてい
る。
【0020】以下、図3を参照してこのプログラム開発
装置の動作を説明する。このプログラム開発装置の場
合、入力装置1にソースコードXが入力されると、ソー
スコードXはコンパイラ2によって順に読み込まれる
(S101)。
【0021】コンパイラ2はソースコードXを読み込
み、内部ロジック記述部23に進むと、オブジェクトを
生成し(S102)、表示装置6及びオブジェクト記憶
部3へ出力する。
【0022】また、コンパイラ2は生成したオブジェク
トに、ソースコードX内の単体試験入力データ記述部2
1に記述されている入力値、つまりINPUT01をイ
ンプットし、処理を実行する(S103)。
【0023】この場合、入力値は、 DBオブジェクト:Database 1 テーブル名 :tBugaJ DBタイプ :Fslse である。
【0024】この処理実行結果、プログラムは算出され
た出力値をソースコードX内の単体試験予想出力データ
記述部22に記述されている予想出力値、つまりOUT
PUT01の内容と対比する(S104)。この場合、
予想出力値はカラム数「25」である。
【0025】この対比で、予想出力値と同値の場合(S
105のYes)、プログラムは自身の処理結果を「合
格」と判定し、試験結果ファイル4に「合格」を出力し
(S106)、記憶する。
【0026】また、予想出力値と同値でなければ(S1
05のNo)、プログラムは自身の処理結果を「不合
格」と判定し、試験結果ファイル4に「不合格」を出力
し(S107)、記憶する。
【0027】続いて、INPUT02,03も同様に処
理される。なお、INPUT03はエラー出力のテスト
パターンである。この場合、テーブル名:XYZは存在
しないため、INPUT03の予想出力値は「−1」と
している。
【0028】最後に、試験結果ファイル4の内容は試験
成績書発行部5に送られて、INPUT01〜03など
の入力値に応じた出力値と予想出力値との比較結果であ
る試験成績書が発行される(S108)。
【0029】このようにこの実施形態のプログラム開発
装置によれば、ソースコードXをコンパイルする際に、
ソースコードX上に記述されているデータ(単体試験入
力データ記述部21、単体試験予想出力データ記述部2
2)に基づいて試験が自動的に行われるので、試験工数
を削減できる。特に繰り返し試験が必要な場合、例えば
プログラムの開発途中などに有効である。
【0030】また、単体試験入力データ記述部21に記
述する入力値としては、修正個所のみの試験データでな
くすべての試験データを常に同じ値で記述しておくこと
で、試験漏れを防止できる。特にプログラムの小改造や
不具合修正に対するデグレードの発生を防止するのに有
効である。
【0031】さらに、この実施形態の場合、関数レベル
の試験を行っているので、エラー箇所の特定が容易であ
る。
【0032】ソースコードX上に、試験仕様(単体試験
入力データ記述部21、単体試験予想出力データ記述部
22、内部ロジック記述部23)を記述しているので、
入力値および予想出力値を表す関数の特定が容易であ
る。
【0033】この結果、ソフトウェア開発過程で行われ
る検査及び試験時の工数削減を図ると共に、試験漏れを
防止することができる。
【0034】なお、本発明は上記実施形態のみに限定さ
れるものではない。上記実施形態に記載のソフトウェア
(プログラム)は、フロッピーディスクなどのコンピュ
ータが読み出し可能な記憶媒体に記憶されていても良
く、この場合、記憶媒体に記憶されたプログラムをコン
ピュータが読み出すことにより、各実施形態における処
理が可能になる。
【0035】なお、記憶媒体としては、磁気ディスク、
フロッピーディスク、ハードディスク、光ディスク(C
D−ROM、CD−R、DVDなど)、光磁気ディスク
(MOなど)、半導体メモリなど、プログラムを記憶で
き、かつコンピュータが読み取り可能な記憶媒体であれ
ば、その記憶形式はいずれの形態であっても良い。
【0036】また、記憶媒体からコンピュータにインス
トールされたプログラムの指示に基づき、コンピュータ
上で稼動しているOS(オペレーティングシステム)
や、データベース管理ソフト、ネットワークソフトなど
のMW(ミドルウェア)などが本実施形態を実現するた
めの各処理の一部を実行しても良い。
【0037】さらに、記憶媒体は、コンピュータと独立
した媒体に限らず、LANやインターネットなどにより
伝送されたプログラムをダウンロードして記憶または一
時記憶した記憶媒体も含まれる。
【0038】また、記憶媒体は一つに限らず、複数の媒
体から本実施形態における処理が実行される場合も本発
明における記録媒体に含まれ、媒体構成はいずれの構成
であっても良い。
【0039】なお、コンピュータは、記憶媒体に記憶さ
れたプログラムに基づき、本実施形態における各処理を
実行するものであって、パソコンなどの一つからなる装
置、複数の装置がネットワーク接続されたシステムなど
のいずれの構成であっても良い。
【0040】また、コンピュータとは、パソコンに限ら
ず、情報処理機器に含まれる演算処理装置、マイコンな
ども含み、プログラムによって本発明の機能を実現する
ことが可能な機器、装置を総称している。
【0041】
【発明の効果】以上説明したように本発明によれば、プ
ログラムのソースコードに予めテスト用入力データと予
想出力データとを書き込んでおき、そのソースコードを
コンピュータでコンパイルする際に、プログラムに書き
込んでおいたテスト用入力データで試験を実行しその試
験による出力データとプログラムに書き込んでおいた予
想出力データとをコンピュータに対比させることで試験
結果が得られるので、従来のように、ソフトウェア動作
後のアウトプット内容を人手で一つずつ確認するといっ
た人手の作業が不要になる。また、開発中のソフトウェ
アに修正を加えたり変更を行ったことで、試験を繰り返
し実施する上でも、初めにすべての試験条件を網羅した
テスト用入力データを書き込んでおけば、常に同じテス
トパターンで試験を実施できる。
【0042】この結果、ソフトウェア開発過程で行う検
査及び試験時の工数削減を図ると共に、試験漏れを防止
することができる。
【図面の簡単な説明】
【図1】本発明の一つの実施形態のプログラム開発装置
の構成を示す図。
【図2】このプログラム開発装置に入力されるプログラ
ム(ソースコードX)の記述例を示す図。
【図3】このプログラム開発装置の動作を示すフローチ
ャート。
【符号の説明】
1…入力装置、2…コンパイラ、3…オブジェクト記憶
部、4…試験結果ファイル、5…試験成績書発行部、6
…表示部、21…単体試験入力データ記述部、22…単
体試験予想出力データ記述部、23…内部ロジック記述
部。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 プログラムをコンパイルすることでオブ
    ジェクトを生成し、 生成されたオブジェクトに、前記プログラムに予め書き
    込まれているテスト用入力データを入力し、 前記プログラム自体の処理を実行させることで出力デー
    タを得て、 得られた出力データと前記プログラムに予め書き込まれ
    ている予想出力データとを対比することで試験結果を出
    力することを特徴とするプログラム試験方法。
  2. 【請求項2】 コンピュータを動作させるためのプログ
    ラムを記憶したコンピュータ読み取り可能な記憶媒体に
    おいて、 前記コンピュータに、 前記プログラムをコンパイルさせることでオブジェクト
    を生成させ、 生成されたオブジェクトに、前記プログラムに予め書き
    込まれているテスト用入力データを入力させ、 前記プログラム自体の処理を実行させることで出力デー
    タを得させ、 得られた出力データと前記プログラムに予め書き込まれ
    ている予想出力データとを対比させて試験結果を出力さ
    せるプログラムを記憶したことを特徴とする記憶媒体。
JP25808199A 1999-09-10 1999-09-10 プログラム試験方法及び記憶媒体 Withdrawn JP2001084162A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25808199A JP2001084162A (ja) 1999-09-10 1999-09-10 プログラム試験方法及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25808199A JP2001084162A (ja) 1999-09-10 1999-09-10 プログラム試験方法及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2001084162A true JP2001084162A (ja) 2001-03-30

Family

ID=17315265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25808199A Withdrawn JP2001084162A (ja) 1999-09-10 1999-09-10 プログラム試験方法及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2001084162A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1328658C (zh) * 2002-06-28 2007-07-25 Abb股份有限公司 用于安全控制的编译器的再验证方法
CN102053909A (zh) * 2009-11-09 2011-05-11 株式会社东芝 测试程序生成装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1328658C (zh) * 2002-06-28 2007-07-25 Abb股份有限公司 用于安全控制的编译器的再验证方法
CN102053909A (zh) * 2009-11-09 2011-05-11 株式会社东芝 测试程序生成装置
JP2011100420A (ja) * 2009-11-09 2011-05-19 Toshiba Corp テストプログラム作成装置

Similar Documents

Publication Publication Date Title
US8161440B2 (en) Highly specialized scenarios in random test generation
JP2001511557A (ja) 2000年テストケースを生成するためのシステムおよび方法
US20050273666A1 (en) Information processing apparatus and test method for programs
JP2001084162A (ja) プログラム試験方法及び記憶媒体
JP4702194B2 (ja) プログラム開発支援装置、プログラム開発支援方法およびプログラム開発支援プログラム
Elsner et al. Fixing configuration inconsistencies across file type boundaries
WO2016199383A1 (ja) サービス設計支援装置、方法、およびプログラム記録媒体
Mendonça et al. Towards practical reuse of custom static analysis rules for defect localization
Wallin Verification and validation of software components and component based software systems
JP2016126700A (ja) プログラム検証装置、プログラム検証方法及びプログラム検証プログラム
JP4783612B2 (ja) 拡張言語仕様指定方法、プログラム開発方法、プログラム及びコンピュータ読み取り可能な記憶媒体
JP2004192139A (ja) デバッグ装置、デバッグ方法および記録媒体
JPH10293683A (ja) プログラムの比較解析装置、プログラムの比較解析方法、及びプログラムの比較解析プログラムを記録した機械読み取り可能な記録媒体
JP2009181180A (ja) プログラム生成ツールの検査プログラムおよびプログラム生成ツールの検査方法ならびにプログラム生成ツールの検査装置
Heck A Software product certification model for dependable systems
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
JP2795332B2 (ja) ループ処理誤り検出装置
CN112835565A (zh) 一种生成组件配置器的方法、设备和存储介质
JP2000131194A (ja) 車両診断プログラム作成装置及び車両診断装置
JPH01261737A (ja) 言語プロセッサの検査自動管理方式
JPH05134854A (ja) ソフトウエア開発支援装置
JP2001060151A (ja) プログラム解析装置及びプログラム解析用プログラム又はプログラム解析用データを記憶した記憶媒体
JP2004102742A (ja) プログラムテストデバッグ装置
JP2001014362A (ja) 図形検証方法、図形検証装置、及び記録媒体
JPS6170641A (ja) テストプログラム自動生成方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20061205