JPH07210424A - Software test supporting system - Google Patents

Software test supporting system

Info

Publication number
JPH07210424A
JPH07210424A JP6002810A JP281094A JPH07210424A JP H07210424 A JPH07210424 A JP H07210424A JP 6002810 A JP6002810 A JP 6002810A JP 281094 A JP281094 A JP 281094A JP H07210424 A JPH07210424 A JP H07210424A
Authority
JP
Japan
Prior art keywords
test
module
unit
source code
software
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
JP6002810A
Other languages
Japanese (ja)
Inventor
Masayuki Hirayama
雅之 平山
Jiro Okayasu
二郎 岡安
Tetsuji Fukaya
哲司 深谷
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 JP6002810A priority Critical patent/JPH07210424A/en
Publication of JPH07210424A publication Critical patent/JPH07210424A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide a software test supporting system capable of easily executing an efficient software test. CONSTITUTION:A source code 1 prepared by a structured programming procedure is sorted into plural unit routines by a source code analyzing means 10 and calling relation among respective unit routines is also analyzed. A test case preparing means 20 prepares plural test cases covering all calling patterns based upon the calling relation of respective analyzed unit routines. since the test cases can be automatically prepared based on the source code 1, the test cases can be more simply prepared as compared with a convential system for preparing test cases based on the specifications of software described by natural language such as Japanese, the status transition specifications of the software, etc.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ソフトウェア開発にお
いて、その動作テストを実施する際に利用されるソフト
ウェアテスト支援システムに関し、特に、構造化設計手
法を利用してC言語等の高級言語を用いて開発されたア
プリケーション・ソフトウェアの動作テストに利用され
るソフトウェアテスト支援システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software test support system used when performing an operation test in software development, and in particular, uses a structured design technique to use a high-level language such as C language. The present invention relates to a software test support system used for operation test of application software developed by.

【0002】[0002]

【従来の技術】従来、ソフトウェアの動作テストは、
「テストケース作成の検討が不十分である。」、「テス
トケースを確実に試験していない。」といった2つの要
因によりテストが不十分になることが多い。
2. Description of the Related Art Conventionally, the operation test of software is
The test is often insufficient due to two factors such as "Insufficient examination of test case creation" and "Test case is not tested reliably".

【0003】通常のソフトウェア動作テストは、日本語
などの自然言語で記述されたソフトウェアの仕様書をも
とに、手作業でテストケースを作成し、このテストケー
スに基づいて行っている。しかしながら、このテストケ
ース作成の作業は元となるソフトウェアの仕様書の記述
内容(レベル)やテストケース作成を検討する個人の能
力に依存する場合が多く、テストケースの質の低下を招
いていた。
A normal software operation test is performed by manually creating a test case based on a software specification written in a natural language such as Japanese and based on the test case. However, the work of creating the test case often depends on the description content (level) of the original software specification and the ability of the individual who considers the creation of the test case, which causes the deterioration of the quality of the test case.

【0004】一方、バグ修正あるいはバージョンアップ
に伴うソフトウェアの修正では、修正前のソフトウェア
作成の際に行われた動作テストを元にしてテストが行わ
れることが多い。しかしながら、この手法によって行わ
れるテストでも、対象とするソフトウェアに関するテス
トケースとして十分であるかは定かではない。修正前の
ソフトウェアに対して新規に機能追加等を実施した場合
には、その機能追加部分に対する新たなテストが必要と
なるからである。
On the other hand, in the case of bug correction or software revision accompanying version upgrade, a test is often conducted based on an operation test conducted at the time of creating software before revision. However, it is not clear whether the tests performed by this method are sufficient as test cases for the target software. This is because, when a new function is added to the software before modification, a new test is required for the added function part.

【0005】このような問題を解決する手法として、状
態遷移仕様から自動的にテストケースを作成する方式が
提案されている。このテストケースの自動生成方式につ
いては、以下の文献に詳細に記載されている。
As a method for solving such a problem, a method of automatically creating a test case from a state transition specification has been proposed. The automatic generation method of this test case is described in detail in the following documents.

【0006】「状態遷移仕様からのテストデータ生成方
式」 情報処理学会第42回 全国大会論文集 pp5−21
8 岡安 他 この文献に記載されたテストケースの自動生成方式を概
説すると、状態遷移仕様に基づいたソフトウェアの動作
パターン(動作列)をテストケースとして利用するもの
である。具体的には、状態遷移モデルにおいて記述され
る状態からの遷移を引き起こすイベントに着目して、発
生するイベントを順次並べたイベント系列を作成し、こ
れによって起こるシステムの状態遷移を動作パターンと
してテストケースに利用するものである。
"Method for generating test data from state transition specifications" Proceedings of the 42nd National Convention of Information Processing Society of Japan, pp5-21
8. Okayasu et al. The outline of the automatic test case generation method described in this document uses the operation pattern (operation sequence) of software based on the state transition specification as a test case. Specifically, paying attention to the event that causes the transition from the state described in the state transition model, create an event sequence in which the events that occur are sequentially arranged, and the state transition of the system caused by this is taken as a test pattern as a test case. It is used for.

【0007】しかしながら、この生成方式は状態遷移仕
様がソフトウェア作成の際に作成されていることが前提
となるため、その適用範囲は極めて狭く実用的ではな
い。
However, since this generation method is premised on that the state transition specifications are created when the software is created, its applicable range is extremely narrow and not practical.

【0008】また、テストの十分性については、ソース
コードが一連の動作テストでどの程度網羅的に実行され
ているかを示すテストカバレジを計測することによって
十分性を評価する試みが従来より行われている(参考文
献:玉井哲雄 「ソフトウェアのテスト技法」 p3
4,35 共立出版)。しかしながら、テストカバレジ
は、個々のモジュール内に含まれる命令や条件分岐等の
通過率を計測するものが殆どであり、ソフトウェアの詳
細部まで入り込むため、システムテストやソフトウェア
・システムテスト等の上位レベルのテストの十分性評価
には適していなかった。
Regarding the sufficiency of the test, attempts have been made to evaluate the sufficiency by measuring the test coverage indicating how comprehensively the source code is executed in a series of operation tests. (Reference: Tetsuo Tamai "Software Testing Techniques" p3
4,35 Kyoritsu Publishing). However, most test coverage measures the passage rate of instructions and conditional branches contained in each module, and since it goes into the details of software, it can be used for higher level tests such as system tests and software system tests. It was not suitable for test adequacy evaluation.

【0009】さらに、ソフトウェアの動作テストでは、
対象となるソースコードが修正・変更された場合には、
再度、テストケースについての検討が必要となる。特に
構造化設計技法を利用して作成されたソフトウェアで
は、ソースコードを構成する一部のモジュールを修正・
変更した場合の影響が、別の部分のモジュールに影響を
及ぼすケースが多く、単純に修正・変更したモジュール
部分のみを再テストすればよいとは限らないからであ
る。
Further, in the operation test of software,
If the target source code is modified or changed,
It is necessary to examine the test case again. Especially for software created using structured design techniques, some modules that make up the source code are modified and
This is because the influence of the change often affects the module of another part, and it is not always necessary to simply retest only the corrected / changed module part.

【0010】[0010]

【発明が解決しようとする課題】上述したように、従来
においては、ソフトウェアテストを実施する上でのテス
トケースの作成方式が確立されておらず、また、テスト
の十分性評価手法も片寄ったものであり問題であった。
このため効率的にテストケースを生成し、また、このテ
ストケースに従ってテストを実施した場合のテストの十
分性評価を容易に行うことを可能とするソフトウェアテ
スト支援システムが望まれていた。
As described above, in the past, a method of creating a test case for executing a software test has not been established, and a test sufficiency evaluation method is biased. It was a problem.
Therefore, there has been a demand for a software test support system capable of efficiently generating a test case and easily performing a test sufficiency evaluation when a test is performed according to the test case.

【0011】本発明は、かかる従来の問題を解決するも
のであり、試験対象ソフトウェアのソースコードから自
動的にテストケースを作成し、また、テスト実施結果と
このテストケースを比較評価し、モジュール・カバレジ
計測及び未試験モジュール特定などによりテストの十分
性を判定するシステムを提供することを目的とする。
The present invention solves such a conventional problem by automatically creating a test case from the source code of the software under test, comparing the test execution result with this test case, and evaluating the module. It is an object of the present invention to provide a system for determining the sufficiency of a test by measuring coverage and identifying untested modules.

【0012】さらに、本発明は、対象となるソフトウェ
アが修正・変更を受けた場合にも、修正前のソースコー
ドおよびテストケースと対比して、容易に修正ソフトウ
ェアに対するテストケース生成等の支援を行うシステム
を提供することを目的とする。
Further, according to the present invention, even when the target software is modified or changed, the modified software can be easily supported by generating a test case by comparing the source code and the test case before the modification. The purpose is to provide a system.

【0013】[0013]

【課題を解決するための手段】上記課題を解決するため
に、本発明のソフトウェアテスト支援システムは、
(a)ソースコードを複数の単位ルーチンに分類し、各
単位ルーチンの呼び出し関係を解析するソースコード解
析手段と、(b)ソースコード解析手段で解析された各
単位ルーチンの呼び出し関係に基づいて、全ての呼び出
しパターンを網羅する複数のテストケースを作成するテ
ストケース作成手段とを備える。
In order to solve the above problems, the software test support system of the present invention is
Based on (a) a source code analysis unit that classifies the source code into a plurality of unit routines and analyzes the call relationship of each unit routine, and (b) a call relationship of each unit routine that is analyzed by the source code analysis unit, And a test case creating means for creating a plurality of test cases covering all the calling patterns.

【0014】また、(c)テストケース作成手段で作成
された複数のテストケースの一覧を帳票形式で出力する
テストケースレポート出力手段を備えていてもよい。
Further, (c) a test case report output means for outputting a list of a plurality of test cases created by the test case creation means in a form may be provided.

【0015】さらに、(d)ソースコードの各単位ルー
チンにテストプローブを挿入するテストプローブ挿入手
段と、(e)テストプローブ挿入手段によってテストプ
ローブが挿入されたソースコードをコンパイル・リンク
してロードモジュールを作成するロードモジュール作成
手段と、(f)テストケース作成手段で作成された各テ
ストケースに基づいて、ロードモジュール作成手段で作
成したロードモジュールを実行するテスト実行手段とを
備えていてもよい。この場合、テストプローブは、少な
くとも所定の履歴ファイルをオープンする命令と、この
履歴ファイルに挿入対象の単位ルーチンを特定する番号
を書き込む命令とを含んだ命令群である。
Further, (d) a test probe inserting means for inserting a test probe into each unit routine of the source code, and (e) a load module by compiling and linking the source code in which the test probe is inserted by the test probe inserting means. May be provided, and (f) a test execution means for executing the load module created by the load module creation means based on each test case created by the test case creation means. In this case, the test probe is an instruction group including at least an instruction for opening a predetermined history file and an instruction for writing a number identifying a unit routine to be inserted into the history file.

【0016】さらにまた、(g)テスト実行手段でのロ
ードモジュールの実行によって書き込まれた履歴ファイ
ルを分析して、ソースコードの全単位ルーチンの中の何
パーセントの単位ルーチンがこの履歴ファイルに書き込
まれているか検出すると共に、未実行のモジュールを検
出するモジュール網羅率評価手段を備えていてもよい。
この場合には、(h)モジュール網羅率評価手段で検出
されたモジュール網羅率および未実行モジュールの一覧
を帳票形式で出力するモジュール網羅率出力手段とを備
えていてもよい。
Furthermore, (g) by analyzing the history file written by the execution of the load module by the test execution means, a percentage of all the unit routines in the source code is written in this history file. It is also possible to provide a module coverage rate evaluation means for detecting whether or not the module is present and detecting an unexecuted module.
In this case, (h) module coverage rate output means for outputting the module coverage rate detected by the module coverage rate evaluation means and a list of unexecuted modules in a form may be provided.

【0017】さらにまた、(j)テスト実行手段でのロ
ードモジュールの実行によって書き込まれた履歴ファイ
ルを分析して、テストケース作成手段で作成された全テ
ストケースの中の何パーセントのテストケースがこの履
歴ファイルに書き込まれているか検出すると共に、未実
行のテストケースを検出するテストケース網羅率評価手
段を備えていてもよい。この場合には、(k)テストケ
ース網羅率評価手段で検出されたテストケース網羅率お
よび未実行テストケースの一覧を帳票形式で出力するテ
ストケース網羅率出力手段とを備えていてもよい。
Furthermore, (j) the history file written by the execution of the load module by the test execution means is analyzed, and the percentage of the test cases among all the test cases created by the test case creation means is this. A test case coverage evaluation unit may be provided to detect whether the test case has been written in the history file and detect an unexecuted test case. In this case, (k) test case coverage rate output means for outputting a list of test case coverage rates and unexecuted test cases detected by the test case coverage rate evaluation means in a form may be provided.

【0018】さらにまた、(l)バグ修正またはバージ
ョンアップによる修正が行われたソースコードを複数の
単位ルーチンに分類する修正ソースコード解析手段と、
(m)ソースコード解析手段で分類された単位ルーチン
と修正ソースコード解析で分類された単位ルーチンとを
比較して、削除された単位ルーチンおよび追加された単
位ルーチンを検出する第1の修正単位ルーチン検出手段
と、(n)修正前後のソースコードを比較して、修正ソ
ースコード解析で分類された単位ルーチンの中で修正さ
れた単位ルーチンを検出する第2の修正単位ルーチン検
出手段と、(o)テストケース作成手段で作成されたテ
ストケースの内、第1の修正単位ルーチン検出手段で検
出された追加単位ルーチンを対象とするテストケースと
第2の修正単位ルーチン検出手段で検出された修正単位
ルーチンを対象とするテストケースとを特定する再実行
対象テストケース特定手段とを備えていてもよい。
Furthermore, (l) modified source code analysis means for classifying the source code, which has been modified by bugs or by version upgrade, into a plurality of unit routines,
(M) A first modified unit routine that detects a deleted unit routine and an added unit routine by comparing the unit routine classified by the source code analysis unit with the unit routine classified by the modified source code analysis. (N) second modified unit routine detection means for comparing the source code before and after the modification and detecting the modified unit routine among the unit routines classified by the modified source code analysis; ) Among the test cases created by the test case creating means, the test case for the additional unit routine detected by the first modification unit routine detecting means and the modification unit detected by the second modification unit routine detecting means A re-execution target test case specifying unit that specifies a test case that targets a routine may be provided.

【0019】[0019]

【作用】本発明のソフトウェアテスト支援システムによ
れば、構造化プログラミング手法を用いて作成されたソ
ースコードは、ソースコード解析手段によって複数の単
位ルーチンに分類され、さらに、各単位ルーチンの呼び
出し関係の解析が行われる。単位ルーチンには、タスク
単位に分けたルーチンや、モジュール単位に分けたルー
チンがある。ここで、タスクとは構造化プログラムにお
けるソフトウェアとして一つのまとまった処理機能を実
現する単位をいい、モジュールとは構造化プログラムに
おけるソフトウェア構造の基本単位をいう。テストケー
ス作成手段では、解析された各単位ルーチンの呼び出し
関係に基づいて全ての呼び出しパターンを網羅する複数
のテストケースが作成される。このように、試験対象ソ
フトウェアのソースコードから自動的にテストケースを
作成することが可能となるため、日本語などの自然言語
で記述されたソフトウェアの仕様書やソフトウェアの状
態遷移仕様などをベースにテストケースを作成する従来
の方式に比べて、より簡便にテストケースを作成するこ
とが可能となる。
According to the software test support system of the present invention, the source code created by using the structured programming method is classified into a plurality of unit routines by the source code analysis means, and the calling relation of each unit routine is further classified. Analysis is done. The unit routine includes a routine divided into task units and a routine divided into module units. Here, a task is a unit that realizes one integrated processing function as software in a structured program, and a module is a basic unit of a software structure in a structured program. The test case creating means creates a plurality of test cases covering all calling patterns based on the analyzed calling relationships of the unit routines. In this way, it is possible to automatically create a test case from the source code of the software to be tested. Therefore, based on the software specifications written in natural language such as Japanese and the software state transition specifications, etc. It is possible to create a test case more easily than the conventional method of creating a test case.

【0020】また、テストケース作成手段で作成された
複数のテストケースの一覧は、テストケースレポート出
力手段によって帳票形式で出力される。このように出力
された書類はソフトウェアテストを実施する際の参考と
することができる。
The list of the plurality of test cases created by the test case creating means is output in the form of a report by the test case report output means. The document output in this manner can be used as a reference when conducting a software test.

【0021】テストケース作成手段で作成されたテスト
ケースに基づいてテストを行うためには、以下のように
処理される。まず、テストプローブ挿入手段によってソ
ースコードの各単位ルーチンにテストプローブが挿入さ
れる。テストプローブ挿入後のソースコードはロードモ
ジュール作成手段によってコンパイル・リンクされてロ
ードモジュールが作成される。このロードモジュール
は、テスト実行手段で実行され、呼び出された全てのモ
ジュールの番号が履歴ファイルに記録される。
In order to perform a test based on the test case created by the test case creating means, the following processing is performed. First, the test probe insertion means inserts a test probe into each unit routine of the source code. The source code after inserting the test probe is compiled and linked by the load module creating means to create a load module. This load module is executed by the test execution means, and the numbers of all called modules are recorded in the history file.

【0022】履歴ファイルはモジュール網羅率評価手段
で分析され、モジュール網羅率および未実行モジュール
が検出される。このような検出を行うことにより、テス
トの抜けを明示的に把握することができるようになり、
テストの十分性が従来に比べ飛躍的に向上する。特に、
検出結果は、モジュール網羅率出力手段によって帳票形
式で出力できるので、追加テスト等の作成を効率的に行
うことができる。
The history file is analyzed by the module coverage rate evaluation means, and the module coverage rate and unexecuted modules are detected. By performing such detection, it becomes possible to explicitly grasp the omission of the test,
The sufficiency of the test is dramatically improved compared to the past. In particular,
Since the detection result can be output in the form of a form by the module coverage ratio output means, it is possible to efficiently create an additional test or the like.

【0023】また、履歴ファイルはテストケース網羅率
評価手段でも分析され、テストケース網羅率および未実
行テストケースが検出される。このような検出を行うこ
とにより、テストの抜けを明示的に把握することができ
るようになり、テストの十分性が従来に比べ飛躍的に向
上する。特に、検出結果は、テストケース網羅率出力手
段によって帳票形式で出力できるので、追加テスト等の
作成を効率的に行うことができる。
The history file is also analyzed by the test case coverage evaluation means to detect the test case coverage and unexecuted test cases. By performing such detection, it becomes possible to explicitly grasp the omission of the test, and the sufficiency of the test is dramatically improved as compared with the conventional method. In particular, since the detection result can be output in the form of a report by the test case coverage output means, it is possible to efficiently create an additional test or the like.

【0024】テスト時に発見されたバグ等の修正や、バ
ージョンアップによる修正を行った場合には、修正ソー
スコード解析手段によって修正後のソースコードを複数
の単位ルーチンに分類する。そして、第1の修正単位ル
ーチン検出手段で修正前後の単位ルーチンが比較され、
削除された単位ルーチンおよび追加された単位ルーチン
が検出される。さらに、第2の修正単位ルーチン検出手
段で修正前後のソースコードが比較され、修正された単
位ルーチンが検出される。このように検出された追加単
位ルーチンおよび修正単位ルーチンは再実行対象テスト
ケース特定手段に与えられ、これらの単位ルーチンを対
象としたテストケースが特定される。この特定により再
テストで実行すべきテストケースが判定評価され、また
特に重点的にテストすべき箇所が特定できるので、効率
的な再テストを実施することができる。
When a bug or the like found at the time of testing is corrected or a version is corrected, the corrected source code analyzing means classifies the corrected source code into a plurality of unit routines. Then, the first correction unit routine detection means compares the unit routines before and after the correction,
Deleted unit routines and added unit routines are detected. Further, the source code before and after the correction is compared by the second correction unit routine detecting means, and the corrected unit routine is detected. The additional unit routine and the modified unit routine detected in this way are given to the re-execution target test case identifying means, and the test cases targeting these unit routines are identified. By this identification, the test case to be executed in the retest is judged and evaluated, and the portion to be tested with particular emphasis can be identified, so that the efficient retest can be performed.

【0025】[0025]

【実施例】以下、本発明の一実施例を添付図面を参照し
て説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the accompanying drawings.

【0026】図1〜図3は、本実施例に係るソフトウェ
アテスト支援システムの構成を示すブロック図である。
これらの図より、本実施例のソフトウェアテスト支援シ
ステムは、ソースコード1を複数のモジュール(または
タスク)に分類して各モジュールの呼び出し関係を解析
するソースコード解析部10と、各モジュールの呼び出
し関係に基づいて複数のテストケースを作成するテスト
ケース作成部20と、テストケースレポート31を出力
するテストケースレポート出力部30とを備えている。
また、ソースコード1にテストプローブを挿入するテス
トプローブ挿入部40と、ソースコード1をコンパイル
・リンクしてロードモジュール3を作成するロードモジ
ュール作成部50と、ロードモジュール3を実行してテ
ストカバレジを計測するテストカバレジ計測部60とを
備えている。
1 to 3 are block diagrams showing the configuration of a software test support system according to this embodiment.
From these figures, the software test support system of the present embodiment classifies the source code 1 into a plurality of modules (or tasks) and analyzes the calling relationship of each module, and the calling relationship of each module. And a test case report output unit 30 that outputs a test case report 31.
Also, a test probe insertion unit 40 that inserts a test probe into the source code 1, a load module creation unit 50 that compiles and links the source code 1 to create a load module 3, and a load module 3 is executed to perform test coverage. A test coverage measuring unit 60 for measuring is provided.

【0027】さらに、モジュール網羅率および未実行モ
ジュールの検出を行うモジュール網羅率評価部70と、
テストケース網羅率および未実行テストケースの検出を
行うテストケース網羅率評価部80と、テストカバレジ
レポート91を出力するモジュール網羅率出力部90
と、未試験モジュール遷移パスレポート101を出力す
るテストケース網羅率出力部100とを備えている。さ
らにまた、デバッグなどで修正された修正ソースコード
6を複数のモジュールに分類する修正ソースコード解析
部110と、ソースコード1の修正によるテストケース
への影響を評価するソースコード変更影響評価部120
と、追加・変更されたモジュールを対象とするテストケ
ースを特定する再実行対象テストケース特定部130と
を備えている。また、ソースコード変更影響評価部12
0には、削除されたモジュールおよび追加されたモジュ
ールを検出する第1の修正モジュール検出部121と、
修正されたモジュールを検出する第2の修正モジュール
検出部122とが設けられている。
Further, a module coverage rate evaluation unit 70 for detecting a module coverage rate and an unexecuted module,
A test case coverage evaluation unit 80 that detects test case coverage and unexecuted test cases, and a module coverage output unit 90 that outputs a test coverage report 91.
And a test case coverage percentage output unit 100 that outputs an untested module transition path report 101. Furthermore, a modified source code analysis unit 110 that classifies the modified source code 6 modified by debugging or the like into a plurality of modules, and a source code change impact evaluation unit 120 that evaluates the effect on the test case due to the modification of the source code 1.
And a re-execution target test case specifying unit 130 that specifies a test case that targets the added / modified module. Also, the source code change impact evaluation unit 12
0 is a first correction module detection unit 121 that detects a deleted module and an added module,
A second modified module detection unit 122 for detecting a modified module is provided.

【0028】本実施例のソフトウェアテスト支援システ
ムの処理は、(1)テストケースを自動生成する処理
と、(2)テストの十分性を計測・評価する処理と、
(3)再テストを支援する処理とに分かれる。
The processing of the software test support system of this embodiment includes (1) processing for automatically generating test cases, and (2) processing for measuring / evaluating the sufficiency of tests.
(3) It is divided into processing that supports retesting.

【0029】テストケースの自動生成処理は、ソースコ
ード解析部10とテストケース作成部20と、テストケ
ースレポート出力部30が関係する。また、テストの十
分性計測・評価処理は、テストプローブ挿入部40、ロ
ードモジュール作成部50、テストカバレジ計測部6
0、モジュール網羅率評価部70、テストケース網羅率
評価部80、モジュール網羅率出力部90およびテスト
ケース網羅率出力部100が関係する。さらに、再テス
ト支援処理は、修正ソースコード解析部110、ソース
コード変更影響評価部120および再実行対象テストケ
ース特定部130が関係する。以下、各処理について説
明する。
The source code analysis unit 10, the test case creation unit 20, and the test case report output unit 30 are involved in the automatic test case generation processing. The test sufficiency measurement / evaluation processing is performed by the test probe insertion unit 40, the load module creation unit 50, and the test coverage measurement unit 6.
0, module coverage evaluation unit 70, test case coverage evaluation unit 80, module coverage output unit 90, and test case coverage output unit 100. Furthermore, the retest support process involves the modified source code analysis unit 110, the source code change impact evaluation unit 120, and the re-execution target test case identification unit 130. Hereinafter, each process will be described.

【0030】(1)テストケース自動生成処理 テストケースを自動生成するために、まずソースコード
解析部10を実行してソースコードの解析を行う。ソー
スコード解析部10は、テストの対象となるソフトウェ
アのソースコード1を解析し、その内部構造を明らかに
する役割を持つ。ここでソフトウェアの内部構造とは、
ソフトウェアを構成するタスク、モジュールの関連を意
味する。ソフトウェアがどのようなタスクから構成さ
れ、またどのようなモジュールによってタスクが構成さ
れ、それぞれのタスク、モジュールがどのような呼び合
い関係にあるかを明確にするものである。例えば、ソー
スコード1がC言語によって作成されている場合は、制
御構造(if〜then〜else,while,de
〜while,switch,goto,label,
break,continue,return,fo
r)などを解析して、構文規則に基づいてタスク、モジ
ュールの解析を行うのである。関連する文献には、特開
平1−283631公報などがある。
(1) Automatic test case generation processing In order to automatically generate a test case, the source code analysis unit 10 is first executed to analyze the source code. The source code analysis unit 10 has a role of analyzing the source code 1 of the software to be tested and clarifying its internal structure. Here, the internal structure of software is
It means the relationship between the tasks and modules that make up the software. It is to clarify what kind of tasks the software is composed of, what kind of modules the tasks are composed of, and what kind of call relationship each of the tasks and modules have. For example, when the source code 1 is created by C language, the control structure (if-then-else, while, de
~ While, switch, goto, label,
break, continue, return, fo
r) is analyzed and the task and module are analyzed based on the syntax rules. Related documents include Japanese Patent Laid-Open No. 1-283631.

【0031】図4は、ソースコード1の内部構造をソー
スコード解析部10によって解析した例を示す図であ
る。この例では、ソースコード1はモジュールA,B
1,B2,C1,C2,C3,D1,D2から構成され
ており、例えば、モジュールC2はその下位モジュール
としてモジュールD1,D2を順次呼んでいることが判
る。また、モジュールC3はモジュールB1から呼ばれ
た場合には単独で処理を行い下位のモジュールを呼ばな
いが、モジュールB2から呼ばれた場合にはモジュール
D2をさらに呼んで処理を行うことが判る。従って、ソ
ースコード解析部10により得られるモジュール呼び合
い関係は、モジュール内部の処理条件までを考慮した実
際の呼び合い関係に相当する。
FIG. 4 is a diagram showing an example in which the internal structure of the source code 1 is analyzed by the source code analysis unit 10. In this example, the source code 1 is modules A and B
1, B2, C1, C2, C3, D1, D2. For example, it can be seen that the module C2 sequentially calls the modules D1 and D2 as its lower modules. Further, it can be seen that the module C3 independently executes the process when called from the module B1 and does not call the lower module, but further calls the module D2 when called from the module B2 to perform the process. Therefore, the module calling relationship obtained by the source code analysis unit 10 corresponds to the actual calling relationship in consideration of the processing conditions inside the module.

【0032】ソースコード解析部10の解析によってソ
フトウェアの内部構造を明らかにした後にテストケース
作成部20を実行して、ソフトウェアの内部構造をもと
にソフトウェアテストとして実施すべきテストケースを
作成する。テストケースは、ソフトウェアを構成するタ
スク、モジュールの呼び合い関係を考慮し、実際のソフ
トウェア操作で起こり得る呼び合い系列全てを網羅する
ように作成される。
After the internal structure of the software is clarified by the analysis of the source code analysis unit 10, the test case creation unit 20 is executed to create a test case to be executed as a software test based on the internal structure of the software. The test case is created so as to cover all the calling sequences that can occur in the actual software operation in consideration of the calling relationship between the tasks and modules that make up the software.

【0033】図5は、上記の考えに基づき、図4で示し
た内部構造を持つソフトウェアに関して、テストケース
を抽出したものである。同図に示すように、Case−
1からCase−9まで9通りのテストケースが抽出さ
れている。次に、テストケースの抽出についての具体例
として、例えば、画面処理を中心とするような事務処理
系のソフトウェアについて考える。この場合、個々のモ
ジュールはそれぞれの表示画面に対応する構造となる。
図6は画面処理を中心とした財務事務処理関係のソフト
ウェアの内部構造を示すモジュール関連図の一例であ
る。また、図7はこのソフトウェアの画面間の呼び合い
に基づいたソフトウェアの処理操作の関連を示したブロ
ック図である。例えば、このソフトウェアを実行した際
に表示される図7の「会計管理システム初期画面」は、
ソフトウェアの内部構造の観点からは図6に示す(会計
処理メイン)モジュールの処理が対応する。図7におい
て「会計管理システム初期画面」からは、「入力処理選
択機能」「日次処理選択機能」等の下位機能の選択が可
能であり、この「会計管理システム初期画面」からこれ
らの下位機能が呼ばれて実行されることが判る。これを
図6のソフトウェア内部構造の観点からみると、(会計
処理メイン)モジュールの下位にある(入力処理)、
(日次処理)等の各モジュールを呼び出す形で実現され
ていることが判る。
FIG. 5 shows test cases extracted from the software having the internal structure shown in FIG. 4 based on the above idea. As shown in FIG.
Nine test cases are extracted from 1 to Case-9. Next, as a specific example of the extraction of test cases, let us consider, for example, office processing software centering on screen processing. In this case, each module has a structure corresponding to each display screen.
FIG. 6 is an example of a module-related diagram showing an internal structure of software related to financial processing, which is mainly screen processing. Further, FIG. 7 is a block diagram showing the relation of the software processing operation based on the call between the screens of the software. For example, the “Accounting management system initial screen” shown in FIG. 7 when this software is executed is
From the viewpoint of the internal structure of the software, the processing of the (accounting processing main) module shown in FIG. 6 corresponds. In FIG. 7, sub-functions such as "input processing selection function" and "daily processing selection function" can be selected from the "accounting management system initial screen", and these sub-functions can be selected from the "accounting management system initial screen". Is called and executed. From the viewpoint of the internal structure of the software in FIG. 6, this is in the lower level of the (accounting process main) module (input process),
It can be seen that it is realized by calling each module such as (daily processing).

【0034】この図6と図7を見ても明らかなように、
このようなソフトウェアに関しては、内部構造を示すモ
ジュール関連図は対象ソフトウェアの画面呼び合い関係
や処理操作の関連に深く関係している。
As can be seen from FIGS. 6 and 7,
Regarding such software, the module relation diagram showing the internal structure is deeply related to the screen calling relation and the processing operation relation of the target software.

【0035】従って、図6のモジュール関連図をもとに
生成された上記のような呼び合い関係の遷移系列を網羅
するテストケースは、対象ソフトウェアに関する処理操
作の系列を網羅するものとなる。
Therefore, the test case that covers the transition series of the above-mentioned calling relationship generated based on the module relation diagram of FIG. 6 covers the series of processing operations related to the target software.

【0036】図8(a)は、図6に基づいて生成された
テストケースの一例であり、一方、図8(b)は図7か
ら想定される対象ソフトウェアの処理操作の流れを示し
たものである。図8(a)で生成されたテストケース
(Case−2)では、モジュール呼び合い関係から、
(総合管理メイン)モジュールから(会計管理メイン)
モジューメを呼び、更に、(入力処理)(日次処理)
(月次処理)(マスタメンテナンス)(決算処理)の各
モジュールを順次呼ぶモジュール遷移系列がテストケー
スとして生成されている。これに対し、図8(b)で対
象ソフトウェアの処理操作を考えると、(総合管理シス
テム初期画面)から(会計管理システム初期画面)を選
択し、更に下位の(入力処理機能選択画面)(日次処理
選択画面)(月次処理選択画面)(マスタメンテナンス
処理選択画面)(決算処理選択画面)を逐次起動操作す
る流れがあることが判る。この処理操作の流れは、図8
(a)のCase−2で生成されたテストケースでのモ
ジュール遷移に対応している。
FIG. 8A shows an example of the test case generated based on FIG. 6, while FIG. 8B shows the flow of the processing operation of the target software assumed from FIG. Is. In the test case (Case-2) generated in FIG. 8A, from the module calling relationship,
From (General Management Main) module (Account Management Main)
Call Modme, and then (input processing) (daily processing)
A module transition series that sequentially calls each module of (monthly processing) (master maintenance) (account settlement processing) is generated as a test case. On the other hand, considering the processing operation of the target software in FIG. 8B, select (Accounting management system initial screen) from (Integrated management system initial screen), and further down (input processing function selection screen) (day It can be seen that there is a flow of sequentially activating the next process selection screen) (monthly process selection screen) (master maintenance process selection screen) (accounting process selection screen). The flow of this processing operation is shown in FIG.
This corresponds to the module transition in the test case generated in Case-2 of (a).

【0037】このようにモジュール呼び合い関係の遷移
系列から作成されるテストケースは、対象ソフトウェア
に関する処理操作の系列を網羅している。なお、このモ
ジュール関連図は、ソースコード解析部10の実行によ
って得られる。
As described above, the test case created from the transition series of the module calling relationship covers the series of processing operations related to the target software. The module relation diagram is obtained by executing the source code analysis unit 10.

【0038】このようにして作成されたテストケース
は、テストケースファイル2として保持される。このテ
ストケースファイル2は、テスト実施後にここで作成さ
れたテストケースについてどのケースがテストされ、あ
るいはテストされなかったかの判定を行うための参考情
報として利用される。また、1度目のテストで不具合が
発生し、バグ修正を施したソフトウェアに対して再テス
トを行う場合にも、このテストケースファイル2に保持
されたテストケースのうち有効なものが再利用される。
The test case created in this way is held as the test case file 2. The test case file 2 is used as reference information for determining which of the test cases created here after the test is tested or not tested. Also, when a defect occurs in the first test and retesting is performed on software with a bug fixed, valid ones of the test cases held in the test case file 2 are reused. .

【0039】さらに、作成されたテストケースはテスト
ケースレポート出力部30により、テストケース・レポ
ート31として通常のプリンターから帳票形式で出力さ
れる。テストケース・レポート31は、ソフトウェアテ
ストを実施する際の参考となる。図9は、帳票形式で出
力されたテストケース・レポート31の例を示す図であ
る。
Furthermore, the created test case is output as a test case report 31 by the test case report output unit 30 from a normal printer in a form. The test case report 31 serves as a reference when conducting a software test. FIG. 9 is a diagram showing an example of the test case report 31 output in the form of a form.

【0040】次に、モジュール関連図からのテストケー
ス生成の手順を図10のフローチャートを用いて説明す
る。例えば、図4のモジュール関連図からテストケース
を作成することを考えた場合、まず、テストケース作成
の起点モジュールとして、モジュール関連図の最上位の
モジュールであるモジュールAが選択される(ステップ
201)。次に、モジュール関連図により、この起点モ
ジュールから呼ばれる下位モジュールが特定される(ス
テップ202)。図4の例では、モジュールAの下位モ
ジュールとして、モジュールB1,B2の2つのモジュ
ールが特定される。
Next, the procedure for generating a test case from the module relation diagram will be described with reference to the flowchart of FIG. For example, when considering creating a test case from the module relation diagram of FIG. 4, first, the module A, which is the highest module of the module relation diagram, is selected as the starting module for creating the test case (step 201). . Next, the submodule called from this starting module is specified by the module relation diagram (step 202). In the example of FIG. 4, two modules B1 and B2 are specified as the lower modules of the module A.

【0041】次に、このようにして特定された下位モジ
ュールの呼出形式が確認される(ステップ203)。呼
出形式とは、上位モジュールから下位モジュールが呼び
出される方式をいう。下位モジュールの呼び出され方に
は、無条件に呼び出される場合と、条件に合ったときに
呼び出される場合の2通りがある。例えば、図4の例で
は、起点モジュールであるモジュールAの内部処理とし
て、 ・下位のモジュールB1,B2が順番に呼び出される場
合と ・内部条件処理によって、下位のモジュールB1のみが
呼び出される場合と ・同様に、下位のモジュールB2のみが呼び出される場
合と が考えられる。これらの下位モジュールの呼出形式の特
定は、起点モジュールの内部処理手順を解析することに
よって行われる。
Next, the calling format of the lower module thus identified is confirmed (step 203). The call format is a method in which a lower module is called from a higher module. There are two ways to call a lower module: one is called unconditionally and the other is called when conditions are met. For example, in the example of FIG. 4, as the internal processing of the module A which is the starting module, the case where the lower modules B1 and B2 are sequentially called, and the case where only the lower module B1 is called by the internal condition processing. Similarly, it is possible that only the lower module B2 is called. The call format of these lower modules is specified by analyzing the internal processing procedure of the starting module.

【0042】上記の操作によって、図11(a)に示す
ような起点モジュールを始点としたテストケース1次ツ
リーが作成される(ステップ204)。テストケース1
次ツリーが作成された後に、現在対象としている起点モ
ジュールより下位に呼出モジュールが存在するかどうか
の判定を行う(ステップ205)。次に、起点モジュー
ルを1つ下位のモジュールに移動する。即ち、図4の例
では、起点モジュールとしてモジュールB1が選択され
る(ステップ206)。
By the above operation, the test case primary tree starting from the starting point module as shown in FIG. 11A is created (step 204). Test case 1
After the next tree is created, it is determined whether or not the calling module exists below the current starting module (step 205). Next, the starting module is moved to the module one level lower. That is, in the example of FIG. 4, the module B1 is selected as the starting point module (step 206).

【0043】その後、同様に選択されたテストケース作
成の起点モジュールに対して、下位モジュールの特定と
呼出形式が特定され、この起点モジュールに関するテス
トレース1次ツリーが作成される(ステップ204)。
同様に、起点モジュールを順次下位に移動させることに
よって、各モジュールを起点とするテストケース1次ツ
リーが作成される(ステップ204)。図11(b)は
図4に示したモジュール関連図をもとに作成された各モ
ジュールに関するテストケース1次ツリーの例である。
このようにして作成された各モジュールのテストケース
1次ツリーを融合して、網羅的にテストケースの作成が
行われる(ステップ207)。
After that, with respect to the similarly selected starting case module for creating a test case, the subordinate module is specified and the calling format is specified, and the test race primary tree for this starting module is created (step 204).
Similarly, a test case primary tree having each module as a starting point is created by sequentially moving the starting point module to a lower position (step 204). FIG. 11B is an example of a test case primary tree for each module created based on the module relation diagram shown in FIG.
The test case primary trees of the respective modules thus created are fused to comprehensively create the test cases (step 207).

【0044】図12(c)は、図11(b)の各モジュ
ールをテストケース1次ツリーを融合して作成したテス
トケースの一例である。テストケース1次ツリーの融合
では、ツリー上の同一ノードに着目して融合を進める。
例えば、図12(c)に示したCase−1を融合生成
するためには、以下の4つのテストケース1次ツリーに
着目する。
FIG. 12C is an example of a test case created by fusing the modules of FIG. 11B with the test case primary tree. In the fusion of the test case primary trees, the fusion is advanced focusing on the same node on the tree.
For example, in order to fuse and generate Case-1 shown in FIG. 12C, attention is paid to the following four test case primary trees.

【0045】・まずテストケース1次ツリー〈a〉の終
端のモジュールB1に着目する。 ・次にモジュールB1を始点とするテストケース1次ツ
リーを検索し、該当する1次ツリーとして〈b1〉を得
る。
Attention is first focused on the module B1 at the end of the test case primary tree <a>. Next, the test case primary tree starting from the module B1 is searched, and <b1> is obtained as the corresponding primary tree.

【0046】・テストケース1次ツリー〈b1〉の終端
モジュールC1に着目する。
Focus on the terminal module C1 of the test case primary tree <b1>.

【0047】・次にモジュールC1を始点とするテスト
ケース1次ツリーを検索し、該当する1次ツリー〈b
2〉を得る。
Next, the test case primary tree starting from the module C1 is searched, and the corresponding primary tree <b
2> is obtained.

【0048】・テストケース1次ツリー〈b2〉の終端
モジュールD2に着目する。
Attention is paid to the terminal module D2 of the test case primary tree <b2>.

【0049】・次にモジュールD2を始点とするテスト
ケース1次ツリーを検索し、該当する1次ツリー〈b
3〉を得る。
Next, the test case primary tree starting from the module D2 is searched, and the corresponding primary tree <b
3> is obtained.

【0050】・テストケース1次ツリー〈b3〉の終端
は、(E)として下位モジュールがないことが分かるた
め、ここでテストケース1次ツリーの探索・融合は完了
する。
At the end of the test case primary tree <b3>, it can be seen that there is no lower module as (E), so the search / fusion of the test case primary tree is completed here.

【0051】このようにして、テストケース1次ツリー
の終端モジュールをキーに順次、探索・融合が進められ
る。上記の結果から以下に示すように、Case−1に
示した一連のテストケースが融合獲得される。
In this way, the search and fusion are sequentially carried out using the end module of the test case primary tree as a key. From the above results, as shown below, a series of test cases shown in Case-1 are fusion-acquired.

【0052】 〈a〉 モジュールA→モジュールB1 〈b1〉 モジュールB1→モジュールC1 〈b2〉 モジュールC1→モジュールD2 〈b3〉 モジュールD2→E Case−1 モジュールA→モジュールB1→モジュールC1→モジ
ュールD2 (2)テストの十分性計測・評価処理 テスト実施時のテスト十分性を計測するために、対象ソ
フトウェアにカバレジ計測用プローブを挿入する。この
手順を、図13のフローチャートを用いて説明する。
<a> Module A → Module B1 <b1> Module B1 → Module C1 <b2> Module C1 → Module D2 <b3> Module D2 → E Case-1 Module A → Module B1 → Module C1 → Module D2 (2 ) Test sufficiency measurement / evaluation process In order to measure the test sufficiency during test execution, a probe for coverage measurement is inserted in the target software. This procedure will be described with reference to the flowchart of FIG.

【0053】テストプローブ挿入については、まず、ソ
ースコード解析部10によって分類された構成モジュー
ルの全てに番号付けを行う(ステップ301)。図14
は図5に示したソフトウェアを構成するモジュールに関
して各モジュールの番号付けを行った一例であり、各モ
ジュール名と付けられた番号の対応テーブルの生成が行
われる。
Regarding the insertion of the test probe, first, all the constituent modules classified by the source code analysis unit 10 are numbered (step 301). 14
Is an example in which each module is numbered with respect to the modules constituting the software shown in FIG. 5, and a correspondence table of each module name and the number assigned is generated.

【0054】対象となるソースコードを構成するタス
ク、モジュールの先頭部にそれぞれのタスク、モジュー
ルの通過チェックを行うためのカウンタ(テストプロー
ブ)が挿入される(ステップ302)。このカウンタ
(テストプローブ)は、図15に示すように、モジュー
ル通過管理ファイル4に当該タスク、モジュールの番号
を書き込む命令(File Write命令)を組み合
わせたものである。
A counter (test probe) for checking the passage of each task and module is inserted at the beginning of the task and module that compose the target source code (step 302). As shown in FIG. 15, this counter (test probe) is a combination of an instruction (File Write instruction) for writing the number of the task or module in the module passage management file 4.

【0055】このカウンタ(テストプローブ)は、当該
タスク、モジュールが実行された場合に、その当該タス
ク、モジュール番号の値をモジュール通過管理ファイル
4に書き込む役割を持つ。例えば、図5に示したソフト
ウェアにおいて、モジュールC3はモジュール番号“0
6”が割り付けられており、この場合、ソースコードの
モジュールC3の先頭部分に図15に示すようなテスト
プローブが自動的に挿入される。
This counter (test probe) has a role of writing the value of the task or module number to the module passage management file 4 when the task or module is executed. For example, in the software shown in FIG. 5, the module C3 has the module number "0".
6 "is allocated, and in this case, the test probe as shown in FIG. 15 is automatically inserted at the beginning of the module C3 of the source code.

【0056】このカウンタ(テストプローブ)は、当該
タスク、モジュールが実行された場合に、その当該タス
ク、モジュール番号の値をモジュール通過管理ファイル
4に書き込む役割を持つ。例えば、図5に示したソフト
ウェアにおいて、モジュールC3はモジュール番号“0
6”が割り付けられており、この場合、ソースコードの
モジュールC3の先頭部分に図15に示すようなテスト
プローブが自動的に挿入される。
This counter (test probe) has a role of writing the value of the task and the module number to the module passage management file 4 when the task and the module are executed. For example, in the software shown in FIG. 5, the module C3 has the module number "0".
6 "is allocated, and in this case, the test probe as shown in FIG. 15 is automatically inserted at the beginning of the module C3 of the source code.

【0057】このテストプローブが埋め込まれたソース
コードをコンパイル・リンクすることにより、テストカ
バレジの計測、テストの十分性の評価が可能となる(ス
テップ303)。
By compiling and linking the source code in which this test probe is embedded, it is possible to measure the test coverage and evaluate the sufficiency of the test (step 303).

【0058】テストカバレジは、上記のテストプローブ
を挿入したソフトウェアを実行することにより計測され
る。テストカバレジ計測部60は、テスト実施時にテス
ト対象となるソフトウェアのモジュール通過管理ファイ
ル4をセットする。このテストカバレジ計測部60の処
理手順を図16のフローチャートを用いて説明する。
The test coverage is measured by executing the software in which the above test probe is inserted. The test coverage measuring unit 60 sets the module passage management file 4 of the software to be tested during the test execution. The processing procedure of the test coverage measuring unit 60 will be described with reference to the flowchart of FIG.

【0059】テストカバレジ計測部60では、テスト起
動されるソフトウェアの起動回数が常に監視されている
(ステップ401)。そして、そのソフトウェアの起動
が始めてかどうかの判定が行われる(ステップ40
2)。以前に起動されていないソフトウェアが始めて起
動された場合には、テストカバレジ計測部60では、モ
ジュール通過管理ファイル4が書き込み可能な状態で自
動作成される(ステップ403)。また、すでに過去に
起動されたことのあるソフトウェアである場合には、該
当するモジュール通過管理ファイル4が書き込み可能な
状態でオープンされる(ステップ404)。
In the test coverage measuring unit 60, the number of times the software to be test-activated is activated is constantly monitored (step 401). Then, it is determined whether or not the software has started up (step 40).
2). When the software that has not been started before is started for the first time, the test coverage measuring unit 60 automatically creates the module passage management file 4 in a writable state (step 403). If the software has already been activated in the past, the corresponding module passage management file 4 is opened in a writable state (step 404).

【0060】このようにモジュール通過管理ファイル4
がオープンされた状態で、対象ソフトウェアが実際に起
動され、モジュール通過時のテストプローブからのモジ
ュール通過情報の書き込みが行われる(ステップ40
5)。このモジュール通過管理ファイル4は、上記のテ
ストプローブを挿入したソフトウェアの最初の起動時に
セットされ、そのソフトウェアが変更されない限りモジ
ュールの通過履歴が記録され続ける。
As described above, the module passage management file 4
The target software is actually started in the state where the module is opened, and the module passage information is written from the test probe when the module passes (step 40).
5). The module passage management file 4 is set when the software in which the test probe is inserted is first started, and the passage history of the module is continuously recorded unless the software is changed.

【0061】モジュール通過管理ファイル4のファイル
内容の例を図17に示す。このファイルには、テスト実
施日時及び実施時のタスク/モジュール・パスが記録さ
れている。図17に示すように、モジュール通過管理フ
ァイル4は、対象ロードモジュール指定部18及びテス
ト通過モジュール記録部19から構成される。対象ロー
ドモジュール指定部18には、テスト対象となるソフト
ウェアのロードモジュールの名称、作成日時等が記録さ
れる。また、テスト通過モジュール記録部19には指定
されたロードモジュールがテスト実行された日時、及
び、その際にテストプローブに基づきカウントされた通
過したタスク/モジュール番号が記録される。
An example of the file contents of the module passage management file 4 is shown in FIG. In this file, the test execution date and time and the task / module path at the time of execution are recorded. As shown in FIG. 17, the module passage management file 4 includes a target load module designation unit 18 and a test passage module recording unit 19. The target load module designation unit 18 records the name of the load module of the software to be tested, the creation date and time, and the like. Further, the test passing module recording unit 19 records the date and time when the designated load module was tested and the passed task / module number counted based on the test probe.

【0062】図17の例では、テスト対象ロードモジュ
ールは“ESQ−SYS.EXE”、作成日時は“93
−6−3 15:19”であり、試験実施日が“93−
6−5 10:14”のテストでは、モジュール番号
“01,04,09,02,01”という系列がテスト
されたことが記録されている。
In the example of FIG. 17, the load module to be tested is "ESQ-SYS.EXE" and the creation date is "93".
-6-3 15:19 ", and the test date is" 93-
In the 6-5 10:14 "test, it is recorded that the series of module numbers" 01, 04, 09, 02, 01 "was tested.

【0063】テストカバレジ計測部60の実行によっ
て、モジュール通過管理ファイル4にモジュールの通過
履歴が記録されると、次に、モジュール網羅率評価部7
0とテストケース網羅率評価部80が実行され、テスト
の十分性の評価が行われる。
When the passage history of the module is recorded in the module passage management file 4 by the execution of the test coverage measuring unit 60, next, the module coverage evaluation unit 7
0 and the test case coverage evaluation unit 80 are executed to evaluate the sufficiency of the test.

【0064】まず、モジュール網羅率評価部70では、
図14に示した構成モジュールリストに記録されたモジ
ュールと、図17に示したモジュール通過管理ファイル
4に記録されたテスト実施モジュール番号との照合が行
われ、対象ソフトウェアを構成するモジュールの内、何
パーセントを通過したかが評価される。また、同時にテ
スト時に通過していないモジュールが特定され、リスト
(未試験モジュールリスト)が作成される。図14,図
17の事例では、モジュールC3,C5,D4は未通過
であることが判る。
First, in the module coverage evaluation unit 70,
The module recorded in the configuration module list shown in FIG. 14 and the test execution module number recorded in the module passage management file 4 shown in FIG. 17 are collated to determine which of the modules configuring the target software. It is evaluated whether the percentage has been passed. At the same time, modules that have not passed at the time of testing are specified and a list (untested module list) is created. In the case of FIGS. 14 and 17, it can be seen that the modules C3, C5 and D4 have not been passed.

【0065】次に、テストケース網羅率評価部80で
は、図5に示したテストケースと図17に示したモジュ
ール通過管理ファイル4に記録されたテスト実施モジュ
ール番号が照合され、考えられるテストパスの内、何パ
ーセントがテストされたかが評価される。同時に、テス
ト未実施のテストパスが特定され、リスト(未試験モジ
ュール遷移パスリスト)が作成される。図5,図17の
事例では、図5に示したテストケースのうち、Case
−4,5,7,8,9のパスがテストされていないこと
が分かる。
Next, in the test case coverage evaluation unit 80, the test cases shown in FIG. 5 and the test execution module numbers recorded in the module passage management file 4 shown in FIG. Of these, what percentage is tested is evaluated. At the same time, test paths that have not been tested are specified, and a list (untested module transition path list) is created. In the case of FIGS. 5 and 17, among the test cases shown in FIG.
It can be seen that the -4, 5, 7, 8, 9 paths have not been tested.

【0066】上記のような2つの観点からテストの十分
性の評価が行われ、評価結果はテスト結果評価ファイル
5に記憶されると共に、テストカバレジレポート91お
よび未試験モジュール遷移パスレポート101として、
本システムの利用者に提供される。
The sufficiency of the test is evaluated from the above two viewpoints, the evaluation result is stored in the test result evaluation file 5, and the test coverage report 91 and the untested module transition path report 101 are stored.
Provided to users of this system.

【0067】テストカバレジレポート91について、図
18,図19にその事例を示す。
18 and 19 show examples of the test coverage report 91.

【0068】図18はテストカバレジレポート91の一
つである「モジュール網羅率評価レポート」の一例であ
り、対象ソフトウェアを構成するモジュール数およびテ
スト時に実行されたモジュール数からテストにおけるモ
ジュール網羅率が算出・表記されている。また、図19
は「モジュール遷移パス網羅率評価レポート」の一例で
あり、対象ソフトウェアを構成するモジュール間で可能
な遷移系列数に対して実際のテストされた遷移系列の数
が示され、これによりモジュール遷移系列のテスト網羅
度が算出・表記される。
FIG. 18 is an example of a “module coverage evaluation report” which is one of the test coverage reports 91, in which the module coverage in a test is calculated from the number of modules constituting the target software and the number of modules executed during the test. -It is written. In addition, FIG.
Is an example of “Module Transition Path Coverage Evaluation Report”, which shows the actual number of tested transition sequences with respect to the number of possible transition sequences between modules that compose the target software. Test coverage is calculated and written.

【0069】未試験モジュール遷移パスレポート101
については、図20,図21にその事例を示す。図20
は「未試験モジュールレポート」の一例であり、テスト
実行時に通過していないモジュール名称がリストアップ
されている。また、図21は「未試験モジュール遷移パ
スレポート」の一例である。このレポートは、ソフトウ
ェアを構成するモジュール間で可能なモジュール間の遷
移系列のうち、実際のテストで確認されていないパス
が、モジュール名の系列としてリストアップされてい
る。
Untested Module Transition Path Report 101
As for the above, examples thereof are shown in FIGS. Figure 20
Is an example of the “untested module report”, and the module names that have not passed at the time of test execution are listed. FIG. 21 is an example of the “untested module transition path report”. In this report, among the series of transitions between modules that make up the software, paths that have not been confirmed in actual tests are listed as a series of module names.

【0070】なお、本支援システムにおけるテストの十
分性評価は、対象ソフトウェアを複数回実行した場合の
総計を用いて行われる。
The test sufficiency evaluation in the present support system is performed by using the total when the target software is executed a plurality of times.

【0071】(3)再テスト支援処理 通常、ソフトウェアの開発においては、テスト段階で発
見されたバグを修正して、再度テストを行う。また、バ
ージョンアップの際には機能追加や機能変更によってソ
ースコードの修正が行われ、再度のテストが必要とな
る。このような場合、修正されたソースコードのどの部
分をテストする必要があるかを特定し、これに対応した
テストケースを作成、テストすることが問題となる。
(3) Retest Support Process In software development, usually, a bug found in the test stage is corrected and the test is performed again. In addition, when the version is upgraded, the source code is modified by adding or changing functions, and it is necessary to test again. In such cases, it becomes a problem to identify which part of the modified source code needs to be tested, and create and test a test case corresponding to this.

【0072】本システムでは、これらの再テストに対す
るテストケース作成についても支援を行う。
This system also supports the creation of test cases for these retests.

【0073】ソースコード変更影響評価部120は、通
常の1回目のテストを実施したソースコードと、テスト
結果を反映させて修正したソースコードとの比較を行う
役割を持つ。ソースコード変更影響評価部120には、
削除されたモジュールおよび追加されたモジュールを検
出する第1の修正モジュール検出部121と、修正され
たモジュールを検出する第2の修正モジュール検出部1
22とが設けられている。
The source code change impact evaluation section 120 has a role of comparing the source code which has been subjected to the normal first test and the source code which is modified by reflecting the test result. The source code change impact assessment unit 120
A first correction module detection unit 121 that detects a deleted module and an added module, and a second correction module detection unit 1 that detects a corrected module.
And 22 are provided.

【0074】第1の修正モジュール検出部121では、
変更後のソースコードに対してソースコード構成解析が
行われ、図4に示すようなソフトウェア内部構造が明瞭
にされ、先に解析されている変更前のソフトウェア内部
構造との対比が行われる。これにより、どのモジュール
が削除・追加され、また、どのモジュール間の呼び合い
関係が変更を受けたかが特定できる。
In the first correction module detector 121,
The source code structure analysis is performed on the changed source code to clarify the software internal structure as shown in FIG. 4 and to compare with the previously analyzed software internal structure before the change. This makes it possible to identify which module has been deleted / added and which has changed the calling relationship.

【0075】また、第2の修正モジュール検出部122
では、変更前のソースコードと変更後のソースコードそ
れぞれについて、各構成モジュールのステップ数、条件
文数、ループ数等の比較が行われ、これらが変わってい
る場合には、変更・修正を行ったモジュールとして特定
できる。
In addition, the second correction module detection section 122
Then, the source code before the change and the source code after the change are compared with each other in terms of the number of steps, the number of conditional statements, the number of loops, etc. of each constituent module, and if they are changed, change or modify It can be specified as a module.

【0076】図22は、第1の修正モジュール検出部1
21での処理事例を示したものである。変更前のソフト
ウェアではモジュールB1がモジュールC1,C2,C
3を呼んでおり、また、モジュールC2はモジュールD
1,D2を呼んでいた。これに対して、変更後のソフト
ウェアではモジュールB1,C1,C2のみを呼び、ま
た、モジュールC2はモジュールD1,E1を呼んでお
り、呼び合い関係が変更されていることが判る。
FIG. 22 shows the first correction module detector 1
21 shows an example of processing in 21. In the software before the change, the module B1 is the modules C1, C2, C
3 and module C2 is module D
I was calling 1, D2. On the other hand, in the software after the change, only the modules B1, C1 and C2 are called, and the module C2 calls the modules D1 and E1, and it can be seen that the calling relationship is changed.

【0077】図23は、第2の修正モジュール検出部1
22での処理事例を示したものである。変更前と変更後
のソフトウェアでは、モジュールB1,C2,D1,E
1の内部構造が変更されていることが判る。
FIG. 23 shows the second correction module detector 1
22 shows an example of processing in 22. In the software before and after the change, modules B1, C2, D1 and E
It can be seen that the internal structure of 1 has been changed.

【0078】修正・変更を受けたソースコードの変更点
を特定した後、テストケース変更影響評価部120によ
って変更前に生成されたテストケースの中で、これらの
ソースコード変更の影響を受けると考えられるテストケ
ースを特定する。第1の修正モジュール検出部121で
検出された追加モジュールと、第2の修正モジュール検
出部122で検出された修正モジュールは、全て再テス
トの対象となる。
After identifying the changes in the source code that have been modified / changed, it is considered that the test cases generated by the test case change impact evaluation unit 120 before the modification are affected by these source code changes. The test cases that will be used. The additional modules detected by the first correction module detection unit 121 and the correction modules detected by the second correction module detection unit 122 are all subject to retesting.

【0079】図22,図23に示したソースコード変更
影響評価について考えると、変更前に生成されたテスト
ケースのうち、次のものについてはソースコード変更の
影響を受けていると判定される。
Considering the source code change impact evaluation shown in FIGS. 22 and 23, it is determined that the following test cases among the test cases generated before the change are affected by the source code change.

【0080】 Case−1:A−B1−C1−C2−C3 Case−2:A−B1−C2−D1−D2 逆に、次のCase−3はソースコードの変更の影響を
受けていないと考えられるため、再テストの必要は少な
いと判定される。
Case-1: A-B1-C1-C2-C3 Case-2: A-B1-C2-D1-D2 On the contrary, it is considered that the following Case-3 is not affected by the change of the source code. Therefore, it is determined that retesting is not necessary.

【0081】 Case−3:A−B2−C3−D2 再実行対象テストケース特定部130では、変更前のソ
ースコードに対して作成されたテストケースについて、
ソースコード変更の影響が及んでいるかどうかを特定す
る働きを持つ。再実行対象テストケース特定部130で
特定されたテストケースの情報はテストケース作成部2
0に与えられる。そして、テストケース作成部20で
は、この情報に基づいて、再度、変更されたソースコー
ド6のテストケースが作成される。
Case-3: A-B2-C3-D2 In the re-execution target test case identifying unit 130, regarding the test case created for the source code before the change,
It has the function of identifying whether or not the effects of source code changes are affected. The information on the test cases identified by the re-execution target test case identifying unit 130 is the test case creating unit 2
Given to 0. Then, the test case creation unit 20 creates the test case of the changed source code 6 again based on this information.

【0082】例えば、先に示した図22,図23の例で
は、上記のCase−1,2のテストケースが再テスト
の対象となり、一方、Case−3はソースコード変更
の影響を受けていないと判定されるため、再テストのテ
ストケースからは除外される。
For example, in the examples of FIGS. 22 and 23 shown above, the above-described test cases of Case-1 and Case-2 are targets of retesting, while Case-3 is not affected by the source code change. Therefore, it is excluded from the retest test cases.

【0083】このようにして変更されたソースコードに
対して再度テストを行った場合に、変更されたソフトウ
ェアに対するテストの十分性(網羅率)や未実行パス、
未実行モジュールが特定される。この場合、テスト十分
性評価については、修正変更の影響を受けないモジュー
ルやモジュール遷移パスも含めて、どの程度をテストし
たかが判定されるものである。また、未実行モジュー
ル、未実行モジュールパスについても、変更の影響を受
けないモジュール、モジュール遷移パスも含めて指摘の
対象となる。
When the source code changed in this way is tested again, the sufficiency (coverage rate) of the test for the changed software, unexecuted paths,
The unexecuted module is specified. In this case, for the test sufficiency evaluation, it is determined how much the test is performed, including the modules and the module transition paths that are not affected by the modification. In addition, unexecuted modules and unexecuted module paths are also pointed out, including modules that are not affected by changes and module transition paths.

【0084】[0084]

【発明の効果】以上説明したように、本発明のソフトウ
ェアテスト支援システムによれば、効率的なソフトウェ
アテストを容易に行うことができる。つまり、通常の開
発言語によって作成されたソフトウェアに関して、その
テストのためのテストケースを自動的に抽出することが
可能となる。このレベルで生成されるテストケースは、
対象ソフトウェアのソフトウェア・システムテストの際
の参考として利用でき、これにより効率的に抜けのない
テスト仕様書を作成できるようになる。
As described above, according to the software test support system of the present invention, an efficient software test can be easily performed. That is, it is possible to automatically extract a test case for the test of software created in a normal development language. The test cases generated at this level are
It can be used as a reference for software / system testing of the target software, which allows efficient creation of complete test specifications.

【0085】また、テストの十分性を計測するテストプ
ローブを対象のソフトウェアのソースコードに挿入する
ことにより、テスト実行時に対象ソフトウェアを構成す
るモジュールをどの程度テストしたかを評価する「モジ
ュール網羅率」および各モジュール間の関連を考慮して
実行可能なモジュールの遷移系列をどの程度テストした
かを評価する「モジュール遷移パス系列網羅率」の評価
が可能となる。また、これらの評価結果をレポートとし
て確認することが可能となる。これにより、対象ソフト
ウェアのテスト実施時に、具体的にどのモジュールある
いはどのモジュール遷移パスがテストされていないかが
明確になり、効率的なテスト実施及び評価が可能とな
る。このモジュール網羅率、モジュール遷移パス網羅
率、未試験モジュールの特定、未試験モジュールパス特
定によって、より確実なソフトウェア・システム試験が
可能となる。
Further, by inserting a test probe for measuring the sufficiency of the test into the source code of the target software, the "module coverage rate" for evaluating how much the modules constituting the target software are tested during the test execution Also, it is possible to evaluate the "module transition path sequence coverage rate" that evaluates how much the transition sequence of executable modules has been tested in consideration of the relationship between each module. In addition, it is possible to confirm these evaluation results as a report. As a result, it becomes clear which module or which module transition path has not been specifically tested when the target software is tested, and efficient test execution and evaluation become possible. By this module coverage rate, module transition path coverage rate, specification of untested module, and specification of untested module path, more reliable software / system test can be performed.

【0086】さらに、ソースコードからのテストケース
生成及びテスト実施時の十分性評価により、ソフトウェ
アのテストの効率的実施が容易となる。また、これによ
ってテストの抜けや片寄りが防止され、ソフトウェアの
効果的なテストが可能となり、品質、生産性の向上が図
れる。
Further, the test case generation from the source code and the sufficiency evaluation at the time of executing the test facilitate the efficient execution of the software test. Further, this prevents omissions and deviations of tests, enables effective testing of software, and improves quality and productivity.

【図面の簡単な説明】[Brief description of drawings]

【図1】本実施例に係るソフトウェア支援システムの構
成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a software support system according to an embodiment.

【図2】本実施例に係るソフトウェア支援システムの構
成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of a software support system according to the present embodiment.

【図3】本実施例に係るソフトウェア支援システムの構
成を示すブロック図である。
FIG. 3 is a block diagram showing a configuration of a software support system according to the present embodiment.

【図4】ソフトウェアテストを実施する対象となるソフ
トウェアのモジュール構成を示す図である。
FIG. 4 is a diagram showing a module configuration of software to be subjected to a software test.

【図5】抽出されたテストケースの例を示す図である。FIG. 5 is a diagram showing an example of extracted test cases.

【図6】画面処理を中心とした財務事務処理関係のソフ
トウェア内部構造を示すモジュール関連図である。
FIG. 6 is a module related diagram showing an internal structure of software related to financial office work processing, which is centered on screen processing.

【図7】画面処理を中心とした財務事務処理関係のソフ
トウェアの処理操作の関連を示したブロック図である。
FIG. 7 is a block diagram showing a relation of processing operations of software related to financial office processing, which is centered on screen processing.

【図8】生成されたテストケースと処理操作の流れの一
例を示す図である。
FIG. 8 is a diagram showing an example of a flow of generated test cases and processing operations.

【図9】本装置により出力されるテストケース・レポー
トの例を示す図である。
FIG. 9 is a diagram showing an example of a test case report output by this device.

【図10】テストケース生成の手順を示すフローチャー
トである。
FIG. 10 is a flowchart showing a procedure for generating a test case.

【図11】テストケース生成のためのテストケースツリ
ーを示す図である。
FIG. 11 is a diagram showing a test case tree for generating a test case.

【図12】テストケース生成のためのテストケースツリ
ーを示す図である。
FIG. 12 is a diagram showing a test case tree for generating a test case.

【図13】テストプローブ挿入手順を示すフローチャー
トである。
FIG. 13 is a flowchart showing a test probe insertion procedure.

【図14】各モジュールの番号付けを行った一例を示す
図である。
FIG. 14 is a diagram showing an example in which each module is numbered.

【図15】テストプローブが挿入されたソースコードの
例を示す図である。
FIG. 15 is a diagram showing an example of source code in which a test probe is inserted.

【図16】テストカバレジ計測部の処理手順を示すフロ
ーチャートである。
FIG. 16 is a flowchart showing a processing procedure of a test coverage measuring unit.

【図17】モジュール通過管理ファイルのファイル内容
の例を示す図である。
FIG. 17 is a diagram showing an example of file contents of a module passage management file.

【図18】テストカバレジレポートのうち、「モジュー
ル網羅率」評価結果レポートの一例を示す図である。
FIG. 18 is a diagram showing an example of a “module coverage” evaluation result report of the test coverage reports.

【図19】テストカバレジレポートのうち、「モジュー
ル遷移パス系列網羅率」評価結果レポートの一例を示す
図である。
FIG. 19 is a diagram showing an example of a “module transition path sequence coverage rate” evaluation result report of the test coverage reports.

【図20】「未試験モジュールレポート」の一例を示す
図である。
FIG. 20 is a diagram showing an example of an “untested module report”.

【図21】「未試験モジュールパスレポート」の一例を
示す図である。
FIG. 21 is a diagram showing an example of an “untested module path report”.

【図22】再テスト時のソースコード変更影響評価部に
よるソフトウェア構成評価の一例を示す図である。
FIG. 22 is a diagram showing an example of software configuration evaluation by a source code change impact evaluation unit at the time of retesting.

【図23】再テスト時のソースコード変更影響評価によ
る構成モジュール内部評価の一例を示す図である。
FIG. 23 is a diagram showing an example of internal evaluation of a constituent module based on a source code change impact evaluation at the time of retesting.

【符号の説明】[Explanation of symbols]

1…ソースコード 2…テストケースファイル 3…ロードモジュール 4…モジュール通過管理ファイル 5…テスト結果評価ファイル 6…修正ソースコード 10…ソースコード解析部 20…テストケース作成部 30…テストケースレポート出力部 31…テストケースレポート 40…テストプローブ挿入部 50…ロードモジュール作成部 60…テストカバレジ計測部 70…モジュール網羅率評価部 80…テストケース網羅率評価部 90…モジュール網羅率出力部 91…テストカバレジレポート 100…テストケース網羅率出力部 101…未試験モジュール遷移パスレポート 110…修正ソースコード解析部 120…ソースコード変更影響評価部 121…第1の修正モジュール検出部 122…第2の修正モジュール検出部 130…再実行対象テストケース特定部。 1 ... Source code 2 ... Test case file 3 ... Load module 4 ... Module passage management file 5 ... Test result evaluation file 6 ... Modified source code 10 ... Source code analysis unit 20 ... Test case creation unit 30 ... Test case report output unit 31 … Test case report 40… Test probe insertion unit 50… Load module creation unit 60… Test coverage measurement unit 70… Module coverage evaluation unit 80… Test case coverage evaluation unit 90… Module coverage output unit 91… Test coverage report 100 ... test case coverage output unit 101 ... untested module transition path report 110 ... modified source code analysis unit 120 ... source code change impact evaluation unit 121 ... first modified module detection unit 122 ... second modified module detection unit 130 ... Again Line target test case identifying section.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 構造化プログラミング手法によって作成
されたソースコードを解析してソフトウェアのテストの
支援を行うソフトウェアテスト支援システムにおいて、 ソースコードを複数の単位ルーチンに分類し、各単位ル
ーチンの呼び出し関係を解析するソースコード解析手段
と、 前記ソースコード解析手段で解析された各単位ルーチン
の呼び出し関係に基づいて、全ての呼び出しパターンを
網羅する複数のテストケースを作成するテストケース作
成手段とを備えることを特徴とするソフトウェアテスト
支援システム。
1. In a software test support system that analyzes a source code created by a structured programming method to support software testing, the source code is classified into a plurality of unit routines, and the call relationship of each unit routine is defined. A source code analyzing unit for analyzing and a test case creating unit for creating a plurality of test cases covering all calling patterns based on the calling relationship of each unit routine analyzed by the source code analyzing unit. Characteristic software test support system.
【請求項2】 前記テストケース作成手段で作成された
複数のテストケースの一覧を帳票形式で出力するテスト
ケースレポート出力手段とを備えることを特徴とする請
求項1記載のソフトウェアテスト支援システム。
2. The software test support system according to claim 1, further comprising a test case report output unit that outputs a list of a plurality of test cases created by the test case creation unit in a form.
【請求項3】 前記ソースコードの各単位ルーチンにテ
ストプローブを挿入するテストプローブ挿入手段と、 前記テストプローブ挿入手段によってテストプローブが
挿入された前記ソースコードをコンパイル・リンクして
ロードモジュールを作成するロードモジュール作成手段
と、 前記テストケース作成手段で作成された各テストケース
に基づいて、前記ロードモジュール作成手段で作成した
ロードモジュールを実行するテスト実行手段とを備え、 前記テストプローブは、少なくとも所定の履歴ファイル
をオープンする命令と、この履歴ファイルに挿入対象の
単位ルーチンを特定する番号を書き込む命令とを含んだ
命令群であることを特徴とする請求項1または請求項2
に記載のソフトウェアテスト支援システム。
3. A load module is created by compiling and linking a test probe inserting means for inserting a test probe into each unit routine of the source code and the source code in which the test probe is inserted by the test probe inserting means. A load module creating means, and a test executing means for executing the load module created by the load module creating means based on each test case created by the test case creating means, wherein the test probe is at least a predetermined 3. A command group including a command for opening a history file and a command for writing a number identifying a unit routine to be inserted into the history file.
Software test support system described in.
【請求項4】 前記テスト実行手段でのロードモジュー
ルの実行によって書き込まれた前記履歴ファイルを分析
して、前記ソースコードの全単位ルーチンの中の何パー
セントの単位ルーチンがこの履歴ファイルに書き込まれ
ているか検出すると共に、未実行のモジュールを検出す
るモジュール網羅率評価手段を備えることを特徴とする
請求項3記載のソフトウェアテスト支援システム。
4. The history file written by the execution of the load module in the test executing means is analyzed, and a percentage of all unit routines of the source code is written in the history file. 4. The software test support system according to claim 3, further comprising module coverage evaluation means for detecting whether or not there is an unexecuted module.
【請求項5】 前記モジュール網羅率評価手段で検出さ
れたモジュール網羅率および未実行モジュールの一覧を
帳票形式で出力するモジュール網羅率出力手段とを備え
ることを特徴とする請求項4記載のソフトウェアテスト
支援システム。
5. The software test according to claim 4, further comprising module coverage ratio output means for outputting a list of module coverage ratios and unexecuted modules detected by the module coverage ratio evaluation means in a form. Support system.
【請求項6】 前記テスト実行手段でのロードモジュー
ルの実行によって書き込まれた前記履歴ファイルを分析
して、前記テストケース作成手段で作成された全テスト
ケースの中の何パーセントのテストケースがこの履歴フ
ァイルに書き込まれているか検出すると共に、未実行の
テストケースを検出するテストケース網羅率評価手段を
備えることを特徴とする請求項3記載のソフトウェアテ
スト支援システム。
6. The history file written by the execution of the load module by the test execution means is analyzed, and the percentage of test cases among all the test cases created by the test case creation means is the history. 4. The software test support system according to claim 3, further comprising a test case coverage evaluation unit that detects whether or not the test case has been written in the file and detects an unexecuted test case.
【請求項7】 前記テストケース網羅率評価手段で検出
されたテストケース網羅率および未実行テストケースの
一覧を帳票形式で出力するテストケース網羅率出力手段
とを備えることを特徴とする請求項6記載のソフトウェ
アテスト支援システム。
7. The test case coverage rate output means for outputting, in a form, a list of test case coverage rates and unexecuted test cases detected by the test case coverage rate evaluation means. Described software test support system.
【請求項8】 バグ修正またはバージョンアップによる
修正が行われたソースコードを複数の単位ルーチンに分
類する修正ソースコード解析手段と、 前記ソースコード解析手段で分類された単位ルーチンと
前記修正ソースコード解析で分類された単位ルーチンと
を比較して、削除された単位ルーチンおよび追加された
単位ルーチンを検出する第1の修正単位ルーチン検出手
段と、 修正前後の前記ソースコードを比較して、前記修正ソー
スコード解析で分類された単位ルーチンの中で修正され
た単位ルーチンを検出する第2の修正単位ルーチン検出
手段と、 前記テストケース作成手段で作成されたテストケースの
内、前記第1の修正単位ルーチン検出手段で検出された
追加単位ルーチンを対象とするテストケースと前記第2
の修正単位ルーチン検出手段で検出された修正単位ルー
チンを対象とするテストケースとを特定する再実行対象
テストケース特定手段とを備えることを特徴とする請求
項1から請求項7までのいずれかに記載のソフトウェア
テスト支援システム。
8. A modified source code analyzing unit for classifying a source code, which is modified by a bug correction or a version upgrade, into a plurality of unit routines, a unit routine classified by the source code analyzing unit, and the modified source code analysis. First modified unit routine detecting means for detecting a deleted unit routine and an added unit routine by comparing with the unit routines classified by, and the modified source by comparing the source code before and after the modification. A second modified unit routine detecting means for detecting a modified unit routine among the unit routines classified by the code analysis; and the first modified unit routine of the test cases created by the test case creating means. A test case targeting the additional unit routine detected by the detection means, and the second
8. The re-execution target test case specifying means for specifying a test case targeting the correction unit routine detected by the correction unit routine detecting means of (1), according to any one of claims 1 to 7. Described software test support system.
JP6002810A 1994-01-14 1994-01-14 Software test supporting system Pending JPH07210424A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6002810A JPH07210424A (en) 1994-01-14 1994-01-14 Software test supporting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6002810A JPH07210424A (en) 1994-01-14 1994-01-14 Software test supporting system

Publications (1)

Publication Number Publication Date
JPH07210424A true JPH07210424A (en) 1995-08-11

Family

ID=11539753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6002810A Pending JPH07210424A (en) 1994-01-14 1994-01-14 Software test supporting system

Country Status (1)

Country Link
JP (1) JPH07210424A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334210B1 (en) 1998-01-26 2001-12-25 Nec Corporation Language processing system and language processing method enabling reduction of memory region and overhead in profile information collection of computer
US6671877B1 (en) 1999-01-29 2003-12-30 International Business Machines Corporation Method and device to calculate activity degrees of method programs
KR100621574B1 (en) * 1999-07-07 2006-09-12 삼성전자주식회사 Generating system of test driver for embedded system software testing
JP2008176793A (en) * 2007-01-19 2008-07-31 Suresoft Technologies Inc Software test system, method, and computer-readable recording medium having program stored for executing this method
JP2008242811A (en) * 2007-03-27 2008-10-09 Hitachi Software Eng Co Ltd Software component source code generation system
JP2008262510A (en) * 2007-04-13 2008-10-30 Fuji Xerox Co Ltd Electronic circuit device, failure diagnostic device, failure diagnostic system, and failure diagnostic program
US7882493B2 (en) 2005-11-14 2011-02-01 Fujitsu Limited Software test management program software test management apparatus and software test management method
JP2012084131A (en) * 2010-10-06 2012-04-26 Internatl Business Mach Corp <Ibm> Asynchronous code test method, computer program product, computer system, and process (asynchronous code test in integrated development environment (ide))
US8479165B1 (en) 2011-05-23 2013-07-02 International Business Machines Corporation System for testing operation of software
JP2014048699A (en) * 2012-08-29 2014-03-17 Fujitsu Ltd Management device, management method, and program
JP2015001825A (en) * 2013-06-14 2015-01-05 富士電機株式会社 Testing schedule determination device, and program
JP2016048471A (en) * 2014-08-27 2016-04-07 日本電気株式会社 Application development support device, data processing method and program therefor
JP2017004208A (en) * 2015-06-09 2017-01-05 株式会社日立製作所 Test support device and test support method
CN106959926A (en) * 2017-05-09 2017-07-18 山东浪潮商用系统有限公司 A kind of the software test module and method of software-oriented upgrading
US9760470B2 (en) 2013-05-15 2017-09-12 Mitsubishi Electric Corporation Device, method, and program analysis of new source code to be added to execution program to check for bug
JP2018049492A (en) * 2016-09-23 2018-03-29 富士通株式会社 Analysis device, analysis program and analysis method
JPWO2020213371A1 (en) * 2019-04-16 2021-11-04 株式会社ソニー・インタラクティブエンタテインメント Information processing device
WO2023187869A1 (en) * 2022-03-28 2023-10-05 三菱電機株式会社 Test assistance device, test assistance method, and test assistance program

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6423346A (en) * 1987-07-20 1989-01-26 Yokogawa Electric Corp Evaluating method for program
JPH01193944A (en) * 1988-01-28 1989-08-03 Chugoku Nippon Denki Software Kk System for automatically selecting test item
JPH01261737A (en) * 1988-04-12 1989-10-18 Nec Software Ltd Automatic control system for inspection of language processor
JPH03282637A (en) * 1990-03-29 1991-12-12 Nec Corp Preparation system for test specifications
JPH0452835A (en) * 1990-06-15 1992-02-20 Hitachi Ltd Program test evaluation system
JPH04104334A (en) * 1990-08-23 1992-04-06 Fujitsu Ltd Program test supporting device
JPH04133138A (en) * 1990-09-26 1992-05-07 Hitachi Ltd System test supporting method
JPH04192043A (en) * 1990-11-27 1992-07-10 Mitsubishi Electric Corp Test device for program function
JPH0588936A (en) * 1991-09-27 1993-04-09 Hitachi Ltd Development management system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6423346A (en) * 1987-07-20 1989-01-26 Yokogawa Electric Corp Evaluating method for program
JPH01193944A (en) * 1988-01-28 1989-08-03 Chugoku Nippon Denki Software Kk System for automatically selecting test item
JPH01261737A (en) * 1988-04-12 1989-10-18 Nec Software Ltd Automatic control system for inspection of language processor
JPH03282637A (en) * 1990-03-29 1991-12-12 Nec Corp Preparation system for test specifications
JPH0452835A (en) * 1990-06-15 1992-02-20 Hitachi Ltd Program test evaluation system
JPH04104334A (en) * 1990-08-23 1992-04-06 Fujitsu Ltd Program test supporting device
JPH04133138A (en) * 1990-09-26 1992-05-07 Hitachi Ltd System test supporting method
JPH04192043A (en) * 1990-11-27 1992-07-10 Mitsubishi Electric Corp Test device for program function
JPH0588936A (en) * 1991-09-27 1993-04-09 Hitachi Ltd Development management system

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334210B1 (en) 1998-01-26 2001-12-25 Nec Corporation Language processing system and language processing method enabling reduction of memory region and overhead in profile information collection of computer
US6671877B1 (en) 1999-01-29 2003-12-30 International Business Machines Corporation Method and device to calculate activity degrees of method programs
KR100621574B1 (en) * 1999-07-07 2006-09-12 삼성전자주식회사 Generating system of test driver for embedded system software testing
US7882493B2 (en) 2005-11-14 2011-02-01 Fujitsu Limited Software test management program software test management apparatus and software test management method
JP2008176793A (en) * 2007-01-19 2008-07-31 Suresoft Technologies Inc Software test system, method, and computer-readable recording medium having program stored for executing this method
JP2008242811A (en) * 2007-03-27 2008-10-09 Hitachi Software Eng Co Ltd Software component source code generation system
JP2008262510A (en) * 2007-04-13 2008-10-30 Fuji Xerox Co Ltd Electronic circuit device, failure diagnostic device, failure diagnostic system, and failure diagnostic program
JP2012084131A (en) * 2010-10-06 2012-04-26 Internatl Business Mach Corp <Ibm> Asynchronous code test method, computer program product, computer system, and process (asynchronous code test in integrated development environment (ide))
US9569346B2 (en) 2010-10-06 2017-02-14 International Business Machines Corporation Asynchronous code testing
US9075919B2 (en) 2010-10-06 2015-07-07 International Business Machines Corporation Asynchronous code testing
US8707268B2 (en) 2011-05-23 2014-04-22 Interntional Business Machines Corporation Testing operations of software
US8745588B2 (en) 2011-05-23 2014-06-03 International Business Machines Corporation Method for testing operation of software
US8479165B1 (en) 2011-05-23 2013-07-02 International Business Machines Corporation System for testing operation of software
JP2014048699A (en) * 2012-08-29 2014-03-17 Fujitsu Ltd Management device, management method, and program
US9760470B2 (en) 2013-05-15 2017-09-12 Mitsubishi Electric Corporation Device, method, and program analysis of new source code to be added to execution program to check for bug
JP2015001825A (en) * 2013-06-14 2015-01-05 富士電機株式会社 Testing schedule determination device, and program
JP2016048471A (en) * 2014-08-27 2016-04-07 日本電気株式会社 Application development support device, data processing method and program therefor
JP2017004208A (en) * 2015-06-09 2017-01-05 株式会社日立製作所 Test support device and test support method
JP2018049492A (en) * 2016-09-23 2018-03-29 富士通株式会社 Analysis device, analysis program and analysis method
CN106959926A (en) * 2017-05-09 2017-07-18 山东浪潮商用系统有限公司 A kind of the software test module and method of software-oriented upgrading
JPWO2020213371A1 (en) * 2019-04-16 2021-11-04 株式会社ソニー・インタラクティブエンタテインメント Information processing device
WO2023187869A1 (en) * 2022-03-28 2023-10-05 三菱電機株式会社 Test assistance device, test assistance method, and test assistance program

Similar Documents

Publication Publication Date Title
JPH07210424A (en) Software test supporting system
US6895577B1 (en) Risk metric for testing software
US9348725B1 (en) Method and system for handling failed test scenarios
US6959431B1 (en) System and method to measure and report on effectiveness of software program testing
US4864569A (en) Software verification and validation configuration management system
US6408403B1 (en) Method for integrating automated software testing with software development
US9348731B2 (en) Tracing the execution path of a computer program
US7958400B2 (en) Detecting unexpected impact of software changes using coverage analysis
US6944848B2 (en) Technique using persistent foci for finite state machine based software test generation
CN101589380B (en) Context based code analysis
US7478000B2 (en) Method and system to develop a process improvement methodology
JP2002505000A (en) Low cost and easy to use software for automated test systems
US8732676B1 (en) System and method for generating unit test based on recorded execution paths
CN111209206A (en) Automatic test method and system for software product
Silva et al. Flacoco: Fault localization for java based on industry-grade coverage
CN107247663B (en) Redundancy variant identification method
CN112162921B (en) Industrial automation test and control system
Yu et al. Towards understanding fixes of sonarqube static analysis violations: A large-scale empirical study
Gomes et al. Anticipating identification of technical debt items in model-driven software projects
CN116932414B (en) Method and equipment for generating interface test case and computer readable storage medium
Shcherbina et al. Testing Processes Automation
Haertel et al. A Method for Comparing and Selecting Static Code Analysis Tools in Software Development Projects
JP3317336B2 (en) Instruction combination test method and recording medium
CN117785716A (en) Complex software source code verification method based on model detection
JPH0588936A (en) Development management system