JPH04145546A - ソフトウェア自動テストシステム - Google Patents

ソフトウェア自動テストシステム

Info

Publication number
JPH04145546A
JPH04145546A JP2269180A JP26918090A JPH04145546A JP H04145546 A JPH04145546 A JP H04145546A JP 2269180 A JP2269180 A JP 2269180A JP 26918090 A JP26918090 A JP 26918090A JP H04145546 A JPH04145546 A JP H04145546A
Authority
JP
Japan
Prior art keywords
test
test data
tests
result
data
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
JP2269180A
Other languages
English (en)
Inventor
Tatsunori Hashimoto
橋本 辰範
Hirobumi Hotta
堀田 博文
Yuji Fukunaga
福永 勇二
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.)
NTT Inc
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 JP2269180A priority Critical patent/JPH04145546A/ja
Publication of JPH04145546A publication Critical patent/JPH04145546A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ソフトウェアのブラックボックステストを自
動化する技術に関するものである。
〔従来技術〕
従来、ソフトウェアのブラックボックステストにおいて
、各種のテストデータを用いたテストを一括して行う場
合、他のテストデータのテスト結果に関わらず、前もっ
て用意されたテストデータ全てが被テストプログラムに
与えられていた。しかし、一般には、テストデータAが
正常に処理された時にのみテストデータBが意味をもつ
などの関係がテストデータ間に存在する。
したがって、用意さ九たテストデータの全てを使用する
方法では、同一のプログラム族りに起因するテスト結果
異常が数多く発生し、不要なテストのために多くの時間
を費やすことにがる6さらに出力された結果の解析にも
手間がかかる。
〔発明が解決しようとする課題〕
前記従来の方式では、すでに結果異常を発生させたテス
トデータと同じ特徴をもつテストデータも特徴を共有し
ないテストデータも、−律に被テストプログラムに与え
ていた。その結果、同一原因で失敗することがほぼ確実
なテストを数多〈実施することとなりテストの効率を低
下させていた。
本発明は、前記問題点を解決するためになされたもので
ある。
本発明の目的は、ソフトウェアのブラックボックステス
トを自動的に効率よ〈実施することが可能な技術を提供
することにある。
本発明の前記ならびにその他の目的と新規な特徴は、木
明細書の記述及び添付図面によって明らかになるであろ
う。
〔課題を解決するための手段〕
前記目的を達成するために、本発明は、自動生成された
ブラックボックステスト用のテストデータ集合及びそれ
らの特徴を保存するデータベースと、被テストプログラ
ムに漸次複雑となる順序でテストデータを与える手段と
、テスト結果の正否を判別する手段と、そしてテストに
失敗したテストデータと同じ特徴を含むテストデータを
テストデータ集合から削除する手段を備えたことを最も
主要な特徴とする。
〔作用〕
前述の手段によれば、データベースに、入力データ及び
その入力に対して仕様上期待される出力、そしてその入
力データの持つ特徴の3つの組集合を蓄積しておく。さ
らに、テストデータ間の関係として次のように定義され
るグラフGもデータベースに保存する。
[定義コテストデータTiの特徴 C(Ti、、、)=(Cil、 Ci2.”・、 Ci
 n )C1JはTiのテスト項目jに関する複雑さで
ある。
[定義おわリコ ここで、任意のa、bに対し、CakとCbk(k=1
 + −−−+ n )の間に順序関係(くか=か〉の
関係)を定義できると仮定する。順序関係が定義できな
い場合は、そのテスト項目を分割することにより、この
仮定を満たすことができる。
[定義コテストデータ間の関係を表すテストデータ関連
グラフG G=(v、E) ■=(TiITi(i:1.・・・2m)はテストデー
タ)E=((Ti、Tjlヨp(Cip<Cjp、C1
r=Cjr(for r≠p)。
Vq(Cqp<Cip  or  Cjp<Cqp))
)[定義おわり] Gは有向サイクルなしグラフで、テストデータ間の複雑
さの関係を示す。すなわち、TiからTjにエツジがあ
るのは、それらが1つのテスト項目を除いて全テスト項
目が同一の複雑さをもち、TiよりTjが複雑というこ
とを示している。
自動テストドライバは、テストデータ関連グラフGを用
いて漸次複雑となる順にテストデータを選択しその入力
データを被テストプログラムに与える。
そして被テストプログラムのテスト結果出力と、仕様上
期待されるテスト出力とを比較する。このとき比較結果
異常であれば、そのテストデータからグラフG上到達可
能なノードに対応するテストデータをテストデータ集合
から削除する。その結果、予め失敗が予測されるテスト
データを被テストプログラムに与えない自動テストが可
能となる。
以下にこの手順を形式的に下記に示す。
肋l罰テスト 1oop w hile V≠() Gからindegree (A )” Oのノード(E
V)を1つ選択 ・= (1)Aを用いてテスト ■結果=正常then G上でAを削除 1se G上でA及びAから到達可能な全ノートを削除   ・
・・(2)end 1oop nd 上記のうち、テストの主要部分(上記(1)、(2))
について説明する。
(1) indegree (A)= Oとなるノード
Aの存在は、Gが常にサイクルなしであることがら保証
されている。このテストデータAは、■の中でそれより
も複雑なものがないテストデータである。つまり、上記
の(1)は、簡単なテストデータから順にテストしてい
くことを示し、基本部分に近いところのバグの早い段階
での発見を目指すものである。
(2)G上でAから到達可能な任意のノードBは、どの
テスト項目をとってもAより複雑かまたは等しい複雑さ
をもつ。つまり、Bをテストデータとして使うとAと同
一のバグに遭遇する可能性が高い。一般にBはAで発見
されたバグ修正後に走行させるべきテストデータである
上記のようにすることにより、ソフトウェアのブラック
ボックステストを自動的に効率よ〈実施することが可能
となる。
〔発明の実施例〕
以下、本発明の一実施例を図面を用いて具体的に説明す
る。
第1図は、本発明の実施例のソフトウェア自動テストシ
ステム100の概略構成を示すブロック図である。
データベース102には、テストデータ生成システム1
01(情報処理学会第40回全国大会rPro1ogに
よるコンパイラテストデータの自動生成方式」 橋本、
填圧)により生成されたテストデータ集合105と、各
テストデータの特徴をもとに構築したテストデータ関連
グラフ106を登録しておく。
自動テストドライバ103は、前記の手順に従い、テス
トデータ関連グラフを参照し、テスト入力、テスト8力
を選択する。
そして、選択されたテスト入力を用いて被テストプログ
ラム104のテストを実施する。
次に、このテストで得られたテスト結果と期待されるテ
スト出力をもとにテスト結果判定を行う。
判定結果が異常であれば、データベースのテストデータ
関連グラフ上でそのテストデータに対応するノードから
の可到達ノードを調べ、そのテストデータより複雑なテ
ストデータをテストデータ集合から削除する。
これを繰り返し、効率的なテストを実施する。
次に具体的な例を用いて、本実施例の処理動作を説明す
る。
〔ソートプログラムの場合〕
第2図は、ソートプログラム用テストデータの選択に関
する説明図(テストデータ関連グラフの初期状態を示す
図)ある。
配列に格納された整数列を昇順にソートするプログラム
を考える。このプログラムの正常系のテストに関するテ
スト項目を次に3種と仮定する。
(C1)要素数 (0,1,2,3,4)(C2)同じ
値をもつ要素 無(0)/有(1)(C3)整列済(O
)/未整列(1) たとえば、[5,5,1]を入力としてもつテストデー
タの特徴は、(C1,C2,C3)=(3,1,1)と
表すことができる。
(C1)、(C2)、(C3)をテスト項目として採用
し、テストデータ生成システムにより生成した要素数4
以下のテストデータは、第2図に示すグラフGのとおり
の複雑さの関係をもつ。
−例として、テスト対象とするプログラムに、見かけ上
並べ替えがまったく行われないようなバグ(たとえばB
ubble 5ortで大小比較を行うところを誤って
等号比較としたバグ)が存在すると仮定する。テストは
第2図の上方から順に行われ、テストデータ[2,1]
で初めて結果異常となる。
そしてテストデータ[2,1]からグラフG上到達可能
なテストデータである、 [7,3,1][5,1,1コ[5,1,9,4][4
,3,4,3]を入力とするテストは実行されない。実
際に、これらのテストデータに対してテストを行っても
結果は異常となる。グラフGが変形される様子、すなわ
ちテストデータが選択される順を第3図に示す。第3図
においては図を簡略化するためテスト入力のみを示して
いる。
以上、本発明を実施例にもとづき具体的に説明したが、
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない。
〔発明の効果〕
以上、説明したように、本発明によれば、以下の効果を
奏することができる。
(1)テストデータを最も簡単なものから順にテストで
きる。これはソフトウェア論理の中で基本部分に近いと
ころのバグの早い段階での発見を可能とする。
(2)失敗したテストデータと同じ特徴を含むテストデ
ータをテストデータ集合から削除することにより、無駄
なテストを省くことができ、テスト過程全体を通してよ
り効率的なテストを行うことを可能とする。
これらにより、一定期間で行えるテストの精度を向上さ
せることができ、ソフトウェア製品の品質保証を高める
ことができる。
【図面の簡単な説明】
第1図は、本発明の実施例のソフトウェア自動テストシ
ステムの概略構成を示すブロック図、第2図は、木実施
例のソートプログラム用テストデータの選択に関する説
明図、 第3図は、木実施例におけるテストデータ関連グラフの
変化を示す図である。 図中、10o・・・ソフトウェア自動テストシステム、
101・・・テストデータ生成システム、102・・・
データベース、103・・・自動テストドライバ、10
4・・・被テストプログラム、105・・・テストデー
タ集合、106・・・テストデータ関連グラフ。 第2図

Claims (1)

    【特許請求の範囲】
  1. ソフトウェアのブラックボックステストを効率的にかつ
    自動的に実施するソフトウェア自動テストシステムであ
    って、自動生成されたブラックボックステスト用のテス
    トデータ集合及びそれらの特徴を保存するデータベース
    と、被テストプログラムに漸次複雑となる順序でテスト
    データを与える手段と、テスト結果の正否を判別する手
    段と、そしてテストに失敗したテストデータと同じ特徴
    を含むテストデータをテストデータ集合から削除する手
    段を備えたことを特徴とするテストドライバで構成され
    るソフトウェア自動テストシステム。
JP2269180A 1990-10-05 1990-10-05 ソフトウェア自動テストシステム Pending JPH04145546A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2269180A JPH04145546A (ja) 1990-10-05 1990-10-05 ソフトウェア自動テストシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2269180A JPH04145546A (ja) 1990-10-05 1990-10-05 ソフトウェア自動テストシステム

Publications (1)

Publication Number Publication Date
JPH04145546A true JPH04145546A (ja) 1992-05-19

Family

ID=17468796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2269180A Pending JPH04145546A (ja) 1990-10-05 1990-10-05 ソフトウェア自動テストシステム

Country Status (1)

Country Link
JP (1) JPH04145546A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010538401A (ja) * 2007-09-07 2010-12-09 株式会社エヌ・ティ・ティ・ドコモ システムコールカバレッジ基準による試験スイート削減のための方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010538401A (ja) * 2007-09-07 2010-12-09 株式会社エヌ・ティ・ティ・ドコモ システムコールカバレッジ基準による試験スイート削減のための方法

Similar Documents

Publication Publication Date Title
CN102736980B (zh) 一种面向Java程序的随机测试用例生成方法
Tai et al. Test order for inter-class integration testing of object-oriented software
CN109101410B (zh) 一种风险驱动测试方法和装置以及计算机可读存储介质
US20210263837A1 (en) Real time fault localization using combinatorial test design techniques and test case priority selection
WO2023098041A1 (zh) 一种区块链交易执行方法及装置
CN108170602A (zh) 一种测试用例生成方法、装置、终端及计算机可读介质
CN112860312A (zh) 项目依赖关系变化的检测方法及装置
CN106598874A (zh) 一种软件自动化测试方法及装置
CN115658966A (zh) 泛化智能驾驶场景的生成方法和生成装置
US8261239B2 (en) Locating a testable object in a functional testing tool
CN112799673B (zh) 一种网络协议数据的校核方法及装置
CN114816413A (zh) 一种组件依赖关系的生成方法、装置、设备及存储介质
CN111026776B (zh) 关系型数据库中的查询方法及装置
JPH04145546A (ja) ソフトウェア自動テストシステム
CN118519997A (zh) 基于高阶函数摘要的异常敏感高效程序切片方法及系统
CN118502908A (zh) 一种跑批任务编排的调度系统及方法
CN112068842A (zh) 依赖关系的建立方法、联动编译方法及其系统
CN117725059A (zh) 一种数据库数据比对方法、介质及装置
JPH07141192A (ja) 翻訳処理方法
CN110688430B (zh) 一种获得数据旁路的方法、装置及电子设备
CN120492423A (zh) 数据迁移方法、装置、电子设备、存储介质及程序产品
CN115757172A (zh) 测试执行方法、装置、存储介质及计算机设备
CN116301826A (zh) Caa开发中调用软件命令进行数据批量处理的方法
CN116107889A (zh) 应用程序的回归测试方法、装置、计算机设备和存储介质
TWI862303B (zh) 資料處理方法及資料處理裝置