JP2000057014A - テスト装置、テストケース評価装置、およびテスト結果解析装置 - Google Patents

テスト装置、テストケース評価装置、およびテスト結果解析装置

Info

Publication number
JP2000057014A
JP2000057014A JP10219396A JP21939698A JP2000057014A JP 2000057014 A JP2000057014 A JP 2000057014A JP 10219396 A JP10219396 A JP 10219396A JP 21939698 A JP21939698 A JP 21939698A JP 2000057014 A JP2000057014 A JP 2000057014A
Authority
JP
Japan
Prior art keywords
test
error
test case
execution
result
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.)
Granted
Application number
JP10219396A
Other languages
English (en)
Other versions
JP4253056B2 (ja
Inventor
Keigo Hara
圭吾 原
Noriaki Koyama
徳章 小山
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 JP21939698A priority Critical patent/JP4253056B2/ja
Publication of JP2000057014A publication Critical patent/JP2000057014A/ja
Application granted granted Critical
Publication of JP4253056B2 publication Critical patent/JP4253056B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 被テスト対象物に潜在する仕様の誤りを検出
するのに必要十分な動作検証テストを効率よく行う。 【解決手段】 被テスト対象物に対して入力されるテス
トケースと前記被テスト対象物の仕様とから、想定され
る誤りの検出能力を示す誤り検出データを各テストケー
スごとに予め生成する誤り情報生成部2を具備し、誤り
検出データに基づき、少なくとも前記テストケースの評
価および検証結果からの前記誤りの特定のうちの1つを
行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、テスト装置、テス
トケース評価装置、およびテスト結果解析装置に関す
る。特に、ソフトウェアなどの被テスト対象物が仕様に
従って正常に動作するか否かの検証を行うテストにおい
て、想定される誤りの検出能力に応じてテストケースを
選択・補完し、又テストの実行結果から被テスト対象物
の誤りを示すことによって、被テスト対象物に潜在する
誤りを検出するのに必要十分なテストを効率よく行うた
めの技術に関する。
【0002】
【従来の技術】近年、ソフトウェア開発は大規模化かつ
複雑高度化しており、これに伴ってソフトウェアの動作
の検証を行うテストも大規模化している。
【0003】このテストの一般的手順を以下に説明す
る。まず、テストされる対象物(ソフトウェア)の仕様
に基づき、テストツール上でソフトウエアに入力される
テストケースが生成される。ここで、テストケースと
は、所望するテストのパターンを記述したものであり、
通常、各変数・状態の初期値と被テスト対象に与える命
令シーケンスとで構成される。次に、このテストケース
に基づき、被テスト対象物であるソフトウエアのテスト
が実行される。ユーザーは、このテスト実行で得られた
実行結果を解析して、被テスト対象の仕様の誤り(仕様
との相違、バグ)を検出し、デバッグ・プログラム修正
を行う。これらの手順が、入力テストケースに関して所
望する動作が得られるまで繰り返して行われる。
【0004】従来より、テストの大規模化・複雑化を背
景として、上述した手順のうちのテストケースの作成・
テストの実行についての自動化技術が実用に供されてい
る。
【0005】第1に、テストケースの生成フェーズにお
いては、テストケース生成作業を機械的に行うことが、
ソフトウエアの大規模化に応じた大量のテストケースを
自動生成することを可能としている。このテストケース
の自動生成では、状態遷移図やフローチャート等で記述
されるソフトウエアの仕様やソフトウエアのソースコー
ド自体などの入力内容に従って、各テストケースが決定
・生成される。
【0006】第2に、テストの実行フェーズにおいて
は、各種のテストツールに対して用意されたテストケー
スが逐次自動で読み込まれて、ソフトウエアが実行され
る。この各テストケースについて実行されたテスト結果
が判定され、出力される。このテスト結果の判定手法に
は、例えば、あらかじめ実行結果データを用意してお
き、実際の実行結果が実行結果データに一致すれば合格
とする方法、異常な動作を定義しておき、異常な動作が
検出された場合に不合格とする方法、適用したテストケ
ースに対して最後まで実行できれば合格とする方法など
がある。
【0007】このように、何度も繰り返し行われるテス
ト関連作業を自動的・機械的に行うことによって、テス
ト関連作業におけるコストの軽減が図られていた。
【0008】
【発明が解決しようとする課題】しかしながら、従来の
ソフトウェアのテストには、以下の問題点があった。
【0009】即ち、第1に、機械的に作成されたテスト
ケースは、仕様に示される組み合わせパターンを網羅す
べく生成されるため、ケースの数が膨大である。この生
成されたテストケースは、誤りの検出能力(即ち、被テ
スト対象ソフトウエアに潜在するバグを検出する能力)
も一律ではなく、検出能力の高いものと低いものとが混
在している。しかし、従来はどのテストケースがどの誤
りを検出するのに有効かを判断する有効な手段がなかっ
た。従って、これら全てのテストケースを使って一様に
テストを行っていた。こうしたテストは非効率的であ
り、開発コストを増大させていた。加えて、機械的手段
で膨大に生成されたテストケースの集合が、必ずしも充
分な誤り検出能力を有しているとは限らない。しかし、
従来は生成されたテストケースの集合が誤りを検出する
のに有効であるかどうかを判断する有効な手段がなかっ
た。従って当該テストが誤りを検出するために充分にな
されたことを保証することは困難であった。
【0010】また、第2に、テストケースの数の多さに
伴って、テスト実行により出力されるテスト結果の数も
多くなる。加えて、一般にはある一つの誤りに対し複数
のテストケースが不合格となるため、テスト結果からあ
る誤りを特定するためには、多くの不合格となったテス
ト結果を解析しなければならない。このため、テスト結
果の解析・デバッグ作業が非効率的であった。
【0011】これらの要因により、ソフトウエアのテス
ト実行作業・結果解析作業の各段階作業が長期化し、開
発コストを増大させていた。
【0012】以上のように、本発明は、上記の問題点を
解決するためになされたものである。
【0013】そしてその目的とするところは、テストケ
ースの誤り検出能力を事前に評価することで、被テスト
対象物に潜在する誤りを検出するのに必要十分なテスト
を効率よく行うことを可能とするテスト装置、およびテ
ストケース評価装置を提供することにある。
【0014】又、他の目的は、テストの実行結果に従
い、容易に被テスト対象物中の誤りを示すことで、テス
ト結果の解析・デバッグの効率化を図ることを可能とす
るテスト装置、およびテスト結果解析装置を提供するこ
とにある。
【0015】
【課題を解決するための手段】上記の課題を達成するた
めの本発明の特徴は、予め被テスト対象に想定される誤
りとテストケースとの対応関係である誤り検出データを
求め、この誤り検出データを利用してテスト実行・解析
を行う点にある。
【0016】この誤り検出データはテスト関連作業の各
フェーズで利用される。まず、第1には、この誤り検出
データによりテストケースの事前評価を行う。第2に
は、この誤り検出データによりテストの実行結果から被
テスト対象物に潜在する誤りを示す。
【0017】かかる機能を実現するために、請求項1の
発明は、仕様に基づいて作成された被テスト対象物が前
記仕様に従って動作するか否かの検証を行うテスト装置
であって、前記被テスト対象物に対する入力テストケー
スと前記被テスト対象物の仕様とから、想定される誤り
の検出能力を示す誤り検出データを各テストケースごと
に予め生成する誤り情報生成部を具備し、前記誤り検出
データに基づき、少なくとも前記テストケースの評価お
よび検証結果からの前記誤りの特定のうちの1つを行う
ことを特徴とするものである。
【0018】上記構成によれば、各テストケースごとの
誤り検出能力を予め取得することが可能となる。つま
り、この各テストケースごとの誤り検出能力を用いてテ
ストケースの評価やテスト結果の解析を効率よく行い、
テストのコスト削減を図ることが可能となるのである。
【0019】また、請求項2の発明は、仕様に基づいて
作成された被テスト対象物が前記仕様に従って動作する
か否かの検証の際に入力されるテストケースの評価を行
うテストケース評価装置であって、前記被テスト対象物
に対する入力テストケースと前記被テスト対象物の仕様
とから、想定される誤りの検出能力を示す誤り検出デー
タを各テストケースごとに予め生成する誤り情報生成部
を具備し、前記誤り検出データに基づき各テストケース
の評価を行うことを特徴とすることにより、与えられた
テストケース集合の中から誤り検出に有効なテストケー
スを選択的に抽出したり、他方与えられたテストケース
集合では検出しにくい誤りを指摘することが可能とす
る。つまり、無駄なテストを抑制したり、与えられたテ
ストケースの足りない部分を補完する作業が効率化さ
れ、テストのコスト削減が実現される。
【0020】また、請求項3の発明は、仕様に基づいて
作成された被テスト対象物が前記仕様に従って動作する
か否かの検証の結果を解析するテスト結果解析装置であ
って、被テスト対象物に対する入力テストケースごとの
予め想定される1または複数の誤りの検出能力を示す誤
り検出データと、前記被テスト対象物の検証の結果デー
タとの比較を行い、該比較結果に基づいて、前記被テス
ト対象に存在する誤りを示す実行結果解析データを生成
することにより、被テスト対象物に実際に存在する可能
性の高い誤りを示すことができる。このため、存在する
可能性の高い誤りから優先的に探索することが可能とな
る。また、不合格となったテスト結果を原因別に分類す
ることができる。このため、テスト結果から誤りを特定
する作業にかかるコストを削減することが可能となる。
【0021】また、請求項4の発明は、前記誤り情報生
成部は、さらに、被テスト対象物の原仕様の一部または
全部を変更した誤り仕様を生成する誤り仕様生成部と、
前記原仕様及び前記誤り仕様を被テスト対象物に対する
入力テストケースごとに実行して前記各仕様の実行結果
を出力する仕様実行部とを具備し、前記誤り検出データ
は、前記仕様実行部が行った、前記原仕様の各テストケ
ースごとの仕様実行結果と前記誤り仕様の各テストケー
スごとの仕様実行結果との比較結果に基づき生成される
ことを特徴とする。
【0022】上記構成によれば、原仕様に誤りを意図的
に埋め込んだ誤り仕様を仮想的に実行し、原仕様の実行
結果と相違する結果を生ずるテストケースを、誤り検出
に有効なテストケースであると予め判定することができ
る。このように容易に各テストケースの誤り検出能力を
算出し、与えられたテストケース集合の中から誤り検出
に有効なテストケースを選択的に抽出したり、他方与え
られたテストケース集合では検出しにくい誤りを指摘す
ることが可能となる。つまり、無駄なテストを抑制した
り、与えられたテストケースの足りない部分を補完する
作業が効率化され、テストのコスト削減が実現される。
【0023】また、請求項5の発明は、前記誤り検出デ
ータは、各テストケースについての、前記仕様の仕様実
行結果および前記各テストケースに定義された命令シー
ケンス中の仕様実行の終了地点データを含むことによ
り、原仕様の実行結果と誤り仕様の実行結果とを比較し
て、容易に誤り検出データを生成することが可能とす
る。
【0024】また、請求項6の発明は、前記実行結果解
析データは、被テスト対象物についての各誤りの検出に
有効な第1のテストケース群と、テストの実行結果が前
記誤り検出データと一致した第2のテストケース群と、
前記第1のテストケース群と前記第2のテストケース群
との比較により得られ、被テスト対象物に各誤りが存在
する可能性を示す評価結果とを含むことにより、仕様に
応じて想定される各誤りごとにテストケースとの相関関
係やテストされるソフトウエアとの相関関係を容易に把
握することが可能となる。
【0025】さらに、請求項7の発明(記録媒体)は、
被テスト対象物に対して、被テスト対象物が仕様に従っ
て動作するか否かの検証の際に入力されるテストケース
の評価を行うテストケース評価プログラムを格納したコ
ンピュータ読み取り可能な記録媒体であって、前記被テ
スト対象物に対する入力テストケースと前記被テスト対
象物の仕様とから、予め想定される誤りについての誤り
検出能力を示す誤り検出データを各テストケースごとに
予め生成する誤り情報生成ステップと、前記誤り検出デ
ータに基づき各テストケースの評価を行うテストケース
抽出ステップとを含むことを特徴とする。
【0026】上記構成によれば、請求項2の発明と同
様、与えられたテストケース集合の中から誤り検出に有
効なテストケースを選択的に抽出したり、他方与えられ
たテストケース集合では検出しにくい誤りを指摘するこ
とが可能とする。つまり、無駄なテストを抑制したり、
与えられたテストケースの足りない部分を補完する作業
が効率化され、テストのコスト削減が実現される。
【0027】さらに、請求項8の発明は、前記誤り情報
生成ステップは、さらに、被テスト対象物の原仕様の一
部または全部を変更した誤り仕様を生成する誤り仕様生
成ステップと、前記原仕様及び前記誤り仕様を被テスト
対象物に対する入力テストケースごとに実行する仕様実
行ステップと、前記原仕様の各テストケースごとの仕様
実行結果と前記誤り仕様の各テストケースごとの仕様実
行結果との比較結果に基づき前記誤り検出データを生成
する誤り情報抽出ステップとを含むことを特徴とする。
【0028】上記構成によれば、請求項4の発明と同
様、原仕様に誤りを意図的に埋め込んだ誤り仕様を仮想
的に実行し、原仕様の実行結果と相違する結果を生ずる
テストケースを、誤り検出に有効なテストケースである
と予め判定することができる。このように容易に各テス
トケースの誤り検出能力を算出し、与えられたテストケ
ース集合の中から誤り検出に有効なテストケースを選択
的に抽出したり、他方与えられたテストケース集合では
検出しにくい誤りを指摘することが可能となる。つま
り、無駄なテストを抑制したり、与えられたテストケー
スの足りない部分を補完する作業が効率化され、テスト
のコスト削減が実現される。
【0029】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を詳細に説明する。
【0030】第1の実施形態 第1の実施形態は、仕様の誤りのパターンと各テストケ
ースの対応関係を用いて、テストケースを事前に評価す
る機能を提供するものである。
【0031】図1に示すように、本発明の実施形態に係
るテスト装置1の構成は、テストの対象となるソフトウ
エアのテストに用いる入力テストケース6の分析・評価
を行って、各テストケースごとに誤り検出を行うための
情報を記録した誤り情報テーブル7を出力するテストケ
ース評価部2と、被テスト対象ソフトウエアをテストケ
ース11に従ってテストし、被テスト対象ソフトウエア
に実際にどのような誤りが存在するかを評価した誤り評
価データ14を出力するテスト結果解析部3とに大別さ
れる。第1の実施形態は、このうちのテストケース評価
部2により実現される。
【0032】テストケース評価部2は、テスト対象のソ
フトウエアの仕様5とテストケース集合6とを入力と
し、入力テストケース6の分析・評価を行ってテストの
対象となるソフトウエアの誤り検出を行うための情報を
記録した誤り情報テーブル7を出力する。
【0033】このテストケース評価部2は、さらに、テ
スト対象ソフトウエアの仕様(以下、単に仕様と称す
る)5に誤りを意図的に埋め込んで誤り仕様22を生成
する誤り仕様生成部21と、誤り仕様22を生成するた
めの情報を記録する仕様変更データベース20と、仕様
5と誤り仕様22とをそれぞれ入力テストケース6に従
って実行する仕様実行部23と、仕様の実行結果である
仕様/誤り仕様実行結果テーブル24上の仕様5と誤り
仕様22との仕様の実行の結果を比較・解析して誤り情
報テーブル7を生成する誤り情報抽出部25により構成
される。
【0034】尚、仕様変更データベース20の編成は、
柔軟なアクセスが可能な関係型データベースであること
が望ましいが、必ずしも関係型データベースに限定され
ず任意の編成方式が可能である。仕様・誤り仕様実行結
果テーブル24・誤り情報テーブル7などの各テーブル
も、アクセス頻度・データ規模などに応じて適宜配置場
所やデータ編成を変更することができる。各テーブルの
内容詳細については後述する。
【0035】次に、第1の実施形態におけるハードウエ
ア構成を説明する。第1の実施形態に係るテストケース
評価装置2の実施には、以下で説明する処理を実現する
プログラムを作成し、この作成したプログラムをロード
することでこの処理を実行可能とするコンピュータシス
テムを用いる。このコンピュータシステムには、いわゆ
る汎用機、ワークステーション、PC、NC(Network
Computer)等が含まれる。第1の実施形態で用いるコン
ピュータシステムのハードウエアは、各種処理を行うた
めCPUと、プログラムメモリ・データメモリ等のメモ
リと、FD・CDなどの外部記憶装置と、キーボード・
マウス等の入力装置と、ディスプレー・プリンタ等の出
力装置とを備える。
【0036】さらに、第1の実施形態を実施するコンピ
ュータシステムは、単一のコンピュータであってもよ
く、また例えばローカル又はリモートにネットワーク接
続されたサーバーマシンとクライアントマシンとにより
構成されてもよい。ソフトウエアの開発規模や開発人員
構成に応じて、仕様変更データベース20・テストケー
ス6・仕様5・誤り情報テーブル7などの任意のデータ
をサーバーマシンに記憶し、テストケース評価装置2や
テスト結果解析装置3のエンジン部分(処理部分)のみ
をクライアントマシンで並行的に実行することで、処理
効率を向上させることができる。
【0037】尚、上述したテストケース評価装置2を実
現するためのプログラムは、各種記録媒体に保存するこ
とができる。かかる記録媒体を、上記ハードウエアを具
備するコンピュータにより読み出し、当該プログラムを
実行することにより、本発明が実施されることができ
る。ここで記録媒体とは、例えばメモリ・磁気ディスク
・光ディスク等、プログラムを記録することができる装
置全般を含む。
【0038】第1の実施形態は上記のように構成されて
おり、以下その処理の流れを順に説明する。
【0039】まず、処理内容の説明に先立って第1の実
施形態の以下の説明で用いられる仕様、テストケース等
の例を示す。
【0040】(1)仕様 第1の実施形態では、テスト対象のソフトウエアの仕様
は図2で示されるような状態遷移図によって記述されて
いるものとする。図2中の各ノードの意味を説明する。
【0041】丸型ノードは、ソフトウェアの状態を表す
ノードである。例えば図2のノードN1はソフトウェア
の状態がS1であることを示す。
【0042】菱型ノードは、条件分岐を表すノードであ
る。例えば図21のノードN3は、変数Pの値が1であ
るかどうかによって、次の処理がノードN4になるかノ
ードN6になるかが決まることを示す。
【0043】凹型五角形ノードは、受信処理を表すノー
ドである。例えば図2のノードN2は、ソフトウェア
が、メッセージMIN1が外部から送られてくるのを待
つことを示す。
【0044】凸型五角形ノードは、送信処理を表すノー
ドである。例えば図2のノードN4は、ソフトウェア
が、メッセージMOUT1を外部に送信することを示
す。
【0045】四角形ノードは、上記以外の通常処理を表
すノードである。例えば図2のノードN9は、ソフトウ
ェアが、変数RCの値を1増加させることを示す。
【0046】尚、状態遷移が菱型ノード以外で分岐して
いる場合は、次に行われる処理によって分岐先が定まる
ことを表す。例えばノードN1の状態の後、MIN1が
受信されれば分岐先はノードN2となり、MIN2が受
信されれば分岐先はノードN7となる。
【0047】尚、第1の実施形態では状態遷移図による
仕様の表現を例としたが、仕様の表現はこれに限定され
ず、フローチャートなどの他の表現を用いて本発明を実
施することも可能である。
【0048】(2)テストケース 図3に、第1の実施形態で用いるテストケース集合の一
例を示す。このテストケース集合は5つのテストケース
b1〜b5からなる。表の各列が1つのテストケースを
表している。各テストケースは初期状態と命令シーケン
スとからなる。初期状態は、テスト開始時のテスト対象
ソフトウエアの状態と変数の値とを表す。例えば、テス
トケースb1を用いたテストの開始時には、対象の状態
がS1かつ変数PとRCの値がそれぞれ1と200であ
ることになる。命令シーケンスは、テスト実行時にどの
ような命令をどのような順序で行うかを指定する。例え
ば、テストケースb1を用いたテストの実行には、b1
の命令シーケンスの各命令が上の行から1行ずつ順に実
行されていくものとする。命令シーケンスの各命令の意
味は、以下のように定められているものとする。
【0049】・SEND(message) テスト対象に対
し、メッセージmessageを送信 ・WAIT(message) メッセージ受信をしながら、
テスト対象からメッセージmessageが送られるまで待つ ・TEST(状態:state) テスト対象の状態がstate
となるのを待つ
【0050】第1の実施形態では、命令シーケンスを最
後まで正常に実行できたとき、そのテストケースについ
てのテストは合格であると判定される。通常の実行に充
分な時間を経過しても命令シーケンスの実行が終わらな
い場合、不合格であると判定する。この時間は、ユーザ
が推測に基づいて指定するものとする。
【0051】例えば、図3のb1の命令シーケンスを用
いてテストを行う場合、テスト実行部31は図3に示す
以下のような命令を順に実行する。
【0052】1).テスト対象の状態をS1、変数PとR
Cの値をそれぞれ1と200に設定する。 2).次に、テスト対象にメッセージMIN1を送信す
る。 3).テスト対象からメッセージMOUT1が返ってくる
まで待つ。 4).テスト対象の状態がS2となるのを待つ。
【0053】これらの命令を最後まで正常に実行できた
場合に、テスト対象はb1のテストケースについて合格
であるとする。通常の実行に充分な時間を経過しても
3).においてメッセージMOUT1が返ってこない、も
しくは4).においてテスト対象の状態がS2とならない
場合に、不合格であるとする。
【0054】尚、上記では、テストケースに定義された
命令シーケンスをすべて正常に実行できるか否かをタイ
ムアウトにより判断する例を説明した。但し、テスト実
行の合否の判定方法はこれに限定されない。例えば、テ
スト対象のAPI(Application Programming Interfac
e)を介して、又はテスト対象に変数内容を表示するコ
ードを挿入することによって、テスト実行中における所
定の変数の値を確認することで判定するなど、種々の変
形が可能である。
【0055】(3)テストの実行例 図2の仕様に基づいたソフトウェアに対し、図3のテス
トケースb1を適用してのテストを行った場合の流れの
一例を以下に説明する。このテストの実行は、後述する
テスト実行部31で行われる。仮にテスト対象ソフトウ
ェアが仕様に忠実に作成できている(即ち誤りがなく作
成できている)とすると、例えば次のような流れでテス
ト対象の実行が行われる。
【0056】1).テスト対象の状態が1、変数PとRC
の値がそれぞれ1と200に設定される。(図2のノー
ドN1) 2).テスト実行部31がテスト対象にメッセージMIN
1を送信する。(図3のb1テストケースの命令シーケ
ンス1行目) 3).テスト対象はメッセージMIN1を受信する。(図
2のノードN2) 4).テスト対象は変数Pの値が1であるかどうかを調べ
る。(図2のノードN3) 5).テスト対象はメッセージMOUT1を送信する。
(図2のノードN4) 6).テスト対象の状態がS2に変化する。(図2のノー
ドN5) 7).テスト実行部31がテスト対象の状態がS2となっ
ていることを確認し、テストケースb1についてテスト
は合格と判定する。(図3のb1テストケースの命令シ
ーケンス3行目)
【0057】次に、上述の例を用いて、第1の実施形態
に係るテストケース評価装置2における誤り仕様生成部
21、仕様実行部23、誤り情報抽出部25における処
理の流れを順に説明する。
【0058】(1)誤り仕様生成処理 誤り仕様生成部21の行う誤り仕様生成処理の内容を以
下に説明する。
【0059】先に、以下の処理で用いられる仕様変更デ
ータベースおよび仕様変更情報について説明する。
【0060】各仕様について想定している各誤りそれぞ
れについて、誤り仕様を生成するための仕様変更情報が
予め定義されているものとする。これら各仕様変更情報
は仕様変更データベース20に用意されているものとす
る。仕様変更情報は、仕様をどう変更すべきかを表す
「仕様変更操作」と、仕様のどの部分(ノード)を変更
すべきかを表す「仕様変更場所」の2つの情報から構成
される。
【0061】次に、誤り仕様生成部21の処理手順を、
図4のフローチャートを用いて説明する。
【0062】まず、想定している誤りの一つに着目する
(S10)。想定している誤りそれぞれについて、S1
1からS15の処理を繰り返す(S16)。着目順序は
任意で良い。
【0063】次に、仕様変更データベース20中の、着
目している誤りに対応する仕様変更情報を参照する(S
11)。
【0064】参照した仕様変更情報の仕様変更場所に当
てはまる個所の一つに着目し、S13、S14を実行す
る。仕様変更場所に当てはまる個所それぞれについて、
これを繰り返す(S15)。順序は任意で良い。
【0065】入力された仕様のコピーを作成し、着目し
た個所について仕様変更操作で指定された変更を行う
(S13)。
【0066】変更した仕様のコピーに対し、着目した誤
りと変更を施した個所を記録する(S14)。
【0067】最後に変更を施された仕様のコピーの集合
を誤り仕様の集合とする(S17)。
【0068】上記の図4の処理フローを、理解のためさ
らに具体例をもって説明する。
【0069】ここでは2つの誤りを想定し、図2の仕様
に対して誤り仕様生成の処理を適用した場合を示す。仕
様に埋め込む誤りの一例として、「処理抜け誤り」と
「分岐先固定誤り」を想定する。「処理抜け誤り」に対
する仕様変更情報の仕様変更操作を「処理を一つ抜
く」、仕様変更場所を「通常処理ノード」とする。「受
信分岐先固定誤り」に対する仕様変更操作を「何を受信
しても、常に同じノードに分岐させる」、仕様変更場所
を「受信分岐先ノード」とする。
【0070】1).「処理抜け誤り」に着目する。(S1
0) 2).仕様変更データベース20から「処理抜け誤り」に
対応する仕様変更情報を参照する。(S11) 3).仕様変更場所の「通常処理ノード」のうち、ノード
N9に着目する。(S12) 4).図2の仕様のコピーを作成し、ノードN9の処理を
抜く。(S13) 5).変更した仕様に対し、施した変更「処理を抜く」と
変更個所「ノードN9」の2つの情報を記録する。(S
14) 6).「通常処理ノード」のうち、ノードN10に着目
し、2).〜5).と同様の操作を行う。(S12〜S1
4) 7).「受信分岐先固定誤り」に着目する。(S10) 8).仕様変更データベース20から「受信分岐先固定誤
り」に対応する仕様変更情報を参照する。(S11) 9).仕様変更場所の「受信分岐先ノード」のうち、ノ
ードN2に着目する。(S12) 10).図2の仕様のコピーを作成し、ノードN2におい
て何を受信しても常にノードN2に分岐するよう変更を
施す。(S13) 11).変更した仕様に対し、施した変更「何を受信して
も常にノードN2に分岐するよう変更」と変更個所「ノ
ードN2」の2つの情報を記録する。(S14) 12).「受信分岐先ノード」のうち、ノードN7に着目
し、8).〜11).と同様の操作を行う。(S12〜S1
4) 13).変更を加えた4つの仕様を誤り仕様の集合とす
る。(S17) 以後上記の例を用いて説明を行っていくため、ノードN
9の処理抜け誤りの誤り仕様をm1、ノードN10の処
理抜け誤り仕様をm2、ノードN2の受信分岐先固定誤
りの誤り仕様をm3、ノードN7の受信分岐先固定誤り
の誤り仕様をm4と呼ぶ。m1〜m4の誤り仕様をそれ
ぞれ図5乃至図8に示す。
【0071】誤り仕様の集合が生成されると、次に仕様
実行部23により仕様の実行が行われる。
【0072】(2)仕様実行処理 仕様実行部23の行う仕様実行処理の内容を以下に説明
する。尚、以下において仕様実行とは、仕様を模擬的に
動作させて仮想的な実行を行うことをいう。仕様に入力
を与えて模擬的に動作させることで、仕様どおりにつく
られたソフトウェアがどのように動作するかを確認する
ことができる。この仕様実行は、例えば、仕様の各記述
方法に対応した既存のインタープリターなどを利用して
行うことができる。
【0073】仕様実行部23の入力は、仕様5と誤り仕
様の集合22とテストケース集合6との3つである。仕
様実行部23は、仕様5と各誤り仕様22に対して各テ
ストケース6を適用して仕様実行を行い、実行結果を仕
様/誤り仕様実行結果テーブル24(以下、単に仕様実
行結果テーブルと称する)に記録する。仕様実行部23
は、実行に要する時間を計測するためのタイマを備え
る。仕様実行部23は、一つのテストケースに関する実
行が所定のタイムアウト時間を超えた場合、その時点で
実行を中止し、そこでの実行結果を記録する。このタイ
ムアウト時間はユーザによって指定され、その値は正常
な実行が終了するのに充分であると考えられる時間を指
定するものとする。
【0074】先に、以下の処理で用いられる仕様・誤り
仕様実行結果テーブル24について説明する。仕様実行
結果テーブル24の内容の一例を図9に示す。仕様実行
結果テーブル24は、列はテストケースの識別子、行は
仕様または誤り仕様の識別子で指定されるテーブルであ
る。これらの仕様の識別子は、仕様の名前・ポインタな
ど、識別対象を参照可能なものなら何でも良い。テーブ
ルの各セルには、行で指定される仕様または誤り仕様に
対して、列で指定されるテストケースを適用して仕様実
行を行った結果が記録される。セルに記録される情報
は、「テストケース合否」と「実行終了地点」の2つで
ある。ここで、「テストケース合否」はテストケースに
ついて実行した結果、そのテストケースについて合格と
判定されたか否かを表す。「実行終了地点」はテストケ
ースのどの部分まで正常に実行できたかを表す。
【0075】次に、仕様実行部23の処理手順を、図1
0のフローチャートを用いて説明する。
【0076】まず、与えられたテストケースの一つに着
目し、S21、S22の処理を実行する(S20)。与
えられたテストケースそれぞれについて、これを繰り返
す(S23)。順序は任意で良い。
【0077】与えられた仕様を、着目したテストケース
に従って仕様実行する(S21)。
【0078】仕様実行の結果(テストケース合否、実行
終了地点)を、仕様実行結果テーブル24中に記録する
(S22)。記録する場所は、与えられた仕様と着目し
たテストケースによって指定されるセルを選択する。
【0079】次に、誤り仕様の一つに着目し、S25か
らS28の処理を実行する。誤り仕様それぞれについ
て、これを繰り返す(S29)。繰り返す順序は任意で
良い。
【0080】与えられたテストケースの一つに着目し、
S26、S27の処理を実行する(S25)。与えられ
たテストケースそれぞれについて、これを繰り返す(S
28)。順序は任意で良い。
【0081】着目した誤り仕様を、着目したテストケー
スに従って仕様実行する(S26)。
【0082】仕様実行の結果(テストケース合否、実行
終了地点)を仕様実行結果テーブル24に記録する(S
27)。記録する場所は着目した誤り仕様と着目したテ
ストケースによって指定されるセルを選択する。
【0083】上記の図10の処理フローを、理解のため
さらに具体例をもって以下に説明する。ここでは、図2
の元々の仕様とm1〜m4の誤り仕様(図5〜図8)、
図3のテストケース集合等を入力とした場合の仕様実行
処理を説明する。
【0084】1).テストケースb1に着目する。(S2
0) 2).図2の仕様の動作を着目したテストケースb1に従
って仕様実行する。仕様実行を行うと、仕様実行部23
はノードN1からノードN2、ノードN3、ノードN
4、ノードN5の順に処理を行う。命令シーケンスが全
て正常に実行できるので、b1については合格と判断さ
れる。従って、仕様実行結果テーブル24の図2の仕様
とテストケースb1によって指定されるセルに結果(テ
ストケース合否は合格、実行終了地点は命令シーケンス
中の3行目)を記録する。(S21、S22) 3).その他(b2〜b5)のテストケースについても、
S21、S22の処理を繰り返す。(S23) 4).誤り仕様m1に着目する。(S24) 5).テストケースb4に着目する(S25)。m1の動
作を、着目したテストケースに従って仕様実行する(S
26)。仕様実行を行うと、ノードN1からノードN
7、ノードN8、ノードN10、ノードN11、ノード
N12と処理が進み、次にノードN1に戻って、ノード
N1、ノードN7、ノードN8、ノードN10…という
処理が行われる。但し、RCが200でないので、メッ
セージMOUT3はいつまで経っても送信されず、b4
の命令シーケンスは5行目で止まったままとなる。その
ため、いずれ仕様実行装置がタイムアウトを起こし、b
4については不合格と判断されることになる。従って、
仕様実行結果テーブルの誤り仕様m1とテストケースb
4によって指定されるセルに、結果(テストケース合否
は不合格、実行終了地点は命令シーケンス中の4行目)
を記録する。(S27) 6).その他のテストケース(b1,b2,b3,b5)
についても、S26、S27の処理を繰り返す。(S2
8) 7).その他の誤り仕様(m2〜m4)についても、S2
5からS28の処理を繰り返す。(S29) 以上の処理によって、図9に示す仕様実行結果テーブル
24が得られる。図9中で、各セルの情報のうち、上の
行がテストケース合否、下の行が実行終了地点を示す。
【0085】(3)誤り情報抽出処理 次に、誤り情報抽出部25の行う誤り情報抽出処理の内
容を以下に説明する。
【0086】誤り情報抽出部25は、仕様実行結果テー
ブル24を入力として、誤り仕様と誤り動作を起こすテ
ストケースとの対応を抽出して、誤り情報テーブル7を
生成する処理を行う。
【0087】先に、以下の処理で生成される誤り情報テ
ーブル7について説明する。誤り情報テーブル7の内容
の一例を図11に示す。
【0088】誤り情報テーブル7は、列はテストケース
の識別子、行は誤り仕様の識別子で指定されるテーブル
である。これらの識別子は仕様実行結果テーブル24で
用いたものと同じものを用いる。セルに記録される情報
も、仕様実行結果テーブル24と同じものを記録する
が、あるテストケースに着目した際に、元々の仕様と実
行結果が同じである誤り仕様に対応するセルについては
空欄とする。
【0089】以下に、誤り情報抽出部25の処理手順
を、図12のフローチャートを用いて説明する。
【0090】まず、仕様結果テーブル24の一つの列に
着目し、S41からS45までの処理を行う。仕様実行
結果テーブル24の各列それぞれについてこれを繰り返
す(S46)。順序は任意で良い。
【0091】仕様実行結果テーブル24の行のうち、誤
り仕様に対応する行の一つに着目し、S42からS44
の処理を行う。各誤り仕様に対応する行それぞれについ
て、これを繰り返す(S45)。順序は任意で良い。
【0092】着目した行と列で指定されるセルの内容
と、同じ列の与えられた仕様に対応する行で指定された
セルの内容とを比較する(S42)。この比較結果から
不合格のものを抽出する。すなわち、比較結果の内容が
同じなら、S45に進む。内容が異なれば、着目した行
と列に対応するセルの内容を、誤り情報テーブルの対応
するセルに記録する(S44)。
【0093】上記の図12の処理フローを、理解のため
さらに具体例をもって以下に説明する。ここでは、図9
の仕様実行結果テーブル24と図3のテストケース集合
6を入力とした場合の処理を説明する。
【0094】1).仕様実行結果テーブルの列b2に着目
する。(S40) 2).仕様実行結果テーブルの行m1に着目する。(S4
1) 3).行m1と列b2で指定されるセルの内容と、列b2
と与えられた仕様に対応する行で指定されたセルの内容
を比較する。内容は同じ(合格かつ2行目まで正常に実
行)であるので、このまま次の処理に移る(S42、S
43) 4).仕様実行結果テーブルの行m4に着目する。(S4
1) 5).行m4と列b2で指定されるセルの内容と、列b2
と与えられた仕様に対応する行で指定されたセルの内容
を比較する(S42)。内容が異なるので、行m4と列
b2で指定されるセルの内容(不合格かつ1行目まで正
常に実行)を、誤り情報テーブルのセル行m4と列b2
で指定されるセルに記録する。(S43、S44) 6).他の行m2,m3についてもS42〜S44の処理
を繰り返す。(S45) 7).他の列b1,b3,b4,b5についてもS41〜
S45の処理を繰り返す。(S46) 上記の処理によって生成される誤り情報テーブル7の内
容を図11に示す。
【0095】第1の実施形態によれば、以下のような効
果が得られる。
【0096】すなわち、誤り情報テーブル7は、各テス
トケースの誤り検出能力に関する情報を持っており、テ
ストケース集合全体や各テストケースの評価を行うこと
が可能である。
【0097】たとえば、テストケースb5の列には2つ
の空でないセルがあり、それらの誤り仕様識別子はそれ
ぞれm3とm4である。これは、テストケースb5の誤
り仕様m3とm4について適用すると、与えられた仕様
と違う結果が得られることを示している。このことか
ら、テストケースb5は誤り仕様m3とm4で埋め込ん
だ誤りを検出するのに有効であるといえる。また、空欄
の少ないテストケースほど多くの誤りに対して有効であ
り、逆に空欄の多いテストケースは誤り検出能力が低い
と言える。これによってテストケースを分類したり、誤
り検出能力の高いものを抽出することで、効率的なテス
トの実行ができる。
【0098】また、誤り仕様に着目すると、m2の行に
属するセルは全て空である。このことから、b1〜b5
のテストケース集合はm2で埋め込んだ誤りを検出する
のに有効でないことが判る。このようなテストケース集
合の弱点を明らかにすることで、テストケースの弱点を
補う作業を軽減したり、どんな誤りが検出されずに残り
うるかを推測することが可能となる。
【0099】第2の実施の形態以下、本発明の第2の実
施形態において、第1の実施形態と異なる点についての
み、図面を用いて詳細に説明する。
【0100】第2の実施形態は、仕様の誤りのパターン
と各テストケースの対応関係を用いて、テスト対象ソフ
トウエアにどのような誤りが潜在するかを解析する機能
を提供するものである。
【0101】第2の実施形態は、図1に示す本発明の実
施形態に係るテスト装置1のうちの、テスト結果解析装
置3により実現される。
【0102】尚、第2の実施形態は、第1の実施形態と
組み合わせて、即ちまずテストケース評価装置2による
テストケース評価フェーズが行われた後、さらにテスト
結果解析装置3によるテスト結果解析フェーズを行うべ
く構成されてもよい。あるいは、予めテストの対象とな
るソフトウエアについての誤り情報テーブル7が得られ
ていれば、テスト結果解析装置3によるテスト結果解析
フェーズを単独で実施することが可能である。
【0103】図1に示すように、テスト結果解析装置3
は、テスト対象のソフトウェア12とテストケース集合
11と誤り情報テーブル7を入力とし、テスト対象に実
際にどのような誤りが存在するかについての評価を行
い、その結果を誤り評価データ14として出力する。
【0104】テスト結果解析装置3は、さらに、各テス
トケース11についてテスト対象ソフトウェア12のテ
ストを行うテスト実行部31と、テスト実行部31にお
けるテストの結果と誤り情報テーブル7を比較・解析し
て実際にどんな誤りが存在するかについての評価を行う
テスト結果評価部33とにより構成される。
【0105】第2の実施形態のハードウエア構成は第1
の実施形態と同様であるため説明を省略する。
【0106】第2の実施形態に係るテスト結果解析装置
3は上記のように構成されており、以下その処理の流れ
につき説明する。ここでは第2の実施形態に係るテスト
実行部31、テスト結果評価部33における処理の流れ
を順に説明する。
【0107】(1)テスト実行処理 まず、テスト実行部31の行うテスト実行処理の内容を
以下に説明する。
【0108】テスト結果解析処理では、まず、テスト実
行部31にテストケース集合11とテスト対象ソフトウ
エア12が入力され、実際にテストを行って実行結果を
記録する処理が行われる。
【0109】テスト実行部31は、与えられたテストケ
ースの集合11を用いて実際にテストを行い、結果をテ
スト実行結果テーブル32として記録する。尚、与えら
れるテストケース集合11は、第1の実施形態の入力で
あるテストケース集合とすることも可能であるが、誤り
情報テーブル7に従って選択的に抽出・補完されたテス
トケース集合とすることが、テスト実行の効率化の面か
ら望ましい。このテスト実行部31は実行に要する時間
を計測するためのタイマを備えており、一つのテストケ
ースに関する実行が所定のタイムアウト時間を超えた場
合、その時点で実行を中止し、そこでの実行結果をテス
ト実行結果テーブル32に記録する。このタイムアウト
時間はユーザによって指定され、その値は正常な実行が
終了するのに充分であると考えられる時間を指定するも
のとする。
【0110】先に、以下の処理で生成されるテスト実行
結果テーブル32について説明する。
【0111】図13に、テスト実行結果テーブル32の
内容の一例を示す。テスト実行結果テーブル32は、テ
ストケースの識別子によって列を指定する1行のテーブ
ルである。このテスト実行結果テーブル32は各テスト
対象ソフトウエアごとに生成される。各セルには、列に
対応するテストケースを適用した際の実行結果が記録さ
れる。各実行結果は「テストケース合否」と「実行終了
地点」の二つの情報から構成される。ここで、「テスト
ケース合否」はテストケースについて実行した結果、そ
のテストケースについて合格と判断されたか否かを示
す。「実行終了地点」はテストケースのどの部分まで正
常に実行できたかを示す。
【0112】次に、テスト実行部31の処理手順を、図
14のフローチャートを用いて説明する。
【0113】まず、テストケースの一つに着目し、S5
1、S52の処理を実行する(S50)。各テストケー
スについてこれを繰り返す(S53)。順序は任意で良
い。
【0114】着目したテストケースに従い、テスト対象
ソフトウェアを動作させる(S51)。
【0115】テスト対象ソフトウェアの動作結果(テス
トケース合否、実行終了地点)をテスト実行結果テーブ
ル32に記録する(S52)。
【0116】上記の図14の処理フローを、理解のため
さらに具体例をもって以下に説明する。ここでは、図3
のテストケース、図2の仕様に対応するソフトウェア、
図11の誤り情報データテーブルを入力とした場合のテ
スト実行部31の処理を説明する。
【0117】1).テストケースb1に着目する。(S5
0) 2).テスト対象ソフトウェアをテストケースb1に従っ
て動作させる(S51)。その結果、命令シーケンスが
1行目から3行目まで全て正常に実行できたとすると、
テスト対象ソフトウェアはb1について合格と判断す
る。このとき、テスト実行結果テーブルのb1によって
指定される列に結果(テストケース合否は合格、実行終
了地点は命令シーケンス中の3行目)を記録する。(S
52) 3).テストケースb3に着目する。(S50) 4).テスト対象ソフトウェアをテストケースb5に従っ
て動作させる(S51)。その結果、命令シーケンスの
2行目でメッセージを待っているうちにタイムアウト終
了してしまったとすると、テスト対象ソフトウェアはb
5について不合格と判断する。このとき、テスト実行結
果テーブルのb5によって指定される列に結果(テスト
ケース合否は不合格、実行終了地点は命令シーケンス中
の1行目)を記録する。(S52) 5).その他(b2,b4,b5)のテストケースについ
ても、S51、S53の処理を繰り返す(S53)。
【0118】上記の処理によって、図13のテスト実行
結果テーブルが得られたものとする。図13中の各セル
の情報は、上の行がテストケース合否、下の行が実行終
了地点を示している。
【0119】(2)テスト結果評価処理 テスト実行結果テーブル32が生成されると、テスト結
果評価部33による処理に移る。テスト結果評価部33
はテスト実行結果テーブル32と誤り情報テーブル7を
入力とし、誤り評価データ14を生成する。
【0120】先に、以下の処理で生成される誤り評価デ
ータ14について説明する。
【0121】図15に、図11の誤り情報テーブルと図
13のテスト実行結果テーブルから得られる誤り評価デ
ータ14の内容の一例を示す。誤り評価データ14は、
テスト実行結果テーブル32を集計した結果に基づく、
各誤りの存在する可能性についての評価結果である。誤
り評価データには、「有効なテストケース」、「実行結
果の一致したテストケース」、「評価結果」の3つのデ
ータ項目があり、これらのデータが各誤り仕様ごとに記
録される。「有効なテストケース」には、その誤りを検
出するのに有効なテストケースの集合が記録される。
「実行結果の一致したテストケース」には、有効なテス
トケースのうち、テスト対象の実行結果が誤り情報の結
果に一致したテストケースの集合が記録される。「評価
結果」は誤りの存在する可能性についての評価結果であ
り、A,B,C,−の4段階で表現される。各段階の意
味を以下に示す。
【0122】1).Aは、有効なテストケースの集合が空
でなく、かつ有効なテストケースの集合と実行結果の一
致したテストケースの集合が完全に一致した場合の評価
を表す。当該テスト対象に仕様の誤りが存在する(仕様
どおりでない)可能性が高いことを示す。
【0123】2).Bは、有効なテストケースの集合と実
行結果の一致したテストケースの集合がともに空でな
く、かつそれらが一致しない場合の評価を表す。その誤
りが存在する可能性はAほとではないが、Cよりも高い
ことを示す。
【0124】3).Cは、有効なテストケースの集合が空
でなく、かつ実行結果の一致したテストケースの集合が
空である場合の評価を表す。その誤りが存在しない可能
性が高いことを示す。
【0125】4).−は、有効なテストケースの集合が空
である場合の評価を表す。判定不能であることを表す。
【0126】以下に、テスト結果評価部33の処理手順
を、図16のフローチャートを用いて説明する。
【0127】まず、誤り情報テーブル7の一つの誤りの
仕様に着目し、S62からS63の処理を行う。誤り情
報テーブルの各誤り仕様それぞれについて、これを繰り
返す(S64)。順序は任意で良い。
【0128】着目した誤り仕様の行に属するセルのう
ち、空でないものに着目し、S62の処理を行う(S6
2)。同じ行の空でないセルそれぞれについて、これを
繰り返す(S63)。順序は任意で良い。
【0129】誤り評価データ14をS61で着目した誤
り仕様に関して参照する。参照した部分の「有効なテス
トケース」項目に、S62で着目したセルに対応するテ
ストケースを追加する(S62)。
【0130】テスト実行結果テーブル32の一つのセル
に着目し、S66〜S68の処理を行う(S65)。テ
スト実行結果テーブルの各セルについてこれを繰り返す
(S69)。順序は任意で良い。
【0131】S65で着目したセルに対応するテストケ
ースに関して、誤り情報テーブル7を参照する。参照し
た列に属するセルのうち、S65で着目したセルと内容
が一致するものに着目し、S67の処理を行う。参照し
た列で内容が一致する各セルについて、これを繰り返す
(S68)。
【0132】誤り評価データ14をS66で着目したセ
ルに対応する誤り仕様に関して参照する。参照した部分
の「実行結果が一致したテストケース」項目に、S65
で着目したセルに対応するテストケースを追加する(S
67)。
【0133】誤り評価データ14の誤り仕様の一つに着
目し、S71の処理を行う(S70)。誤り評価データ
14の各誤り仕様について、これを繰り返す(S7
2)。順序は任意で良い。
【0134】着目した誤り仕様について、以下の基準に
従って評価結果を記録する(S71)。
【0135】まず、有効なテストケースの集合が空でな
く、かつ有効なテストケースの集合と実行結果の一致し
たテストケースの集合が完全に一致した場合には、評価
結果はAとする。
【0136】有効なテストケースの集合と実行結果の一
致したテストケースの集合がともに空でなく、かつそれ
らが一致しない場合には、評価結果はBとする。
【0137】有効なテストケースの集合が空でなく、か
つ実行結果の一致したテストケースの集合が空である場
合には、評価結果はCとする。
【0138】有効なテストケースの集合が空である場合
には、評価結果は−とする。
【0139】上記の図16の処理フローを、理解のため
さらに具体例をもって以下に説明する。ここでは、図1
1の誤り情報テーブルと図13のテスト実行結果テーブ
ルを入力とした場合のテスト結果評価部33の処理を説
明する。
【0140】1).誤り情報テーブルの誤り仕様m1に着
目する。(S60) 2).誤り情報テーブルのセルのうち、行m1と列b4で
指定されるセルに着目する。(S61) 3).誤り評価データをm1に関して参照する。参照した
部分の「有効なテストケース」項目に、テストケースb
4を追加する。(S62) 4).誤り情報テーブルの他の誤り仕様(m2〜m4)に
ついても、S61、S62の処理を繰り返す。(S6
4) 5).テスト実行結果テーブルのb4に対応するセルに着
目する。(S65) 6).テストケースb4に関して、誤り情報テーブルを参
照する。誤り情報テーブルの列b4に属するセルのう
ち、行m1と列b4で指定されるセルに着目する。(S
66) 7).誤り評価データを誤り仕様m1に関して参照する。
参照した部分の「実行結果が一致したテストケース」項
目に、テストケースb4を追加する。(S67) 8).テスト実行結果テーブルの他のセル(b2〜b5に
対応するセル)についても、S66〜S68の処理を繰
り返す。(S69) 9).誤り評価データの誤り仕様m1に着目する。(S7
0) 10).誤り仕様m1について、有効なテストケースの集
合が空でなく、かつ有効なテストケースの集合と実行結
果の一致したテストケースの集合が完全に一致するの
で、誤り仕様m1の評価結果はAとなる。(S71) 11).誤り評価データの他の誤り仕様(m2〜m4)に
ついても、S71の処理を実行する(S72)。
【0141】上記の処理により、図15に示す内容の誤
り評価データが得られる。
【0142】図15に示す評価結果を参照することで、
m1において埋め込んだ誤り(ノードN9処理抜け)が
存在する可能性が高いこと、m3の誤り(ノードN2受
信遷移先固定)が存在する可能性は低いこと、m2の誤
り(ノードN10処理抜け)については有効なテストケ
ースがなく判定不能であること等を容易に把握すること
ができる。
【0143】第2の実施形態によれば、以下のような効
果が得られる。
【0144】すなわち、誤り評価データを参照すること
により、ユーザーが不合格のテスト結果からソフトウエ
ア処理上のどこで仕様と一致しないのかを示す誤り位置
を探るデバッグの際に、当該テスト対象ソフトウエアに
存在する可能性の高い誤りから優先的に探すことができ
る。例えば図15の誤り評価データの場合では、存在す
る可能性の高いm1の誤りから探し、逆に可能性の低い
m3は後回しにする、といったデバッグ手順をとること
ができ、デバッグ効率が大幅に向上する。
【0145】また、テスト結果の誤りを原因別に分類す
ることができる。例えば図13では、b4とb5の2つ
のテストケースが不合格となっているが、図13のテス
ト実行結果テーブルだけを参照したのではこれらが同一
の原因によるものか、それぞれ違う原因によるものかの
判定ができない。ここで図15の誤り評価データを参照
すると、b4とm1の誤りを原因としている可能性が高
く、一方b5はm3またはm4の誤りを原因としている
可能性が高いことが容易に把握できる。従って、それぞ
れのテストケースの実行による誤りが、個別に原因を持
っている可能性が高いと判断することができる。
【0146】
【発明の効果】以上説明したように、本発明によれば、
以下に記載されるような効果を奏する。
【0147】即ち、本発明においては、被テスト対象物
に想定される誤りに応じた各テストケースごとの誤り検
出能力を示すデータを出力する機能を提供する。この誤
り検出データをテスト実行に先だって各テストケースに
適用することによって、与えられたテストケース集合の
中から誤り検出能力の高いテストケースを選択的に抽出
したり、他方では与えられたテストケース集合では検出
しにくい誤りを事前に認識・テストケースを補完するこ
とができる。従って、被テスト対象に潜在する誤りを検
出するのに必要十分なテストケースにより、テストを効
率よく、迅速に行うことが可能となる。
【0148】また、誤り検出データをテスト実行後のテ
スト実行結果に適用することによって、被テスト対象物
に実際に存在する可能性の高い誤り(誤りの原因、パタ
ーン)の箇所や種別を容易に知ることができ、これらの
誤りを優先的に探してデバッグすることができる。ま
た、不合格となったテスト結果を原因別に分類すること
などもできる。従って、テスト実行結果から誤りを特定
する解析・デバッグ作業を効率よく、迅速に行うことが
可能となる。
【0149】このように、本発明を用いれば、テストの
精度を維持しつつテストにおけるコスト削減が実現さ
れ、ひいてはソフトウエア開発期間の短縮および精度の
向上がもたらされる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るテスト装置、テストケ
ース評価装置、およびテスト結果解析装置の機能構成を
示すブロック図である。
【図2】本発明の実施形態におけるテストの対象となる
ソフトウエアの仕様の一例を示す図である。
【図3】本発明の実施形態におけるテストケースの集合
の一例を示す図である。
【図4】本発明の第1の実施形態に係る誤り仕様生成部
の処理アルゴリズムを示すフローチャートである。
【図5】本発明の実施形態における誤り仕様の一例を示
す図である。
【図6】本発明の実施の形態における誤り仕様の例を示
す図である。
【図7】本発明の実施形態における誤り仕様の一例を示
す図である。
【図8】本発明の実施の形態における誤り仕様の一例を
示す図である。
【図9】本発明の第1の実施形態における仕様/誤り仕
様実行結果テーブルの一例を示す図である。
【図10】本発明の第1の実施形態に係る仕様実行部の
処理アルゴリズムを示すフローチャートである。
【図11】本発明の実施形態における誤り情報テーブル
の一例を示す図である。
【図12】本発明の第1の実施形態に係る誤り情報抽出
部の処理アルゴリズムを示すフローチャートである。
【図13】本発明の第2の実施形態におけるテスト結果
実行テーブルの一例を示す図である。
【図14】本発明の第2の実施形態に係るテスト実行部
の処理アルゴリズムを示すフローチャートである。
【図15】本発明の第2の実施形態における誤り評価デ
ータの一例を示す図である。
【図16】本発明の第2の実施形態に係るテスト結果評
価部の処理アルゴリズムを示すフローチャートである。
【符号の説明】
1 テスト装置 2 テストケース評価部 3 テスト結果解析部 5 仕様 6 テストケース集合 7 誤り情報テーブル 11 評価後テストケース集合 12 テスト対象ソフトウエア 14 誤り評価データ 20 仕様変更データベース 21 誤り仕様生成部 22 誤り仕様の集合 23 仕様実行部 24 仕様/誤り仕様実行結果テーブル 25 誤り情報抽出部 31 テスト実行部 32 テスト実行結果テーブル 33 テスト結果評価部

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 仕様に基づいて作成された被テスト対象
    物が前記仕様に従って動作するか否かの検証を行うテス
    ト装置であって、 前記被テスト対象物に対する入力テストケースと前記被
    テスト対象物の仕様とから、想定される誤りの検出能力
    を示す誤り検出データを各テストケースごとに予め生成
    する誤り情報生成部を具備し、 前記誤り検出データに基づき、少なくとも前記テストケ
    ースの評価および検証結果からの前記誤りの特定のうち
    の1つを行うことを特徴とするテスト装置。
  2. 【請求項2】 仕様に基づいて作成された被テスト対象
    物が前記仕様に従って動作するか否かの検証の際に入力
    されるテストケースの評価を行うテストケース評価装置
    であって、 前記被テスト対象物に対する入力テストケースと前記被
    テスト対象物の仕様とから、想定される誤りの検出能力
    を示す誤り検出データを各テストケースごとに予め生成
    する誤り情報生成部を具備し、 前記誤り検出データに基づき各テストケースの評価を行
    うことを特徴とするテストケース評価装置。
  3. 【請求項3】 仕様に基づいて作成された被テスト対象
    物が前記仕様に従って動作するか否かの検証の結果を解
    析するテスト結果解析装置であって、 被テスト対象物に対する入力テストケースごとの予め想
    定される1または複数の誤りの検出能力を示す誤り検出
    データと、前記被テスト対象物の検証の結果データとの
    比較を行い、 該比較結果に基づいて、前記被テスト対象に存在する誤
    りを示す実行結果解析データを生成することを特徴とす
    るテスト結果解析装置。
  4. 【請求項4】 前記誤り情報生成部は、さらに、 被テスト対象物の原仕様の一部または全部を変更した誤
    り仕様を生成する誤り仕様生成部と、 前記原仕様及び前記誤り仕様を被テスト対象物に対する
    入力テストケースごとに実行して前記各仕様の実行結果
    を出力する仕様実行部とを具備し、 前記誤り検出データは、前記仕様実行部が行った、前記
    原仕様の各テストケースごとの仕様実行結果と前記誤り
    仕様の各テストケースごとの仕様実行結果との比較結果
    に基づき生成されることを特徴とする請求項2に記載の
    テストケース評価装置。
  5. 【請求項5】 前記誤り検出データは、各テストケース
    についての、前記仕様の仕様実行結果および前記各テス
    トケースに定義された命令シーケンス中の仕様実行の終
    了地点データを含むことを特徴とする請求項4に記載の
    テストケース評価装置。
  6. 【請求項6】 前記実行結果解析データは、被テスト対
    象物についての各誤りの検出に有効な第1のテストケー
    ス群と、 テストの実行結果が前記誤り検出データと一致した第2
    のテストケース群と、 前記第1のテストケース群と前記第2のテストケース群
    との比較により得られ、被テスト対象物に各誤りが存在
    する可能性を示す評価結果とを含むことを特徴とする請
    求項3に記載のテスト結果解析装置。
  7. 【請求項7】 被テスト対象物に対して、被テスト対象
    物が仕様に従って動作するか否かの検証の際に入力され
    るテストケースの評価を行うテストケース評価プログラ
    ムを格納したコンピュータ読み取り可能な記録媒体であ
    って、 前記被テスト対象物に対する入力テストケースと前記被
    テスト対象物の仕様とから、予め想定される誤りについ
    ての誤り検出能力を示す誤り検出データを各テストケー
    スごとに予め生成する誤り情報生成ステップと、 前記誤り検出データに基づき各テストケースの評価を行
    うテストケース抽出ステップとを含むことを特徴とする
    テストケース評価プログラムを格納したコンピュータ読
    み取り可能な記録媒体。
  8. 【請求項8】 前記誤り情報生成ステップは、さらに、 被テスト対象物の原仕様の一部または全部を変更した誤
    り仕様を生成する誤り仕様生成ステップと、 前記原仕様及び前記誤り仕様を被テスト対象物に対する
    入力テストケースごとに実行する仕様実行ステップと、 前記原仕様の各テストケースごとの仕様実行結果と前記
    誤り仕様の各テストケースごとの仕様実行結果との比較
    結果に基づき前記誤り検出データを生成する誤り情報抽
    出ステップとを含むことを特徴とする請求項7に記載の
    テストケース評価プログラムを格納したコンピュータ読
    み取り可能な記録媒体。
JP21939698A 1998-08-03 1998-08-03 テスト装置、テストケース評価装置、およびテスト結果解析装置 Expired - Fee Related JP4253056B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21939698A JP4253056B2 (ja) 1998-08-03 1998-08-03 テスト装置、テストケース評価装置、およびテスト結果解析装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21939698A JP4253056B2 (ja) 1998-08-03 1998-08-03 テスト装置、テストケース評価装置、およびテスト結果解析装置

Publications (2)

Publication Number Publication Date
JP2000057014A true JP2000057014A (ja) 2000-02-25
JP4253056B2 JP4253056B2 (ja) 2009-04-08

Family

ID=16734768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21939698A Expired - Fee Related JP4253056B2 (ja) 1998-08-03 1998-08-03 テスト装置、テストケース評価装置、およびテスト結果解析装置

Country Status (1)

Country Link
JP (1) JP4253056B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005209209A (ja) * 2004-01-23 2005-08-04 Microsoft Corp メッセージ交換パターンシミュレーションコードの自動生成
JP2008299502A (ja) * 2007-05-30 2008-12-11 Denso Corp テストケース妥当性自動検証プログラムおよびテストケース妥当性自動検証結果表示方法
JP2011510392A (ja) * 2008-01-15 2011-03-31 ポステック アカデミー‐インダストリー ファウンデーション マルチチャネルおよびマルチプラットフォームを支援する使用者インタフェースモデル生成システム
CN113448844A (zh) * 2021-06-21 2021-09-28 青岛海尔科技有限公司 用于回归测试的方法及装置、电子设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005209209A (ja) * 2004-01-23 2005-08-04 Microsoft Corp メッセージ交換パターンシミュレーションコードの自動生成
JP2008299502A (ja) * 2007-05-30 2008-12-11 Denso Corp テストケース妥当性自動検証プログラムおよびテストケース妥当性自動検証結果表示方法
JP2011510392A (ja) * 2008-01-15 2011-03-31 ポステック アカデミー‐インダストリー ファウンデーション マルチチャネルおよびマルチプラットフォームを支援する使用者インタフェースモデル生成システム
CN113448844A (zh) * 2021-06-21 2021-09-28 青岛海尔科技有限公司 用于回归测试的方法及装置、电子设备
CN113448844B (zh) * 2021-06-21 2022-10-25 青岛海尔科技有限公司 用于回归测试的方法及装置、电子设备

Also Published As

Publication number Publication date
JP4253056B2 (ja) 2009-04-08

Similar Documents

Publication Publication Date Title
US6173440B1 (en) Method and apparatus for debugging, verifying and validating computer software
US9507697B2 (en) Completing functional testing
US4984239A (en) Automatic verification system for maintenance/diagnosis facility in computer system
US7331007B2 (en) Harnessing machine learning to improve the success rate of stimuli generation
US8938383B2 (en) Enabling test script play back in different locales
US7315973B1 (en) Method and apparatus for choosing tests for simulation and associated algorithms and hierarchical bipartite graph data structure
US7506211B2 (en) Automated atomic system testing
US8381185B2 (en) Apparatus, system, and method for dynamic module flow analysis
CN113190220A (zh) Json文件差异化对比方法及装置
CN112115053A (zh) 基于序列模式匹配的api误用缺陷检测方法
CN112214399A (zh) 基于序列模式匹配的api误用缺陷检测系统
CN117421217A (zh) 一种软件功能自动测试方法、系统、终端及介质
JP2000057014A (ja) テスト装置、テストケース評価装置、およびテスト結果解析装置
O’Sullivan et al. Testing temporal correctness of real-time systems-a new approach using genetic algorithms and cluster analysis
CN115098401A (zh) 一种html报告验证方法、装置、电子设备及存储介质
BELL et al. Model-based mutation testing using pushdown automata
US7689399B1 (en) Automatic extraction of design properties
von Bochmann et al. Testing k-safe petri nets
CN113434408B (zh) 一种基于测试预言的单元测试用例排序方法
CN101533367A (zh) 分析程序错误的方法及其判读数据的制作方法
JP2000155156A (ja) 半導体集積回路の故障診断装置
JP2004046310A (ja) 障害修復プログラム適用方法及びその実施装置並びにその処理プログラム
JP2001051864A (ja) データ処理装置の試験実行方式
CN117453567A (zh) 混沌测试方法、装置及设备
JP2751539B2 (ja) インタフェース検証処理方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090113

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090123

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120130

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees