JP2011044111A - ソフトウェアのテスト方法及びプログラム - Google Patents

ソフトウェアのテスト方法及びプログラム Download PDF

Info

Publication number
JP2011044111A
JP2011044111A JP2009193500A JP2009193500A JP2011044111A JP 2011044111 A JP2011044111 A JP 2011044111A JP 2009193500 A JP2009193500 A JP 2009193500A JP 2009193500 A JP2009193500 A JP 2009193500A JP 2011044111 A JP2011044111 A JP 2011044111A
Authority
JP
Japan
Prior art keywords
category
weighting
software
test
verification
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
JP2009193500A
Other languages
English (en)
Other versions
JP5444939B2 (ja
Inventor
Takashi Asahina
崇 朝日奈
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2009193500A priority Critical patent/JP5444939B2/ja
Publication of JP2011044111A publication Critical patent/JP2011044111A/ja
Application granted granted Critical
Publication of JP5444939B2 publication Critical patent/JP5444939B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】テスト時間を短縮することができるソフトウェアのテスト方法及びプログラムを提供する。
【解決手段】テストケースを分類したカテゴリに対して、統計重み付け比率、基準重み付け比率、上限値、下限値が設定されたカテゴリ重み付けテーブル25を設けた。CPUは、各カテゴリにおいて、基準重み付け比率の上限値から下限値の範囲に統計重み付け比率が入っている否かに応じて、基準重み付け比率又は統計重み付け比率のいずれかをカテゴリ重み付け比率として設定するようにした。次に、CPUは、カテゴリ重み付け比率の最も高いカテゴリ重み付け比率のカテゴリを検証実行カテゴリとして設定した。続いて、CPUは、検証実行カテゴリとなったカテゴリに分類されたテストケースについてソースコード21の論理検証を行うようにした。
【選択図】図2

Description

ソフトウェアのテスト方法及びプログラムに関するものである。
電子機器に搭載される集積回路は、一般的に、Verilog−HDLやVHDL(VHSIC Hardware Description Language)に代表されるハードウェア記述言語を用いて設計されている。
ハードウェア記述言語を用いて設計される集積回路は、ハードウェア記述言語で記述されたソースコードの状態で、仕様書通りの動作を行うかどうか論理検証される。詳しくは、検証作業者は、仕様書から入力データと、入力データに対する出力期待値を含むテストケースを作成する。検証装置は、テストケースについてソースコードの論理検証を行って、「良」又は「不良」の判定をする。
つまり、検証装置は、ソフトウェアによりテストケースの入力データを処理して出力された出力データがテストケースの出力期待値と等しいか否かを判定する。検証装置は、出力データと出力期待値が等しい場合、「良」と判定し、反対に、検証装置は、出力データと出力期待値が等しくない場合、「不良」と判定する。
そして、検証作業者は、「不良」判定となったテストケースに基づいてソースコードの修正(デバッグ)を行う。検証装置は、テストケースについて、修正を行ったソースコードの論理検証を行って、「良」又は「不良」の判定をする。以後、全てのテストケースについて「良」判定となるまで、ソースコードの論理検証を行っていく。そして、全てのテストケースについて「良」判定になると、仕様書通りに正しくソースコードが記述されているとしてソースコードの論理検証を完了する。
近年、電子機器に求められる機能は複雑化および多機能化しており、それに伴い集積回路の機能も複雑化および多機能化している。これにより、集積回路のソースコードの論理検証では、テストケースの数が飛躍的に増大し、全てのテストケースについて論理検証を行う時間とコスト、及び、デバッグに要する時間とコストは膨大なものとなっている。
そこで、従来、検証作業者は、実験計画法に沿って要因分析表及び直交表により、これまでソースコードの論理検証を行っていたテストケースを絞り込み、少ないテストケースについてソースコードの論理検証を行っていた。この結果、少ないテストケースについてソースコードの論理検証を行うだけで、これまでのソースコードの論理検証を行った効果と同等な効果を得ていた(例えば、特許文献1参照)。
特開2002−259463号公報
しかしながら、上記のソースコードの論理検証では、テストケースについてソースコードの論理検証を行って「不良」と判定された場合、修正されたソースコードの論理検証を全てのテストケースについて同じ順番で行っていた。
従って、ソースコードの論理検証を行って1度「良」と判定されたテストケースについて、最初の段階でソースコードの論理検証を行うことになる。しかし、ソースコードの論理検証を行っていないテストケースについてソースコードの論理検証を行って「不良」と判定される比率より、1度「良」と判定されたテストケースについて修正されたソースコードの論理検証を行って「不良」と判定される比率は低い。このため、ソースコードの論理検証を行うテストケースの順番について考慮することで、ソースコードの論理検証を行う時間をさらに短縮する余地が残されている。
このソフトウェアのテスト方法及びプログラムは、テスト時間を短縮することを目的とする。
本発明の一側面によれば、ソフトウェアのテスト方法は、設計仕様に含まれる各機能について、ソフトウェアが入力データを設計仕様通りに処理するか否かを判定するための前記入力データと、該入力データに対する出力期待値とを有するテストケースを複数作成し、複数の前記テストケースの中から1つの前記テストケースを選択し、ソフトウェアにより前記選択したテストケースの入力データを処理して出力された出力データが前記選択したテストケースの出力期待値と等しいか否かを判定するソフトウェアのテスト方法であって、定量情報及び定性情報に基づいて前記テストケースを分類したカテゴリに対して、分類された前記テストケースが不良と判定される可能性を示す重み付け比率がそれぞれ設定された重み付けテーブルを有し、前記重み付けテーブルの各カテゴリに対する前記重み付け比率に基づいて、ソフトウェアのテストを行う前記カテゴリを選択するカテゴリ選択工程と、前記カテゴリ選択工程において選択された前記カテゴリに分類された前記テストケースについてソフトウェアのテストを行うソフトウェアテスト工程と、前記ソフトウェアテスト工程においてソフトウェアのテストを行った結果に基づいて、ソフトウェアのテストを行ったカテゴリに対する前記重み付けテーブルの重み付け比率を算出し、その算出結果に基づいて重み付けテーブルを変更するテーブル変更工程と、を有する。
本発明の一側面によれば、ソフトウェアのテスト方法及びプログラムは、テスト時間を短縮することができる。
検証装置の概略構成図である。 ソースコードの論理検証の説明図である。 要因分析表の説明図である。 直交表の説明図である。 直交表の説明図である。 テストケースファイルの説明図である。 カテゴリ重み付けテーブルの説明図である。 ソースコードの論理検証の説明図である。
以下、実施形態を図1〜図8に従って説明する。
図1は、ハードウェア記述言語で記述された集積回路のソースコードの論理検証を実施するためのコンピュータシステムの概略構成図である。
図1に示すように、このコンピュータ(検証装置)11は、中央処理装置(以下、CPUという)12、メモリ13、記憶装置14、表示装置15、入力装置16、及び、ドライブ装置17を備え、それらはバス18を介して相互にデータの授受を行っている。
CPU12は、メモリ13を利用してプログラムを実行し、ソースコードの論理検証等に必要な処理を実現する。メモリ13は、各種処理を提供するために必要なプログラムとデータを格納する。メモリ13は、通常、キャッシュ・メモリ、システム・メモリおよびディスプレイ・メモリを含む。
表示装置15は、各種ウインドウやデータ等の表示に用いられ、これにはCRT、LCD、PDP等が用いられる。入力装置16は、ユーザからの要求や指示、パラメータの入力に用いられ、これにはキーボードおよびマウス装置(図示せず)等が用いられる。
記憶装置14は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置を含む。この記憶装置14には、ソースコードの論理検証を行うためのプログラムデータとファイルが格納されている。ファイルとしては、仕様書20、ソースコード21、要因分析表22、直交表23、テストケースファイル24、カテゴリ重み付けテーブル25、その他ソースコードの論理検証に必要なファイルが格納されている。
仕様書20は、検証する集積回路の動作について規定されたデータである。ソースコード21は、仕様書20に基づいてハードウェア記述言語で記述されたデータである。
要因分析表22は、ソースコード21の論理検証を行う際のパラメータとなる因子と、その因子の値である水準の2次元の表のデータである。本実施形態では、図3に示すように、要因分析表22は、仕様書20から抽出された因子F1〜Fnと、水準L1〜Lnから構成されている。
さらに、要因分析表22は、水準L1〜Lnが最大値、最小値、同値クラス、境界値などの定量情報でカテゴリC1〜カテゴリCnに分類されている。ここで、最大値とは、検証する集積回路が正常動作可能な最大の入力値をいう。また、最小値とは、検証する集積回路が正常動作可能な最小の入力値をいう。さらに、同値クラスとは、検証する集積回路から同様な出力結果が得られる入力値の集合をいう。さらにまた、境界値とは、上記の各同値クラスの境界付近の代表値をいう。
直交表23は、任意の2因子について、その水準の全ての組合せが同数回ずつ現れるという性質をもつ割り付け表のデータである。検証作業者は、直交表23に基づいて、因子と水準の全ての組合せから、特定の因子と水準の組合せに絞り込む。そして、検証作業者は、直交表23に基づいて絞り込んだ特定の因子と水準の組合せについて検証することで、因子及び水準の全ての組合せについて検証を行った場合と同様な効果を得ることができる。
例えば、図4の表30に示すように、仕様書20から2水準(0,1)の因子A,B,Cを抽出した場合、全ての因子及び水準の組合せは「A1」〜「A8」の組合せの8通りになる。従って、検証作業者は、「A1」〜「A8」の8通りの組合せから作成された8つの入力データについてソースコード21の論理検証を行うことになる。しかし、図5に示すような「L4」と呼ばれる直交表31を用いることで、因子及び水準の組合せは「B1」〜「B4」の組合せの4通りに絞り込むことができる。
この場合、直交表31では、因子A,B,Cのうち任意の2因子間の水準(0,1)の組合せを全て示している。従って、検証作業者は、「B1」〜「B4」の組み合わせから作成された4つの入力データについてソースコード21の論理検証を行うだけで、因子及び水準の全ての組合せから作成された8つの入力データについてソースコード21の論理検証を行う場合と同様な効果を得ることができる。
テストケースファイル24は、図6に示すように、直交表23に基づいて作成された入力データと、入力データに対する出力期待値を含んだテストケースTa1〜Taj,……,Tn1〜Tnjが記憶されている。
テストケースTa1〜Taj,……,Tn1〜Tnjは、カテゴリC1〜Cnにそれぞれ分類されている。CPU12は、カテゴリC1、カテゴリC2、……、カテゴリCnの順番で、分類されたテストケースTa1〜Taj,……,Tn1〜Tnjをテストケースファイル24から読み出すようになっている。
さらに、テストケースTa1〜Taj,……,Tn1〜Tnjは、カテゴリC1〜Cn毎に、「1番」から「j番」の検証実行順位Pが設定されている。CPU12は、各カテゴリC1〜Cnにおいて、検証実行順位Pの「1番」から「j番」の順番でテストケースファイル24から対応するテストケースTa1〜Taj,……,Tn1〜Tnjを読み出すようになっている。
つまり、CPU12は、カテゴリC1に分類されているテストケースTa1〜Tajを検証実行順位Pが「1番」のテストケースTa1、検証実行順位Pが「2番」のテストケースTa2、……、検証実行順位Pが「n番」のテストケースTajの順番で読み出す。次に、CPU12は、カテゴリC2に分類されているテストケースTb1〜Tbjを検証実行順位Pが「1番」のテストケースTb1、検証実行順位Pが「2番」のテストケースTb2、……、検証実行順位Pが「n番」のテストケースTbjの順番で読み出す。
そして、カテゴリC3〜Cnに分類されているテストケースTc1〜Tcj、……、テストケースTn1〜Tnjについて、CPU12が、カテゴリC1,C2に続いて、テストケースTc1、……、Tcj、……、テストケースTn1、……、Tnjの順番に読み出すようになっている。
カテゴリ重み付けテーブル25は、テストケースファイル24に記憶されているどのカテゴリC1〜CnのテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うかを判定するためのテーブルである。
カテゴリ重み付けテーブル25は、図7に示すように、各カテゴリC1〜Cnに対して、統計重み付け比率RS1〜RSn、基準重み付け比率RK1〜RKn、上限値U1〜Un、及び、下限値LO1〜LOnが設定されている。なお、重み付け比率は、その値が高いほどソースコード21の論理検証を行って「不良」と判定される可能性が高く、その値が低いほどソースコード21の論理検証を行って「不良」と判定される可能性が低くなっている。
統計重み付け比率RS1〜RSnは、各カテゴリC1〜Cnにおいて、CPU12がソースコード21の論理検証を行って「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjの数と、CPU12がソースコード21の論理検証を行ったテストケースTa1〜Taj,……,Tn1〜Tnjの数との比率をいう。
つまり、統計重み付け比率RS1〜RSnは、CPU12が対応するカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行って「不良」と判定する可能性を示している。なお、分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行っていないカテゴリは、対応する統計重み付け比率RS1〜RSnを算出することができないため、統計重み付け比率RS1〜RSnを設定されていない。
また、基準重み付け比率RK1〜RKnは、CPU12が対応するカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行って「不良」と判定する比率を検証作業者が予め予測したものをいう。
因みに、基準重み付け比率RK1〜RKnは、基準重み付け比率RK1、基準重み付け比率RK2、・・・・・・、基準重み付け比率RKnの順でその比率が高くなっている。言い換えると、検証作業者は、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うと、基準重み付け比率RK1に対応するカテゴリC1、基準重み付け比率RK2に対応するカテゴリC2、……、基準重み付け比率RKnに対応するカテゴリCnの順で、分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについて「不良」と判定される可能性が高いと予測している。
CPU12は、各カテゴリC1〜Cnにおいて、統計重み付け比率RS1〜RSn又は基準重み付け比率RK1〜RKnのいずれかをカテゴリ重み付け比率として選択する。
詳述すると、各カテゴリC1〜Cnにおいて、統計重み付け比率RS1〜RSnが上限値U1〜Un(<基準重み付け比率RS1〜RSn)より低い場合、CPU12は、統計重み付け比率RS1〜RSnをカテゴリ重み付け比率として選択する。また、各カテゴリC1〜Cnにおいて、統計重み付け比率RS1〜RSnが上限値U1〜Un(<基準重み付け比率RS1〜RSn)以上、且つ、下限値LO1〜LOn(>基準重み付け比率RS1〜RSn)以下の場合、CPU12は、基準重み付け比率RS1〜RSnをカテゴリ重み付け比率として選択する。さらに、各カテゴリC1〜Cnにおいて、統計重み付け比率RS1〜RSnが下限値LO1〜LOn(>基準重み付け比率RS1〜RSn)より高い場合、CPU12は、統計重み付け比率RS1〜RSnをカテゴリ重み付け比率として選択する。
すなわち、CPU12は、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果、予測した基準重み付け比率RS1〜RSn付近(上限値U1〜Unから下限値LO1〜LOn)に統計重み付け比率RS1〜RSnが入っていれば、基準重み付け比率RS1〜RSnをカテゴリ重み付け比率として選択する。一方、CPU12は、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果、予測した基準重み付け比率RS1〜RSn付近(上限値U1〜Unから下限値LO1〜LOn)に統計重み付け比率RS1〜RSnが入っていないと、統計重み付け比率RS1〜RSnをカテゴリ重み付け比率としてそれぞれ選択する。
従って、CPU12は、テストケースファイル24からソースコード21の論理検証を行って「不良」と判定される可能性が高いカテゴリC1〜Cnの順番で、分類されたテストケースTa1〜Taj,……,Tn1〜Tnjを読み出すようになっている。
そして、CPU12は、入力装置16による指示に応答して、記憶装置14に格納されている。CPU12は、プログラムデータ、ファイルのデータをメモリ13へ転送し、それを実行する。
ドライブ装置17は、記録媒体19を駆動し、その記憶内容にアクセスする。CPU12は、ドライブ装置17を介して記録媒体19からプログラムデータを読み出し、それを記憶装置14に格納する。
記録媒体19としては、磁気テープ(MT)、メモリカード、フレキシブルディスク、光ディスク(CD−ROM、DVD−ROM、…)、光磁気ディスク(MO、MD、…)等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体19に、上述のプログラムデータを格納しておき、必要に応じて、メモリ13にロードして使用することもできる。
尚、記録媒体19には、通信媒体を介してアップロード又はダウンロードされたプログラムデータを記録した媒体、ディスク装置を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、一旦他の記録媒体(ハードディスク等)にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。
次に、上記の検証装置11を用いて、仕様書20に基づいてVerilog−HDLやVHDLなどのハードウェア記述言語で記述されたソースコード21の論理検証を行う処理について図2に従って説明する。
まず、検証作業者は、入力装置16を操作し、仕様書20から図3に示す要因分析表22を作成する(ステップS1)。すなわち、検証作業者は、仕様書20から、ソースコード21の論理検証を行いたい集積回路の動作において影響を及ぼすパラメータと、そのパラメータにどのような値があるかを抽出している。また、検証作業者は、抽出した水準L1〜Lnを最大値、最小値、同値クラス、境界値などの定量情報でカテゴリC1〜Cnに分類する。次に、検証作業者は、抽出した水準L1〜LnがどのカテゴリC1〜Cnに分類されるかを要因分析表22に記述する。そして、検証作業者は、作成した要因分析表22を記憶装置14に格納する。
そして、検証作業者は、入力装置16を操作し、ステップS1において作成して記憶装置14に格納した要因分析表22に基づいて直交表23を作成する(ステップS2)。
つまり、要因分析表22の因子F1〜Fn及び水準L1〜Lnの全ての組合せについて入力データを作成すると莫大な数になってしまう。このため、作成した莫大な数の入力データについてソースコード21の論理検証を行うと、ソースコード21の論理検証の検証時間は増大してしまう。そこで、直交表23を用いて因子F1〜Fn及び水準L1〜Lnの組合せを絞り込み、ソースコード21の論理検証を行う入力データの数を削減している。そして、検証作業者は、作成した直交表23を記憶装置14に格納する。
次に、検証作業者は、入力装置16を操作し、ステップS2において生成した直交表23に基づいて、テストケースを生成する(ステップS3)。すなわち、まず、検証作業者は、入力装置16を操作し、記憶装置14から直交表23を読み出す。次に、検証作業者は、直交表23の因子及び水準の組合せから入力データを作成するとともに、入力データに対する出力期待値を算出する。続いて、検証作業者は、入力データと、入力データに対する出力期待値を含んだテストケースを作成する。
さらに、検証作業者は、作成したテストケースを、対応する入力データに含まれる水準が分類されているカテゴリC1〜Cnに分類する。具体的には、検証作業者は、カテゴリC1にテストケースTa1〜Tajを分類し、カテゴリC2にテストケースTb1〜Tbjを分類し、・・・・・・、カテゴリCnにテストケースTn1〜Tnjを分類する。
次に、検証作業者は、カテゴリC1〜Cn毎に分類されたテストケースTa1〜Taj,Tb1〜Tbj,……,Tn1〜Tnjを、図6に示すような順番でテストケースファイル24に格納する。
そして、CPU12は、図7に示すカテゴリ重み付けテーブル25に基づいて、ステップS3においてテストケースファイル24に格納されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うカテゴリ(検証実行カテゴリ)を設定する(ステップS4、カテゴリ選択工程)。
この時点では、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行っていないため、統計重み付け比率RS1〜RSnが設定されていない。これにより、CPU12は、各カテゴリC1〜Cnにおいて、基準重み付け比率RS1〜RSnをカテゴリ重み付け比率としてそれぞれ選択する。
因みに、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行っている場合、CPU12は、検証実行カテゴリとなったカテゴリC1〜Cnでは、基準重み付け比率RS1〜RSn又は統計重み付け比率RS1〜RSnのいずれかをカテゴリ重み付け比率として選択している。
続いて、CPU12は、カテゴリ重み付けテーブル25においてカテゴリ重み付け比率の最も高いカテゴリC1〜Cnを検証実行カテゴリとして設定する。すなわち、CPU12は、分類されているテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行って「不良」と判定する可能性が最も高いカテゴリC1〜Cnを検証実行カテゴリとして設定している。
次に、CPU12は、検証実行カテゴリとなったカテゴリC1〜Cnに分類されたテストケースファイル24のテストケースTa1〜Taj,……,Tn1〜Tnjを検証実行順位Pの高い順番で読み出す。
この時点では、CPU12は、カテゴリ重み付けテーブル25においてカテゴリ重み付け比率の最も高いカテゴリC1を検証実行カテゴリとして設定する。次に、CPU12は、検証実行カテゴリとなったカテゴリC1に分類されたテストケースファイル24のテストケースTa1〜Tajを検証実行順位Pの高い順番で読み出す。
そして、CPU12は、読み出した検証実行カテゴリのカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnj(この場合、カテゴリC1に分類されたテストケースTa1〜Taj)についてソースコード21の論理検証を行う(ステップS5、ソフトウェアテスト工程)。
従って、CPU12は、ソースコード21の論理検証を行って「不良」と判定される可能性が最も高いテストケースTa1〜Taj,……,Tn1〜Tnjから先にソースコード21の論理検証を行うことで、少ない検証回数で「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjを検出している。
この結果、CPU12は、「良」と判定される可能性が高いテストケースTa1〜Taj,……,Tn1〜Tnjについてのソースコード21の論理検証が後回しになり、そのテストケースTa1〜Taj,……,Tn1〜Tnjについて仕様書20の通りに正しく記述されていないソースコード21の論理検証を行う必要がなくなる。これに伴い、CPU12は、仕様書20の通りに正しく記述されていないソースコード21の論理検証の検証回数を削減することができる。
そして、CPU12は、検証実行カテゴリのカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うと、その検証結果をカテゴリ重み付けテーブル25に反映する(ステップS6、テーブル変更工程)。
すなわち、CPU12は、検証実行カテゴリのカテゴリC1〜Cnに分類されるテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果を、その検証実行カテゴリのカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnに反映する。
具体的には、CPU12は、検証実行カテゴリのカテゴリC1〜Cnに分類されるテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjがないとき、検証実行カテゴリのカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnを「0%」にする。
一方、CPU12は、検証実行カテゴリのカテゴリC1〜Cnに分類されるテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjがあるとき、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjの数に応じて、検証実行カテゴリのカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnを増減する。
詳しくは、上記のように、統計重み付け比率RS1〜RSnは、各カテゴリC1〜Cnにおいて、CPU12がソースコード21の論理検証を行って「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjの数と、CPU12がソースコード21の論理検証を行ったテストケースTa1〜Taj,……,Tn1〜Tnjの数との比率である。
このため、CPU12は、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjが多いほど、検証実行カテゴリのカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnを高くする。反対に、CPU12は、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjが少ないほど、検証実行カテゴリのカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnを低くする。
この時点では、CPU12は、検証実行カテゴリであるカテゴリC1に分類されるテストケースTa1〜Tajについてソースコード21の論理検証を行った結果を、カテゴリC1に対する統計重み付け比率RS1に反映している。
そして、CPU12は、ステップS5において検証実行カテゴリのカテゴリC1〜Cnに分類されるテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjがあるかどうかを検出する(ステップS7)。
そして、CPU12が「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjを検出する場合(ステップS7でYES)、検証作業者は、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjから不良原因を判断する。次に、検証作業者は、その不良原因がソースコード21に記述された論理が仕様書20の通りに記述されていなかったこと(論理障害)によるものか否かを判断する(ステップS8)。なお、論理障害以外の不良原因としては、テストケースTa1〜Taj,……,Tn1〜Tnjの入力データ及び出力期待値の内容に間違いがある場合、又は、仕様書20の内容に間違いがある場合がある。
すなわち、検証作業者は、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjに基づいて、不良原因がソースコード21の記述間違いによるものか、又は、テストケースTa1〜Taj,……,Tn1〜Tnjの内容及び仕様書20の内容の間違いによるものかを判断している。言い換えると、検証作業者は、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjに基づいて、仕様書20、ソースコード21、又は、テストケースTa1〜Taj,……,Tn1〜Tnjのうち、どの記述又は内容を修正するかを判断している。
そして、不良原因が論理障害によるものと判断すると(ステップS8でYES)、検証作業者は、入力装置16を操作し、記憶装置14からソースコード21を読み出してソースコード21の記述に間違いがある箇所を修正する(ステップS9)。
続いて、修正したソースコード21を記憶装置14に格納すると、CPU12は、ステップS4に戻り、再度、カテゴリ重み付けテーブル25に基づいてカテゴリ重み付け比率が最も高い検証実行カテゴリとしてのカテゴリC1〜Cnを設定する。
この時点では、CPU12は、カテゴリ重み付けテーブル25のカテゴリC1に対する統計重み付け比率RS1に、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証が行われた結果を反映している。CPU12は、カテゴリC1において、統計重み付け比率RS1と基準重み付け比率RK1を比較し、その比較結果に応じて統計重み付け比率RS1又は基準重み付け比率RK1のいずれかをカテゴリ重み付け比率として選択する。
CPU12は、統計重み付け比率RS1が基準重み付け比率RK1の上限値U1以上、又は、統計重み付け比率RS1が基準重み付け比率RK1の下限値LO1〜LOn以下のとき、基準重み付け比率RK1をカテゴリ重み付け比率として選択する。この場合、CPU12は、カテゴリC1において基準重み付け比率RK1を選択したため、カテゴリC1〜Cnのカテゴリ重み付け比率に変更ない。
つまり、CPU12は、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果、統計重み付け比率RS1が基準重み付け比率RK1の上限値U1から下限値LO1の範囲に入って検証作業者の予測通りになったため、基準重み付け比率RK1としてのカテゴリC1のカテゴリ重み付け比率を変更しない。この場合、CPU12は、検証実行カテゴリに変更がないため、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を再度行う(ステップS5)。
一方、統計重み付け比率RS1が基準重み付け比率RK1の上限値U1より低い、又は、統計重み付け比率RS1が基準重み付け比率RK1の下限値LO1より高い場合、CPU12は、統計重み付け比率RS1をカテゴリ重み付け比率として選択する。
すなわち、CPU12は、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果、統計重み付け比率RS1が予測した基準重み付け比率RK1の上限値U1から下限値LO1以内に入らなかったため、統計重み付け比率RS1をカテゴリ重み付け比率として選択する。
これにより、カテゴリC1のカテゴリ重み付け比率がカテゴリC2のカテゴリ重み付け比率より高い場合、カテゴリC1のカテゴリ重み付け比率が最も高いため、カテゴリC1を検証実行カテゴリとして再度設定する。この場合、CPU12は、検証実行カテゴリに変更がないため、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を再度行う(ステップS5)。
換言すると、CPU12は、検証実行カテゴリのカテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果、カテゴリC1のカテゴリ重み付け比率が高くなっても、カテゴリC1のカテゴリ重み付け比率が最も高いため、カテゴリC1としての検証実行カテゴリを維持している。
反対に、カテゴリC1のカテゴリ重み付け比率がカテゴリC2のカテゴリ重み付け比率より低い場合、カテゴリC2のカテゴリ重み付け比率が最も高くなるため、CPU12は、カテゴリC2を検証実行カテゴリとして設定する。この場合、CPU12は、検証実行カテゴリのカテゴリC2に分類されたテストケースTb1〜Tbjについてソースコード21の論理検証を行う(ステップS5)。
すなわち、検証実行カテゴリのカテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果、カテゴリC1のカテゴリ重み付け比率が2番目に高かったカテゴリC2のカテゴリ重み付け比率より低くなって、CPU12は、検証実行カテゴリをカテゴリC1からカテゴリC2に変更している。
「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjに基づいて不良原因が論理障害によるものではないと判断すると(ステップS8でNO)、検証作業者は、ステップS1に戻って、入力装置16を操作し、不良原因を踏まえて仕様書20又は要因分析表22を再度作成する。
つまり、検証作業者は、仕様書20又は要因分析表22の内容に間違いがあったため、仕様書20又は要因分析表22を修正する。検証作業者は、仕様書20及び要因分析表22に基づいて、直交表23及びテストケースTa1〜Taj,……,Tn1〜Tnjを再度作成し、新たに作成したテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うようになっている。
「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjを検出しない場合(ステップS7でNO)、CPU12は、テストケースファイル24に記憶されているテストケースTa1〜Taj,……,Tn1〜Tnjが全て「良」と判定されたかどうかを判断する(ステップS10)。そして、CPU12は、「良」と判定されていないテストケースがある場合(ステップS10でYES)、再度、カテゴリ重み付けテーブル25に基づいてカテゴリ重み付け比率が最も高い検証実行カテゴリのカテゴリC1〜Cnを設定する(ステップS4)。
この時点で、CPU12は、カテゴリ重み付けテーブル25のカテゴリC1に対する統計重み付け比率RS1に、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果を反映している。
この場合、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果、全てのテストケースTa1〜Tajについて「良」と判定されたため、CPU12は、カテゴリC1の統計重み付け比率RS1を「0%」にしている。これにより、CPU12は、カテゴリC1において、「0%」の統計重み付け比率RS1をカテゴリ重み付け比率として選択する。
従って、カテゴリC1のカテゴリ重み付け比率が、カテゴリC2のカテゴリ重み付け比率より低くなる。この結果、CPU12は、検証実行カテゴリをカテゴリC2に設定し(ステップS4)、カテゴリC2に分類されるテストケースTb1〜Tbjについてソースコード21の論理検証を行う(ステップS5)。
換言すると、CPU12は、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行って問題がなかったため、2番目にカテゴリ重み付け比率が高かったカテゴリC2に分類されるテストケースTb1〜Tbjについてソースコード21の論理検証を行うようにしている。
すなわち、CPU12は、ステップS4→ステップS5→ステップS6→ステップS7→ステップS10の順番で処理を繰り返し、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行っていく。その後、CPU12は、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjを検出するまで(ステップS7でYES)、最初の段階のカテゴリ重み付け比率が高いカテゴリC1〜Cnの順番で、そのカテゴリC1〜Cnに対応するテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うようになっている。
この場合、CPU12は、それまでにソースコード21の論理検証を行った検証結果を、ソースコード21の論理検証を行ったテストケースTa1〜Taj,……,Tn1〜Tnjが分類されたカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnに反映している(ステップS6)。
続いて、CPU12は、カテゴリ重み付けテーブル25のカテゴリC1〜Cnのカテゴリ重み付け比率が最も高いカテゴリC1〜Cnを検証実行カテゴリとして再度設定する(ステップS4)。つまり、CPU12は、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjが分類されているカテゴリC1〜Cn、又は、そのカテゴリC1〜Cnの次にカテゴリ重み付け比率が高かったカテゴリC1〜Cnのいずれかを検証実行カテゴリとして設定する。
その後、CPU12は、ステップS4→ステップS5→ステップS6→ステップS7→ステップS10の順番で処理を繰り返し、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行っていく。その後、CPU12は、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjを検出するまで、最初の段階のカテゴリ重み付け比率が高いカテゴリC1〜Cnの順番で、そのカテゴリC1〜Cnに対応するテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うようになっている。
そして、テストケースファイル24に記憶されているテストケースTa1〜Taj,……,Tn1〜Tnjが全て「良」と判定されると(ステップS10でNO)、CPU12は、仕様書20の通りにソースコード21が正しく記述されていると判断してソースコード21の論理検証を完了する。
図8に示す波形50,51は、一般的に「バグ曲線」と呼ばれ、ソースコード21の論理検証期間において、検出する仕様書20、ソースコード21、及び、要因分析表22の間違いを検出した累積検出件数を図示したものである。
ソースコード21の論理検証等のソフトウェアの検証では、バグ(本実施形態では、仕様書20、ソースコード21、及び、要因分析表22の間違い)は、検証の初期段階で多く検出され、その後、累積検出数が徐々に収束していく傾向がある。このようなバグ曲線では、ソフトウェアのテストを行ってバグの累積検出数がなだらかになる付近の目標累積検出数Dに到達すると、ソフトウェアの品質が安定していると判定することができる。
そこで、本実施形態では、ソースコード21の論理検証を行ってテストケースTa1〜Taj,……,Tn1〜Tnjについて全て「良」と判定されると、仕様書20、ソースコード21、及び、要因分析表22の間違いを検出した累積検出数が、目標累積検出数Dに到達するようになっている。
従来、テストケースTa1〜Taj,……,Tn1〜Tnjの順番を変更せずにソースコード21の論理検証を行うと、バグ曲線は図8に示す波形50のようになっていた。
本実施形態では、CPU12が検証カテゴリとなったカテゴリC1〜Cnに分類されるテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行う毎に、カテゴリ重み付けテーブル25のカテゴリC1〜Cnに対するカテゴリ重み付け比率に基づいて、カテゴリC1〜Cnの中から検証カテゴリを設定している。
これにより、CPU12は、その時々で、最も「不良」と判定される可能性が高いテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うことができるため、少ない検証回数で仕様書20、ソースコード21、及び、要因分析表22の間違いを検証することができる。
従って、従来よりも少ない検証回数でソースコード21の論理検証を完了することができるとともに、図8に示す波形51のように、従来に比べて早く目標累積検出数Dに到達し、ソースコード21の論理検証の検証時間を短縮することができる。
以上記述したように、本実施の形態によれば、以下の効果を奏する。
(1)テストケースTa1〜Taj,……,Tn1〜Tnjを分類したカテゴリC1〜Cnに対して、統計重み付け比率RS1〜RSn、基準重み付け比率RK1〜RKn、上限値U1〜Un、下限値LO1〜LOnが設定されたカテゴリ重み付けテーブル25を設けた。CPU12は、各カテゴリC1〜Cnにおいて、基準重み付け比率RK1〜RKnの上限値U1〜Unから下限値LO1〜LOnの範囲に統計重み付け比率RS1〜RSnが入っている否かに応じて、基準重み付け比率RK1〜RKn又は統計重み付け比率RS1〜RSnのいずれかをカテゴリ重み付け比率として設定するようにした。次に、CPU12は、カテゴリ重み付け比率の最も高いカテゴリ重み付け比率のカテゴリC1〜Cnを検証実行カテゴリとして設定した。続いて、CPU12は、検証実行カテゴリとなったカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うようにした。
従って、CPU12は、不良と判定される可能性が高いテストケースTa1〜Tnjについてソースコード21の論理検証を行うことができるため、少ない検証回数で不良と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjを検出することができる。これに伴い、ソースコード21の論理検証の検証時間を短縮することができる。
(2)さらに、CPU12は、ソースコード21の論理検証を行った結果を、カテゴリ重み付けテーブル25の統計重み付け比率に反映するようにした。
従って、CPU12は、検証実行カテゴリとなったカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行う毎に、その検証結果が反映されたカテゴリ重み付けテーブル25に基づいて検証実行カテゴリを設定することができる。この結果、CPU12は、さらに少ない検証回数で不良と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjを検出することができる。これに伴い、ソースコード21の論理検証の検証時間をさらに短縮することができる。
尚、上記実施の形態は、以下の態様で実施してもよい。
・本実施形態では、ハードウェア記述言語で記述された集積回路のソースコードの論理検証に具体化していたが、ソフトウェアであればそのテスト方法に違いはないため、具体化するソフトウェアは特に制限されない。
・本実施形態では、検証作業者は、水準L1〜Lnを最大値、最小値、同値クラス、境界値などの定量情報に基づいてカテゴリC1〜Cnに分類した。これに限らず、因子F1〜Fnを定性情報に基づいてカテゴリC1〜Cnに分類してもよい。
・本実施形態では、CPU12は、検証実行カテゴリを、カテゴリ重み付けテーブル25の統計重み付け比率RS1〜RSnが最も高いカテゴリC1〜Cnに設定していた。これに限らず、検証カテゴリを、カテゴリ重み付けテーブル25の統計重み付け比率RS1〜RSnが高い複数のカテゴリC1〜Cnに設定してもよい。
11 コンピュータ
20 設計仕様(仕様書)
21 ソフトウェア(ソースコード)
25 重み付けテーブル(カテゴリ重み付けテーブル)
C1〜Cn カテゴリ
LO1〜LOn 下限値
RK1〜RKn 基準重み付け比率
RS1〜RSn 統計重み付け比率
Ta1〜Taj,……,Tn1〜Tnj テストケース
U1〜Un 上限値

Claims (5)

  1. 設計仕様に含まれる各機能について、ソフトウェアが入力データを前記設計仕様の通りに処理するか否かを判定するための前記入力データと、該入力データに対する出力期待値とを有するテストケースを複数作成し、複数の前記テストケースの中から1つの前記テストケースを選択し、前記ソフトウェアにより選択した前記テストケースの入力データを処理して出力された出力データが選択した前記テストケースの出力期待値と等しいか否かを判定するソフトウェアのテスト方法であって、
    定量情報及び定性情報に基づいて前記テストケースを分類したカテゴリに対して、分類された前記テストケースが不良と判定される可能性を示す重み付け比率がそれぞれ設定された重み付けテーブルを有し、
    前記重み付けテーブルの各カテゴリに対する前記重み付け比率に基づいて、前記ソフトウェアのテストを行う前記カテゴリを選択するカテゴリ選択工程と、
    前記カテゴリ選択工程において選択された前記カテゴリに分類された前記テストケースについて前記ソフトウェアのテストを行うソフトウェアテスト工程と、
    前記ソフトウェアテスト工程においてソフトウェアのテストを行った結果に基づいて、前記ソフトウェアのテストを行った前記カテゴリに対する前記重み付けテーブルの重み付け比率を算出し、その算出結果に基づいて前記重み付けテーブルを変更するテーブル変更工程と、
    を有することを特徴とするソフトウェアのテスト方法。
  2. 請求項1に記載のソフトウェアのテスト方法において、
    前記カテゴリ選択工程は、
    前記重み付けテーブルの各カテゴリに対する前記重み付け比率のうち、最も高い前記重み付け比率のカテゴリを選択することを特徴とするソフトウェアのテスト方法。
  3. 請求項1又は2に記載のソフトウェアのテスト方法において、
    前記重み付けテーブルは、
    予め設定された基準重み付け比率と、その基準重み付け比率の上限値及び下限値と、前記ソフトウェアのテストを行った結果に基づいて算出される統計重み付け比率とを有し、
    前記カテゴリ選択工程は、
    前記統計重み付け比率が前記基準重み付け比率の上限値から下限値の範囲に入ると前記基準重み付け比率を前記重み付け比率として選択し、
    前記統計重み付け比率が前記基準重み付け比率の上限値から下限値の範囲に入らないと前記統計重み付け比率を前記重み付け比率として選択することを特徴とするソフトウェアのテスト方法。
  4. 請求項1〜3のいずれか1つに記載のソフトウェアのテスト方法において、
    前記ソフトウェアは、
    プログラミング言語又はハードウェア記述言語で記述されたソースコードであることを特徴とするソフトウェアのテスト方法。
  5. コンピュータが、入力データと、該入力データに対する出力期待値とを有する複数のテストケースの中から1つの前記テストケースを選択し、ソフトウェアにより選択した前記テストケースの入力データを処理して出力された出力データが選択した前記テストケースの出力期待値と等しいか否かを判定する処理が記述されたプログラムであって、
    定量情報及び定性情報に基づいて前記テストケースを分類したカテゴリに対して、分類された前記テストケースが不良と判定される可能性を示す重み付け比率がそれぞれ設定された重み付けテーブルを有し、
    前記重み付けテーブルの各カテゴリに対する前記重み付け比率に基づいて、前記ソフトウェアのテストを行う前記カテゴリを選択するカテゴリ選択工程と、
    前記カテゴリ選択工程において選択された前記カテゴリに分類された前記テストケースについて前記ソフトウェアのテストを行うソフトウェアテスト工程と、
    前記ソフトウェアテスト工程において前記ソフトウェアのテストを行った結果に基づいて、前記ソフトウェアのテストを行った前記カテゴリに対する前記重み付けテーブルの重み付け比率を算出し、その算出結果に基づいて前記重み付けテーブルを変更するテーブル変更工程と、
    を有することを特徴とするプログラム。
JP2009193500A 2009-08-24 2009-08-24 ソフトウェアのテスト方法及びプログラム Expired - Fee Related JP5444939B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009193500A JP5444939B2 (ja) 2009-08-24 2009-08-24 ソフトウェアのテスト方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009193500A JP5444939B2 (ja) 2009-08-24 2009-08-24 ソフトウェアのテスト方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011044111A true JP2011044111A (ja) 2011-03-03
JP5444939B2 JP5444939B2 (ja) 2014-03-19

Family

ID=43831480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009193500A Expired - Fee Related JP5444939B2 (ja) 2009-08-24 2009-08-24 ソフトウェアのテスト方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5444939B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014109966A (ja) * 2012-12-04 2014-06-12 Hitachi Ltd テストケース生成システムおよび方法
CN113127331A (zh) * 2019-12-31 2021-07-16 航天信息股份有限公司 一种基于故障注入的测试方法、装置及计算机设备
CN114265767A (zh) * 2021-12-09 2022-04-01 瀚云科技有限公司 测试用例复用方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6365542A (ja) * 1986-09-05 1988-03-24 Nec Corp デバツグ方式
JPH1139363A (ja) * 1997-07-18 1999-02-12 Fujitsu Ltd データ検証方式
JP2000112784A (ja) * 1998-09-30 2000-04-21 Hitachi Software Eng Co Ltd プログラムテスト支援装置及びプログラムテスト支援プログラムを記録した記録媒体
JP2003099283A (ja) * 2001-09-25 2003-04-04 Toshiba Corp ソフトウェアシステムのテスト優先度導出支援方法、テストケース設計支援方法、およびその支援プログラム
JP2005032098A (ja) * 2003-07-09 2005-02-03 Canon Inc 帳票作成方法、帳票作成プログラム、帳票作成装置
JP2005250937A (ja) * 2004-03-05 2005-09-15 Matsushita Electric Ind Co Ltd マイクロコンピュータソフトウェアのプログラム検証装置
JP2009181536A (ja) * 2008-02-01 2009-08-13 Dainippon Screen Mfg Co Ltd ソフトウェアの障害管理装置、テスト管理装置、ならびにそれらのプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6365542A (ja) * 1986-09-05 1988-03-24 Nec Corp デバツグ方式
JPH1139363A (ja) * 1997-07-18 1999-02-12 Fujitsu Ltd データ検証方式
JP2000112784A (ja) * 1998-09-30 2000-04-21 Hitachi Software Eng Co Ltd プログラムテスト支援装置及びプログラムテスト支援プログラムを記録した記録媒体
JP2003099283A (ja) * 2001-09-25 2003-04-04 Toshiba Corp ソフトウェアシステムのテスト優先度導出支援方法、テストケース設計支援方法、およびその支援プログラム
JP2005032098A (ja) * 2003-07-09 2005-02-03 Canon Inc 帳票作成方法、帳票作成プログラム、帳票作成装置
JP2005250937A (ja) * 2004-03-05 2005-09-15 Matsushita Electric Ind Co Ltd マイクロコンピュータソフトウェアのプログラム検証装置
JP2009181536A (ja) * 2008-02-01 2009-08-13 Dainippon Screen Mfg Co Ltd ソフトウェアの障害管理装置、テスト管理装置、ならびにそれらのプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014109966A (ja) * 2012-12-04 2014-06-12 Hitachi Ltd テストケース生成システムおよび方法
CN113127331A (zh) * 2019-12-31 2021-07-16 航天信息股份有限公司 一种基于故障注入的测试方法、装置及计算机设备
CN113127331B (zh) * 2019-12-31 2024-01-05 航天信息股份有限公司 一种基于故障注入的测试方法、装置及计算机设备
CN114265767A (zh) * 2021-12-09 2022-04-01 瀚云科技有限公司 测试用例复用方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP5444939B2 (ja) 2014-03-19

Similar Documents

Publication Publication Date Title
US8943423B2 (en) User interface indicators for changed user interface elements
US7093238B2 (en) Automated software testing and validation system
US20050204241A1 (en) Method and device for analyzing software error
US20110131551A1 (en) Graphical user interface input element identification
US20090204924A1 (en) Method, system and computer program product for failure analysis implementing automated comparison of multiple reference models
CN110674047B (zh) 软件测试方法、装置及电子设备
US20050229045A1 (en) Method and device for managing software error
US8560988B2 (en) Apparatus and method thereof for hybrid timing exception verification of an integrated circuit design
WO2013154448A1 (en) Method and system for automatically establishing a hierarchical parameterized cell (pcell) debugging environment
JP3822044B2 (ja) 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体
US8560991B1 (en) Automatic debugging using automatic input data mutation
JP5444939B2 (ja) ソフトウェアのテスト方法及びプログラム
US8806401B1 (en) System and methods for reasonable functional verification of an integrated circuit design
US8850407B2 (en) Test script generation
US8413102B2 (en) Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop
US8739091B1 (en) Techniques for segmenting of hardware trace and verification of individual trace segments
US8281277B2 (en) Signal selecting apparatus, circuit amending apparatus, circuit simulator, circuit emulator, method of signal selection and program
KR101510752B1 (ko) 반도체 프로세스 레시피들의 자동화된 검증을 위한 방법 및 장치
US8903700B2 (en) Concretization of abstracted traces
JP2015111326A (ja) 電力見積方法、電力見積装置及びプログラム
US20030025490A1 (en) Method for verifying hardware circuits through simulation
CN112631852B (zh) 宏检查方法、装置、电子设备和计算机可读存储介质
TWI750849B (zh) 測試待測裝置的應用程式的自動測試系統和方法
US8332204B2 (en) Instruction check program, instruction check apparatus, and I/O simulator
US7962796B2 (en) State testing device and methods thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131101

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: 20131126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131209

R150 Certificate of patent or registration of utility model

Ref document number: 5444939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees