JP2013029999A - テストコード生成装置、テストコード生成方法及びテストコード生成プログラム - Google Patents

テストコード生成装置、テストコード生成方法及びテストコード生成プログラム Download PDF

Info

Publication number
JP2013029999A
JP2013029999A JP2011165695A JP2011165695A JP2013029999A JP 2013029999 A JP2013029999 A JP 2013029999A JP 2011165695 A JP2011165695 A JP 2011165695A JP 2011165695 A JP2011165695 A JP 2011165695A JP 2013029999 A JP2013029999 A JP 2013029999A
Authority
JP
Japan
Prior art keywords
test
code
unit
code generation
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.)
Withdrawn
Application number
JP2011165695A
Other languages
English (en)
Inventor
Takeshi Shimizu
健士 清水
Kan Imakire
完 今給黎
Nobuyuki Nishikata
誠行 西形
Takeshi Kimura
壮 木村
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.)
NTT Comware Corp
Original Assignee
NTT Comware 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 NTT Comware Corp filed Critical NTT Comware Corp
Priority to JP2011165695A priority Critical patent/JP2013029999A/ja
Publication of JP2013029999A publication Critical patent/JP2013029999A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】テスト対象プログラムの試験を効率的に行う。
【解決手段】テスト対象プログラムを動作させた結果得られる値の期待値を取得するテストケース取得部331と、取得された期待値とテスト対象プログラムの出力値とを照合した結果を出力するテストコードを生成する生成部340と、を備える。前記テストケース取得部331は、テスト対象プログラムが利用する利用プログラムが保持する情報の期待値を取得し、前記生成部340は、前記テスト対象プログラムを動作させた後に前記利用プログラムが保持する情報と前記取得した期待値とを照合するテストコードを生成する。
【選択図】図2

Description

本発明は、テストコード生成装置、テストコード生成方法及びテストコード生成プログラムに関する。
従来、テスト対象であるテスト対象プログラムのソースコードから入出力変数を解析して、そのプログラムを起動するためのドライバプログラムを自動生成することが行われている。例えば、特許文献1には、テスト対象のモジュールを実際に実行させるテストを行うようにするテスト実行プログラムを自動的に生成するテスト実行プログラム生成部と、上記テスト実行プログラム生成部により生成されたテスト実行プログラムを、独立した別のプロセスとして実行させるようにするためのドライバプログラムを自動的に生成するドライバプログラム生成部と、上記テスト実行プログラムと、上記ドライバプログラムとを合成してテストドライバを生成するプログラム合成部とを具備するドライバ自動生成装置が記載されている。
特開平08−106404号公報
特許文献1に記載のドライバ自動生成装置は、テスト対象プログラムの実行結果が出力されるだけである。そのため、テスト対象プログラムの実行結果が正常であったのか異常であったのかについては、人が判断する必要があり、その判断作業に工数がかかっていた。
また、近年、アプリケーション基盤ソフトウェアを用いた開発が多い。その場合、単純な出力の確認だけでなくアプリケーション基盤ソフトウェアに依存した中間結果などを確認することが必要となるが、それらの情報を確認することが困難である。以上のように、特許文献1に記載のドライバ自動生成装置では、テスト対象プログラムの試験を効率的に行うことができなかった。
そこで本発明は、上記問題に鑑みてなされたものであり、テスト対象プログラムの試験を効率的に行うことを可能とするテストコード生成装置、テストコード生成方法及びテストコード生成プログラムを提供することを課題とする。
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、テスト対象プログラムを動作させた結果得られる値の期待値を取得する取得部と、前記取得された期待値とテスト対象プログラムを動作させた結果得られた値とを照合するテストコードを生成する生成部と、を備えることを特徴とするテストコード生成装置である。
本発明の一態様は、上記のテストコード生成装置において、前記取得部は、テスト対象プログラムが利用する利用プログラムが保持する情報の期待値を取得し、前記生成部は、前記テスト対象プログラムを動作させた後に前記利用プログラムが保持する情報と前記取得した期待値とを照合するテストコードを生成することを特徴とする。
本発明の一態様は、上記のテストコード生成装置において、前記利用プログラムは、複数の前記テスト対象プログラムにより共通して使用されるアプリケーション基盤プログラムであることを特徴とする。
本発明の一態様は、上記のテストコード生成装置において、前記テスト対象プログラムを取得するテスト対象プログラム取得部と、前記取得されたテスト対象プログラムに基づいて、該テスト対象プログラムの属性を判定する属性判定部と、前記判定された属性に応じて、予め決められた比較項目のうちから前記テストコードが前記期待値と前記テスト対象プログラムを動作させた結果得られた値との照合を行う比較項目を取得する比較項目取得部と、前記比較項目の編集画面を表示する表示部と、前記表示部に表示された前記編集画面において前記取得された比較項目を選択可能に表示させる表示制御部と、を備えることを特徴とする。
本発明の一態様は、上記のテストコード生成装置において、テストコード生成に必要な必要情報に不備があるか否か判定する不備判定部と、前記不備判定部により不備があると判定された場合、修正すべき箇所を取得する修正箇所取得部と、を備え、前記表示制御部は、前記表示部に前記取得された修正すべき箇所を表示させることを特徴とする。
本発明の一態様は、テストコード生成装置が実行するテストコード生成方法であって、テスト対象プログラムを動作させた結果得られる値の期待値を取得する取得手順と、前記取得された期待値とテスト対象プログラムを動作させた結果得られた値とを照合するテストコードを生成する生成手順と、を有することを特徴とするテストコード生成方法である。
本発明の一態様は、コンピュータに、テスト対象プログラムを動作させた結果得られる値の期待値を取得する取得ステップと、前記取得された期待値とテスト対象プログラムを動作させた結果得られた値とを照合するテストコードを生成する生成ステップと、を実行させるためのテストコード生成プログラムである。
本発明によれば、テスト対象プログラムの試験を効率的に行うことができる。
本実施形態におけるテスト実行システムの概略ブロック図である。 本実施形態におけるテストコード生成装置の概略ブロック図である。 記憶部に記憶されている選択可能な比較項目のテーブルT1の一例である。 テストケース編集画面において比較項目が選択可能であることが示された図である。 テストケース編集画面において比較項目が切り替わった場合に、ユーザが入力すべき項目が切り替わる一例を示した図である。 記憶部に記憶されている修正すべき箇所と不備の原因と不備のある入力箇所とが関連付けられたテーブルT2の一例である。 修正すべき箇所がマウスで左クリックされた場合の表示制御部の処理を説明するための図である。 本実施形態における生成部の論理的な構成を示す概略ブロック図である。 テストケースに含まれるテスト内容の一例である。 テストケースに含まれるモック情報の一例である。 関数宣言コード生成部により出力されるコードの一例である。 モックコード生成部により出力されるコードの一例である。 設定コード生成部により出力されるコードの一例である。 実行コード生成部により出力されるコードの一例である。 比較コード生成部により出力されるコードの一例である。 比較項目存在判定部から1回戻った後に比較コード生成部が出力するコードの一例である。 比較項目存在判定部から2回戻った後に比較コード生成部が出力するコードの一例である。 本実施形態におけるテストコード生成装置の処理の流れを示すフローチャートである。 図18のステップS104のテストコード生成の処理の流れを示すフローチャートである。
以下、本発明の実施形態について、図面を参照して詳細に説明する。図1は、本実施形態におけるテスト実行システム1の概略ブロック図である。テスト実行システム1は、テストコード生成装置100と、テストコード記憶部200と、テスト実行装置300とを備える。
テストコード生成装置100は、テスト対象であるテスト対象プログラムが利用する利用プログラムの一例であるアプリケーション基盤ソフトウェア(アプリケーション基盤プログラムともいう。以下、AP基盤ソフトと称す)が保持する情報の期待値を取得する。ここで、AP基盤ソフトは、複数のテスト対象プログラムにより共通して使用されるソフトウェアであって、複数のテスト対象プログラムに共通する利用環境を提供するソフトウェアである。AP基盤ソフトは、例えば、必要最小限の実装でアプリケーションの処理を実現するために、共通する機能やよく利用される機能をまとめて提供するアプリケーションサーバやフレームワークである。
そして、テストコード生成装置100は、テスト対象プログラムを動作させた後にAP基盤ソフトが保持する情報と取得した期待値とを照合するテストコードTCを生成する。そして、生成したテストコードTCをテストコード記憶部200に記憶させる。これにより、テストコード記憶部200には、テストコードTCが記憶される。
テスト実行装置300は、プログラム記憶部301と、テスト実行部302と、テスト結果記憶部303とを備える。プログラム記憶部301には、テスト対象プログラムとAP基盤ソフトとが記憶されている。プログラム記憶部301において、AP基盤ソフトが保持する情報が格納されている格納場所が予め決められている。
テスト実行部302は、テストコード記憶部200からテストコードTCを読み出し、読み出したテストコードTCを実行する。テスト実行部302は、テストコードTCを実行する過程で、プログラム記憶部301からテスト対象プログラムを読み出し、読み出したテスト対象プログラムを実行する。テスト実行部302は、テスト対象プログラムを動作させた結果得られた値が期待値と完全に一致した場合は正常、それ以外の場合は異常と判定する。そして、テスト実行部302は、テスト対象プログラムの名称とともにテスト結果(正常又は異常)を、テスト結果記憶部303に保存する。
テスト結果記憶部303には、テスト対象プログラムの名称及びテスト結果(正常又は異常)が保存される。
上述したように、プログラム記憶部301において、AP基盤ソフトが保持する情報が格納されている格納場所が予め決められている。そのため、テストコード実行装置300は、生成されたテストコードを実行する際に、AP基盤ソフトが保持する情報が格納されている格納場所を参照することにより、AP基盤ソフトが保持する情報を取得することができる。その結果、テストコード実行装置300は、テスト対象プログラムを動作させた後にAP基盤ソフトが保持する情報と取得した期待値とを照合した結果を得ることができる。
これにより、ユーザは、AP基盤ソフトが保持する情報にアクセスする処理に関するテスト対象プログラムをテストする場合にも、簡単にAP基盤ソフトが保持する情報が正しいか否か確認することができる。
図2は、本実施形態におけるテストコード生成装置100の概略ブロック図である。テストコード生成装置100は、記憶部10と、入力部20と、制御部30と、表示部40とを備える。また、制御部30は、比較項目絞り込み部310と、テストケース編集部320と、前処理部330と、生成部340と、表示制御部350とを備える。
記憶部10には、選択可能な比較項目がテスト対象プログラムの属性(ACTION、EJB、UTIL又はDAO)毎に記憶されている(図3参照)。ここで、比較項目とは、入力部20により受け付けられた期待値と、テスト対象プログラムを実行した結果とを比較する項目である。また、ACTIONは、画面の操作によって起動される処理を行うプログラムである。EJBは、Enterprise Jave Beansの略であり、特定の業務の処理を行うプログラムである。UTILは、ユーティリティプログラムである。DAOは、Data Access Objectの略であり、データベースにアクセスするために用いられるプログラムである。
図3は、記憶部10に記憶されている選択可能な比較項目のテーブルT1の一例である。同図のテーブルT1において、テスト対象プログラムの属性毎に、選択可能な比較項目が示されている。同図のテーブルT1において、1が選択可能で、0が選択不可を示している。具体的には、例えば、テスト対象プログラムの属性がACTIONの場合、全ての比較項目が選択可能である。
テーブルT1の1行目における「戻り値」は、戻り値として返却される値を確認したい場合に選択される比較項目である。テーブルT1の2行目における「メソッド」は、テスト対象クラスの指定したメソッドを実行したときの戻り値を確認したい場合に選択される比較項目である。テーブルT1の3行目における「例外」は、返却される例外を確認したい場合に選択される比較項目である。
テーブルT1の4行目における「メッセージ付き例外」は、返却される例外にメッセージがついていた場合に選択される比較項目である。テーブルT1の5行目における「DBのテーブル」は、試験終了時のデータベース(DB)のテーブルの状態を確認したい場合に選択される比較項目である。例えば、INSERT分やUPDATE文、DELETE文などを実行するとDBの内容が書き換わるメソッドのテストの場合にこの比較項目が選択される。
テーブルT1の6行目における「遷移先情報」は、遷移先ステータスを確認したい場合に選択される比較項目である。テーブルT1の7行目又は8行目における「セッション」又は「リクエスト」は、テスト対象プログラムがACTIONクラスのexcuteメソッドを実行した結果、それぞれセッション情報又はリクエスト情報に格納される情報を確認したい場合に選択される比較項目である。
テーブルT1の9行目又は10行目における「ACTIONメッセージ」又は「ACTIONエラーメッセージ」は、テスト対象プログラムがACTIONクラスのexcuteメソッドを実行した結果、格納されるメッセージ又はエラーメッセージをそれぞれ確認したい場合に選択される比較項目である。
図2に戻って、記憶部10には、テスト対象プログラムの属性毎に、当該テスト対象プログラムのテストに必要な情報(以下、テストケースと称す)を入力するためのテンプレートが記憶されている。また、記憶部10には、クラスの基礎となる基礎クラスが記憶されており、基礎クラスの名前と属性とが関連付けられて記憶されている。
入力部20は、例えば、マウスとキーボードである。入力部20は、テスト対象プログラムのファイル(以下、対象プログラムファイルと称す)を受け付け、受け付けた対象プログラムファイルを比較項目絞り込み部310のテスト対象プログラム取得部311に出力する。
比較項目絞り込み部310は、テスト対象プログラム取得部311と、属性判定部312と、比較項目取得部313とを備える。テスト対象プログラム取得部311は、入力部20から入力された対象プログラムファイルからそのテスト対象プログラムのソースコードを取得し、取得したテスト対象プログラムのソースコードを属性判定部312に出力する。
属性判定部312は、テスト対象プログラム取得部311から入力されたテスト対象プログラムのソースコードに基づいて、そのテスト対象プログラムの属性を抽出する。具体的には、例えば、属性判定部312は、テスト対象プログラムのソースコードからクラスを抽出する。そして、属性判定部312は、抽出したクラスが基づいている基礎クラスを参照する。そして、属性判定部312は、参照した基礎クラスの名前が関連付けられている属性を読み出す。以上の処理により、属性判定部312は、テスト対象プログラムの属性を抽出する。
また、属性判定部312は、テスト対象プログラムのソースコードからテスト対象プログラムのメソッド名を抽出する。
属性判定部312は、判定した属性を示す属性情報とテスト対象プログラムのメソッド名を比較項目取得部313に出力する。
比較項目取得部313は、属性判定部312により判定された属性に応じて、予め決められた比較項目のうちからテストコードが期待値とテスト対象プログラムを動作させた結果得られた値との照合を行う比較項目を取得する。
具体的には、例えば、比較項目取得部313は、属性判定部312から入力された属性情報が示す属性が選択可能な比較項目を記憶部10から読み出す。例えば、図3の一例では、属性がDAOの場合、比較項目取得部313は、その値が1である比較項目である「戻り値」、「メソッド」、「例外」、「メッセージ付き例外」及び「DBのテーブル」を選択可能な比較項目として記憶部10から読み出す。
また、比較項目取得部313は、属性判定部312から入力された属性情報が示す属性に対応するテンプレートを記憶部10から読み出す。
比較項目取得部313は、読み出した比較項目及びテンプレートと、属性判定部312から入力されたテスト対象プログラムのメソッド名を表示制御部350に出力する。
表示制御部350は、比較項目取得部313から入力された選択可能な比較項目とテンプレートとを用いて、テンプレートにおける比較項目において、入力された比較項目のみを選択可能となるようテストケース編集画面を表示部40に表示させる。
また、表示制御部350は、そのテストケース編集画面において、テスト対象プログラムのメソッド名、テスト対象プログラムの実行に必要な入力値及びテスト対象プログラムの実行の結果得られる期待値等を入力させる欄を表示部40に表示させる。
図4は、テストケース編集画面において比較項目が選択可能であることが示された図である。同図は、テスト対象プログラムの属性がACTIONの場合の例である。同図において、テストケース編集画面の一部R40の領域R41において、比較項目が選択可能に表示されている。
図5は、テストケース編集画面において比較項目が切り替わった場合に、ユーザが入力すべき項目が切り替わる一例を示した図である。同図には、テストケース編集画面の一部R50と、そのテストケース編集画面の一部R50の比較項目が「6.遷移先情報」から「8.リクエスト」に切り替える操作をしている図R52と、テストケース編集画面の一部R50の比較項目が「8.リクエスト」に切り替わった後のテストケース編集画面の一部R54とが示されている。
比較項目が「6.遷移先情報」の場合には、テストケース編集画面の一部R50における入力すべき項目は、「期待する値」の欄R51のみである。一方、比較項目が「8.リクエスト」に切り替わった場合には、テストケース編集画面の一部R54における入力すべき項目は、「キー名」の欄R55、「期待する値の型」の欄R56及び「期待する値」の欄R57の3つに増加している。
このように、表示制御部350は、比較項目が切り替わった場合に、その比較項目に応じて、入力すべき項目を切り替えて表示部40に表示させる。
図2に戻って、入力部20は、ユーザにより入力されたテストケースを受け付け、受け付けたテストケースをテスト編集部320に出力する。ここで、テストケースは、例えば、テストの説明、テスト対象プログラムに与えられる入力値及びテスト対象プログラムの実行の結果得られる値の期待値等である。
テスト編集部320は、ユーザによるテストケースの入力が終了した場合、入力部20から入力されたテストケースが含まれるテストケースファイルを記憶部10に記憶させる。
また、記憶部10には、テストコード生成に必要な必要情報に含まれる項目毎に、各項目が正しいか否か判定する指標が記憶されている。
また、記憶部10には、修正すべき箇所と不備の原因と不備のある入力箇所とが関連付けられて記憶されている。
図6は、記憶部10に記憶されている修正すべき箇所と不備の原因と不備のある入力箇所とが関連付けられたテーブルT2の一例である。同図において、不備を識別する不備id、修正すべき箇所、不備の原因、不備のある入力箇所の各組が示されている。例えば、不備idが「1」の場合、修正すべき箇所が「キー名」で、不備の原因が「「キー名」は存在しません」で、不備のある入力箇所が「期待値/キー名」であることが示されている。
図2に戻って、前処理部330は、テストケース取得部(取得部)331と、必要情報抽出部332と、不備判定部333と、修正箇所取得部334とを備える。テストケース取得部331は、記憶部10からテストケースファイルを読み出し、読み出したテストケースファイルに含まれるテストケースを必要情報抽出部332に出力する。すなわち、テストケース取得部(取得部)331は、テスト対象プログラムを動作させた結果得られる値の期待値を取得する。より詳細には、テストケース取得部(取得部)331は、テスト対象プログラムが利用する利用プログラム(例えば、アプリケーション基盤プログラム)が保持する情報の期待値を取得する。
必要情報抽出部332は、テストケース取得部331から入力されたテストケースから、予め決められたテストコード生成に必要な必要情報を抽出する。必要情報抽出部332は、抽出した必要情報を不備判定部333に出力する。
不備判定部333は、必要情報抽出部332から入力された必要情報に不備があるか否か判定する。具体的には、例えば、不備判定部333は、必要情報に含まれる各項目が正しいか否か判定する指標を記憶部10から読み出し、読み出した指標に基づいて、入力された必要情報に不備があるか否か判定する。
不備判定部333により入力された必要情報に不備があると判定した場合、不備判定部333は、上述の指標と不備がある項目とを修正箇所取得部334に出力する。
修正箇所取得部334は、不備判定部333から入力された不備がある項目と上述の指標とを比較することにより、修正すべき箇所と不備の原因を取得する。そして、修正箇所取得部334は、修正すべき箇所と不備の原因とに関連付けられたテストファイルケース中の不備のある入力箇所を記憶部10のテーブルT2から読み出す。
修正箇所取得部334は、修正すべき箇所と不備の原因と、読み出したテストファイルケース中の不備のある入力箇所とを表示制御部350に出力する。
表示制御部350は、入力された修正すべき箇所と不備の原因とを表示部40に表示させる。その際に、表示制御部350は、修正すべき箇所をリンク付きで表示し、そのリンク先として、テストケースファイル中の不備のある入力箇所を設定する。
ユーザにより修正すべき箇所がマウスで左クリックされた場合、入力部20は修正すべき箇所が左クリックされた旨を表示制御部350に出力する。表示制御部350は、修正すべき箇所が左クリックされた旨を受け取ると、テストケースファイルを開き、そのリンク先として指定されたテストケースファイル中の不備のある入力箇所を入力が受け付けられる状態で表示部40に表示させる。
図7は、修正すべき箇所がマウスで左クリックされた場合の表示制御部350の処理を説明するための図である。同図において、テストケースの不備が表示されているウィンドウW70と、そのウィンドウW70内の「期待する値」が左クリックされた場合に開かれるテストケースファイルのウィンドウW74とが示されている。
ウィンドウW70内には、修正すべき箇所を表示する欄R71と不備の原因を表示する欄R72とが示されている。ここでは、修正すべき箇所として「期待する値」、それに対応する不備の原因として「期待する値が存在しません」とが示されている。カーソルA73が「期待する値」という文字列L711の上にあるときに、マウスが左クリックされた場合、表示制御部350は、テストケースファイルのウィンドウW74を開く。
そして、表示制御部350は、ウィンドウW74で期待値の項目R75のうち、「期待する値」の入力欄R76を入力が受け付けられる状態で表示部40に表示させる。
図2に戻って、不備判定部333は、必要情報に不備がないと判定した場合、必要情報を生成部340に出力する。
生成部340は、不備判定部333から入力された必要情報に基づいて、テストコードTCを生成し、生成したテストコードTCをテストコード記憶部200に記憶させる。すなわち、生成部340は、取得部331により取得された期待値とテスト対象プログラムを動作させた結果得られた値とを照合するテストコードを生成する。より詳細には、生成部340は、テスト対象プログラムを動作させた後に利用プログラム(例えば、アプリケーション基盤プログラム)が保持する情報と取得した期待値とを照合するテストコードを生成する。
図8は、本実施形態における生成部340の論理的な構成を示す概略ブロック図である。生成部340は、テストケース読出部341と、関数宣言コード生成部342と、モックコード生成部343と、設定コード生成部344と、実行コード生成部345と、比較コード生成部346と、比較項目存在判定部347とを備える。
テストケース読出部341は、不備判定部333から入力された必要情報からコードを生成するための情報を取得する。
ここで、テストケース読出部341は、コメント取得部341_1と、モック取得部341_2と、入力値取得部341_3と、期待値取得部341_4とを備える。
図9は、テストケースに含まれるテスト内容の一例である。同図において、テスト内容が設定されていることが示されている。すなわち、項番は「NO1」で、試験内容が「登録に失敗した場合の試験です。」で、前提条件が「なし。」、入力値の説明は「Bookのインスタンス。」で、期待値の説明が「正常な遷移先、入力した書籍情報、画面メッセージ
」であることが示されている。
モックは、テスト対象プログラムが行う処理を確認するために、その処理に必要な処理結果を返すような動作させるものである。テスト対象プログラムが依存する処理を置き換えるクラスを作成するためのモック設定情報として、モック名、モックが返す戻り値及びモックが返す例外がある。ここで、モックが返す戻り値及びモックが返す例外は、後述する図10のモック情報で定義されている処理が行われた場合に、それぞれモックが返す戻り値及びモックが返す例外である。ここで、モック情報は、テスト対象プログラムが依存する処理を置き換える処理の定義を与える情報である。
同図において、モック名が「service1」で、モックが返す戻り値が「%list1%」で、モックが返す例外がないことが示されている。
入力値は、値が「%form1%」であることが示されている。比較項目として、「6.遷移先情報」、「7.セッション」及び「9.ACTIONメッセージ」が示されている。上述の通り、遷移先情報R171は、画面遷移先情報を意味する。AP基盤ソフトには、画面遷移先情報に応じて表示する画面を切り替える機能が用意されている。
セッションは、セッション情報を意味する。AP基盤ソフトには、サーバ内でクライアント毎に情報を保持する領域が用意されている。ACTIONメッセージは、画面出力メッセージの1つである。AP基盤ソフトには、画面に出力するメッセージを設定すると、所定の画面の場所にメッセージを出力する機能が用意されており、処理条件に応じて画面出力メッセージを動的に切り替えることができる。
期待値は、比較項目が「遷移先情報」である場合、期待する値が「success」であることが示されている。また、比較項目が「セッション」である場合、キー名が「bookList」で、期待する値の型が「ArrayList<Book>」で、期待する値が「%list1%」であることが示されている。
また、比較項目が「Actionメッセージ」である場合、キー名が「APMSG−0001」で、期待する値の型が「String」で、期待する値が「Success!」であることが示されている。
図10は、テストケースに含まれるモック情報の一例である。同図において、モック名が「service1」で、モックとして用いるクラスのクラス名が「BookManagerServiceBean」で、そのクラスに呼び出されるメソッドのメソッド名が「entryBook」で、そのメソッドの引数の型が「Book」で、メソッドの戻り値の型が「List<Book>」で、そのメソッドの例外クラス名が「ManagerException」であることが示されている。
テストコード生成装置100は、図10のモック情報と図9のテスト内容に含まれるモック設定情報とに基づいて、テスト対象プログラム依存する処理を置き換える。
以下、テストケースとして、図9のテスト内容と図10のモック情報とが与えられた場合を一例として、生成部340の各部の処理について説明する。
コメント取得部341_1は、必要情報から関数の名前を決めるために用いる項番を取得する。コメント取得部341_1は、不備判定部333から入力された必要情報から関数の説明を記載するための試験内容、前提条件、入力値の説明、期待値の説明を取得する。
具体的には、例えば、コメント取得部341_1は、図9に示された項番、試験内容、前提条件、入力値の説明、期待値の説明を取得する。コメント取得部341_1は、取得したこれらのコメント情報を関数宣言コード生成部342に出力する。
モック取得部341_2は、不備判定部333から入力された必要情報からモックコードを生成するために用いるモック情報を取得する。具体的には、例えば、モック取得部341_2は、図10に示されたモック情報を取得する。モック取得部341_2は、取得したモック情報をモック生成部343に出力する。
入力値取得部341_3は、不備判定部333から入力された必要情報から設定コードを生成するために用いる入力値を取得する。具体的には、例えば、入力値取得部341_3は、図9に示された入力値を取得する。入力値取得部341_3は、取得した入力値を示す入力値情報を設定コード生成部344に出力する。
期待値取得部341_4は、不備判定部333から入力された必要情報から比較コードを生成するために用いる期待値を取得する。具体的には、例えば、期待値取得部341_4は、図9に示された「6.遷移先情報」に関連付けられた期待する値「success」を取得する。また、期待値取得部341_4は、図9に示された「7.セッション」に関連付けられたキー名「bookList」と期待する値の型「ArrayList<Book>」と期待する値「%list1%」とを取得する。
また、期待値取得部341_4は、図9に示された「9.Actionメッセージ」に関連付けられたキー名「APMSG−0001」と期待する値の型「String」と期待する値「Success!」とを取得する。
期待値取得部341_4は、取得した期待値を示す期待値情報を比較コード生成部346に出力する。
関数宣言コード生成部342は、コメント取得部341_1から入力されたコメント情報が示すコメントに基づいて、関数を宣言する関数宣言コードと、その関数の説明を示すコメントとを生成する。具体的には、例えば、関数宣言コード生成部342は、コメント情報が示す図9の項番、試験内容、前提条件、入力値の説明及び期待値の説明を用いて、図11に示されるコードを生成する。
図11は、関数宣言コード生成部342により出力されるコードの一例である。同図において、コードブロックC121と、コードブロックC122とが示されている。コードブロックC121の1行目は、RunWithアノテーションを宣言するRunWithアノテーションコードである。コードブロックC121の2行目は、クラスを宣言するクラス宣言コードである。
コードブロックC121の3行目から9行目までは、関数の説明を示すコメント文である。このコメント文は、それぞれ図9の試験内容、前提条件、入力値の説明及び期待値の説明に対応している。なお、この部分はコメントアウトされており、テストコードが実行されるときには、この部分は無視される。
コードブロックC121の10行目は、Testアノテーションを宣言するTestアノテーションコードである。コードブロックC121の11行目は、関数宣言コードである。11行目の「testExecuteNoNO1()」の「NO1」は、図9の項番に対応している。
図11の例において、関数宣言コード生成部342は、1行目のRunWithアノテーションコードを生成する。次に、関数宣言コード生成部342は、2行目のクラス宣言コードを生成する。次に、関数宣言コード生成部342は、図9の試験内容、前提条件、入力値の説明及び期待値の説明を参照して、3行目から9行目までのコメント文を生成する。次に、関数宣言コード生成部342は、10行目のTestアノテーションコードを生成する。次に、関数宣言コード生成部342は、図9の項番を参照して、11行目の関数宣言コードを生成する。
関数宣言コード生成部342は、生成したコードをモックコード生成部343に出力する。
モックコード生成部343は、モック取得部341_2から入力されたモック情報に基づいて、モックコードを生成する。具体的には、例えば、モックコード生成部343は、モック情報が示す図9のモック名、戻り値及び例外と図10のモック情報とに基づいて、図12に示されるモックコードを生成する。
図12は、モックコード生成部343により出力されるコードの一例である。同図において、コードブロックC121、C122、C131及びC132が示されている。コードブロックC121及びC122におけるコードは、関数宣言コード生成部342から入力されたコードであるが、図11のコードと同一であるのでそのコードを省略する。コードブロックC131及びC132におけるコードは、モックコード生成部343により生成されたコードであり、実線で囲われている。以後の図では、その時点で生成したコードを実線で囲み、それまでに既に生成されたコードは省略し、破線で囲む。
コードブロックC131は、テスト対象コードが依存する処理を置き換えるコードである。モックコード生成部343は、図10のモックにするクラス名「BookManagerServiceBean」と、モック情報の戻り値の値「List<Book>」と、例外クラス名「ManagerException」とに基づいて、コードブロックC131のコードを生成する。
コードブロックC132は、現在効果があるモックを廃棄するコードである。モックコード生成部343は、図10のモックにするクラス名「BookManagerServiceBean」に基づいて、コードブロックC132のコードを生成する。
モックコード生成部343は、生成したモックコードを関数宣言コード生成部342から入力されたコードに挿入する。そして、モックコード生成部343は、挿入により変更したコードを設定コード生成部344に出力する。
設定コード生成部344は、入力値取得部341_3から入力された入力値情報が示す入力値に基づいて、設定コードを生成する。具体的には、例えば、設定コード生成部344は、入力値情報が示す図9の入力値に基づいて、図13に示される設定コードを生成する。
図13は、設定コード生成部344により出力されるコードの一例である。同図において、コードブロックC121、C122、C131、C132及びC140が示されている。コードブロックC121、C122、C131及びC132のコードは、モックコード生成部343から入力されたコードであるが、図12のコードと同一であるのでそのコードを省略する。コードブロックC140のコードは、設定コード生成部344により生成されたコードであり、入力値を設定する設定コードである。
設定コード生成部344は、図9の入力値「%form1%」に基づいて、コードブロックC140のコードを生成する。そして、設定コード生成部344は、生成したコードをモックコード生成部343から入力されたコードに挿入する。そして、設定コード生成部344は、挿入により変更したコードを実行コード生成部345に出力する。
実行コード生成部345は、テスト対象プログラムを実行する実行コードを生成する。具体的には、例えば、実行コード生成部345は、図14に示される実行コードを生成する。
図14は、実行コード生成部345により出力されるコードの一例である。同図において、コードブロックC121、C122、C131、C132、C140及びC150が示されている。コードブロックC121、C122、C131、C132及びC140のコードは、設定コード生成部344から入力されたコードであるが、図13のコードと同一であるのでそのコードを省略する。コードブロックC150のコードは、実行コード生成部345により生成されたコードであり、テスト対象プログラムを実行する実行コードである。
実行コード生成部345は、生成した実行コードを設定コード生成部344から入力さされたコードに挿入する。実行コード生成部345は、挿入により変更したコードを比較コード生成部346に出力する。
比較コード生成部346は、期待値341_4から入力された期待値情報が示す期待値に基づいて、比較コードを生成する。具体的には、例えば、比較コード生成部346は、期待値情報が示す図9の期待値に基づいて、図15中に示される設定コードを生成する。
図15は、比較コード生成部346により出力されるコードの一例である。同図において、コードブロックC121、C122、C131、C132、C140、C150及びC160が示されている。コードブロックC121、C122、C131、C132、C140及びC150のコードは、実行コード生成部345から入力されたコードであるが、図14のコードと同一であるのでそのコードを省略する。コードブロックC160のコードは、比較コード生成部346により生成されたコードであり、ページ遷移が正しく行われたかを確かめるコードである。
比較コード生成部346は、図9の比較項目における遷移先情報とその遷移先情報の期待する値「success」とに基づいて、コードブロックC160のコードを生成する。
比較コード生成部346は、生成した比較コードを実行コード生成部345から入力さされたコードに挿入する。比較コード生成部346は、挿入により変更したコードを比較項目存在判定部347に出力する。
続いて、比較項目存在判定部347は、比較コードを生成していない比較項目がまだ存在するか否か判定する。比較コードを生成していない比較項目がまだ存在する場合、生成部340は、比較コード生成部346の処理に戻る。比較コードを生成していない比較項目がもう存在しない場合、比較項目存在判定部347は、比較コード生成部346から入力されたコードをテストコードTCとして、テストコード記憶部200に記憶させる。
図15に示されたコードでは、図9の比較項目のうち「リクエスト」の比較コードを生成していないので、比較項目存在判定部347は、比較項目が存在すると判定する。そして、生成部340は、比較コード生成部346の処理に戻る。次に、比較コード生成部346は、図16中に示されるリクエスト情報の比較コードを生成する。
図16は、比較項目存在判定部347から1回戻った後に比較コード生成部346が出力するコードの一例である。同図において、コードブロックC121、C122、C131、C132、C140、C150、C160及びC170が示されている。コードブロックC121、C122、C131、C132、C140、C150及びC160のコードは、比較コード生成部346から1回目に出力されたコードであるが、図15のコードと同一であるのでそのコードを省略する。コードブロックC170のコードは、比較項目存在判定部347から1回戻った後に比較コード生成部346が生成したコードであり、比較項目「セッション」の期待値と実際の値とを比較する比較コードである。
比較コード生成部346は、コードブロックC170の1行目において、比較項目「セッション」の「キー名」に基づいて、実際の値を取得するコードを生成する。比較コード生成部346は、コードブロックC170の2行目から4行目において、比較項目「セッション」の「期待する値の型」と「期待する値」に基づいて、期待値を取得するコードを生成する。そして、比較コード生成部346は、コードブロックC170の5行目において、比較項目「セッション」の期待値と実際の値とを比較するコードを生成する。
すなわち、比較コード生成部346は、セッションに格納されているすべての情報を一律照合するのではなく、キー名の値(キー情報とも称す)とそのキー名の値の期待値とを比較した結果を出力するテストコードを生成する。これにより、ユーザは、テストコードを実行することにより、セッションに格納されている個別のキー情報が正しいか否かを確認することができる。
比較コード生成部346は、生成したコード(例えば、コードブロックC170のコード)を比較コード生成部346が1回目に出力したコードに挿入する。比較コード生成部346は、挿入により変更したコードを比較項目存在判定部347に出力する。
図17は、比較項目存在判定部347から2回戻った後に比較コード生成部346が出力するコードの一例である。同図において、コードブロックC121、C122、C131、C132、C140、C150、C160、C170及びC180が示されている。コードブロックC121、C122、C131、C132、C140、C150、C160及びC170のコードは、比較項目存在判定部347から2回戻った後に比較コード生成部346が出力したコードであるが、図16のコードと同一であるのでそのコードを省略する。コードブロックC180のコードは、比較コード生成部346により生成されたコードであり、比較項目「セッション」の期待値と実際の値とを比較する比較コードである。
比較コード生成部346は、コードブロックC180の1行目において、比較項目「ACTIONメッセージ」の「キー名」に基づいて、キー名を代入するコードを生成する。比較コード生成部346は、コードブロックC180の2行目において、比較項目「ACTIONメッセージ」の「期待する値の型」と「期待する値」とに基づいて、期待値を代入するコードを生成する。そして、比較コード生成部346は、コードブロックC180の3行目において、比較項目「ACTIONメッセージ」の期待値と実際の値とを比較するコードを生成する。
すなわち、比較コード生成部346は、そのACTIONメッセージが期待する値となっているか否かを出力するテストコードを生成する。これにより、ユーザは、テストコードを実行することにより、ACTIONメッセージが正しいか否かを確認することができる。
比較コード生成部346は、生成したコード(例えば、コードブロックC180のコード)を比較コード生成部346が2回目に出力したコードに挿入する。比較コード生成部346は、挿入により変更したコードを比較項目存在判定部347に出力する。
なお、本実施形態では、テスト対象プログラムが利用する利用プログラムの例としてAP基盤ソフトを説明したが、これに限らず、利用プログラムは、複数のテスト対象プログラムにより共通して使用されるプログラムであり、テスト対象プログラムに共通する利用環境を提供するものであればよい。
図18は、本実施形態におけるテストコード生成装置の処理の流れを示すフローチャートである。まず、テストケース取得部331は、記憶部10からテストケースファイルを読み出す(ステップS101)。次に、必要情報抽出部332は、読み出したテストケースファイルに含まれるテストケースからテストコード生成に必要な必要情報を抽出する(ステップS102)。
次に、不備判定部333は、必要情報に不備があるか否か判定する(ステップS103)。必要情報に不備がある場合(ステップS103 YES)、表示制御部350は、修正箇所取得部334により取得された修正すべき箇所と不備の原因とを表示させる(ステップS105)。
次に、表示制御部350は、修正すべき箇所に付されたリンクが押されたか否か判定する(ステップS106)。修正すべき箇所に付されたリンクが押された場合(ステップS106 YES)、表示制御部350は、テストケースファイルを開き、テストケースファイル中の不備のある入力箇所を入力が受け付けられる状態で表示させる(ステップS107)。制御部30は、テストコード生成を再度指示する旨が入力されたか否か判定する(ステップS108)。
テストコード生成を再度指示する旨が入力された場合(ステップS108 YES)、制御部30は、ステップS101の処理に戻る。
一方、ステップS103において、必要情報に不備がない場合(ステップS103 NO)、生成部340は、テストコードを生成する(ステップS104)。以上で、本フローチャートの処理を終了する。
図19は、図18のステップS104のテストコード生成の処理の流れを示すフローチャートである。まず、コメント取得部341_1は、必要情報からコメントを取得する(ステップS201)。次に、関数宣言コード生成部342は、コメントに基づいて、関数宣言コードを生成する(ステップS202)。
次に、モック取得部341_2は、必要情報からモック情報を取得する(ステップS203)。次に、モックコード生成部343は、モック情報に基づいて、モックコードを生成する(ステップS204)。
次に、入力値取得部341_3は、必要情報から入力値を取得する(ステップS205)。次に、設定コード生成部344は、入力値に基づいて、設定コードを生成する(ステップS206)。次に、実行コード生成部345は、実行コードを生成する(ステップS207)。
次に、期待値取得部341_4は、必要情報から期待値を取得する(ステップS208)。次に、比較コード生成部346は、期待値に基づいて、比較コードを生成する(ステップS209)。次に、比較項目存在判定部347は、比較コードを生成していない比較項目がまだ存在するか否か判定する(ステップS210)。
比較項目存在判定部347が比較コードを生成していない比較項目がまだ存在すると判定した場合(ステップS210 YES)、生成部340は、ステップS209の処理に戻る。一方、比較項目存在判定部347が比較コードを生成していない比較項目がもう存在しないと判定した場合(ステップS210 NO)、比較項目存在判定部347は、生成したテストコードTCをテストコード記憶部200に記憶させる(ステップS211)。以上で、本フローチャートの処理を終了する。
<効果>
本実施形態におけるテストコード生成装置100は、テスト対象プログラムの処理が正常に終了したかどうかだけではなく、テスト対象プログラムの出力値と期待値とを照合した結果を出力するテストコードを生成する。そして、テスト実行装置300は、生成されたテストコードを実行する。これにより、ユーザは、テスト対象プログラムが正しく動作したか否かの結果を知ることができる。ゆえに、テストコード生成装置100は、ユーザによる動作確認作業の効率を向上させることができる。
また、本実施形態のテストコード生成装置100により生成されるテストコードは、テスト対象プログラムを実行した際の実際の値と期待値との照合を行うので、テストコード生成装置100は、これまで人が行っていた照合における判断ミス及び見落としを軽減し、テストの確実性を高めることができる。
本実施形態におけるテストコード生成装置100は、テスト対象プログラムの戻り値が正しいか否かの結果だけでなく、テスト対象プログラムの中間結果が正しいか否かの結果を示すテストコードを生成する。これにより、ユーザは、テスト実行装置300により生成されたテストコードが実行されることにより、テスト対象プログラムの中間結果が正しいか否かを確認することができる。
本実施形態におけるテストコード生成装置100は、比較項目としてテスト対象プログラムの戻り値と中間結果を示す比較項目とが設定された場合、戻り値が正しいか否かの結果と、その中間結果が正しいか否かの結果とを組み合わせたテスト結果確認を行うことを可能とするテストコードを生成する。テスト実行装置300により生成されたテストコードが実行されることにより、ユーザはテスト対象プログラムの戻り値が正しいか否かの結果とテスト対象プログラムの中間結果が正しいか否かの両方を確認することができる。
従来、ユーザは、これまでAP基盤ソフトが保持する情報(セッション情報、画面出力メッセージ、画面遷移先情報)を、画面に表示された内容から判断する方法するしかなかった。それに対し、本実施形態のテストコード生成装置100は、AP基盤ソフトが保持する情報を正しいか否かを出力するテストコードを生成する。テスト実行装置300により生成されたテストコードが実行されることにより、ユーザは、AP基盤ソフトが保持する情報にアクセスする処理に関するテスト対象プログラムをテストする場合にも、簡単にAP基盤ソフトが保持する情報が正しいか否かを確認することができる。
具体的には、ユーザは、AP基盤ソフトが保持するセッション情報にアクセスする処理に関するテスト対象プログラムをテストする場合にも、簡単にセッション情報が正しいか否かを確認することができる。また、ユーザは、画面を表示することなくAP基盤ソフトが保持する画面出力メッセージが正しいか否かを容易に確認することができる。
本実施形態のテストコード生成装置100は、テストケースに入力すべき項目(期待値)は、テスト対象プログラムの属性に応じて選択項目や入力箇所が切り替わるように編集画面を制御しているため、多種多様な組み合わせのうち、ユーザは必要最小限の項目を意識すれば良く、テストコード生成のための情報整理を効率的に行うことが可能となる。
これにより、ユーザは、ソフトウェアフレームワークとのインタフェース又はAP基盤ソフトとのインタフェースを意識する必要がなく、簡単にテストコード生成に必要な情報(テストケース)を入力することができる。
本実施形態のテストコード生成装置100は、テストコード生成に必要な情報(テストケース)に不備があった場合は、該当の原因と修正すべき箇所を表示して再入力を促すため、ユーザは迷うことなく記入不備の改修を即座に実施することができる。これにより、テストコード生成装置100は、入力ミスにより正しいテストコードを生成できないということを防ぐことができる。
また、本実施形態のテストコード生成装置100の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、テストコード生成装置100に係る上述した種々の処理を行ってもよい。
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1 テスト実行システム
10 記憶部
20 入力部
30 制御部
40 表示部
100 テストコード生成装置
200 テストコード記憶部
300 テスト実行装置
301 プログラム記憶部
302 テスト実行部
303 テスト結果記憶部
310 比較項目絞り込み部
311 テスト対象プログラム取得部
312 属性判定部
313 比較項目取得部
320 テストケース編集部
330 前処理部
331 テストケース取得部(取得部)
332 必要情報抽出部
333 不備判定部
334 修正箇所取得部
340 生成部
341 テストケース読出部
341_1 コメント取得部
341_2 モック取得部
341_3 入力値取得部
341_4 期待値取得部
342 関数宣言コード生成部
343 モックコード生成部
344 設定コード生成部
345 実行コード生成部
346 比較コード生成部
347 比較項目存在判定部
350 表示制御部

Claims (7)

  1. テスト対象プログラムを動作させた結果得られる値の期待値を取得する取得部と、
    前記取得された期待値とテスト対象プログラムを動作させた結果得られた値とを照合するテストコードを生成する生成部と、
    を備えることを特徴とするテストコード生成装置。
  2. 前記取得部は、テスト対象プログラムが利用する利用プログラムが保持する情報の期待値を取得し、
    前記生成部は、前記テスト対象プログラムを動作させた後に前記利用プログラムが保持する情報と前記取得した期待値とを照合するテストコードを生成することを特徴とする請求項1に記載のテストコード生成装置。
  3. 前記利用プログラムは、複数の前記テスト対象プログラムにより共通して使用されるアプリケーション基盤プログラムであることを特徴とする請求項2に記載のテストコード生成装置。
  4. 前記テスト対象プログラムを取得するテスト対象プログラム取得部と、
    前記取得されたテスト対象プログラムに基づいて、該テスト対象プログラムの属性を判定する属性判定部と、
    前記判定された属性に応じて、予め決められた比較項目のうちから前記テストコードが前記期待値と前記テスト対象プログラムを動作させた結果得られた値との照合を行う比較項目を取得する比較項目取得部と、
    前記比較項目の編集画面を表示する表示部と、
    前記表示部に表示された前記編集画面において前記取得された比較項目を選択可能に表示させる表示制御部と、
    を備えることを特徴とする請求項1から請求項3のいずれか1項に記載のテストコード生成装置。
  5. テストコード生成に必要な必要情報に不備があるか否か判定する不備判定部と、
    前記不備判定部により不備があると判定された場合、修正すべき箇所を取得する修正箇所取得部と、
    を備え、
    前記表示制御部は、前記表示部に前記取得された修正すべき箇所を表示させることを特徴とする請求項4に記載のテストコード生成装置。
  6. テストコード生成装置が実行するテストコード生成方法であって、
    テスト対象プログラムを動作させた結果得られる値の期待値を取得する取得手順と、
    前記取得された期待値とテスト対象プログラムを動作させた結果得られた値とを照合するテストコードを生成する生成手順と、
    を有することを特徴とするテストコード生成方法。
  7. コンピュータに、
    テスト対象プログラムを動作させた結果得られる値の期待値を取得する取得ステップと、
    前記取得された期待値とテスト対象プログラムを動作させた結果得られた値とを照合するテストコードを生成する生成ステップと、
    を実行させるためのテストコード生成プログラム。
JP2011165695A 2011-07-28 2011-07-28 テストコード生成装置、テストコード生成方法及びテストコード生成プログラム Withdrawn JP2013029999A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011165695A JP2013029999A (ja) 2011-07-28 2011-07-28 テストコード生成装置、テストコード生成方法及びテストコード生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011165695A JP2013029999A (ja) 2011-07-28 2011-07-28 テストコード生成装置、テストコード生成方法及びテストコード生成プログラム

Publications (1)

Publication Number Publication Date
JP2013029999A true JP2013029999A (ja) 2013-02-07

Family

ID=47786984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011165695A Withdrawn JP2013029999A (ja) 2011-07-28 2011-07-28 テストコード生成装置、テストコード生成方法及びテストコード生成プログラム

Country Status (1)

Country Link
JP (1) JP2013029999A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308254A (zh) * 2017-07-28 2019-02-05 阿里巴巴集团控股有限公司 一种测试方法、装置及测试设备
CN110309071A (zh) * 2019-06-27 2019-10-08 杭州数梦工场科技有限公司 测试代码的生成方法及模块、测试方法及系统
CN111782526A (zh) * 2020-06-30 2020-10-16 北京同邦卓益科技有限公司 一种接口测试方法、装置、电子设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308254A (zh) * 2017-07-28 2019-02-05 阿里巴巴集团控股有限公司 一种测试方法、装置及测试设备
CN109308254B (zh) * 2017-07-28 2022-06-03 阿里巴巴集团控股有限公司 一种测试方法、装置及测试设备
CN110309071A (zh) * 2019-06-27 2019-10-08 杭州数梦工场科技有限公司 测试代码的生成方法及模块、测试方法及系统
CN110309071B (zh) * 2019-06-27 2023-01-24 杭州数梦工场科技有限公司 测试代码的生成方法及模块、测试方法及系统
CN111782526A (zh) * 2020-06-30 2020-10-16 北京同邦卓益科技有限公司 一种接口测试方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
JP5249755B2 (ja) セマンティックリッチオブジェクトによる動的なユーザエクスペリエンス
Lou A comparison of Android native app architecture MVC, MVP and MVVM
US9575939B2 (en) Linked code generation report
US8001532B1 (en) System and method for generating source code-based test cases
US9524279B2 (en) Help document animated visualization
US8458648B2 (en) Graphical modelization of user interfaces for data intensive applications
US20080127060A1 (en) Dynamic mating of a modified user interface with pre-modified user interface code library
CN102667730A (zh) 设计时调试
US20080263518A1 (en) Software documentation manager
CN105893061A (zh) 应用程序开发方法及系统
CN110119352A (zh) 应用程序的ui调试方法、装置、计算机设备和存储介质
CN109634607A (zh) 一种代码自动生成的方法及装置
US7703077B2 (en) Programming model to detect deadlocks in concurrent programs
Lachgar et al. Modeling and generating native code for cross-platform mobile applications using DSL
JP2013029999A (ja) テストコード生成装置、テストコード生成方法及びテストコード生成プログラム
CN113778897A (zh) 接口的自动测试方法、装置、设备及存储介质
CN109947711A (zh) 一种对ios项目开发过程中的多语言文件自动化管理方法
Sampaio et al. Sound and mechanised compositional verification of input‐output conformance
JP2010049489A (ja) デバッグ支援装置およびデバッグ支援プログラム
CN114020278B (zh) 数据处理方法、装置、设备及存储介质
CN114911541A (zh) 配置信息的处理方法、装置、电子设备及存储介质
Elouali et al. A model-based approach for engineering multimodal mobile interactions
Sawant et al. Construction of test cases from UML models
JP4925514B2 (ja) 内外イベントドリブン方式によるプログラム実行制御方法、プログラム、実行制御装置および記録媒体
Warén Cross-platform mobile software development with React Native

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141007