JP2882876B2 - プログラム試験方法 - Google Patents

プログラム試験方法

Info

Publication number
JP2882876B2
JP2882876B2 JP2333523A JP33352390A JP2882876B2 JP 2882876 B2 JP2882876 B2 JP 2882876B2 JP 2333523 A JP2333523 A JP 2333523A JP 33352390 A JP33352390 A JP 33352390A JP 2882876 B2 JP2882876 B2 JP 2882876B2
Authority
JP
Japan
Prior art keywords
program
sql
embedded sql
embedded
procedure
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 - Fee Related
Application number
JP2333523A
Other languages
English (en)
Other versions
JPH04195640A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2333523A priority Critical patent/JP2882876B2/ja
Publication of JPH04195640A publication Critical patent/JPH04195640A/ja
Application granted granted Critical
Publication of JP2882876B2 publication Critical patent/JP2882876B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、埋込みSQLが記述されたプログラム試験方
法に係り、詳しくは、アプリケーション・プログラム
(AP)の生産性向上のため、ワークステーションあるい
はパーソナルコンピュータ上で、AP開発工程上のコーデ
ィングより単体試験まで行う分散開発環境に適したプロ
グラム試験方法に関するものである。
〔従来の技術〕
近年、リレーショナル・データベース(RDB)を利用
したリアルタイムシステム向け等に、大量のオンライン
業務処理プログラム(AP)が開始されている。AQLは、
このリレーショナル・データベースのアクセス語として
知られている。
従来、埋込みSQLが記述された、メインフレーム上ア
プリケーション・プログラムの単体試験をワークステー
ション上で行う場合、以下の方法が採られていた。第1
の方法は、アプリケーション・プログラムを修正するこ
とにより、埋込みSQLの記述をコメント化し、デバガに
より、各SQL関連変数にデータを設定することにより単
体試験を行うというものである。第2の方法は、メイン
フレーム上でデータベース実体を構築し、通信手段によ
りデータベース管理システムを使用してデータベース実
体を参照あるいは更新することにより単体試験を行うと
いうものである。
〔発明が解決しようとする課題〕
しかしながら、これらの方法では、アプリケーション
・プログラムの単体試験に大きな稼動がかかり、生産性
の向上を達成できないという問題があった。
具体的に述べると、第1の方法では、単体試験のため
にアプリケーション・プログラムを修正し、単体試験の
後、再び修正箇所を元に戻すという作業が必要である。
また、デバガによって各SQL関連変数にデータを設定す
るためには、デバガの操作に習熟する必要があると共
に、埋込みSQLが記述された箇所と、関連するすべてのS
QL関連変数を、単体試験者が意識して参照/更新しなけ
ればならず、その操作は繁雑で誤りが発生し易い。
また、第2の方法では、単体試験を行うワークステー
ション等と、メインフレームの間に通信手段が実現され
ている必要があり、ワークステーション単体では試験が
実施できない。また、単体試験前に、メインフレーム上
にデータベース実体を作成する繁雑な作業が必要とな
り、簡便な単体試験を実現できない。また、メインフレ
ーム上の資源(ディスク、メモリ、CPU時間等)も必要
である。
本発明の目的は、上記従来方法の問題点を解決し、埋
込みSQLが記述されたプログラムについて、メインフレ
ーム上アプリケーション・プログラムの生産性が向上す
る試験方法を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するために、本発明は、プログラムが
使用することを前提としているデータベース管理システ
ムを使用することなく、プログラム実行時における埋込
みSQLステートメントの、SQL関連変数(ホスト変数)に
対する入出力を利用者と対話形式で疑似する手続きを格
納したライブラリと、該プログラム中の埋込みSQLを前
処理して、上記手続きの呼び出し命令に置換するプリコ
ンパイラを保持すると共に、埋込みSQLが記述されたプ
ログラムを、上記プリコンパイラにて前処理する第1の
過程と、該第1の過程の結果生じる埋込みSQLが、それ
を疑似する呼び出し命令に置き換えられたプログラム記
述言語のコンパイラにてコンパイルし、更に上記ライブ
ラリともリンクする第2の過程と、該第2の過程の結果
生じる実行モジュールを走行させ、埋込みSQLの疑似を
行うことにより、プログラム中のデータベースを参照あ
るいは操作する処理の試験を行い、瑕疵の有無を確認す
る第3の過程とにより、試験を同一のワークステーショ
ンまたはパーソナルコンピュータ等の計算機のスタンド
アロン環境にて実行するようにしたものである。
〔作用〕
上記第1の過程から第3の過程を同一の計算機のスタ
ンドアロン環境で行えるので、メインフレームとの通信
手段、メインフレーム上での作業、メインフレーム上の
資源は必要なくなる。
SQL関連変数に対する入出力を疑似する手続きが、プ
ログラム中の埋込みSQLの記述部毎に呼び出され、該手
続きがSQL関連変数の値の表示、値の変更を行うため、
単体試験は該手続きの呼び出し毎に提示されるSQL関連
変数のみを操作すればよく、デバガの繁雑な操作作業か
ら解放される。
プリコンパイラが埋込みSQLが記述を手続き呼び出し
に置換するため、単体試験前に埋込みSQLが記述された
プログラムを変更する必要がない。
発明の試験方法による単体試験が終了すると、プログ
ラムは何等変更することなくメインフレーム上でのプリ
コンパイル及びコンパイルが可能である。
〔実施例〕
以下、本発明の一実施例について図面により詳細に説
明する。
第1図は本発明の埋込みSQLが記述されたプログラム
試験方法の一実施例の構成図である。第1図において、
1は埋込みSQLステートメントの、SQL関連変数に対する
入出力を疑似する手続(SQL入出力疑似手続き)が格納
されたライブラリである。9はその他の入出力手続等が
格納されたライブラリである。
5は埋込みSQLが記述されたプログラムで、以下、こ
れを原始テキストと呼ぶことにする。この原始テキスト
5が単体試験の対象である。
プリコンパイラ2は、原始テキスト5中の埋込みSQL
の記述をライブラリ1中の手続きの呼出しに置き換え
る。6はプリコンパイラ2の出力であり、原始テキスト
5中の埋込みSQLの記述がライブラリ1中の手続きの呼
出しに置換されたプログラムである。以下、これを原始
プログラムと呼ぶことにする。
コンパイラ3は、原始プログラム6を記述しているプ
ログラム言語のコンパイラであり、原始プログラム6を
コンパイルして、そのオブジェクト・モジュールを出力
する。7は原始プログラム6をコンパイルして生成され
るオブジェクト・モジュールである。
リンカ4は、オブジェクト・モジュール7とライブラ
リ1とライブラリ9をリンクして、ロード・モジュール
8を生成する。8は原始テキスト5の実行形式ファイル
であるロードモジュールである。第2図に原始テキスト
5の一例(部分)を示す。第2図において、10が原始テ
キスト中の埋込みSQLの記述である。なお、ここでの例
はプログラム記述言語としてC言語を用いている。
次に、第1図に基づき、原始テキスト5に対する処理
を説明する。なお、以下の各過程は、同一の計算機上で
実行されるものである。
過程1 原始テキスト5をプリコンパイラ2により、プリコン
パイルする。
この過程1の結果、第2図に示した原始テキスト5中
の埋込みSQLの記述10はコメント化され、ライブラリ1
中のSQL入出力疑似手続きを呼び出す命令が該原始テキ
スト中に付加される。この処理は、プログラム実行上か
ら考えると、埋込みSQLの記述10を手続き呼出し命令に
置換することにあたる。
第3図は、第2図の原始テキスト5について、プリコ
ンパイルして生成された原始プログラム6の一例(部
分)を示す図である。第3図において、11は埋込みSQL
の記述10がコメント化された記述である。また、12はラ
イブラリ1中のSQL入出力の疑似手続きを呼び出す命令
である。
このプリコンパイル時、プリコンパイラ2は、埋込み
SQLの記述10において、SQLに関連する変数の情報を手続
き呼出し命令12のパラメータとして記述し、SQL入出力
の疑似手続きに渡す。
過程2 原始プログラム6をコンパイラ3によりコンパイルす
る。
この過程2の結果、原始プログラム6のオブジェクト
・モジュール7が生成される。
過程3 オブジェクト・モジュール7を、ライブラリ1、9と
共に、リンカ4によりリンクする。
この過程3の結果、原始テキスト5のロード・モジュ
ール8が生成される。
過程4 ロード・モジュール8を走行させ、単体試験を行う。
第4図は、ロード・モジュール8の走行時の画面イメ
ージおよび試験形態を示す図である。第4図において、
13はオブジェクト・モジュール7のロード・モジュール
中の記述、14はSQL入出力の疑似手続きを呼び出す命令1
2のロード・モジュール中の記述、15はライブラリ1中
のSQL入出力の疑似手続きのロード・モジュール中の記
述である。また、16はロード・モジュール8の走行時の
計算機の画面出力例である。
ここで、13の実行の過程で、手続き呼出し命令14が実
行されると、次に、SQL入出力疑似手続き15が実行され
る。15ではパラメータとして渡されたSQL関連変数の入
出力処理を行う。この場合、画面16には、原始テキスト
名17、SQLステートメントが記述された行番号18、対応
するSQLステートメントの記述19、SQL関連変数(ホスト
変数)20などが表示される。21は、SQL関連変数20の入
力値である。
〔発明の効果〕
以上説明したように、本発明では、メインフレームと
の通信、データベース実体の構築作業、プログラムの修
正等が必要なく、また、計算機の画面に表示されるメッ
セージに従って、SQL関連変換数の値を参照/変更すれ
ばよいので、簡単な単体試験を行うことがでる。その結
果、メインフレーム上アプリケーション・プログラムの
生産性が向上する。
【図面の簡単な説明】
第1図は本発明方法の一実施例を示す構成図、第2図は
原始テキストの一例(部分)を示す図、第3図は原始テ
キストに対する原始プログラムの一例(部分)を示す
図、第4図はロード・モジュールの走行時の画面イメー
ジおよび試験形態を示す図である。 1…SQL入出力疑似手続きが格納されたライブラリ、2
…プリコンパイラ、3…コンパイラ、4…リンカ、5…
原始テキスト、6…原始プログラム、7…オブジェクト
・モジュール、8…ロード・モジュール、9…入出力手
続き等のライブラリ。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 11/28 G06F 12/00 512 - 513

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】埋込みSQLが記述されたプログラム試験方
    法であって、 プログラムが使用することを前提としているデータベー
    ス管理システムを使用することなく、プログラム実行時
    における埋込みSQLステートメントの、SQL関連変数(ホ
    スト変数)に対する入出力を、利用者と対話形式で疑似
    する手続きを格納したライブラリを保持すると共に、 プログラム中の埋込みSQLの記述をプリコンパイルし
    て、埋込みSQLの動作を疑似する手続きの記述あるいは
    疑似手続きの呼出しに変換する第1の過程と、 第1の過程の結果生じる埋込みSQLの記述がなくなった
    プログラムをコンパイラルし、更に上記ライブラリとリ
    ンクを行って実行モジュールを生成する第2の過程と、 第2の過程の結果生じる実行モジュールを走行させ、埋
    込みSQLの疑似を行うことにより、プログラム中のデー
    タベースを参照あるいは操作する処理の試験を行い、瑕
    疵の有無を確認する第3の過程と、 から成ることを特徴とするプログラム試験方法。
JP2333523A 1990-11-28 1990-11-28 プログラム試験方法 Expired - Fee Related JP2882876B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2333523A JP2882876B2 (ja) 1990-11-28 1990-11-28 プログラム試験方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2333523A JP2882876B2 (ja) 1990-11-28 1990-11-28 プログラム試験方法

Publications (2)

Publication Number Publication Date
JPH04195640A JPH04195640A (ja) 1992-07-15
JP2882876B2 true JP2882876B2 (ja) 1999-04-12

Family

ID=18266998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2333523A Expired - Fee Related JP2882876B2 (ja) 1990-11-28 1990-11-28 プログラム試験方法

Country Status (1)

Country Link
JP (1) JP2882876B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3695528B2 (ja) * 2001-11-05 2005-09-14 日本電気株式会社 異種データベースシステムsqlデバッグ方法及びそのシステム

Also Published As

Publication number Publication date
JPH04195640A (ja) 1992-07-15

Similar Documents

Publication Publication Date Title
CN110008113B (zh) 一种测试方法、装置、电子设备
AU682869B2 (en) Method for minimizing uncertainty in computer software processes allowing for automatic identification of faults locations and locations for modifications due to new system requirements with introduction of an alternative form of the target process object code allowing for less recompilation and re-linkage processing
US20120254827A1 (en) Verification of computer-executable code generated from a model
US6467082B1 (en) Methods and apparatus for simulating external linkage points and control transfers in source translation systems
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
JPH08512152A (ja) インクリメンタル生成システム
JP2007012003A (ja) フィーチャ指向ソフトウェア製品ラインの開発環境を提供するシステム
CN110196720B (zh) 一种Simulink生成动态链接库的优化方法
CN112527256A (zh) 一种集成化水电站模型开发系统及方法
US7624381B1 (en) Portable detection of start and completion of object construction
JP2914664B2 (ja) 自動プログラミング装置
JP2882876B2 (ja) プログラム試験方法
JP3196675B2 (ja) 言語処理方式
Forte Tools fair: Out of the lab, onto the shelf
JPH06309193A (ja) 機械語プログラムの動作検証方法および装置
CN113448874A (zh) 一种单元测试脚本的生成方法及装置
JPH06231203A (ja) シミュレーションモデルのためのコンパイルメカニズム
JPH1083328A (ja) 単体テスト用疑似入出力実現方式
JP2001005688A (ja) 並列プログラム用デバッグ支援装置
JP3210203B2 (ja) プログラム試験方法及びsqlシミュレータ
JP2002312167A (ja) 変数の値をコンピュータに算出させるためのプログラム、コンパイルプログラム、変数値確定方法およびプログラム生成方法
Bass et al. PRESTIGE: a CASE workbench for the JSD implementor
JP3208300B2 (ja) プログラム中の物理実体の使用形式抽出方法および関連抽出方法
CN116185422A (zh) 一种基于VsCode的CAA二次开发方法及系统
JPH06348463A (ja) 入出力装置模擬部作成方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees