JPH081609B2 - リグレッション防止用テストケースの決定方式 - Google Patents
リグレッション防止用テストケースの決定方式Info
- Publication number
- JPH081609B2 JPH081609B2 JP61052111A JP5211186A JPH081609B2 JP H081609 B2 JPH081609 B2 JP H081609B2 JP 61052111 A JP61052111 A JP 61052111A JP 5211186 A JP5211186 A JP 5211186A JP H081609 B2 JPH081609 B2 JP H081609B2
- Authority
- JP
- Japan
- Prior art keywords
- test case
- statement
- test
- program
- executed
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プログラム修正時に行なわれるリグレッシ
ョン防止用テストのテストケース決定方式に関する。
ョン防止用テストのテストケース決定方式に関する。
データ処理システムで仕様変更や障害が発生してソー
スプログラムを修正した場合、確かにその仕様変更がな
されたかまた障害が修正されたかの確認テストの他に、
他の機能のレベルダウンが起きていないかテスト(リグ
レッション防止用テスト)する必要がある。このテスト
は、全テストケースを再実行して行なっているのが現状
であるが、これは時間がかゝる。
スプログラムを修正した場合、確かにその仕様変更がな
されたかまた障害が修正されたかの確認テストの他に、
他の機能のレベルダウンが起きていないかテスト(リグ
レッション防止用テスト)する必要がある。このテスト
は、全テストケースを再実行して行なっているのが現状
であるが、これは時間がかゝる。
ところであるプログラムが走ったとき、そのプログラ
ムの各文(命令)がどの程度実行されたかを集計するテ
ストカバレージ測定ツールなるものがある。第4図にそ
の概要を示す。
ムの各文(命令)がどの程度実行されたかを集計するテ
ストカバレージ測定ツールなるものがある。第4図にそ
の概要を示す。
これを処理順に説明すると、あるプログラムBのテ
ストケースT2を実行し、実行したプログラム部分に関
する情報(SYSCOUNT情報又はルート情報)を得る。この
情報は該プログラムの各命令のうち、どれを、何回通っ
た(実行した)かというもの、又は各命令単位ではなく
その複数個からなるルート(ブランチしている場合、ど
ちらの経路かということ)単位でどのルートを何回通っ
たかというものである。この文またはルート(こゝで単
に文ともいう)はテストケースが変れば変るものであ
る。即ち実行されるプログラムは同じでもテストケース
が異なる(これで使用するデータが異なることになる)
と、if文などでルートが分れ、実行される命令文が異な
ることになる。どの文を通ったかの情報は、コンパイラ
の機能などを利用して取出すことができる。
ストケースT2を実行し、実行したプログラム部分に関
する情報(SYSCOUNT情報又はルート情報)を得る。この
情報は該プログラムの各命令のうち、どれを、何回通っ
た(実行した)かというもの、又は各命令単位ではなく
その複数個からなるルート(ブランチしている場合、ど
ちらの経路かということ)単位でどのルートを何回通っ
たかというものである。この文またはルート(こゝで単
に文ともいう)はテストケースが変れば変るものであ
る。即ち実行されるプログラムは同じでもテストケース
が異なる(これで使用するデータが異なることになる)
と、if文などでルートが分れ、実行される命令文が異な
ることになる。どの文を通ったかの情報は、コンパイラ
の機能などを利用して取出すことができる。
この情報は各テストケース毎に纏め、また各文単位で
も纏め(累計し)、この編集結果をカウントログファイ
ルに記録する(、)。図示の例(F1)ではプログラ
ムBがテストケースT1,T2につき実行され、文番号100,2
00,300,400の各命令文がテストケースT1では18,18,4,4
回実行され、テストケースT2では2,2,0,0回実行され、
従って累計は20,20,4,4であるとしている。この累計結
果は、当該テストによる各命令文の実行状況(実行網羅
率;カバレージ)を示す。またこのログファイルは、プ
ログラムAもテストケースT1,T2,T3について実行され、
各命令文の実行回路は図示(F2)の如くであるとしてい
る。カウントログファイルの内容はディスプレイに表示
され又はプリンタにより用紙に打出され、目視に供され
る。
も纏め(累計し)、この編集結果をカウントログファイ
ルに記録する(、)。図示の例(F1)ではプログラ
ムBがテストケースT1,T2につき実行され、文番号100,2
00,300,400の各命令文がテストケースT1では18,18,4,4
回実行され、テストケースT2では2,2,0,0回実行され、
従って累計は20,20,4,4であるとしている。この累計結
果は、当該テストによる各命令文の実行状況(実行網羅
率;カバレージ)を示す。またこのログファイルは、プ
ログラムAもテストケースT1,T2,T3について実行され、
各命令文の実行回路は図示(F2)の如くであるとしてい
る。カウントログファイルの内容はディスプレイに表示
され又はプリンタにより用紙に打出され、目視に供され
る。
なおプログラムの命令文数は数百〜数千など多数ある
のが普通で、ログデータはその各々についてとるのが普
通であるから、カンウントログファイルの文番号数は図
示の4つではなく数百〜数千と多数ある。図ではこれを
簡略化して示している。テストケースについても同様で
ある。
のが普通で、ログデータはその各々についてとるのが普
通であるから、カンウントログファイルの文番号数は図
示の4つではなく数百〜数千と多数ある。図ではこれを
簡略化して示している。テストケースについても同様で
ある。
このようなテストカバレージ測定ツールを利用すれ
ば、リグレッション防止用テストケースを絞り込み、必
要なだけのテストにして所要時間の短縮などを図ること
ができる。即ちカウントログファイルのF1を見るとテス
トケースT2では文番号300と400の命令文は実行していな
い。従って命令文300,400を修正したときのリグレッシ
ョン防止用テストでは、テストケースT2は実行する必要
がない。
ば、リグレッション防止用テストケースを絞り込み、必
要なだけのテストにして所要時間の短縮などを図ること
ができる。即ちカウントログファイルのF1を見るとテス
トケースT2では文番号300と400の命令文は実行していな
い。従って命令文300,400を修正したときのリグレッシ
ョン防止用テストでは、テストケースT2は実行する必要
がない。
本発明はかゝる点に着目するもので、迅速、効率的な
テストを可能にしようとするものである。
テストを可能にしようとするものである。
本発明は、プログラム修正時に行われるリグレッショ
ン防止用テストのテストケース決定方式において、 予めプログラムを各テストケースにつき実行して、テ
ストケース別かつ文番号別に当該文の実行回数を記録し
ておき、 プログラムを修正したとき、当該文番号について前記
記録をチェックして、該修正の影響を受けるテストケー
スを検出し、 その際、プログラム修正で命令文を更新又は削除した
ときは、該更新又は削除した文番号の実行回数が1以上
のテストケースを影響ありテストケースとし、 またプログラム修正で命令文を新たに挿入したとき
は、該挿入文番号の前、後の文番号をチェックし、いず
れか一方又は両方の文番号が1以上であれば影響ありテ
ストケースとすることを特徴とするものである。
ン防止用テストのテストケース決定方式において、 予めプログラムを各テストケースにつき実行して、テ
ストケース別かつ文番号別に当該文の実行回数を記録し
ておき、 プログラムを修正したとき、当該文番号について前記
記録をチェックして、該修正の影響を受けるテストケー
スを検出し、 その際、プログラム修正で命令文を更新又は削除した
ときは、該更新又は削除した文番号の実行回数が1以上
のテストケースを影響ありテストケースとし、 またプログラム修正で命令文を新たに挿入したとき
は、該挿入文番号の前、後の文番号をチェックし、いず
れか一方又は両方の文番号が1以上であれば影響ありテ
ストケースとすることを特徴とするものである。
第1図に示すように本発明ではテストケース実行時に
どの文を通ったかという情報を採取し、これを蓄積して
おく。そしてソース修正が発生したとき、修正された文
が通過したルート上にあるテストケースを洗い出す。洗
い出されたテストケースが、実行ルートが変る可能性の
あるテストケースである。第1図では、文番号200を修
正した時、該当するのはテストケース1であり、従って
これをリグレッション防止のためのテストケースとす
る。テストケース2は該当せず、従って実行不要とす
る。こうして実行を要するテストケースを絞り込むこと
ができる。
どの文を通ったかという情報を採取し、これを蓄積して
おく。そしてソース修正が発生したとき、修正された文
が通過したルート上にあるテストケースを洗い出す。洗
い出されたテストケースが、実行ルートが変る可能性の
あるテストケースである。第1図では、文番号200を修
正した時、該当するのはテストケース1であり、従って
これをリグレッション防止のためのテストケースとす
る。テストケース2は該当せず、従って実行不要とす
る。こうして実行を要するテストケースを絞り込むこと
ができる。
第4図でこれを行なうには、影響を調査したい場所
(文、ブランチ、又はモジュール)を指定し、指定さ
れた場所が実行されているテストケースをカウントログ
ファイルより求め、これを影響テストケース(修正の影
響を受けるテストケース、従ってリグレッション防止用
テストケースとして採用すべきテストケース)として表
示させる。必要部分のみ取出すと第3図のようにな
る。T1,T2,T3は各テストケースであり、これを実行する
と1F文などで各々の実行ルートが変り、必ずしも各ケー
スとも同一ではない。そこで各々の実行ルートを取出
し、実行ルートに名前(テストケース名)をつけて蓄積
する。この蓄積(ファイル)に対して場所(文、ブラン
チなど)を指定し、指定された場所を通っているテスト
ケースを探す。場所をとすると、これを通っているテ
ストケースは図示例ではT1とT2であり、そこでこれらを
影響テストケースとして表示する。
(文、ブランチ、又はモジュール)を指定し、指定さ
れた場所が実行されているテストケースをカウントログ
ファイルより求め、これを影響テストケース(修正の影
響を受けるテストケース、従ってリグレッション防止用
テストケースとして採用すべきテストケース)として表
示させる。必要部分のみ取出すと第3図のようにな
る。T1,T2,T3は各テストケースであり、これを実行する
と1F文などで各々の実行ルートが変り、必ずしも各ケー
スとも同一ではない。そこで各々の実行ルートを取出
し、実行ルートに名前(テストケース名)をつけて蓄積
する。この蓄積(ファイル)に対して場所(文、ブラン
チなど)を指定し、指定された場所を通っているテスト
ケースを探す。場所をとすると、これを通っているテ
ストケースは図示例ではT1とT2であり、そこでこれらを
影響テストケースとして表示する。
命令文の修正には更新の他に、新たな挿入、削除もあ
る。新たな挿入の場合には、当然、当該文番号はログデ
ータになく、このまゝでは全テストケースが影響なしテ
ストケースになってしまうが、無論これは不都合であ
る。この場合は挿入された文の番号の前後いずれか一方
又は両方の文番号の実行回数が1以上か否かをチェック
し、イエスであれば当該テストケースは影響テストケー
スとする。また、挿入文番号の前、後の文番号に対応す
る文が段落名、ラベルなどの非実行文(この場合には、
実行文と区別するために実行回数にはマイナス値を設定
する。)のときは、更に1つ前又は後の文番号で判定す
る。上記の1つ前又は後の文番号も非実行文のことがあ
るが、この場合は更に1つ進める。判定対象の文番号の
実行回数が0のときは影響なしテストケースとする。
る。新たな挿入の場合には、当然、当該文番号はログデ
ータになく、このまゝでは全テストケースが影響なしテ
ストケースになってしまうが、無論これは不都合であ
る。この場合は挿入された文の番号の前後いずれか一方
又は両方の文番号の実行回数が1以上か否かをチェック
し、イエスであれば当該テストケースは影響テストケー
スとする。また、挿入文番号の前、後の文番号に対応す
る文が段落名、ラベルなどの非実行文(この場合には、
実行文と区別するために実行回数にはマイナス値を設定
する。)のときは、更に1つ前又は後の文番号で判定す
る。上記の1つ前又は後の文番号も非実行文のことがあ
るが、この場合は更に1つ進める。判定対象の文番号の
実行回数が0のときは影響なしテストケースとする。
削除は、更新と同じで、削除された文番号の実行回数
が1以上のテストケースは影響ありテストケース、0な
ら影響なしテストケースとする。当該文番号が非実行文
のときは、上記挿入と同様な判定処理を行なう。
が1以上のテストケースは影響ありテストケース、0な
ら影響なしテストケースとする。当該文番号が非実行文
のときは、上記挿入と同様な判定処理を行なう。
第2図の例について説明すると、(a)は文番号2110
を挿入した例、(b)は文番号3000などを削除した例で
ある。(a)は文番号2110の前、後の文番号2100,2200
をチェックし、これらの文番号の実行回数値は−1(非
実行文)であるからその次をチェックし、文番号2000の
実行回数10、文番号2300の実行回数0を得る。一方でも
0でなければ影響ありと考えられるので、このテストケ
ースは影響ありテストケースとみなす。
を挿入した例、(b)は文番号3000などを削除した例で
ある。(a)は文番号2110の前、後の文番号2100,2200
をチェックし、これらの文番号の実行回数値は−1(非
実行文)であるからその次をチェックし、文番号2000の
実行回数10、文番号2300の実行回数0を得る。一方でも
0でなければ影響ありと考えられるので、このテストケ
ースは影響ありテストケースとみなす。
(b)では、文番号3000を削除した場合は、この実行
回数は0であるからこのテストケースは影響なしテスト
ケースになる。文番号3100を削除すると、この実行回数
は−1であるからこの前後をチェックし、これらは共に
0であるから、この場合も影響なしテストケースにな
る。文番号3200を削除した場合も同様であるが、文番号
3300を削除すると、この実行回数は−1、従って前後を
チェックして0,10を得、共に0ではないからこの場合は
影響ありテストケースとなる。文番号3400を削除した場
合も影響ありテストケースとなる。
回数は0であるからこのテストケースは影響なしテスト
ケースになる。文番号3100を削除すると、この実行回数
は−1であるからこの前後をチェックし、これらは共に
0であるから、この場合も影響なしテストケースにな
る。文番号3200を削除した場合も同様であるが、文番号
3300を削除すると、この実行回数は−1、従って前後を
チェックして0,10を得、共に0ではないからこの場合は
影響ありテストケースとなる。文番号3400を削除した場
合も影響ありテストケースとなる。
第5図はカウントログファイルの論理構造例の一部を
示す。(a)は文番号レコード、(b)は合計レコー
ド、(c)はテストケースレコードである。
示す。(a)は文番号レコード、(b)は合計レコー
ド、(c)はテストケースレコードである。
以上説明したように本発明によれば効率よく従って迅
速にリグレッション防止用テストを行なうことができ、
プログラム修正時に適用して甚だ有効である。
速にリグレッション防止用テストを行なうことができ、
プログラム修正時に適用して甚だ有効である。
第1図は本発明の説明図、第2図は挿入、削除の場合の
判定要領の説明図、第3図はやゝ詳細な本発明の説明
図、第4図は測定ツールの説明図、第5図はその論理構
造の説明図である。 図面ではT1,T2,……はテストケース、F1〜F2はログファ
イル内の各記録である。
判定要領の説明図、第3図はやゝ詳細な本発明の説明
図、第4図は測定ツールの説明図、第5図はその論理構
造の説明図である。 図面ではT1,T2,……はテストケース、F1〜F2はログファ
イル内の各記録である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 八田 信 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭58−52759(JP,A) 特開 昭55−163697(JP,A)
Claims (1)
- 【請求項1】プログラム修正時に行われるリグレッショ
ン防止用テストのテストケース決定方式において、 予めプログラムを各テストケースにつき実行して、テス
トケース別かつ文番号別に当該文の実行回数を記録して
おき、 プログラムを修正したとき、当該文番号について前記記
録をチェックして、該修正の影響を受けるテストケース
を検出し、 その際、プログラム修正で命令文を更新又は削除したと
きは、該更新又は削除した文番号の実行回数が1以上の
テストケースを影響ありテストケースとし、 またプログラム修正で命令文を新たに挿入したときは、
該挿入文番号の前、後の文番号をチェックし、いずれか
一方又は両方の文番号が1以上であれば影響ありテスト
ケースとすることを特徴とするリグレッション防止用テ
ストケースの決定方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61052111A JPH081609B2 (ja) | 1986-03-10 | 1986-03-10 | リグレッション防止用テストケースの決定方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61052111A JPH081609B2 (ja) | 1986-03-10 | 1986-03-10 | リグレッション防止用テストケースの決定方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62216047A JPS62216047A (ja) | 1987-09-22 |
| JPH081609B2 true JPH081609B2 (ja) | 1996-01-10 |
Family
ID=12905751
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61052111A Expired - Fee Related JPH081609B2 (ja) | 1986-03-10 | 1986-03-10 | リグレッション防止用テストケースの決定方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH081609B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008204405A (ja) * | 2007-02-22 | 2008-09-04 | Fujitsu Ltd | ソフトウェアのリグレッションテストシステム、リグレッションテストプログラムおよびリグレッションテスト方法 |
| KR20150030664A (ko) * | 2012-06-15 | 2015-03-20 | 니혼 하츠쵸 가부시키가이샤 | 스태빌라이저 링크 및 그 제조 방법 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0635754A (ja) * | 1992-07-13 | 1994-02-10 | Hitachi Ltd | 再テスト方法およびそのための装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS55163697A (en) * | 1979-06-05 | 1980-12-19 | Mitsubishi Electric Corp | Memory device |
| JPS5852759A (ja) * | 1981-09-24 | 1983-03-29 | Fujitsu Ltd | パス情報の抽出方式 |
-
1986
- 1986-03-10 JP JP61052111A patent/JPH081609B2/ja not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008204405A (ja) * | 2007-02-22 | 2008-09-04 | Fujitsu Ltd | ソフトウェアのリグレッションテストシステム、リグレッションテストプログラムおよびリグレッションテスト方法 |
| KR20150030664A (ko) * | 2012-06-15 | 2015-03-20 | 니혼 하츠쵸 가부시키가이샤 | 스태빌라이저 링크 및 그 제조 방법 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62216047A (ja) | 1987-09-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111352651B (zh) | 代码分支管理方法及装置 | |
| Biagiola et al. | Web test dependency detection | |
| US20160321586A1 (en) | Selecting tests for execution on a software product | |
| US20040078693A1 (en) | Software testing | |
| JP3182111B2 (ja) | プログラムテスト支援装置 | |
| CN112597747A (zh) | 数据表的检查方法及装置、电子设备、存储介质 | |
| JPH081609B2 (ja) | リグレッション防止用テストケースの決定方式 | |
| JP5741265B2 (ja) | プログラム改善支援システム | |
| JPH11224186A (ja) | ソフトウェア解析装置及びソフトウェア解析方法 | |
| CN118642717A (zh) | 前端工程代码的清洗方法、设备及存储介质 | |
| JP3464159B2 (ja) | テスト仕様書作成装置およびそのプログラムを格納した記憶媒体 | |
| JPH1091475A (ja) | 障害復旧装置、障害復旧方法および障害復旧用プログラ ムを記憶した記憶媒体 | |
| JP2006309576A (ja) | 論理システムの検証装置及び検証方法、記憶媒体及びコンピュータプログラム | |
| Hansson | Automatic bug fixing | |
| US7385613B1 (en) | Collecting scripts in a distributed scripting environment | |
| JP6072547B2 (ja) | アプリケーション・テストシステム | |
| JP2525393B2 (ja) | 論理シミュレ−ションのテストカバレ−ジ方式 | |
| JP3197075B2 (ja) | 診断型エキスパートシステム及びその構築支援装置 | |
| JPH0228169B2 (ja) | ||
| JP2751539B2 (ja) | インタフェース検証処理方式 | |
| JPS59221753A (ja) | サブル−チントレ−サ | |
| JPS6220579B2 (ja) | ||
| JPH08314758A (ja) | プログラムテスト進捗管理方法 | |
| JPS63101934A (ja) | アセンブラ言語プログラムの保守情報作成方式 | |
| CN118972289A (zh) | 流量测试方法、装置、设备、存储介质和计算机程序产品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |