JP2013218492A - ソフトウェアテスト自動評価装置および方法 - Google Patents

ソフトウェアテスト自動評価装置および方法 Download PDF

Info

Publication number
JP2013218492A
JP2013218492A JP2012087812A JP2012087812A JP2013218492A JP 2013218492 A JP2013218492 A JP 2013218492A JP 2012087812 A JP2012087812 A JP 2012087812A JP 2012087812 A JP2012087812 A JP 2012087812A JP 2013218492 A JP2013218492 A JP 2013218492A
Authority
JP
Japan
Prior art keywords
software
test
defect
information
test target
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
JP2012087812A
Other languages
English (en)
Inventor
Yasunori Hashimoto
康範 橋本
Ryota Sambe
良太 三部
Shuhei Nojiri
周平 野尻
Sadahiro Ishikawa
貞裕 石川
Kiyoshi Yamaguchi
潔 山口
Kentaro Yoshimura
健太郎 吉村
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012087812A priority Critical patent/JP2013218492A/ja
Priority to CN201310068200.6A priority patent/CN103365772B/zh
Publication of JP2013218492A publication Critical patent/JP2013218492A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】
ソフトウェアの振舞いや構造上の特徴・性質と、そのソフトウェアに対する妥当なテスト技術・テスト手段とを対応付けた情報である「テスト観点」に基づき、ソフトウェアテストを評価する。
【解決手段】
ソフトウェアの振舞いや構造上の特徴・性質と、そのソフトウェアに対する妥当なテスト技術・テスト手段とを対応付けた情報である「テスト観点」とに基づいて、ソフトウェアテストが当該テスト対象に対して妥当かどうかを判定する際に、予め設定された規則およびテスト対象ソフトウェアの特徴・性質を入力として、前記特徴・性質に対応する欠陥テンプレートを選択するとともに、テスト対象ソフトウェアの特徴情報によって補完することによって、前記ソフトウェアテストがテスト観点に則して設計されているか否かを判定する。
【選択図】図1

Description

本発明は、ソフトウェアテスト自動評価装置および自動評価方法に関する。
本技術分野の背景技術として、特開2006−146669号公報(特許文献1)がある。この公報には、「コンポーネントのソースコードが公開されていない場合にも、またコンポーネントにおける限定した関数のみを用いる場合にも、高い精度において、利用するコードのカバレッジの測定を行うことが可能なカバレッジ測定システム及びカバレッジ測定方法並びにそのプログラムを提供する。」と記載されている。
特開2006−146669号公報
特許文献1には、ソースコードのカバレッジを測定することによって、ソフトウェアテストが十分になされているかを検証するためのメカニズムについて記載されている。
しかし、ソースコードのカバレッジだけでは、ソフトウェアテストが十分になされていることは保証できない。例えば、ソースコード中に分岐処理があった場合に、分岐の両方のケースをテストしていることはカバレッジによって確かめることはできるが、分岐処理の分岐条件が正しいかを(境界値テストなどにより)テストしていることは、カバレッジによっては確かめることができない。
また、ソフトウェアテストが不十分であると判定された時、ソースコードのカバレッジの数値だけでは、どのようなテストが欠けているかを把握することができない。ソフトウェア開発においては、開発フェーズやテスト対象ソフトウェアの特性、また、欠陥のリスクなどの条件により、一部のテストを省略する可能性がある。ソフトウェアテストを評価するためには、どのようなテストが欠けているかを把握し、意図したテスト内容と比較することができなくてはならない。
さらに、特許文献1では、コンポーネントによるソフトウェアの組合せ開発をする際に、開発対象のコンポーネントだけでなく、開発対象のコンポーネントが利用するコンポーネントについても、ソースコードのカバレッジを計測することにより、テストの信頼性を計測している。しかしながら、コンポーネントによる開発においては、利用先のコンポーネントの詳細まで踏み込んだ分析はするべきでなく、外部仕様との齟齬の確認に留めるべきである。でなければ、コンポーネント単位での開発の分業の境界が崩れてしまい、コンポーネント化の恩恵を享受することができなくなってしまう。
そこで、本発明は、ソフトウェアの振舞いや構造上の特徴・性質と、そのソフトウェアに対する妥当なテスト技術・テスト手段とを対応付けた情報である「テスト観点」に基づき、ソフトウェアテストが不足しているか否かを判定して利用者に通知することに加え、不足している場合には、どのようなテストの追加が必要かの情報を利用者に通知することを目的とする。
上記目的を達成するために、以下の構成を採用する。
ソフトウェアの振舞いや構造上の特徴・性質と、そのソフトウェアに対する妥当なテスト技術・テスト手段とを対応付けた情報である「テスト観点」とに基づいて、あるテスト対象のために作成されたソフトウェアテストが当該テスト対象に対して妥当かどうかを判定するソフトウェアテスト自動評価装置であって、予め設定された規則およびテスト対象ソフトウェアの特徴・性質を入力として、前記特徴・性質に対応する欠陥テンプレートを選択するとともに、テスト対象ソフトウェアの特徴情報用いて補完することによって、前記ソフトウェアテストがあるテスト観点に則して設計されているか否かを判定して「ソフトウェア欠陥」を生成する欠陥生成手段を有することを特徴とする。
本発明によれば、あるソフトウェアの品質を検証するためのソフトウェアテストの妥当性を、テスト観点と対応付けて評価することにより、本発明の利用者に対し、どのようなテストが不足しているかの情報を提供することができるため、本発明の利用者がテストを修正する作業を支援することができる。さらに本発明によれば、ソフトウェアテストおよびテスト対象ソフトウェアを直接変更することなく検証できるため、利用者に追加作業の負担をかけない。
ソフトウェアテスト自動評価装置の構成図の例である。 ソフトウェアテスト自動評価装置の処理を説明するフローチャートの例である。 テスト対象コードの例である。 テストコードの例である。 テスト対象コード特徴情報の例である。 処理特性特定規則の例である。 テスト対象コードから特徴情報を抽出する処理の前半を説明するイメージ図の例である。 テスト対象コードから特徴情報を抽出する処理の後半を説明するイメージ図の例である。 ソフトウェア欠陥の例である。 欠陥基礎情報の例である。 テスト対象コード特徴情報からソフトウェア欠陥を生成する処理の前半を説明するイメージ図の例である。 テスト対象コード特徴情報からソフトウェア欠陥を生成する処理の後半を説明するイメージ図の例である。 テスト対象コードにソフトウェア欠陥を混入する処理を説明するイメージ図の例である。 欠陥を混入したテスト対象コードを利用してテストを実行する処理を説明するイメージ図の例である。 テスト実行結果を判定する処理を説明するイメージ図の例である。 テスト実行結果を判定する処理を説明するイメージ図の例である。 テスト評価結果の例である。 ソフトウェア欠陥からテスト評価結果を作成する処理を説明するイメージ図の例である。 ソフトウェアテスト自動評価装置の構成図の例である。 ソフトウェアテスト自動評価装置の処理を説明するフローチャートの例である。 テスト対象設計情報の例である。 処理特性特定規則の例である。 テスト対象設計情報を保管する処理を説明するイメージ図の例である。 ソフトウェアテスト自動評価装置の構成図の例である。 ソフトウェアテスト自動評価装置の処理を説明するフローチャートの例である。 テスト対象仕様情報の例である。 欠陥基礎情報の例である。 テスト対象仕様情報からソフトウェア欠陥を生成する処理の前半を説明するイメージ図の例である。 テスト対象仕様情報からソフトウェア欠陥を生成する処理の後半を説明するイメージ図の例である。
以下、実施例を図面を用いて説明する。
本実施例では、ソフトウェアテスト自動評価装置の例を説明する。
図1は、本実施例のソフトウェアテスト自動評価装置の構成図の例である。
ソフトウェアテスト自動評価装置100は、CPU101、メモリ102、入力装置103、出力装置104、外部記憶装置105を有する処理装置である。外部記憶装置105は、テスト対象コード記憶部106とテスト対象コード特徴情報記憶部107、欠陥情報記憶部108、欠陥混入済コード記憶部109、テストコード記憶部110、テスト評価結果記憶部111、欠陥生成規則記憶部118を保持しており、さらに処理プログラム112を保持する。欠陥規則記憶部118は、処理特性特定規則記憶部119、欠陥基礎情報記憶部120を保持する。処理プログラム112は、特徴情報抽出部113、欠陥生成部114、欠陥混入部115、テスト実行部116、テスト実行結果評価部117を保持する。
処理プログラム112は実行時にメモリ102に読み込まれ、CPU101によって実行されるものとする。
処理特性特定規則記憶部119、欠陥基礎情報記憶部120には、それぞれ予め処理特性特定規則、欠陥基礎情報を入力しておく。処理特性特定規則、欠陥基礎情報の詳細については、後述する。
入力装置103を介して外部から入力されたテスト対象コードおよびテストコードは、それぞれテスト対象コード記憶部106、テストコード記憶部110に書き込む。特徴情報抽出部113は、処理特性特定規則記憶部119から読み出した処理特性特定規則を参照しながら、テスト対象コード記憶部106から読み出したテスト対象コードに対応するテスト対象コード特徴情報を抽出し、テスト対象コード特徴情報記憶部107に書き込む。欠陥生成部114は、欠陥基礎情報記憶部120から読み出した欠陥基礎情報を参照しながら、テスト対象コード特徴情報記憶部からテスト対象コード特徴情報を読み出し、対応する欠陥情報を生成して欠陥情報記憶部108に書き込む。欠陥混入部115は、テスト対象コード記憶部106からテスト対象コードを読み出し、欠陥情報記憶部108から読み出した欠陥情報によって変更を加えた後、欠陥混入済コード記憶部109に書き込む。テスト実行部116は、欠陥混入済コード記憶部109から読み込んだ欠陥混入済テスト対象プログラムコードと、テストコード記憶部110から読み込んだテストプログラムコードとを合わせて実行し、実行結果にしたがって欠陥情報記憶部108が保持する欠陥情報を補完する。テスト実行結果評価部117は、欠陥情報記憶部108から欠陥情報を読み出し、集計してテスト評価結果記憶部111に書き込む。
図2は、本実施例のソフトウェアテスト自動評価装置の処理を説明するフローチャートの例である。以降、図2のフローチャートに基づいて、図1の各部の動作を説明する。なお、テスト対象プログラムおよびテストプログラムの例は、Java(登録商標)のプログラムとして記述している。
(ステップ200:テストコード及びテスト対象コードの入力)
ステップ200は、ソフトウェアテスト自動評価装置に対する入力情報として、テストプログラムおよびテスト対象プログラムを、それぞれ入力するステップである。入力操作は、装置の利用者が実施する。ステップ200では、入力装置103から入力されたテストプログラムを、テストコード記憶部110に書き込む。また、入力装置103から入力されたテスト対象プログラムを、テスト対象コード記憶部106に書き込む。
ここで、テストプログラムおよびテスト対象プログラムは、実行可能なソフトウェアとして記述されているものである。テスト対象プログラムは即ち開発対象のソフトウェアであり、テストプログラムはテスト対象プログラムの品質を検証するためのプログラムである。簡単のため、本発明を利用する前段階において、テスト対象プログラムをテストプログラムによって検証した場合、違反が発見できない状態であるものとする。バグが検出されない、または、違反を発見するようなテストケースを取り除いた上で本発明を利用するものとする。テスト対象プログラムおよびテストプログラムの具体例を、それぞれ図3および図4に示す。
図3は、テスト対象コード記憶部106に格納されている、本実施例のテスト対象コードの例である。テスト対象コードは、Javaファイル300やJSPファイル302などのようにファイル単位で保持されている。ファイル内にはプログラムコードが記載されており、これにはプログラム片301のようなテスト対象メソッドの定義を含む。
図4は、テストコード記憶部110に格納されている、本実施例のテストコード400の例である。テストコードには、テスト対象コード300と同様、実行可能なプログラムがファイル形式で保持されている。
以下のステップ201から205までは、入力情報をもとにした機械的な処理であり、人手を介することなくソフトウェアテスト自動評価装置のみで実施できる処理である。
(ステップ201:テスト対象の特徴情報の抽出)
ステップ201では、特徴情報抽出部113が、処理特性特定規則記憶部119から読み出した処理特性特定規則を参照しながら、テスト対象コード記憶部106から読み出したテスト対象コードに対応するテスト対象コード特徴情報を抽出する。抽出したテスト対象コード特徴情報は、テスト対象コード特徴情報記憶部107に書き込む。
ここで、テスト対象コード特徴情報とは、あるテスト対象のモジュールを特定するための情報と、当該モジュールの果たす役割の特徴の情報を含む、テスト対象プログラムの特徴を示す情報である。また、処理特性特定規則とは、プログラム解析の結果と、テスト対象プログラムをテストするときの観点に関連付けられた特徴とを対応付ける情報である。テスト対象コード特徴情報の具体例を図5に、処理特性特定規則の具体例を図6に、それぞれ示す。
図5は、テスト対象コード特徴情報記憶部107に格納された、本実施例のテスト対象コード特徴情報の例である。テスト対象コード特徴情報500は、テスト対象のメソッドを特定するための情報である対象モジュール参照情報501と、処理特性情報506を保持する。対象モジュール参照情報501は、クラス名502、メソッド名503、入力パラメータ504、出力パラメータ505から成る。また、ひとつのテスト対象コード特徴情報500内には、処理特性情報506を複数保持することができる。
図6は、処理特性特定規則記憶部119に格納された、本実施例の処理特性特定規則の例である。処理特性特定規則は、あるテスト観点に関連付けられた処理特性600と、プログラム上の特徴を示す情報であるプログラム解析結果601の組との対応関係602の集合によって構成される。ひとつの対応関係602に含まれるプログラム解析結果601の組は、ある論理関係を示すものである。ここでは、あるプログラムが処理特性600を持つことの根拠となる情報を、プログラム解析結果601として保持している。プログラム解析結果601に入る値は、プログラムの静的解析によって得られる特徴となる。具体的には、データ型やメソッドの呼び出し関係、データ依存関係などが含まれる。
図7は、本実施例のテスト対象コードから特徴情報を抽出する処理201の前半の構文解析を説明するイメージ図の例である。まず、テスト対象コード記憶部106に含まれるテスト対象プログラム300をひとつ選択し、構文解析を実施する。構文解析によって得られたメソッド毎にひとつ、テスト対象コード特徴情報500を作成し、テスト対象コード特徴情報記憶部107に追加する。追加する際には、構文解析によって得られたクラス名502、メソッド名503、入力パラメータ504、および出力パラメータ505の情報を記述する。テスト対象コード記憶部106に含まれるすべてのテスト対象プログラム300について前述の処理を実施することにより、ステップ201の前半を完了する。ステップ201の前半が完了した時点では、処理特性情報506は空欄のままである。
図8は、本実施例のテスト対象コードから特徴情報を抽出する処理201の後半の特徴情報追加を説明するイメージ図の例である。まず、テスト対象コード特徴情報記憶部107が保持するテスト対象コード特徴情報800をひとつ選択する。選択したテスト対象コード特徴情報800に該当するプログラム片801を、対象モジュール参照情報501を手がかりに探し出し、メソッドのインタフェースや処理内容、および、他のモジュールとの利用関係を静的解析によって取得する。取得した内容にプログラム解析結果501が対応しているテスト対象コード特徴情報802を、処理特性特定規則記憶部119から探し出し、見つかった情報すべてを、選択中のテスト対象コード特徴情報800の処理特性情報506に書き加える。テスト対象コード特徴情報記憶部107が保持するすべてのテスト対象コード特徴情報について前述の処理を実施することにより、ステップ201の後半を完了する。
(ステップ202:欠陥コードの生成)
ステップ202では、欠陥生成部114が、欠陥基礎情報記憶部120から読み出した欠陥基礎情報を参照しながら、テスト対象コード特徴情報記憶部からテスト対象コード特徴情報を読み出す。さらに、読み出したテスト対象コード特徴情報から対応する欠陥情報を生成して欠陥情報記憶部108に書き込む。
ここで欠陥情報とは、あるテスト観点に基づくプログラムの欠陥と、その欠陥を反映すべきテスト対象モジュールの情報を含む情報である。また、欠陥基礎情報は、テスト対象モジュールの処理特性と、当該テスト対象モジュールに反映すべきプログラム欠陥の基礎情報を対応付けたものである。欠陥情報の具体例を図9に、欠陥基礎情報の具体例を図10に、それぞれ示す。
図9は、欠陥情報記憶部108に格納された、本実施例の欠陥情報の例である。欠陥情報900は、当該欠陥情報が対応するテスト対象モジュールを特定するための情報として、クラス名901、メソッド名902、入力パラメータの型903の情報を持つ。また、当該欠陥情報が対応するテスト観点を示す情報である欠陥種別904、および、同じテスト対象モジュールおよび欠陥種別をもつ欠陥情報を区別するための情報である欠陥ナンバー905を持つ。さらに、当該欠陥をプログラムコードとして表現したプログラム片906と、当該欠陥を適用してテストをした結果を記録するための判定情報909を保持する。プログラム片906は、欠陥を挿入する先のモジュールを示す情報である欠陥挿入先情報907と、実際に挿入する振舞いを示す情報である挿入コード908によって構成される。挿入コード908は、プログラム実行時に特定の条件が成り立っている場合にエラーを生じるような振舞いとして表現する。
図10は、本実施例の欠陥基礎情報の例である。欠陥基礎情報1000は、対応するテスト観点を示す情報である欠陥種別1001、欠陥種別に対応する条件となる処理特性情報の組1002、および、欠陥雛形集1003によって構成される。欠陥雛形集1003は、欠陥雛形情報1004の集合によって構成される。欠陥雛形集1003には欠陥雛形情報1004のそれぞれのポインタ(格納領域のアドレス)が格納される。欠陥雛形情報1004は、単一の欠陥雛形集における当該欠陥雛形情報の識別情報である欠陥ナンバー1005、および、欠陥をプログラム片として表現する場合の雛形となるプログラム片雛形1006によって構成される。プログラム片雛形1006のうち一部は、代替文字列1007が記述されているため、プログラムとしての体裁になっていない。
図11は、本実施例のテスト対象コード特徴情報からソフトウェア欠陥を生成する処理202の前半のソフトウェア欠陥の選択を説明するイメージ図の例である。欠陥生成部114は、テスト対象コード特徴情報記憶部107からテスト対象コード特徴情報1100をひとつ選択する。さらに、欠陥基礎情報記憶部120が保持する欠陥基礎情報1101をひとつ選択する。選択したテスト対象コード特徴情報1100の処理特性506が、選択した欠陥基礎情報1101が保持する処理特性1002の条件を満たしているかを判定する。条件を満たしている場合、選択した欠陥基礎情報1101の欠陥雛形集1003が保持するすべての欠陥雛形情報1004に対してそれぞれ一つ、欠陥情報900を作成する。この際、クラス名901、メソッド名902、引数の型情報903はそれぞれ、選択中のテスト対象コード特徴情報が保持するクラス名502、メソッド名503、入力パラメータ504を参照することによって取得する。また、欠陥種別904は、選択中の欠陥基礎情報1101が保持する欠陥種別1001を参照することによって取得する。さらに、欠陥ナンバー905およびプログラム片906を、対応する欠陥基礎情報のそれぞれ欠陥ナンバー1005およびプログラム片雛形1006を複製することによって取得する。この段階では、プログラム片906は代替文字列を含んでいる。また、判定情報909は空欄となっている。
図12は、本実施例のテスト対象コード特徴情報からソフトウェア欠陥を生成する処理202の後半の欠陥情報の置き換えを説明するイメージ図の例である。ここでは、作成した欠陥情報900の欠陥プログラム片906に含まれる代替文字列907を置き換えることにより、プログラム片906を完成させる。代替文字列の意味にあわせ、該当する情報を、テスト対象コード特徴情報から抽出し、文字列を置き換える。プログラム片906の置き換えを完了した欠陥情報900は、欠陥情報記憶部108に書き込む。
選択したテスト対象コード特徴情報1100に対し、処理特性506の条件が満たすすべての欠陥基礎情報1101について、図11および図12で示した操作をおこなう。テスト対象コード特徴情報記憶部107が保持するすべてのテスト対象コード特徴情報1100に対して前述の操作を完了することにより、ステップ202を完了する。
(ステップ203:テスト対象への欠陥コードの混入)
ステップ203では、欠陥混入部115が、テスト対象コード記憶部106からテスト対象コードを読み出し、欠陥情報記憶部108から読み出した欠陥情報によって変更を加えた後、欠陥混入済コード記憶部109に書き込む。
図13は、本実施例のテスト対象コードにソフトウェア欠陥を混入する処理203を説明するイメージ図の例である。欠陥挿入先907の情報を利用して欠陥を挿入すべきテスト対象モジュールを特定する。さらに、特定されたテスト対象モジュールに対し、欠陥挿入先907の情報を利用して挿入方法を決定し、挿入コード908を付け加えることにより、欠陥混入済みコード1301を作成し、欠陥混入済みコード記憶部109に書き込む。欠陥挿入先907が対応づかないテスト対象モジュール106については、複製したものをそのまま欠陥混入済みコード記憶部109に書き込む。また、利用した欠陥情報1300の判定情報909には、現在利用しているものである旨を表すため、「判定中」と記入しておく。
(ステップ204:テスト実行)
ステップ204では、テスト実行部117が、欠陥混入済みコード記憶部109から読み込んだテスト対象プログラムコードと、テストコード記憶部110から読み込んだテストプログラムコードとを合わせて実行し、実行結果にしたがって欠陥情報記憶部108が保持する欠陥情報を補完する。
図14は、本実施例の欠陥を混入したテスト対象コードを利用してテストを実行する処理204を説明するイメージ図の例である。テストコード記憶部110が保持するすべてのテストコード、および、欠陥混入済コード記憶部109保持するすべてのテスト対象コードを取得し、プログラムの処理系の上で実行し、そのログを取得する。テストコードはJUnitに従って記述されており、テストプログラムとして記載されている仕様に違反していた件数をログ情報として出力することができる。JVM(Java Virtual Machine)はJavaの実行環境である。
図15および図16は、本実施例のテスト実行結果を判定する処理を説明するイメージ図の例である。欠陥情報記憶部108から、現在処理中の欠陥である欠陥情報900を、判定情報909が「判定中」となっているものを探し出すことによって取得する。さらに、探し出した欠陥情報900の判定情報909を、前述のテスト実行結果を踏まえて書き換える。前述のテスト実行の結果、テストプログラムとして記載されている仕様に対する違反が1件以上検出された場合、生成した欠陥に対するテストがおこなわれていることがわかる。よって、図15に示すように、このときは、判定情報909を「OK」と書き換え、かつ、検出された違反の件数を、例えば「失敗3件」として内部変数に記憶する。一方、表明に対する違反が検出されなかった場合、生成した欠陥に対するテストが存在しないことになる。よって、このときは、図16に示すように、判定情報909を「NG」と書き換え、かつ、検出された違反の件数を、例えば「失敗0件」として内部変数に記憶する。
ステップ203およびステップ204の処理は、欠陥情報記憶部108が保持するすべての欠陥情報に対して実行する。欠陥情報記憶部108が保持する欠陥情報900のうち、判定情報909が空欄になっているものが残っている場合、これに対してステップ203およびステップ204の処理を実行する。欠陥情報記憶部108が保持するすべての欠陥情報900の判定情報909に「OK」もしくは「NG」のいずれかが記載されている場合、すべての欠陥情報に対してステップ203およびステップ204の処理が完了したことになる。これにより、テスト評価結果記憶部112が保持するテスト評価結果を完成させる。
(ステップ205:テスト実行結果の分析)
ステップ205では、テスト実行結果評価部118が、欠陥情報記憶部108から欠陥情報を読み出し、集計してテスト評価結果記憶部112に書き込む。
図17は、テスト評価結果記憶部111に格納された、本実施例のテスト評価結果の例である。ひとつのモジュールに関するテスト評価結果1700は、モジュールを特定するための情報である対象モジュール参照情報1701と、当該モジュールについてテストが不十分と判定されたテスト観点に紐づく情報である未検出欠陥情報1705を保持する。対象モジュール参照情報は、クラス名1702、メソッド名1703、入力パラメータ1704から構成されている。
図18は、本実施例のソフトウェア欠陥からテスト評価結果を作成する処理を説明するイメージ図の例である。欠陥情報記憶部108から欠陥情報900をひとつ選択し、判定情報909を確認する。判定情報909が「OK」であった場合、欠陥情報900はそのまま廃棄し、欠陥情報記憶部108から取り除く。判定情報909が「NG」であった場合、欠陥情報900をテスト評価結果記憶部112に反映した後、廃棄し、欠陥情報記憶部108から取り除く。
欠陥情報900をテスト評価結果記憶部111に反映する際には、まず、対応するテスト評価結果1700をテスト評価結果記憶部111から探し出す。具体的には、欠陥情報900のクラス名901、メソッド名902、引数の型903と、テスト評価結果1700のクラス名1702、メソッド名1703、引数の型1704とをそれぞれ比較することにより、欠陥情報900とテスト評価結果1700を対応づける。対応するテスト評価結果1700が発見できなかった場合、テスト評価結果1700を作成し、テスト評価結果記憶部に追加する。追加したテスト評価結果1700のクラス名1702にはクラス名901の情報を、メソッド名1703にはメソッド名902の情報を、引数の型1704には引数の型903の情報を記入する。
次に、未検出欠陥情報を反映させる。前述のテスト評価結果1700の未検出欠陥情報1705を確認し、欠陥情報900の欠陥種別904に対応するものを探す。もし対応する未検出欠陥情報が見つかった場合は、そのまま終了する。見つからなかった場合は、テスト評価結果1700の未検出欠陥情報1705に欠陥種別904を追加し、終了する
欠陥情報記憶部108が保持する全ての欠陥情報900について、テスト評価結果記憶部111への反映処理を完了することにより、ステップ205を完了する。
(ステップ206:テスト評価結果の出力)
ステップ206は、開発者が、ソフトウェアテスト自動評価装置100によるテストの評価結果を、出力装置104を通じて取得するステップである。ソフトウェアテスト自動評価装置100は、開発者の指示に従い、テスト評価結果記憶部112からテスト評価結果を読み出し、図18下のテーブルのように、出力装置104に出力する。なお、出力は、計算機で扱えるようテキストデータ又はバイナリデータとして出力しても良いし、開発者が閲覧できるようモニタに文字又はグラフィックを表示してもよい。
本実施例では、テスト対象ソフトウェアをプログラム生成装置で生成している場合において、テスト対象のプログラムコードから特徴情報を抽出する代わりに、テスト対象プログラムを生成する際に入力した設計情報を用いるソフトウェアテスト自動評価装置の例を説明する。
図19は、本実施例のソフトウェア自動評価装置の構成図の例である。
図19に示す構成は、外部記憶装置105は、図1のテスト対象コード特徴情報記憶部107の代わりに、テスト対象設計情報記憶部1900を保持し、処理プログラム112は、図1の特徴情報抽出部113の内容を変更した特徴情報抽出部1901を保持し、欠陥生成規則記憶部118は、図1の処理特性特定規則記憶部119の内容を変更した処理特性特定規則記憶部1902を保持していること以外は、図1の構成と同じである。
処理特性特定規則記憶部1902、欠陥基礎情報記憶部120には、それぞれ予め処理特性特定規則、欠陥基礎情報を入力しておく。処理特性特定規則、欠陥基礎情報の詳細については、後述する。
入力装置103を介して外部から入力されたテスト対象プログラム、テスト対象設計情報、およびテストコードは、それぞれテスト対象コード記憶部106、テスト対象設計情報記憶部1900、テストコード記憶部110に書き込む。特徴情報抽出部1901は、処理特性特定規則記憶部1902から読み出した処理特性特定規則を参照しながら、テスト対象設計情報記憶部1900から読み出したテスト対象設計情報を補完し、テスト対象設計情報記憶部1900に書き込む。その他の処理部の機能は、図1に関して説明したものと同じである。
図20は、本実施例のソフトウェアテスト自動評価装置の処理を説明するフローチャートの例である。以降、図20のフローチャートに基づいて、図19の各部の動作を説明する。図2のステップ200、201及び202の代わりに、図20では、ステップ2000、2001及び2002を実行する。ステップ203〜206は図2の処理と同じである。
(ステップ2000:テストコード及びテスト対象設計情報の入力)
ステップ2000は、図2のステップ200と同じ処理を行い、さらに、入力装置103から入力されたテスト対象設計情報をテスト対象設計情報記憶部1900に書き込む。
ここで、テスト対象設計情報とは、テスト対象プログラムをプログラム生成装置で生成している場合において、テスト対象プログラムの動作を定義する情報としてプログラム生成装置に入力した情報である。テスト対象設計情報の例を図21に示す。
図21は、テスト対象設計情報記憶部1900に格納されている、本実施例のテスト対象設計情報の例である。テスト対象設計情報2100は、対象モジュール参照情報501と、処理特性情報506、および、振舞い定義情報2101を保持する。対象モジュール参照情報501は、テスト対象のメソッドを特定するための情報であり、クラス名502、メソッド名503、入力パラメータ504、出力パラメータ505から成る。また、ひとつのテスト対象設計情報2100内には、振舞い定義情報2101、処理特性情報506をそれぞれ複数保持することができる。振舞い定義情報2101は、テスト対象プログラムの動作を定義する情報としてプログラム生成装置に入力した情報であり、利用するモジュールやAPI、発行する例外など、プログラムの振舞い方法に関する情報を含む。
ステップ2000が完了した時点では、すべてのテスト対象モジュールの設計情報2100について、少なくとも対象モジュール参照情報501、振舞い定義情報2101は入力されているものとする。処理特性506については、未入力状態でもよい。
なお、テストプログラムおよびテスト対象プログラムは、実施例1と同様のものを利用してよい。
(ステップ2001:テスト対象の特徴情報の抽出)
ステップ2001では、特徴情報抽出部1901が、処理特性特定規則記憶部1902から読み出した処理特性特定規則を参照しながら、テスト対象設計情報記憶部1900から読み出したテスト対象設計情報を補完し、テスト対象設計情報記憶部1900に書き込む。
ここで、処理特性特定規則記憶部1902が保持する処理特性特定規則とは、設計情報に記載された振舞い定義情報2101と、テスト対象プログラムをテストするときの観点に紐づく特徴とを対応付ける情報である。処理特性特定規則の具体例を図22に示す。
図22は、処理特性特定規則記憶部1902に格納されている、本実施例の処理特性特定規則の例である。処理特性特定規則は、あるテスト観点に紐づく処理特性600と、テスト対象プログラムの動作の特徴を示す情報である動作設定情報2201の組との対応関係2200の集合によって構成される。ひとつの対応関係2200に含まれる動作設定情報2201の組は、ある論理関係を構成するものである。ここでは、あるプログラムが処理特性600を持つことの根拠となる情報を、動作設定情報2201として保持している。動作設定情報2201に入る値は、テスト対象設計情報として入力され得る値となる。具体的には、データ型やメソッドの呼び出し関係、データ依存関係などが含まれる。
図23は、本実施例のテスト対象設計情報を補完する処理を説明するイメージ図の例である。まず、テスト対象設計情報記憶部1900に含まれるテスト対象設計情報2301をひとつ選択する。選択したテスト対象設計情報2300が該当する処理特性特定規則2300を、処理特性特定規則記憶部1902から探し出し、見つかった情報すべてを、選択中のテスト対象設計情報2301の処理特性情報506に書き加える。テスト対象設計情報記憶部2301が保持するすべてのテスト対象設計情報について前述の処理を実施することにより、ステップ2001の処理を完了する。
(ステップ2002:欠陥コードの生成)
ステップ2002は、実施例1のステップ201と同様の動作をするが、欠陥生成部114は、テスト対象コード特徴情報記憶部107が保持するテスト対象コード特徴情報500の対象モジュール参照情報501、処理特性情報506の代わりに、それぞれ、テスト対象設計情報記憶部1900が保持するテスト対象設計情報2100の対象モジュール参照情報501、処理特性506を利用する。
ステップ203から206までについては、実施例1と同様の動作でよい。
本実施例では、テスト対象ソフトウェアの開発者がテスト対象ソフトウェアに求める性質・特徴を表した情報である仕様情報を用いるプソフトウェアテスト自動評価装置の例を説明する。
図24は、本実施例のソフトウェア自動評価装置の構成図の例である。
図24に示す構成では、外部記憶装置105は、図1のテスト対象コード特徴情報記憶部107の代わりに、テスト対象仕様情報記憶部2400を保持し、処理プログラム112は、図1の特徴情報抽出部113を保持せず、欠陥生成規則記憶部118は、図1の処理特性特定規則記憶部119保持せず、図1の欠陥基礎情報記憶部120の内容を変更した欠陥基礎情報記憶部2401を保持していること以外は、図1の構成と同じである。
欠陥基礎情報記憶部2401には、予め欠陥基礎情報を入力しておく。欠陥基礎情報の詳細については、後述する。
入力装置103を介して外部から入力されたテスト対象プログラム、テスト対象仕様情報、およびテストコードは、それぞれテスト対象コード記憶部106、テスト対象仕様情報記憶部2400、テストコード記憶部110に書き込む。欠陥生成部114は、欠陥基礎情報記憶部2401から読み出した欠陥基礎情報を参照しながら、テスト対象コード特徴情報記憶部からテスト対象コード特徴情報を読み出し、対応する欠陥情報を生成して欠陥情報記憶部108に書き込む。その他の処理部の機能は、図1に関して説明したものと同じである。
図25は、本実施例のソフトウェアテスト自動評価装置の処理を説明するフローチャートの例である。以降、図25のフローチャートに基づいて、図24の各部の動作を説明する。図2のステップ200〜202の代わりに、図25では、ステップ2500及び2501を実行する。ステップ203〜206は図2の処理と同じである。
(ステップ2500:テストコード及びテスト対象仕様情報の入力)
ステップ2500は、図2のステップ200と同じ処理を行い、さらに、入力装置103から入力されたテスト対象仕様情報をテスト対象仕様情報記憶部2400に書き込む。
ここで、テスト対象仕様情報とは、テスト対象ソフトウェアの開発者がテスト対象ソフトウェアに求める性質・特徴を表した情報である。テスト対象設計情報の例を図26に示す。
図26は、テスト対象仕様情報記憶部2400に格納された、本実施例のテスト対象仕様情報の例である。テスト対象仕様情報2600は、対象モジュール参照情報501と、仕様特性情報2601を保持する。対象モジュール参照情報501は、テスト対象のメソッドを特定するための情報であり、クラス名502、メソッド名503、入力パラメータ504、出力パラメータ505から成る。
また、ひとつのテスト対象仕様情報2600内には、仕様特性情報2601を複数保持することができる。仕様特性情報2601は、テスト対象ソフトウェアの開発者があるテスト対象モジュールに求める性質・特徴を構成する情報であり、当該モジュールを呼び出せるモジュール・APIや当該モジュールから呼び出せるモジュール・APIの制約、また、プログラム中の変数を含むリソースへのアクセス権限など、当該モジュールに対する制約や振舞いの情報を含む情報である。
なお、テストプログラムおよびテスト対象プログラムは、実施例1と同様のものを利用してよい。
(ステップ2501:欠陥コードの生成)
ステップ2501では、欠陥生成部114が、欠陥基礎情報記憶部2401から読み出した欠陥基礎情報を参照しながら、テスト対象仕様情報記憶部2400からテスト対象仕様情報を読み出す。さらに、読み出したテスト対象仕様情報から対応する欠陥情報を生成して欠陥情報記憶部108に書き込む。
ここで欠陥基礎情報は、テスト対象モジュールの処理特性と、当該テスト対象モジュールに反映すべきプログラム欠陥の基礎情報を対応付けたものである。欠陥基礎情報の具体例を図27に示す。
図27は、欠陥基礎情報記憶部2401に格納された、本実施例の欠陥基礎情報の例である。図27に示す情報は、図10の情報とほとんど同じであるが、図10の「処理特性」1002の代わりに、図27は、「特性」2701を保持する。なお、欠陥情報は実施例1と同様のものを利用してよい。
図28は、本実施例のテスト対象仕様情報からソフトウェア欠陥を生成する処理2501の前半のソフトウェアの選択を説明するイメージ図の例である。欠陥生成部114は、テスト対象仕様情報記憶部2400からテスト対象仕様情報2800をひとつ選択する。さらに、欠陥基礎情報記憶部2401が保持する欠陥基礎情報2801をひとつ選択する。選択したテスト対象コード特徴情報2800の仕様特性2601が、選択した欠陥基礎情報2801が保持する仕様特性2701の条件を満たしているかを判定する。条件を満たしている場合、選択した欠陥基礎情報2801の欠陥雛形集1003が保持するすべての欠陥雛形情報1004に対してそれぞれ一つ、欠陥情報900を作成する。
この際、クラス名901、メソッド名902、引数の型情報903はそれぞれ、選択中のテスト対象コード特徴情報が保持するクラス名502、メソッド名503、入力パラメータ504を参照することによって取得する。また、欠陥種別904は、選択中の欠陥基礎情報2801が保持する欠陥種別1001を参照することによって取得する。さらに、欠陥ナンバー905およびプログラム片906を、対応する欠陥基礎情報のそれぞれ欠陥ナンバー1005およびプログラム片雛形1006を複製することによって取得する。この段階では、プログラム片906は代替文字列を含んでいる。また、判定情報909は空欄となっている。
図29は、本実施例のテスト対象仕様情報からソフトウェア欠陥を生成する処理2501の後半の欠陥情報の置き換えを説明するイメージ図の例である。ここでは、作成した欠陥情報900の欠陥プログラム片906に含まれる代替文字列907を置き換えることにより、プログラム片906を完成させる。代替文字列の意味にあわせ、該当する情報を、テスト対象コード特徴情報から抽出し、文字列を置き換える。プログラム片906の置き換えを完了した欠陥情報900は、欠陥情報記憶部108に書き込む。
選択したテスト対象仕様情報2800に対し、仕様特性2601の条件が満たすすべての欠陥基礎情報2801について、図27および図29で示した操作をおこなう。テスト対象コード特徴情報記憶部107が保持するすべてのテスト対象コード特徴情報1100に対して前述の操作を完了することにより、ステップ2501を完了する。
ステップ203から206までについては、実施例1と同様の動作でよい。
なお、本発明は上記実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施礼は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それら一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよい。
100:プログラム自動生成装置、101:CPU、102:メモリ、103:入力装置、104:出力装置、105:外部記憶装置、106:テスト対象コード記憶部、107:テスト対象コード特徴情報記憶部、108:欠陥情報記憶部、109:欠陥混入済コード記憶部、110:テストコード記憶部、111:テスト評価結果記憶部、112:処理プログラム、113:特徴情報抽出部、114:欠陥生成部、115:欠陥混入部、116:テスト実行部、117:テスト実行結果評価部、118:欠陥生成規則記憶部、119:処理特性特定規則記憶部、120:欠陥基礎情報記憶部

Claims (13)

  1. テスト対象のために作成されたソフトウェアテストが前記テスト対象に対して妥当かどうかを判定するソフトウェアテスト自動評価装置であって、
    ソフトウェアの振舞いや構造上の特徴・性質と、前記ソフトウェアに対する妥当なテスト技術・テスト手段とを対応付けた情報であるテスト観点を記憶する手段と、
    予め設定された規則およびテスト対象ソフトウェアの特徴・性質を含む特徴情報を入力として、前記特徴・性質に対応する欠陥テンプレートを選択するとともに、テスト対象ソフトウェアの前記特徴情報によって補完することによって、前記ソフトウェアテストが前記テスト観点に則して設計されているか否かを判定するためのソフトウェア欠陥を生成する欠陥生成手段を有することを特徴とするソフトウェアテスト自動評価装置。
  2. 前記ソフトウェアテスト自動評価装置であって、
    前記ソフトウェア欠陥に基づいて前記テスト対象ソフトウェアを改変することにより、テスト対象ソフトウェアにソフトウェア欠陥を混入する欠陥混入手段と、
    前記ソフトウェア欠陥が混入されたテスト対象ソフトウェアと、ソフトウェアテストとを併せて実行し、ソフトウェア欠陥を検出して記録するテスト実行手段とを有することを特徴とする請求項1に記載のソフトウェアテスト自動評価装置。
  3. 前記ソフトウェアテスト自動評価装置であって、
    前記ソフトウェア欠陥と、当該ソフトウェア欠陥をテスト対象ソフトウェアに混入した際のソフトウェアテストの実行結果とを照らし合わせることにより、当該ソフトウェアテストが妥当でないと評価できる場合に、当該ソフトウェアテストが本来満足すべきであって、かつ満足していないテスト観点を特定するテスト実行結果評価手段を有することを特徴とする請求項1または2のいずれかに記載のソフトウェアテスト自動評価装置。
  4. 前記ソフトウェア欠陥自動評価装置であって、
    テスト対象ソフトウェアをプログラム解析し、さらに、予め設定された規則と前記プログラム解析の結果とを照らし合わせることにより、テスト対象ソフトウェアの特徴・性質を抽出する特徴情報抽出手段を有することを特徴とする請求項1から3のいずれかに記載のソフトウェア欠陥自動評価装置。
  5. 前記ソフトウェア欠陥自動評価装置であって、
    前記テスト対象ソフトウェアがプログラム生成装置を用いて作成されている場合に、テスト対象プログラム生成時に前記プログラム生成装置に入力された情報である設計情報を保持する設計情報記憶手段を有し、
    前記欠陥生成手段は、前記設計情報記憶手段が保持する設計情報を、テスト対象ソフトウェアの特徴・性質の情報の少なくとも一部として用いることを特徴とする請求項1から4のいずれかに記載のソフトウェアテスト自動評価装置。
  6. ソフトウェア欠陥自動評価装置であって、
    前記テスト対象ソフトウェアに求められる性質・特徴を表した情報である仕様情報を保持する仕様情報記憶手段を有し、
    前記欠陥生成手段は、前記仕様情報記憶手段が保持する仕様情報を、テスト対象ソフトウェアの特徴・性質の情報の少なくとも一部として用いることを特徴とする請求項1から5のいずれかに記載のソフトウェアテスト自動評価装置。
  7. 処理装置を用いて、テスト対象のために作成されたソフトウェアテストが前記テスト対象に対して妥当かどうかを判定するソフトウェアテスト自動評価方法であって、
    ソフトウェアの振舞いや構造上の特徴・性質を含む特徴情報と、前記ソフトウェアに対する妥当なテスト技術・テスト手段とを対応付けた情報であるテスト観点を記憶装置に記憶し、
    予め設定された規則およびテスト対象ソフトウェアの特徴・性質を入力として、前記特徴・性質に対応する欠陥テンプレートを選択し、
    前記テスト対象ソフトウェアの前記特徴情報によって補完することによって、前記ソフトウェアテストが前記テスト観点に則して設計されているか否かを判定するためのソフトウェア欠陥を生成することを特徴とするソフトウェアテスト自動評価方法。
  8. 前記ソフトウェアテスト自動評価方法であって、
    前記ソフトウェア欠陥に基づいて前記テスト対象ソフトウェアを改変することにより、テスト対象ソフトウェにソフトウェア欠陥を混入し、
    前記ソフトウェア欠陥が混入されたテスト対象ソフトウェアと、ソフトウェアテストとを併せて実行し、ソフトウェア欠陥を検出して記録することを特徴とする請求項7に記載のソフトウェアテスト自動評価方法。
  9. 前記ソフトウェアテスト自動評価方法であって、
    前記ソフトウェア欠陥と、当該ソフトウェア欠陥をテスト対象ソフトウェアに混入した際のソフトウェアテストの実行結果とを照らし合わせることにより、当該ソフトウェアテストが妥当でないと評価できる場合に、当該ソフトウェアテストが本来満足すべきであって、かつ満足していないテスト観点を特定することを特徴とする請求項7または8のいずれかに記載のソフトウェアテスト自動評価方法。
  10. 前記ソフトウェア欠陥自動評価方法であって、
    テスト対象ソフトウェアをプログラム解析し、さらに、予め設定された規則と前記プログラム解析の結果とを照らし合わせることにより、テスト対象ソフトウェアの特徴・性質を抽出することを特徴とする請求項7から9のいずれかに記載のソフトウェア欠陥自動評価方法。
  11. 前記ソフトウェア欠陥自動評価方法であって、
    前記テスト対象ソフトウェアがプログラム生成装置を用いて作成されている場合に、テスト対象プログラム生成時に前記プログラム生成装置に入力された情報である設計情報を前記記憶装置に保持し、
    前記欠陥の生成の際は、予め保持された設計情報を、テスト対象ソフトウェアの特徴・性質の情報の少なくとも一部として用いることを特徴とする請求項7から10のいずれかに記載のソフトウェアテスト自動評価方法。
  12. ソフトウェア欠陥自動評価方法であって、
    前記テスト対象ソフトウェアに求められる性質・特徴を表した情報である仕様情報を前記記憶装置に保持し、
    前記欠陥生成手段は、前記記憶装置が保持する仕様情報を、テスト対象ソフトウェアの特徴・性質の情報の少なくとも一部として用いることを特徴とする請求項1から5のいずれかに記載のソフトウェアテスト自動評価方法。
  13. 計算機で読み取り可能な記憶媒体であって、請求項7に記載のソフトウェアテスト自動評価方法を実行するためのプログラムを格納したことを特徴とする記憶媒体。
JP2012087812A 2012-04-06 2012-04-06 ソフトウェアテスト自動評価装置および方法 Pending JP2013218492A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012087812A JP2013218492A (ja) 2012-04-06 2012-04-06 ソフトウェアテスト自動評価装置および方法
CN201310068200.6A CN103365772B (zh) 2012-04-06 2013-03-04 软件测试自动评价装置以及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012087812A JP2013218492A (ja) 2012-04-06 2012-04-06 ソフトウェアテスト自動評価装置および方法

Publications (1)

Publication Number Publication Date
JP2013218492A true JP2013218492A (ja) 2013-10-24

Family

ID=49367178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012087812A Pending JP2013218492A (ja) 2012-04-06 2012-04-06 ソフトウェアテスト自動評価装置および方法

Country Status (2)

Country Link
JP (1) JP2013218492A (ja)
CN (1) CN103365772B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732587A (zh) * 2021-01-21 2021-04-30 腾讯科技(深圳)有限公司 一种自动化测试日志的获取方法、装置、电子设备及存储介质
JP2021192214A (ja) * 2020-06-05 2021-12-16 ペキン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドBeijing Baidu Netcom Science And Technology Co., Ltd. アプリケーションの動作状態を検証する方法および装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10459830B2 (en) 2014-07-29 2019-10-29 Micro Focus Llc Executable code abnormality detection
CN104360946B (zh) * 2014-11-18 2017-11-17 电信科学技术第十研究所 一种测试缺陷的计算机实现的方法及计算机
CN104461878A (zh) * 2014-11-28 2015-03-25 中国航空无线电电子研究所 一种基于自定义模型的软件质量评价方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1752945A (zh) * 2005-11-02 2006-03-29 中国科学院软件研究所 安全数据库管理系统测试用例生成方法
US7926114B2 (en) * 2007-05-31 2011-04-12 Microsoft Corporation Testing software applications with schema-based fuzzing

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021192214A (ja) * 2020-06-05 2021-12-16 ペキン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドBeijing Baidu Netcom Science And Technology Co., Ltd. アプリケーションの動作状態を検証する方法および装置
JP7132999B2 (ja) 2020-06-05 2022-09-07 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド アプリケーションの動作状態を検証する方法および装置
US11709767B2 (en) 2020-06-05 2023-07-25 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for verifying operation state of application
CN112732587A (zh) * 2021-01-21 2021-04-30 腾讯科技(深圳)有限公司 一种自动化测试日志的获取方法、装置、电子设备及存储介质
CN112732587B (zh) * 2021-01-21 2024-04-12 腾讯科技(深圳)有限公司 一种自动化测试日志的获取方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN103365772A (zh) 2013-10-23
CN103365772B (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
Abal et al. Variability bugs in highly configurable systems: A qualitative analysis
US8386851B2 (en) Functional coverage using combinatorial test design
JP5933762B2 (ja) コード網羅率決定方法およびシステム
US6941546B2 (en) Method and apparatus for testing a software component using an abstraction matrix
US8397104B2 (en) Creation of test plans
US20080244536A1 (en) Evaluating static analysis results using code instrumentation
US9152731B2 (en) Detecting a broken point in a web application automatic test case
US9208451B2 (en) Automatic identification of information useful for generation-based functional verification
US8868976B2 (en) System-level testcase generation
US10209984B2 (en) Identifying a defect density
US20120185669A1 (en) Program inspection method and non-transitory, computer readable storage medium storing inspection program
US11055208B1 (en) Systems and methods for automatically assessing and conforming software development modules to accessibility guidelines in real-time
JP2013218492A (ja) ソフトウェアテスト自動評価装置および方法
CN112925524A (zh) 一种检测驱动程序中不安全直接存储器访问的方法及装置
JP2015011372A (ja) デバッグ支援システム、方法、プログラム及び記録媒体
CN107329889B (zh) 一种c编译器自动化测试的方法
US8589734B2 (en) Verifying correctness of processor transactions
CN116991751B (zh) 代码测试方法、装置、电子设备及存储介质
US8464103B2 (en) Generating a functional coverage model from a trace
JP4957521B2 (ja) ソフトウェア部分テストシステム、それに用いる方法およびプログラム
US8458523B2 (en) Meta attributes in functional coverage models
CN115658551B (zh) 代码测试方法、存储介质、电子设备和装置
CN113326206B (zh) 数据加工系统的测试方法、设备、存储介质及程序产品
JP2013061893A (ja) 情報処理装置及び情報処理方法及びプログラム
CN112559370A (zh) 一种基于前端的React项目单元测试方法及相关设备

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140908