[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4777740B2 - Test support system - Google Patents

Test support system Download PDF

Info

Publication number
JP4777740B2
JP4777740B2 JP2005306548A JP2005306548A JP4777740B2 JP 4777740 B2 JP4777740 B2 JP 4777740B2 JP 2005306548 A JP2005306548 A JP 2005306548A JP 2005306548 A JP2005306548 A JP 2005306548A JP 4777740 B2 JP4777740 B2 JP 4777740B2
Authority
JP
Japan
Prior art keywords
test
item
code
testing framework
testing
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.)
Expired - Fee Related
Application number
JP2005306548A
Other languages
Japanese (ja)
Other versions
JP2007115071A (en
Inventor
達也 蔭山
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 Solutions Ltd
Original Assignee
Hitachi Solutions 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 Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2005306548A priority Critical patent/JP4777740B2/en
Publication of JP2007115071A publication Critical patent/JP2007115071A/en
Application granted granted Critical
Publication of JP4777740B2 publication Critical patent/JP4777740B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、プログラム開発のための開発支援システムに関し、更に詳しくは、ソースコードのテスト支援技術に関する。   The present invention relates to a development support system for program development, and more particularly to a source code test support technology.

従来、ソフトウェアの開発プロセスにソフトウェアのテスティングを組み込んだテスティングフレームワークを用いてソースコードの開発とテストを実施するためには、最初に開発者はテスト仕様書を作成していた。テスト仕様書には、それぞれのメソッドにおけるテスト項目、例えば、メソッドの戻り値やメソッド内のロジックのチェック等が記述されている。次に、テスト仕様書の内容を満たすテストコードを実装する。そして、テスト仕様書の内容を満たすソースコードを実装する。最後に実装されたソースコードとテストコードをテスティングフレームワークに入力して、テストコードで実装された内容を満たすソースコードが実装されているかをテストする。この手法より、テストする内容を満たすソースコードが実装されることにより、ソースコードの品質を高めることができる。   Conventionally, in order to perform source code development and testing using a testing framework that incorporates software testing into the software development process, the developer first created a test specification. The test specification describes the test items for each method, for example, the return value of the method, the check of the logic in the method, and the like. Next, test code that satisfies the test specifications is implemented. Then, implement the source code that satisfies the test specifications. Finally, the implemented source code and test code are input to the testing framework to test whether the source code that satisfies the content implemented by the test code is implemented. With this method, the quality of the source code can be improved by implementing the source code that satisfies the content to be tested.

例えば、特許文献1では、プログラム内の分岐命令を抽出し発生する事象を分析する分岐命令抽出・分析手段と、全テストパターンに対するテストデータと出力期待値の入力要求をオペレータに出し、テスト確認項目を決定するテスト項目決定手段と、入力されたテストデータに従ってプログラムを実行するテスト実行手段と、テスト項目と出力結果を記述したテスト仕様書を作成するテスト仕様書編集手段とを有するテスト支援装置により、テスト作業の効率化、高速化を図るとともに個人の技術レベルに依存しない標準的な作業結果を得ることが可能な技術が開示されている。   For example, in Patent Document 1, a branch instruction extracting / analyzing unit that extracts a branch instruction in a program and analyzes an event that occurs, issues an input request for test data and an expected output value for all test patterns to the operator, A test support device having test item determining means for determining the test item, test execution means for executing the program according to the input test data, and test specification editing means for creating a test specification describing the test items and the output result In addition, a technique has been disclosed that can improve the efficiency and speed of test work and obtain standard work results that do not depend on the individual skill level.

特開平7−191880号公報Japanese Patent Laid-Open No. 7-191880

しかしながら、テスティングフレームワークは、プログラム言語(例えば、.NET、Java(登録商標)、Visual Basic(VB)等)ごとに用意されている。従って、テスティングフレームワークを用いたテストは、開発者がプログラム言語ごとにテストコードとテストコードの内容を満たすソースコードを用いてテストを実行する。この手法では、プログラム言語ごとにテストコードを用意する必要がある。しかし、プログラム言語の種類は異なるが、テストコードの内容は同一になるものが多い。よって、テストコードの内容は同一であるが、プログラム言語ごとに別々のテストの仕組みを作る必要があるので手間がかかるという問題点があった。   However, a testing framework is prepared for each programming language (for example, .NET, Java (registered trademark), Visual Basic (VB), etc.). Accordingly, in the test using the testing framework, the developer executes the test using the source code that satisfies the test code and the content of the test code for each programming language. In this method, it is necessary to prepare a test code for each programming language. However, although the types of programming languages are different, the content of the test code is often the same. Therefore, although the content of the test code is the same, there is a problem that it takes time since it is necessary to create a separate test mechanism for each programming language.

また、特許文献1に記載の技術では、テスト仕様書よりテストコードを生成し、テストを実行することにより、テスト結果を反映することは可能であるが、単一のプログラム言語に依存した形でのテストしか行うことができないという問題点があった。   In the technique described in Patent Document 1, it is possible to reflect the test result by generating a test code from a test specification and executing the test, but in a form dependent on a single programming language. There was a problem that only the test of can be performed.

上記問題点に鑑み、本発明は、プログラム言語に依存しないテスト仕様書と実装済みのソースコードより、テストを実施することができ、さらに、複数のプログラム言語に対応したテスト仕様書を用いて、効率よくテストを実施することができるテスト支援システムを提供する。   In view of the above problems, the present invention can perform a test from a test specification that does not depend on a program language and a mounted source code, and further, using a test specification that supports a plurality of program languages, To provide a test support system capable of performing tests efficiently.

上記課題を解決するために、本発明のテスト支援ツールは、
プログラム言語の指定とテスト項目を含むテスト仕様書に基づいて、前記指定されたプログラム言語のソースコードをテストすることを支援するテスト支援システムであって、
各テスト項目に対応したテストコードがプログラム言語毎に格納されているテスト情報リポジトリと、
各プログラミング言語に対応したソースコードをテストするための複数のテスティングフレームワークと、
前記テスト仕様書に含まれる各テスト項目を抽出し、抽出された当該各テスト項目に基づいて前記テスト情報リポジトリを検索し、検索されたテスト項目毎のテストコードを基に、前記テスト仕様書で指定されるプログラム言語のテストコードを生成し、当該生成されたテストコードが入力されるテスティングフレームワークを、前記テスト仕様書で指定されるプログラム言語に対応する前記テスティングフレームワークに切り換え、前記生成されたテストコードを用いて、当該切り替えられたテスティングフレームワークに前記テスト仕様書で指定されたプログラム言語のソースコードをテストさせるテスティングフレームワーク切り替え部と、
前記テスティングフレームワーク切り替え部によって切り替えられたテスティングフレームワークによるテストの結果を集計してテスト結果レポートを作成するテスト結果集計部と、
ら構成されるテスト支援ツールを備える。
In order to solve the above problems, the test support tool of the present invention provides:
A test support system for supporting testing of a source code of the specified program language based on a test specification including a specification of a program language and a test item,
A test information repository in which test codes corresponding to each test item are stored for each programming language;
Multiple testing frameworks for testing source code for each programming language,
Each test item included in the test specification is extracted, the test information repository is searched based on each extracted test item, and the test specification is based on the test code for each searched test item. generates test code of the program language is specified, switches the testing framework of the generated test code is entered, the testing framework that corresponds to the programming language specified in the test specification, the A testing framework switching unit that causes the switched testing framework to test the source code of the programming language specified in the test specification using the generated test code ;
A test result totaling unit that totals test results by the testing framework switched by the testing framework switching unit to create a test result report;
Ru equipped with a pressure that consists of test support tool.

好ましくは、本発明のテスト支援ツールは、
前記テスティングフレームワーク切り替え部が、前記テスト仕様書に含まれるテスト項目を抽出し、当該抽出されたテスト項目が格納されたテスト情報テーブルを作成し、当該テスト情報テーブルに格納されている各テスト項目に基づいて前記テスト情報リポジトリを検索する。
Preferably, the test support tool of the present invention is
The testing framework switching unit extracts a test item included in the test specification, creates a test information table in which the extracted test item is stored, and stores each test stored in the test information table The test information repository is searched based on the item.

本発明により、プログラム言語に依存しないテスト仕様書と実装済みのソースコードより、テストを実施することができ、さらに、複数のプログラム言語に対応したテスト仕様書を用いて、効率よくテストを実施するテスト支援システムを提供することができる。   According to the present invention, a test can be performed from a test specification that does not depend on a program language and a mounted source code, and further, a test can be efficiently performed using a test specification corresponding to a plurality of program languages. A test support system can be provided.

以下に、本発明を実施するための最良の形態を図面に基づいて説明する。   The best mode for carrying out the present invention will be described below with reference to the drawings.

図1は、本発明のテスト支援システムのテスト支援ツールの概略構成を示す図である。テスト支援ツール101は、テスティングフレームワーク切り替え部102と、テスティングフレームワーク103と、テスト結果集計部104と、テスト情報リポジトリ105とから構成される。テスティングフレームワーク103は、テスト用に作成されたテストケースを満たすソースコードを満たすプログラムが実装されていることを確認する。また、テスティングフレームワーク103は、既存のソフトウェアを利用する。Java(登録商標)言語に対応したテスティングフレームワーク106や.NETに対応したテスティングフレームワーク107等、プログラム言語ごとにテスティングフレームワークが用意されている。   FIG. 1 is a diagram showing a schematic configuration of a test support tool of the test support system of the present invention. The test support tool 101 includes a testing framework switching unit 102, a testing framework 103, a test result totaling unit 104, and a test information repository 105. The testing framework 103 confirms that a program that satisfies the source code that satisfies the test case created for the test is installed. The testing framework 103 uses existing software. A testing framework is prepared for each programming language such as a testing framework 106 corresponding to the Java (registered trademark) language and a testing framework 107 corresponding to .NET.

以下、本発明を実現するためのテスト支援ツールにおける具体的な処理についてその概要を説明する。
最初に、開発者は書式の指定されたテスト仕様書108にテスト項目やテスト対象となるプログラム言語を入力する。そして、テスト仕様書108で入力されたテスト項目の内容を満たすソースコード109を生成する。
次に、作成されたソースコード109とテスト仕様書108とをテスト支援ツール10に入力する。テスト支援ツール101では、まずテスト仕様書108をテスティングフレームワーク切り替え部102に入力する。テスティングフレームワーク切り替え部103では、テスト仕様書108で入力された情報を利用してテスト情報リポジトリ105に登録されたルールを用いてテストコード110を生成する。テスト情報リポジトリ105に入力されている情報は、プログラム言語ごとにテストコード110を生成するための情報である。そして、生成されたテストコード110とソースコード109をテスト仕様書106で指定されたプログラム言語に対応したテスティングフレームワーク103に入力する。そして、テストを実行して、テスティングフレームワーク103より出力されたテスト結果111を、テスト結果集計部104に入力する。テスト結果集計部104では、得られたテスト結果111の情報を加工して、テスト結果レポート112に出力する。テストレポート112が出力されることで一連のテスト作業が完了する。
The outline of specific processing in the test support tool for realizing the present invention will be described below.
First, the developer inputs a test item and a program language to be tested into the test specification 108 with a specified format. Then, source code 109 that satisfies the content of the test item input in the test specification 108 is generated.
Next, the generated source code 109 and the test specification 108 are input to the test support tool 10. The test support tool 101 first inputs a test specification 108 to the testing framework switching unit 102. The testing framework switching unit 103 generates the test code 110 using the rules registered in the test information repository 105 using the information input in the test specification 108. Information input to the test information repository 105 is information for generating the test code 110 for each programming language. Then, the generated test code 110 and source code 109 are input to the testing framework 103 corresponding to the program language specified by the test specification 106. Then, the test is executed, and the test result 111 output from the testing framework 103 is input to the test result totaling unit 104. The test result totaling unit 104 processes the obtained test result 111 information and outputs it to the test result report 112. A series of test operations is completed by outputting the test report 112.

以上の処理をフローチャートにより説明する。
図2は、本発明を実現するための開発からテストのまでの処理を示すフローチャートである。
まず、テスト仕様書を作成して(ステップ201)、テスト仕様書よりテストコードを作成する(ステップ202)。そして、テスト仕様書を元にソースコードを作成する(ステップ203)。そして、テスティングフレームワークを用いて、テストコードの内容を満たすソースコードが実装されているかテストをする(ステップ204)。最後にテストの結果をテスト結果レポートに出力する(ステップ205)。
The above process will be described with reference to a flowchart.
FIG. 2 is a flowchart showing processing from development to testing for realizing the present invention.
First, a test specification is created (step 201), and a test code is created from the test specification (step 202). Then, a source code is created based on the test specification (step 203). Then, using the testing framework, it is tested whether source code that satisfies the contents of the test code is mounted (step 204). Finally, the test result is output to a test result report (step 205).

次に、テスト支援ツールを具体例に基づいて説明する。
図3は、テスト支援ツールを実行するためのシートである。項目301はテスト仕様書を生成する部分である。ここでは、項目302にテスト仕様書の保存先を入力して項目303のボタンをクリックすると、項目302で指定されたファイルパスにテスト仕様書を生成する。項目304は入力されたテスト仕様書とテスト仕様書を満たすソースコードより、テスト結果レポートを生成する部分である。また、テスティングフレームワークに入力するテストコードを出力することも可能である。
Next, the test support tool will be described based on a specific example.
FIG. 3 is a sheet for executing the test support tool. An item 301 is a part for generating a test specification. Here, when the storage location of the test specification is input in the item 302 and the button of the item 303 is clicked, the test specification is generated in the file path specified in the item 302. An item 304 is a part for generating a test result report from the input test specifications and source code satisfying the test specifications. It is also possible to output test codes that are input to the testing framework.

処理内容としては、項目305、項目306、項目307、項目308に必要な情報を入力する。項目305では、作成されたテスト仕様書のファイルパスを入力する。項目306では、作成されたソースコード一式が格納されたディレクトリパスを入力する。項目307では、テスト支援ツールより生成されるテストコード一式を出力するディレクトリパスを入力する。項目308では、テスト支援ツールより生成されるテスト結果レポートを出力するファイルパスを入力する。上述した項目に必要な情報を入力後に項目309をクリックすると、テストコードとテスト結果レポートを出力する。
ここで、テストコードは図1に示すテストコード110に相当し、ソースコードは図1に示すソースコード109に相当する。
As processing contents, necessary information is input to the items 305, 306, 307, and 308. In item 305, the file path of the created test specification is input. In item 306, a directory path in which the generated set of source codes is stored is input. In item 307, a directory path for outputting a set of test codes generated by the test support tool is input. In item 308, a file path for outputting a test result report generated by the test support tool is input. If the item 309 is clicked after inputting the information necessary for the above items, a test code and a test result report are output.
Here, the test code corresponds to the test code 110 shown in FIG. 1, and the source code corresponds to the source code 109 shown in FIG.

次に、テスト仕様書の内容について説明する。
図4は、テストを実行するためのテスト仕様書の具体例を示す図である。テスト仕様書はテスト仕様を入力する部分である表403と、入力されたテスト仕様書を反映するボタン部401、402より構成される。ボタン部は、保存401とクリア402からなる。保存401は、テスト仕様書に入力されたデータを保存する。クリア402は、テスト仕様書に新たに入力されたデータを削除する。テスト仕様書に記述する情報は表403に入力する。
Next, the contents of the test specification will be described.
FIG. 4 is a diagram illustrating a specific example of a test specification for executing a test. The test specification is composed of a table 403 that is a part for inputting a test specification, and buttons 401 and 402 that reflect the input test specification. The button part includes a save 401 and a clear 402. A save 401 saves data input to the test specification. A clear 402 deletes data newly input to the test specification. Information described in the test specification is input to the table 403.

以降、表403内の入力項目について説明する。
作成日404はテスト仕様書を作成した日を入力する。作成者405はテスト仕様書の作成者を入力する。対象言語406はテストコードを生成するためのプログラム言語を入力する。プログラム言語は、後述するテスト情報リポジトリ105に格納されているテストコードに対応したプログラム言語を入力する。クラス名407、メソッド名408は、テスト対象となるクラス名とクラス内のメソッド名を入力する。戻り値409は、テスト対象となるメソッドの戻り値に関するテスト項目を入力する。詳細な項目は、型410、桁数411、値412、形式413に入力する。型410は、メソッドの戻り値の型をテストする場合にテスト対象となる型名(String型、void型)を入力する。桁数411は、メソッドの戻り値が数値の場合は数値の桁数を入力する。また、メソッドの戻り値が文字列の場合は文字数を入力する。値412は、メソッドの戻り値が指定された値と一致することを確認する場合に、その値を入力する。形式413は、戻り値の書式をテストする場合にその書式を入力する。書式とは、全角かなや半角英数字というように入力する。ロジック414は、メソッドの中で実装されるべき処理内容が実装されていることをテストする際に入力する。ロジック414でテストしたい項目は、「○」を入力する。DB参照415は、DB挿入416、DB更新417、DB削除418は、メソッドの中でDBを処理する場合に記述する。
Hereinafter, input items in the table 403 will be described.
The creation date 404 is a date when the test specification is created. The creator 405 inputs the creator of the test specification. The target language 406 inputs a program language for generating a test code. As the program language, a program language corresponding to a test code stored in the test information repository 105 described later is input. As the class name 407 and the method name 408, a class name to be tested and a method name in the class are input. In the return value 409, a test item related to the return value of the method to be tested is input. Detailed items are input in the type 410, the number of digits 411, the value 412, and the format 413. As the type 410, a type name (String type, void type) to be tested when inputting the return type of a method is input. As the number of digits 411, if the return value of the method is a numeric value, the number of digits of the numeric value is input. If the return value of the method is a character string, enter the number of characters. The value 412 is input when it is confirmed that the return value of the method matches the specified value. The format 413 inputs the format when testing the format of the return value. The format is entered as double-byte kana or single-byte alphanumeric characters. The logic 414 is input when testing that the processing content to be implemented in the method is implemented. For the item to be tested in the logic 414, “O” is input. The DB reference 415 is described when the DB insertion 416, the DB update 417, and the DB deletion 418 are processed when a DB is processed in the method.

次に、テスト支援ツール内のテスティングフレームワーク切り替え部の詳細について説明する。
図5は、テスティングフレームワーク切り替え部の処理を示すフローチャートである。以下、処理過程について説明する。
まず、開発者が作成したテスト仕様書内に入力されたテスト項目情報とテストコードを生成する対象となるプログラム言語名を抽出する(ステップ501)。次に、ステップ501で抽出された情報を用いてテストコードを生成する(ステップ502)。次に、ステップ502で生成されたテストコードと、テスト支援ツールに入力されたソースコードをステップ501で抽出されたプログラム言語に該当するテスティングフレームワークに入力してテストを実行する(ステップ503)。
Next, details of the testing framework switching unit in the test support tool will be described.
FIG. 5 is a flowchart showing processing of the testing framework switching unit. Hereinafter, the process will be described.
First, the test language information inputted in the test specification created by the developer and the name of the program language for generating the test code are extracted (step 501). Next, a test code is generated using the information extracted in step 501 (step 502). Next, the test code generated in step 502 and the source code input to the test support tool are input to the testing framework corresponding to the program language extracted in step 501 to execute the test (step 503). .

図6は、テスティングフレームワーク切り替え部でテスト仕様書より抽出された値を格納したテーブルを示す図である。テーブル601は、テスト仕様書より抽出されるテスト項目に関するテスト情報テーブルである。項目602はテスト対象となるクラス名、項目603はテスト対象となるメソッド名、項目604はテスト情報リポジトリに格納されているテスト項目のカテゴリ名、項目605は項目604を詳細化した項目名、項目606はテスト仕様書で入力された値が入力される。テーブル601内は、複数のレコードを生成することが可能である。テーブル607は、データを出力時の設定情報が格納されている設定情報テーブルである。項目608はテストコードの出力先、項目609はテスト結果レポートの出力先、項目610はテストコードを生成する時の対象となるプログラム言語名である。テーブル607で生成されるレコード数は1である。   FIG. 6 is a diagram illustrating a table storing values extracted from the test specifications by the testing framework switching unit. A table 601 is a test information table related to test items extracted from the test specifications. An item 602 is a class name to be tested, an item 603 is a method name to be tested, an item 604 is a category name of a test item stored in the test information repository, an item 605 is an item name and an item detailing the item 604 In 606, the value input in the test specification is input. A plurality of records can be generated in the table 601. A table 607 is a setting information table in which setting information at the time of outputting data is stored. An item 608 is an output destination of the test code, an item 609 is an output destination of the test result report, and an item 610 is a program language name to be a target when the test code is generated. The number of records generated in the table 607 is 1.

図7は、テスト情報リポジトリを構成するテーブルとテーブルに格納されているレコードの例を示した図である。テーブル701は、テストコードテーブルである。列702はテスト項目のカテゴリを表す。これは項目604と対応する。列703はカテゴリ内の項目を現す。これは項目605と対応する。列704はテスト項目の名前が入力されている。これは、テスト結果レポートに出力される項目名になる。列705、列706、列707はそれぞれのテスト項目に対応するテストコードである。列705はJava言語用テスティングフレームワークに対応するテストコードが入力されている。列706は.NET用テスティングフレームワークに対応するテストコードが入力されている。列707はVB用テスティングフレームワークに対応するテストコードが入力されている。列705、列706、列707は、入力されていない項目も存在する。テーブル内には、[ ]で囲まれている部分は、テーブル601で入力された値が代入される。なお、[インスタンス名]は、項目602のクラス名の先頭文字を小文字にしたものである。例えばクラス名がLogicならば、インスタンス名はlogicとなる。   FIG. 7 is a diagram illustrating an example of a table constituting the test information repository and a record stored in the table. A table 701 is a test code table. Column 702 represents the category of the test item. This corresponds to item 604. Column 703 shows the items in the category. This corresponds to item 605. In a column 704, the name of the test item is input. This is the item name output in the test result report. Columns 705, 706, and 707 are test codes corresponding to the respective test items. In a column 705, a test code corresponding to the Java language testing framework is input. In a column 706, a test code corresponding to the .NET testing framework is input. In a column 707, a test code corresponding to the VB testing framework is input. The column 705, the column 706, and the column 707 include items that are not input. In the table, the value entered in the table 601 is substituted for the portion surrounded by []. Note that “Instance name” is the first letter of the class name of the item 602 in lower case. For example, if the class name is Logic, the instance name is logic.

図8は、各々のテスト項目に対応するテストコードに付加されるXMLタグである。それぞれのタグの解説をタグの説明表801に示す。項目802はテストコードの対象となるクラス名である。項目803はテストコードの対象となるメソッド名である。項目804はテスト結果をテスト結果レポートに出力するときの出力場所を示す。項目805に代入される値は1から始まる連番である。この値は、テストコードテーブル701で上から振られるIndex値と同一である。項目805はテスト項目名が記入される。タグの中に生成される内容は、列806のルールにより生成される。なお、テスト情報リポジトリ内に該当するプログラム言語に対応したテストコードが存在しない場合でも、テストコード内にはタグの情報のみ生成される。
ここで、テストコードは、図1に示すテストコード110に相当する。
FIG. 8 shows an XML tag added to a test code corresponding to each test item. A description of each tag is shown in a tag description table 801. An item 802 is a class name to be tested. An item 803 is a method name to be a test code target. An item 804 indicates an output location when the test result is output to the test result report. The value assigned to the item 805 is a sequential number starting from 1. This value is the same as the Index value given from above in the test code table 701. An item 805 is filled with a test item name. The content generated in the tag is generated according to the rules in column 806. Even when there is no test code corresponding to the corresponding programming language in the test information repository, only tag information is generated in the test code.
Here, the test code corresponds to the test code 110 shown in FIG.

図9は、テスト仕様書から抽出された値を用いてテストコードを生成する流れを示す図である。
テーブル901は、テスト情報テーブルである。処理としては、テスト仕様書より抽出されたテーブル内のそれぞれのレコードにSQL文を発行してテストコードを生成する。SQL文はクエリ902、クエリ903、クエリ904のようになる。SELECT内の値は、テストコードを抽出するためのプログラム言語になる。この値は、項目403で指定された値になる。FROM内の「テストコードテーブル」は、テーブル905を指す。WHERE内の条件式は、テーブル901内のテストカテゴリとテスト項目の値をキーとした条件式となる。クエリ902、クエリ903、クエリ904を実行すると、テストコードが生成される。そして、処理906を実行してテストコード内の[]の値をテーブル901のデータを用いて生成する。次に処理907を実行して生成されたテストコードにコメント文を生成して表801で定義されたテスト情報タグを代入する。次に処理908を実行して、処理907で生成されたテストコードを集計してテスティングフレームワークに入力するテストコード909を完成させる。
FIG. 9 is a diagram illustrating a flow of generating a test code using a value extracted from the test specification.
A table 901 is a test information table. As processing, a SQL code is issued to each record in the table extracted from the test specification to generate a test code. The SQL statement becomes a query 902, a query 903, and a query 904. The value in SELECT becomes a programming language for extracting test code. This value is the value specified in the item 403. The “test code table” in the FROM indicates the table 905. The conditional expression in WHERE is a conditional expression using the test category and test item values in the table 901 as keys. When the query 902, query 903, and query 904 are executed, a test code is generated. Then, the processing 906 is executed to generate the value of [] in the test code using the data in the table 901. Next, a comment sentence is generated in the test code generated by executing the process 907, and the test information tag defined in the table 801 is substituted. Next, processing 908 is executed, and the test codes generated in processing 907 are aggregated to complete test code 909 that is input to the testing framework.

ここで、テストコードは、図1に示すテストコード110に相当する。
以上により、テスト仕様書からテスティングフレームワークに入力するテストコードを生成することが可能となる
Here, the test code corresponds to the test code 110 shown in FIG.
This makes it possible to generate test code that is input from the test specifications to the testing framework.

図10は、テスティングフレームワーク切り替え部より生成されるテストコードの例を示す図である。このテストコードは、Java言語より生成されている。項目1001はテスト対象となるクラスである。項目1002、項目1003はテスト仕様書より生成されるテストコードの一部である。項目1004はテスト情報リポジトリにテスト項目に対応したテストコードがないため、テスト結果レポートに出力するための値のみの出力となる。   FIG. 10 is a diagram illustrating an example of a test code generated by the testing framework switching unit. This test code is generated from the Java language. An item 1001 is a class to be tested. Items 1002 and 1003 are part of a test code generated from a test specification. Since the item 1004 does not have a test code corresponding to the test item in the test information repository, only the value for outputting to the test result report is output.

次に、テスト支援ツール内のテスト結果集計部の詳細について説明する。
図11は、テスト結果集計部の処理を示すフローチャートである。以下、処理過程について説明する。
まず、テスティングフレームワークより生成されたテスト結果を取得する(ステップ1101)。そして、取得されたテスト結果を用いてテスト結果レポートを出力する(ステップ1102)。
Next, details of the test result totaling unit in the test support tool will be described.
FIG. 11 is a flowchart showing the processing of the test result totaling unit. Hereinafter, the process will be described.
First, a test result generated from the testing framework is acquired (step 1101). Then, a test result report is output using the acquired test result (step 1102).

図12は、テスティングフレームワークより生成されるテスト結果の書式の例を表した図である。列1201は、テスト項目の対象となったクラス名である。列1202は、テスト項目の対象となったメソッド名である。列1203はテスト項目である。列1204はテスト項目に対するテストの結果である。テスト結果は、「○」、「×」、「−」の3種類表示される。「○」はテストが成功したことを表す。「×」はテストが失敗したことを表す。「−」は、テスト対象となるテストコードを生成することができなかったため、テストを実施することができないことを表す。つまり、テストコード内に、タグ情報のみが代入されるテスト項目に対しては、テスト結果として「−」を表示する。   FIG. 12 is a diagram showing an example of a test result format generated by the testing framework. A column 1201 is a class name that is a target of the test item. A column 1202 is a method name that is a target of the test item. A column 1203 is a test item. A column 1204 is a test result for the test item. Three types of test results, “◯”, “×”, and “−”, are displayed. “◯” indicates that the test was successful. “X” indicates that the test failed. “-” Indicates that the test cannot be performed because the test code to be tested could not be generated. That is, “−” is displayed as a test result for a test item in which only tag information is substituted in the test code.

図13は、出力されたテスト結果レポートの書式を表した図である。表1301はテスト結果を表した表である。項目1302はテスト結果レポートを生成した日付である。列1303はテスト項目の対象となったクラス名である。列1304はテスト項目の対象となったメソッド名である。列1305はテストの対象となったテスト項目名である。項目1306はそれぞれのテスト項目のテスト結果が表示される。テスト結果は、「○」、「×」、「−」の3種類表示される。「○」はテストが成功したことを表す。「×」はテストが失敗したことを表す。「−」は、テスト対象となるテストコードを生成することができなかったため、テストを実施することができないことを表す。   FIG. 13 shows the format of the output test result report. A table 1301 is a table showing test results. An item 1302 is a date when the test result report is generated. A column 1303 is a class name that is a target of the test item. A column 1304 is a method name that is a target of the test item. A column 1305 is a name of a test item to be tested. An item 1306 displays the test result of each test item. Three types of test results, “◯”, “×”, and “−”, are displayed. “◯” indicates that the test was successful. “X” indicates that the test failed. “-” Indicates that the test cannot be performed because the test code to be tested could not be generated.

このようにすることで、テスト項目毎のテスト結果をクラス毎、メソッド毎に容易に、かつ、迅速に知ることができる。   In this way, the test result for each test item can be easily and quickly known for each class and for each method.

以上により、ソースコードの開発者は、プログラム言語に依存しないテスト仕様書に必要情報(テスト項目、テストコードの対象となるプログラム言語の名前)を入力することで、指定されたプログラム言語を基に実装されたテストコードを生成し、このテストコードとテストの対象となるソースコードをテスティングフレームワークに入力し、テスト実行し、その結果をテスト結果レポートに出力することができる。従って、テスト仕様書はプログラム言語に、特定のプログラム言語に依存せずに使用することができる。
更に、特定のプログラム言語に依存することなく、テスト仕様書を生成してテスト結果レポートを生成することができる。
As described above, the developer of the source code can input the necessary information (test item, name of the program language that is the target of the test code) into the test specification that does not depend on the program language, and based on the specified program language. The implemented test code is generated, the test code and the source code to be tested are input to the testing framework, the test is executed, and the result can be output to the test result report. Therefore, the test specification can be used in the programming language without depending on the specific programming language.
Furthermore, a test result report can be generated and a test result report can be generated without depending on a specific programming language.

本発明のテスト支援システムのテスト支援ツールの概略構成を示す図である。It is a figure which shows schematic structure of the test assistance tool of the test assistance system of this invention. 本発明を実現するための開発からテストのまでの処理を示すフローチャートである。It is a flowchart which shows the process from the development for implement | achieving this invention to a test. テスト支援ツールを実行するための入力シートを示す図である。It is a figure which shows the input sheet for performing a test assistance tool. テストを実行するためのテスト仕様書の具体例を示す図である。It is a figure which shows the specific example of the test specification for performing a test. テスティングフレームワーク切り替え部の処理を示すフローチャートである。It is a flowchart which shows the process of a testing framework switching part. テスティングフレームワーク切り替え部でテスト仕様書より抽出された値を格納したテーブルを示す図である。It is a figure which shows the table which stored the value extracted from the test specification in the testing framework switching part. テスト情報リポジトリを構成するテーブルとテーブルに格納されているレコードの例を示した図である。It is the figure which showed the example of the record which is stored in the table which comprises a test information repository, and a table. 各々のテスト項目に対応するテストコードに付加されるXMLタグである。It is an XML tag added to the test code corresponding to each test item. テスト仕様書から抽出された値を用いてテストコードを生成する流れを示す図である。It is a figure which shows the flow which produces | generates a test code using the value extracted from the test specification. テスティングフレームワーク切り替え部より生成されるテストコードの例を示す図である。It is a figure which shows the example of the test code produced | generated by the testing framework switching part. テスト結果集計部の処理を示すフローチャートである。It is a flowchart which shows the process of a test result total part. テスティングフレームワークより生成されるテスト結果の書式の例を表した図である。It is a figure showing the example of the format of the test result produced | generated by the testing framework. 出力されたテスト結果レポートの書式を表した図である。It is a figure showing the format of the output test result report.

符号の説明Explanation of symbols

101 テスト支援ツール
102 テスティングワークフレーム切り替え部
103 テスティングワークフレーム
104 テスト結果集計部
105 テスト情報リポジトリ
106、107 プログラム言語別テスティングワークフレーム
108 テスト仕様書
109 ソースコード
110 テストコード
111 テスト結果
112 テスト結果レポート
301、302、303、304、305、306、307、308、309 項目
401 保存ボタン
402 クリアボタン
403 表
404 作成日
405 作成者
406 対象言語
407 クラス名
408 メソッド名
409 戻り値
410 型
411 桁数
412 値
413 形式
414 ロジック
415 DB参照
416 DB挿入
417 DB更新
418 DB削除
601 テスト情報テーブル
602、602、603、604、605、606、608、609、610 項目
607 設定情報テーブル
701 テストコードテーブル
702、703、704、705、706、707 列
801 タグの説明表
802、803、804、805 項目
806 列
901、905 テーブル
902、903、904 クエリ
906、907、908 処理
909 テストコード
1001、1002、1003、1004 項目
1201、1202、1203、1204 列
1301 表
1302、1306 項目
1303、1304、1305 列
DESCRIPTION OF SYMBOLS 101 Test support tool 102 Testing work frame switching part 103 Testing work frame 104 Test result totaling part 105 Test information repository 106, 107 Testing work frame according to programming language 108 Test specification 109 Source code 110 Test code 111 Test result 112 Test Result report 301, 302, 303, 304, 305, 306, 307, 308, 309 Item 401 Save button 402 Clear button 403 Table 404 Creation date 405 Author 406 Target language 407 Class name 408 Method name 409 Return value 410 Type 411 Digit Number 412 Value 413 Format 414 Logic 415 DB reference 416 DB insertion 417 DB update 418 DB deletion 601 Test information tables 602, 602, 603, 6 04, 605, 606, 608, 609, 610 Item 607 Setting information table 701 Test code table 702, 703, 704, 705, 706, 707 Column 801 Tag description table 802, 803, 804, 805 Item 806 Column 901, 905 Table 902, 903, 904 Query 906, 907, 908 Processing 909 Test code 1001, 1002, 1003, 1004 Item 1201, 1202, 1203, 1204 Column 1301 Table 1302, 1306 Item 1303, 1304, 1305 Column

Claims (2)

プログラム言語の指定とテスト項目を含むテスト仕様書に基づいて、前記指定されたプログラム言語のソースコードをテストすることを支援するテスト支援システムであって、
各テスト項目に対応したテストコードがプログラム言語毎に格納されているテスト情報リポジトリと、
各プログラミング言語に対応したソースコードをテストするための複数のテスティングフレームワークと、
前記テスト仕様書に含まれる各テスト項目を抽出し、抽出された当該各テスト項目に基づいて前記テスト情報リポジトリを検索し、検索されたテスト項目毎のテストコードを基に、前記テスト仕様書で指定されるプログラム言語のテストコードを生成し、当該生成されたテストコードが入力されるテスティングフレームワークを、前記テスト仕様書で指定されるプログラム言語に対応する前記テスティングフレームワークに切り換え、前記生成されたテストコードを用いて、当該切り替えられたテスティングフレームワークに前記テスト仕様書で指定されたプログラム言語のソースコードをテストさせるテスティングフレームワーク切り替え部と、
前記テスティングフレームワーク切り替え部によって切り替えられたテスティングフレームワークによるテストの結果を集計してテスト結果レポートを作成するテスト結果集計部と、
ら構成されるテスト支援ツールを備える
ことを特徴とするテスト支援システム。
A test support system for supporting testing of a source code of the specified program language based on a test specification including a specification of a program language and a test item ,
A test information repository in which test codes corresponding to each test item are stored for each programming language;
Multiple testing frameworks for testing source code for each programming language,
Each test item included in the test specification is extracted, the test information repository is searched based on each extracted test item, and the test specification is based on the test code for each searched test item. generates test code of the program language is specified, switches the testing framework of the generated test code is entered, the testing framework that corresponds to the programming language specified in the test specification, the A testing framework switching unit that causes the switched testing framework to test the source code of the programming language specified in the test specification using the generated test code ;
A test result totaling unit that totals test results by the testing framework switched by the testing framework switching unit to create a test result report;
Equipped with a pressure that consists of test support tool,
Test support system characterized by that.
前記テスティングフレームワーク切り替え部が、前記テスト仕様書に含まれるテスト項目を抽出し、当該抽出されたテスト項目が格納されたテスト情報テーブルを作成し、当該テスト情報テーブルに格納されている各テスト項目に基づいて前記テスト情報リポジトリを検索する、
ことを特徴とする請求項1に記載のテスト支援システム。
The testing framework switching unit extracts a test item included in the test specification, creates a test information table in which the extracted test item is stored, and stores each test stored in the test information table Search the test information repository based on an item;
The test support system according to claim 1 .
JP2005306548A 2005-10-21 2005-10-21 Test support system Expired - Fee Related JP4777740B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005306548A JP4777740B2 (en) 2005-10-21 2005-10-21 Test support system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005306548A JP4777740B2 (en) 2005-10-21 2005-10-21 Test support system

Publications (2)

Publication Number Publication Date
JP2007115071A JP2007115071A (en) 2007-05-10
JP4777740B2 true JP4777740B2 (en) 2011-09-21

Family

ID=38097177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005306548A Expired - Fee Related JP4777740B2 (en) 2005-10-21 2005-10-21 Test support system

Country Status (1)

Country Link
JP (1) JP4777740B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101458930B1 (en) * 2013-05-23 2014-11-07 한국전자통신연구원 Apparatus and method for smart terminal fuzzing using multi node
JP6961218B2 (en) * 2017-09-14 2021-11-05 エム・ティ・ストラテジー株式会社 Test case automatic creation device and program
CN117642727A (en) 2021-12-22 2024-03-01 三菱电机株式会社 FA control test assisting program, FA control test assisting device, FA control test assisting method, and FA control test assisting system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0391039A (en) * 1989-09-04 1991-04-16 Fuji Electric Co Ltd Program for test for software and method for preparing test data
JPH06195216A (en) * 1992-12-22 1994-07-15 Hitachi Ltd Automatic generation device for verification program
JPH0934750A (en) * 1995-07-17 1997-02-07 Fujitsu Ltd System for generating source program for test
JP2000057015A (en) * 1998-08-07 2000-02-25 Nippon Steel Corp Test device for software and recording medium

Also Published As

Publication number Publication date
JP2007115071A (en) 2007-05-10

Similar Documents

Publication Publication Date Title
JP4693466B2 (en) Report check device, report creation device, storage medium, program
US8380650B2 (en) Information extraction rule making support system, information extraction rule making support method, and information extraction rule making support program
Tateosian Python For ArcGIS
US20070113173A1 (en) Method and system for generating a technical manual
JP4777740B2 (en) Test support system
JP2013020437A (en) Requirements management support device
JP5748118B2 (en) Document creation support method, document creation support device, and document creation support program
JP2013218507A (en) Structure analyzer and program
JPH1185536A (en) Device and method for automatically correcting error of source program
JP5039158B2 (en) Document processing program and document processing apparatus
JP6062735B2 (en) Software development support device, software development support method, software development support program
JP2008015879A (en) Method, program and system for supporting description of specification including natural sentence
JP2010134766A (en) Document data processing apparatus and program thereof
JPH06195379A (en) Case base and its input/accumulation device
JP3824468B2 (en) Data management system
JP2003108369A (en) Autocreation of program that receives request from web and performs outputting of result
JP2795930B2 (en) Document creation support device
JP2004258848A (en) Program preparation supporting method and system and program
JP2004341770A (en) Data management system and data management method
JP2006344053A (en) Patent specification preparation support program
JP5581894B2 (en) Data processing program automatic generation system
JPH07104989A (en) Data item definition standardizing device
JP2006164090A (en) Apparatus for automatic generation of database manipulation program
JP2005202513A (en) Automatic conversion system and program for sentence/character string
JPH03141427A (en) Preparation of information on standard record specifications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110518

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110630

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees