JP6983693B2 - スタブ生成支援装置、スタブ生成支援方法、及びプログラム - Google Patents
スタブ生成支援装置、スタブ生成支援方法、及びプログラム Download PDFInfo
- Publication number
- JP6983693B2 JP6983693B2 JP2018028237A JP2018028237A JP6983693B2 JP 6983693 B2 JP6983693 B2 JP 6983693B2 JP 2018028237 A JP2018028237 A JP 2018028237A JP 2018028237 A JP2018028237 A JP 2018028237A JP 6983693 B2 JP6983693 B2 JP 6983693B2
- Authority
- JP
- Japan
- Prior art keywords
- source code
- stub
- function
- generation support
- analysis
- 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
析等)することにより同図に示す実行木60を生成する。実行木60は、パス条件(上欄)と変数状態(下欄)との組み合わせで表される複数のノードN1〜N5を含む。
対応するノードN3とを生成する。そして情報処理装置は、ノードN2のパス条件(上欄)に「α>0」を設定し、変数状態(下欄)に「x=α」を設定する。また情報処理装置は、ノードN3のパス条件(上欄)に「!(α>0)」を設定し、変数状態(下欄)に「x=α」を設定する。
る場合に対応するノードN5を生成する。そして情報処理装置は、ノードN4のパス条件(上欄)にノードN3のパス条件(上欄)「!(α>0)」と上記if文が真(true)の場合のパス条件「(α<0)」との論理積である「!(α>0)&&(α<0)」を設定し、変数状態(下欄)に「x=α」を設定する。また情報処理装置は、ノードN5のパス条件(上欄)にノードN3のパス条件(上欄)「!(α>0)」と上記if文が偽(false)の場合のパス条件「!(α<0)」との論理積である「!(α>0)&&!(α<0
)」を設定し、変数状態(下欄)に「x=α」を設定する。
含んでいるが、DAO部分の開発を他社が行っていたり、データベースとは独立して単体テストを行いたいといった理由により、DAO22が未実装の環境でプログラム21のテストを行わなければならないことがある。またソースコードの記号実行による解析時にデータベースへのアクセスを抑制したいことがある。
もスタブを自動生成することができる。以下、スタブ生成支援装置10の構成並びに機能について詳述する。
Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。
)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、各種ストレージシステム、ICカード、SDメモリカードや光学式記録媒体等の記録媒体の読取/書込装置、クラウドサーバの記憶領域等である。補助記憶装置13に格納されているプログラムやデータは主記憶装置12に随時読み込まれる。
つ以上のレコードで構成されている。
ES)。その後、処理はS614に進む。一方、現在取得中の命令が図7のソースコードの「FooDto fooDto = fooDao.selectById(x);」でない場合、解析用ソースコード生成部
111は、判定結果を「NO」とする(S613:NO)。その後、処理はS618に進む。
対象情報161から「selectById」という関数名1523に対応づけられているDTO名1522「FooDao」を取得し、取得したDTO名「FooDao」に対応するDTOソースコード152を取得してこれを解析することによりフィールドの情報を取得する。
、DTO型のダミー変数の初期化命令、及びダミー変数へのDTOのフィールドの代入命令を追記する。
に所定の記述形式(同図の例はXML(Extensible Markup Language)形式)で記述されたファイル(以下、スタブ出力値ファイル191Aと称する。)として出力するようにしてもよい。そのようにすることで、スタブ出力値191を効率よく管理することができ、またスタブ出力値191を効率よく利用することができる。上記所定の記述形式は、HTML(HyperText Markup Language)等の他の記述形式でもよい。
はICカード、SDカード、DVD等の記録媒体に置くことができる。
Claims (11)
- プロセッサ及び記憶装置を有し、
ソースコードについて記号実行を行う記号実行部と、
DAO(Data Access Object)を介してデータベースからデータを取得する関数の呼び出しの記述を含むテスト対象ソースコード、及び、前記関数の戻り値を前記データベースから受け取るDTO(Data Transfer Object)ソースコード、を記憶する記憶部と、
前記DTOソースコードから前記関数の戻り値が格納されるフィールドの情報を取得するDTOソースコード解析部と、
前記テスト対象ソースコードについて、入力値を定義する記述に前記フィールドの情報に対応する変数の記述の追記、ダミー変数への前記フィールドの代入命令の追記、及び、前記関数の呼び出し命令のダミー変数の代入命令への置換、を行うことにより、解析用ソースコードを生成する、解析用ソースコード生成部と、
前記解析用ソースコードを記号実行することにより、前記解析用ソースコードのテストケース毎の前記フィールドに対応する変数の具体値を取得し、前記具体値を前記関数の処理を代行するスタブの出力値とする、スタブ出力値生成部と、
を備える、スタブ生成支援装置。 - 請求項1に記載のスタブ生成支援装置であって、
前記スタブの出力値に基づき前記スタブを生成するスタブ生成部を更に備える、
スタブ生成支援装置。 - 請求項2に記載のスタブ生成支援装置であって、
前記スタブ生成部は、前記スタブの雛型の記述を記憶し、前記雛型の記述に前記スタブの出力値を返す記述を追記することにより前記スタブを生成する、
スタブ生成支援装置。 - 請求項1に記載のスタブ生成支援装置であって、
ファイルシステムを備え、
前記スタブ出力値生成部は、前記テストケース毎に取得される前記フィールドに対応する変数の具体値を、所定の記述言語で記述された1つのファイルにまとめて出力する、
スタブ生成支援装置。 - 請求項1に記載のスタブ生成支援装置であって、
前記解析用ソースコード生成部は、前記テスト対象ソースコードについて、更に、前記ダミー変数への前記フィールドの代入命令の前処理として前記ダミー変数の初期化命令を追記することにより、前記解析用ソースコードを生成する、
スタブ生成支援装置。 - プロセッサ及び記憶装置を有する情報処理装置が、
ソースコードについて記号実行を行うステップ、
DAO(Data Access Object)を介してデータベースからデータを取得する関数の呼び出しの記述を含むテスト対象ソースコード、及び、前記関数の戻り値を前記データベースから受け取るDTO(Data Transfer Object)ソースコード、を記憶するステップ、
前記DTOソースコードから前記関数の戻り値が格納されるフィールドの情報を取得するステップ、
前記テスト対象ソースコードについて、入力値を定義する記述に前記フィールドの情報に対応する変数の記述の追記、ダミー変数への前記フィールドの代入命令の追記、及び、前記関数の呼び出し命令のダミー変数の代入命令への置換、を行うことにより、解析用ソースコードを生成するステップ、
前記解析用ソースコードを記号実行することにより、前記解析用ソースコードのテストケース毎の前記フィールドに対応する変数の具体値を取得し、前記具体値を前記関数の処理を代行するスタブの出力値とするステップ、
を実行する、スタブ生成支援方法。 - 請求項6に記載のスタブ生成支援方法であって、
前記情報処理装置が、
前記スタブの出力値に基づき前記スタブを生成するステップ
を更に実行する、スタブ生成支援方法。 - 請求項7に記載のスタブ生成支援方法であって、
前記情報処理装置が、
前記スタブの雛型の記述を記憶し、前記雛型の記述に前記スタブの出力値を返す記述を追記することにより前記スタブを生成するステップ、
を更に実行する、スタブ生成支援方法。 - 請求項6に記載のスタブ生成支援方法であって、
前記情報処理装置はファイルシステムを備え、
前記情報処理装置が、前記テストケース毎に取得される前記フィールドに対応する変数の具体値を、所定の記述言語で記述された1つのファイルにまとめて出力するステップ、
を更に実行する、スタブ生成支援方法。 - 請求項6に記載のスタブ生成支援方法であって、
前記情報処理装置が、前記テスト対象ソースコードについて、更に、前記ダミー変数への前記フィールドの代入命令の前処理として前記ダミー変数の初期化命令を追記することにより、前記解析用ソースコードを生成するステップ、
を更に実行する、スタブ生成支援方法。 - プロセッサ及び記憶装置を備えた情報処理装置に、
ソースコードについて記号実行を行う機能と、
DAO(Data Access Object)を介してデータベースからデータを取得する関数の呼び出しの記述を含むテスト対象ソースコード、及び、前記関数の戻り値を前記データベースから受け取るDTO(Data Transfer Object)ソースコード、を記憶する機能と、
前記DTOソースコードから前記関数の戻り値が格納されるフィールドの情報を取得する機能と、
前記テスト対象ソースコードについて、入力値を定義する記述に前記フィールドの情報に対応する変数の記述の追記、ダミー変数への前記フィールドの代入命令の追記、及び、前記関数の呼び出し命令のダミー変数の代入命令への置換、を行うことにより、解析用ソースコードを生成する機能と、
前記解析用ソースコードを記号実行することにより、前記解析用ソースコードのテストケース毎の前記フィールドに対応する変数の具体値を取得し、前記具体値を前記関数の処理を代行するスタブの出力値とする機能と、
を実現するためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018028237A JP6983693B2 (ja) | 2018-02-20 | 2018-02-20 | スタブ生成支援装置、スタブ生成支援方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018028237A JP6983693B2 (ja) | 2018-02-20 | 2018-02-20 | スタブ生成支援装置、スタブ生成支援方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019144838A JP2019144838A (ja) | 2019-08-29 |
JP6983693B2 true JP6983693B2 (ja) | 2021-12-17 |
Family
ID=67773820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018028237A Active JP6983693B2 (ja) | 2018-02-20 | 2018-02-20 | スタブ生成支援装置、スタブ生成支援方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6983693B2 (ja) |
-
2018
- 2018-02-20 JP JP2018028237A patent/JP6983693B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019144838A (ja) | 2019-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8667459B2 (en) | Application specific runtime environments | |
JP4148527B2 (ja) | 機能テスト・スクリプト生成装置 | |
US11023654B2 (en) | Analyzing document content and generating an appendix | |
JP6440895B2 (ja) | ソフトウェア分析装置及びソフトウェア分析方法 | |
JP6070847B2 (ja) | 検証方法、検証装置および検証プログラム | |
JP2004362000A (ja) | ウェブアプリケーション開発支援装置、コンポーネント呼び出し監視装置、データ処理方法及びプログラム | |
WO2017034953A1 (en) | System and method for object compression and state synchronization | |
US9715372B2 (en) | Executable guidance experiences based on implicitly generated guidance models | |
US20180181550A1 (en) | Screen information generation device and screen information generation method | |
US11604662B2 (en) | System and method for accelerating modernization of user interfaces in a computing environment | |
WO2020085129A1 (ja) | テストデータ生成装置、テストデータ生成方法及びプログラム | |
JP6983693B2 (ja) | スタブ生成支援装置、スタブ生成支援方法、及びプログラム | |
JP2006350750A (ja) | グリーン調達装置及びグリーン調達処理プログラム | |
US10649743B2 (en) | Application developing method and system | |
US11507639B1 (en) | Methods for identifying recurring web site accessibility issues and devices thereof | |
JP5758311B2 (ja) | テストコード生成装置、テストコード生成方法、テストコード生成プログラム | |
WO2015181876A1 (ja) | システム運用支援方法および計算機 | |
JP6954806B2 (ja) | 不具合検出装置、及び不具合検出方法 | |
CN111310434A (zh) | 文本生成方法和装置、电子设备和存储介质 | |
JP2020101898A (ja) | 設計図作成支援方法、設計図作成支援装置、及び設計図作成支援プログラム | |
Đorđević et al. | Guest file system behavior for type-2 hypervisor-based virtualization in VMware Workstation | |
JP7417068B2 (ja) | 表示方法及び表示プログラム、並びに情報処理装置 | |
JP7059165B2 (ja) | プログラム生成装置、及びプログラム生成方法 | |
JP2010191598A (ja) | 情報処理装置及び情報処理方法及びプログラム | |
Di Cataldo | Stack Frames: A Look from Inside |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210720 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211005 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211020 |
|
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: 20211102 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6983693 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |