JP6547345B2 - テストケース生成プログラム、テストケース生成方法およびテストケース生成装置 - Google Patents
テストケース生成プログラム、テストケース生成方法およびテストケース生成装置 Download PDFInfo
- Publication number
- JP6547345B2 JP6547345B2 JP2015053771A JP2015053771A JP6547345B2 JP 6547345 B2 JP6547345 B2 JP 6547345B2 JP 2015053771 A JP2015053771 A JP 2015053771A JP 2015053771 A JP2015053771 A JP 2015053771A JP 6547345 B2 JP6547345 B2 JP 6547345B2
- Authority
- JP
- Japan
- Prior art keywords
- check
- condition
- program
- test case
- target program
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
図1は、実施例1に係るシステムの全体構成例を示す図である。図1に示すように、テストケース生成装置10は、シンボリック実行を実行してテストケースを生成するサーバやパーソナルコンピュータの一例である。
図2は、実施例1に係るテストケース生成装置の機能構成を示す機能ブロック図である。図2に示すように、テストケース生成装置10は、入力情報DB11、テストケースDB12、入力部13、チェック仕様分析部14、チェック条件生成部15、プログラム変換部16、チェック条件制御部17を有する。また、テストケース生成装置10は、シンボリック実行入力部18、シンボリック実行制御部19、シンボリック実行出力部20、テストケース出力部21を有する。
次に、上述した各処理部が実行する処理について説明する。なお、シンボリック実行は、一般的なシンボリック実行と同様の処理なので、詳細な説明は省略する。
図11は、全体的な処理の流れを説明するフローチャートである。図11に示すように、テストケース生成装置10は、入力チェック仕様とプログラム部分の対応関係を入力情報DB11から読み込む(S101)。
図12は、チェック仕様分析およびチェック条件生成の処理の流れを説明するフローチャートである。図12に示すように、チェック仕様分析部14は、チェック仕様が記述されたプログラム等を取得する(S201)。なお、入力は、コメントにチェック仕様が記述されたプログラムや表形式にチェック仕様が記述されたファイルなどである。
図13は、プログラム変換処理の流れを説明するフローチャートである。図13に示すように、プログラム変換部16は、プログラムとチェック仕様情報を入力部13等から取得し(S301)、プログラム内に未処理のチェック処理があるか否かを判定する(S302)。
図14は、チェック条件追加処理の流れを説明するフローチャートである。図14に示すように、チェック条件制御部17は、変換済プログラムとチェック条件を取得し(S401)、プログラム内に未処理のチェック処理があるか否かを判定する(S402)。
図15は、テストケース出力処理の流れを説明するフローチャートである。図15に示すように、テストケース出力部21は、変換後プログラム毎のテストケースリスト(パス条件)を、シンボリック実行出力部20から取得する(S501)。
実施例1によれば、テストケース生成装置10は、入力チェック処理とメイン処理を含むようなプログラムに対して、プログラム全体のロジック内容は変えずに入力チェック処理を除外し、シンボリック実行でのパス追跡時の適切な命令文で、入力チェックのパス条件を追加することができる。また、テストケース生成装置10は、入力チェックを過剰にテストするようなテストケースを除外して、テストケースを生成することができる。この結果、テストケース生成装置10は、テストケース個数を削減し、さらに、テストケースの生成時間を短縮することができる。
テストケース生成装置10は、チェック条件が複数あった場合でも同様に処理することができる。図16は、チェック条件が複数ある場合の例を説明する図である。図16の上図には一般的なチェック条件に関する情報を例示する。
上記実施例では、テストケース生成装置10は、テストケースを生成する処理部とシンボリック実行を実行する処理部の両方を有する例を説明したが、これに限定されるものではない。例えば、入力部13、チェック仕様分析部14、チェック条件生成部15、プログラム変換部16、チェック条件制御部17、テストケース出力部21を生成装置と、シンボリック実行入力部18、シンボリック実行制御部19、シンボリック実行出力部20を有するシンボリック実行装置とに分割することもできる。
また、図示した装置の各構成は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、任意の単位で分散または統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
上記テストケース生成装置10は、例えば、次のようなハードウェア構成により実現することができる。図17は、ハードウェア構成例を説明する図である。図17に示すように、テストケース生成装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。
11 入力情報DB
12 テストケースDB
13 入力部
14 チェック仕様分析部
15 チェック条件生成部
16 プログラム変換部
17 チェック条件制御部
18 シンボリック実行入力部
19 シンボリック実行制御部
20 シンボリック実行出力部
21 テストケース出力部
Claims (6)
- コンピュータに、
入力データが所定条件を満たすことを判定するチェック処理を含んだ対象プログラムを、当該チェック処理を除外した対象プログラムに変換し、
前記対象プログラムと前記チェック処理の仕様とに基づいて、前記チェック処理が成功する成功条件と前記チェック処理が失敗する失敗条件とを生成し、
変換された対象プログラムに対してシンボリック実行が行われる際に、前記成功条件と前記失敗条件とを、チェック条件が記述されていた行番号の命令文に追加する
処理を実行させることを特徴とするテストケース生成プログラム。 - 前記変換する処理は、前記対象プログラムを、前記チェック処理が成功する第1の対象プログラムと、前記チェック処理が失敗する第2の対象プログラムとに変換し、
前記追加する処理は、前記第1の対象プログラムに対してシンボリック実行が行われる際に、前記成功条件をパス条件に追加するよう制御し、前記第2の対象プログラムに対してシンボリック実行が行われる際に、前記失敗条件をパス条件に追加するよう制御する
ことを特徴とする請求項1に記載のテストケース生成プログラム。 - 前記生成する処理は、前記成功条件の否定文を前記失敗条件として出力することを特徴とする請求項2に記載のテストケース生成プログラム。
- 前記変換する処理は、前記対象プログラムに対して前記チェック処理を実行対象外に設定し、前記チェック処理が成功して後続の処理が実行される命令文を追加した前記第1の対象プログラムを生成し、前記チェック処理が失敗した際に実行される命令文を追加した前記第2の対象プログラムを生成することを特徴とする請求項2に記載のテストケース生成プログラム。
- コンピュータが、
入力データが所定条件を満たすことを判定するチェック処理を含んだ対象プログラムを、当該チェック処理を除外した対象プログラムに変換し、
前記対象プログラムと前記チェック処理の仕様とに基づいて、前記チェック処理が成功する成功条件と前記チェック処理が失敗する失敗条件とを生成し、
変換された対象プログラムに対してシンボリック実行が行われる際に、前記成功条件と前記失敗条件とを、チェック条件が記述されていた行番号の命令文に追加する
処理を含むことを特徴とするテストケース生成方法。 - 入力データが所定条件を満たすことを判定するチェック処理を含んだ対象プログラムを、当該チェック処理を除外した対象プログラムに変換する変換部と、
前記対象プログラムと前記チェック処理の仕様とに基づいて、前記チェック処理が成功する成功条件と前記チェック処理が失敗する失敗条件とを生成する生成部と、
前記変換部によって変換された対象プログラムに対してシンボリック実行が行われる際に、前記成功条件と前記失敗条件とを、チェック条件が記述されていた行番号の命令文に追加する追加制御部と
を有することを特徴とするテストケース生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015053771A JP6547345B2 (ja) | 2015-03-17 | 2015-03-17 | テストケース生成プログラム、テストケース生成方法およびテストケース生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015053771A JP6547345B2 (ja) | 2015-03-17 | 2015-03-17 | テストケース生成プログラム、テストケース生成方法およびテストケース生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016173756A JP2016173756A (ja) | 2016-09-29 |
JP6547345B2 true JP6547345B2 (ja) | 2019-07-24 |
Family
ID=57009156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015053771A Active JP6547345B2 (ja) | 2015-03-17 | 2015-03-17 | テストケース生成プログラム、テストケース生成方法およびテストケース生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6547345B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062812A (zh) * | 2018-09-30 | 2018-12-21 | 中电科(德阳广汉)特种飞机系统工程有限公司 | 基于多条件运行的软件的测试方法、设备及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5440287B2 (ja) * | 2010-03-15 | 2014-03-12 | 富士通株式会社 | シンボリック実行支援プログラム、方法及び装置 |
US20140143762A1 (en) * | 2012-11-21 | 2014-05-22 | Fujitsu Limited | Symbolic execution of dynamic programming languages |
-
2015
- 2015-03-17 JP JP2015053771A patent/JP6547345B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016173756A (ja) | 2016-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108089974B (zh) | 利用定义的输入格式来测试应用 | |
US8868976B2 (en) | System-level testcase generation | |
US11269760B2 (en) | Systems and methods for automated testing using artificial intelligence techniques | |
US11250129B2 (en) | Method and system for determining affiliation of software to software families | |
JP6486574B2 (ja) | プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム | |
JP5440287B2 (ja) | シンボリック実行支援プログラム、方法及び装置 | |
JP5342407B2 (ja) | プログラム解析方法、プログラム解析プログラムおよびプログラム解析装置 | |
JP6547345B2 (ja) | テストケース生成プログラム、テストケース生成方法およびテストケース生成装置 | |
WO2021100156A1 (ja) | テストデータ生成装置、テストデータ生成方法、及びプログラム | |
JP5267243B2 (ja) | 動作記述変換装置、動作記述変換方法、およびプログラム | |
JP2022078962A (ja) | エラーに関連するコードの行の自動識別 | |
JP7211139B2 (ja) | 校閲方法、情報処理装置および校閲プログラム | |
JP2018147106A (ja) | プログラム分析装置、プログラム分析方法及びプログラム分析プログラム | |
WO2016189721A1 (ja) | ソースコード評価装置及びソースコード評価方法及びソースコード評価プログラム | |
JP5578625B2 (ja) | プログラム分析装置、プログラム分析方法、及びプログラム | |
JP6630840B2 (ja) | ログ分析のためのランドマークデリミタを推定するシステムおよび方法 | |
JP2011113298A (ja) | 流用ソースコード解析システム及びプログラム並びに記録媒体 | |
US12001324B2 (en) | Operation pattern generation apparatus, operation pattern generation method and program | |
JP2018121245A (ja) | 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム | |
JP6828812B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2021161428A1 (ja) | プログラム生成装置、プログラム生成方法及びプログラム | |
JPWO2017104657A1 (ja) | 情報処理装置、情報処理方法、及び、コンピュータ・プログラム | |
WO2020065960A1 (ja) | 情報処理装置、制御方法、及びプログラム | |
JP2023031614A (ja) | 変更度計測装置、方法及びプログラム | |
JP6497271B2 (ja) | テストデータ生成装置、方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181016 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181217 |
|
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: 20190528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190610 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6547345 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |