JP2009237654A - Test program management system - Google Patents

Test program management system Download PDF

Info

Publication number
JP2009237654A
JP2009237654A JP2008079652A JP2008079652A JP2009237654A JP 2009237654 A JP2009237654 A JP 2009237654A JP 2008079652 A JP2008079652 A JP 2008079652A JP 2008079652 A JP2008079652 A JP 2008079652A JP 2009237654 A JP2009237654 A JP 2009237654A
Authority
JP
Japan
Prior art keywords
test program
source code
test
information
management server
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.)
Granted
Application number
JP2008079652A
Other languages
Japanese (ja)
Other versions
JP5006824B2 (en
Inventor
Makoto Tsujino
誠 辻野
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 Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co 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 Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2008079652A priority Critical patent/JP5006824B2/en
Publication of JP2009237654A publication Critical patent/JP2009237654A/en
Application granted granted Critical
Publication of JP5006824B2 publication Critical patent/JP5006824B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To retain test programs satisfying certain standards. <P>SOLUTION: A test program management system comprises a client device for displaying and editing the contents of source code, and a configuration management server for managing source file information, source code dependence information, sequence diagram information, method evaluation information and test program evaluation information, evaluating a test program created by a developer, and testing the source code. In response to a test program saving request from the developer, the test program to be saved is evaluated to determine whether it is worth saving. This can retain test programs satisfying certain standards. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、開発者が作成したテストプログラムを管理することにおいて、ソースコード、ソースコード間の依存関係情報、シーケンス図情報およびメソッド評価情報を記憶する装置を持ち、かつソースコードに対するテストプログラム作成し、リポジトリに格納する際に保存可能なテストプログラムであるか判定する機能を有するテストプログラム管理システムに関するものである。   The present invention has a device for storing a source code, dependency information between source codes, sequence diagram information and method evaluation information in managing a test program created by a developer, and creates a test program for the source code. The present invention relates to a test program management system having a function of determining whether a test program can be stored when stored in a repository.

単体テストのテストプログラムを作成する際に、開発者によってテストプログラムの品質が異なり、作成したテストプログラムの質が求めているものより悪いことがある。そのため、プロジェクト管理者がテストプログラムを確認する必要があり、テストプログラムの品質を確保することが困難である。   When creating a test program for a unit test, the quality of the test program varies depending on the developer, and the quality of the created test program may be worse than what is desired. Therefore, it is necessary for the project manager to confirm the test program, and it is difficult to ensure the quality of the test program.

特許文献1には、ソースコード静的分析シミュレータのためのカスタムAPIモデル、すなわち、関数のソースコード実装が提供されていない、外部関数(もしくは外部メソッド)の呼び出しを分析および評価する方法が開示されている。アプリケーションプログラムインターフェース(API)など、ソースコードを利用できない外部関数を処理する際に、モデルを提供してその外部関数が適切に呼び出されるかどうかを評価するものである。具体的には、外部関数の不適切な呼び出しから結果として生じる可能性のあるエラー、およびその潜在的なエラーにつながる少なくとも1つの条件が識別される。モデルを作成してその潜在的なエラーにつながる条件についてテストする。その条件が見つかると、エラーメッセージの生成がトリガーされる。このモデルは、ソースコードがソースコードアナライザによって分析されるときに、このモデルを適用して外部関数の呼び出しを評価するように、ソースコードアナライザに関連付けられる。潜在的なエラー、ならびに入力/出力パラメータのエラーおよび依存関係のエラーなどのエラーにつながる条件は、外部関数またはAPIのオペレーションについて記述する文書から導き出すことができるものである。
特開2006−236336号公報
Patent Document 1 discloses a custom API model for a source code static analysis simulator, that is, a method for analyzing and evaluating an external function (or external method) call for which a function source code implementation is not provided. ing. When processing an external function that cannot use source code such as an application program interface (API), a model is provided to evaluate whether the external function is properly called. Specifically, an error that may result from an inappropriate call to the external function and at least one condition that leads to the potential error are identified. Create a model and test for conditions that lead to its potential errors. If the condition is found, the generation of an error message is triggered. This model is associated with the source code analyzer so that when the source code is analyzed by the source code analyzer, it is applied to evaluate external function calls. Conditions leading to errors, such as potential errors and input / output parameter errors and dependency errors, can be derived from documents describing the operation of external functions or APIs.
JP 2006-236336 A

特許文献1の場合、外部関数を呼び出している全てのソースコードに対して同一の評価を行っており、作成したシステムにおいて重要な関数に対し、重点的に評価が行われない。   In the case of Patent Document 1, the same evaluation is performed on all source codes that call an external function, and important functions are not evaluated on a created system.

本発明の目的は、シーケンス図、ソースコードの依存関係の情報から開発したシステムで使用される各メソッド(もしくは関数)の重要度を求め、ここで決定した重要度ごとに、テストプログラムが目標とする評価値を決定する。開発者が作成したテストプログラムをリポジトリに格納する際にテストプログラムの評価を行い、一定基準値を満たしているか判定する。この判定結果に基づき、リポジトリサーバにコミットの可否を決定することで、一定基準を満たしたテストプログラムの保持することを可能とするテストプログラム管理システムを提供することである。   The object of the present invention is to determine the importance of each method (or function) used in the system developed from the sequence diagram and the dependency information of the source code, and for each importance determined here, the test program is targeted. The evaluation value to be determined is determined. When a test program created by a developer is stored in the repository, the test program is evaluated to determine whether a certain standard value is satisfied. It is to provide a test program management system that makes it possible to hold a test program that satisfies a certain standard by determining whether or not a repository server can commit based on the determination result.

上記課題を解決するために、本発明のテストプログラム管理システムは、ソースコードとテストプログラムとを管理する構成管理サーバと、開発者がテストプログラムの作成・保存の要求を送信するクライアント装置と、前記構成管理サーバが管理するソースコードに関する情報を記憶する記憶装置と、前記構成管理サーバが管理するテストプログラムを実行するテスト装置とから成るテストプログラム管理システムであって、前記構成管理サーバは、前記クライアント装置からのテストプログラム作成・保存要求を受信し、テストプログラム評価情報を送信するサーバ通信部と、前記ソースコードの情報を前記記憶装置に格納するデータ格納部と、前記記憶装置に格納されているデータを取得するデータ抽出部と、前記ソースコード内の各メソッドの重要度を評価するメソッド評価部と、前記テストプログラムの評価を行うテストプログラム評価部とを備え、前記クライアント装置は、前記構成管理サーバに対し、テストプログラムの作成要求と前記構成管理サーバからソースコードとテストプログラム評価情報を受信するクライアント通信部と、受信したソースコードの内容およびテストプログラムの評価内容を表示する表示部と、該表示部により表示されたソースコードに対し、テストプログラムの作成を行う入力部とを備え、前記記憶装置は前記構成管理サーバが管理するソースコードのソースファイル情報と、前記ソースコード間の依存関係の情報を表す依存関係情報と、前記テストプログラム管理システムのシーケンス図情報と、前記ソースコードの各メソッドの評価を表すメソッド評価情報と、開発者が作成したテストプログラムの評価を表すテストプログラム評価情報とを備え、前記テスト装置は、前記構成管理サーバからソースコード、テストプログラム情報を受信し、テストの実行結果を送信するテスト装置通信部と、送信されたソースコードに対してテストを実行するテスト実行部とを備える。   In order to solve the above problems, a test program management system according to the present invention includes a configuration management server that manages source code and a test program, a client device from which a developer sends a request to create and save a test program, A test program management system comprising a storage device for storing information relating to source code managed by a configuration management server and a test device for executing a test program managed by the configuration management server, wherein the configuration management server includes the client A server communication unit that receives a test program creation / save request from the device and transmits test program evaluation information, a data storage unit that stores the information of the source code in the storage device, and the storage device that is stored in the storage device A data extraction unit for acquiring data, and each of the source code A method evaluation unit that evaluates the importance of the sod; and a test program evaluation unit that evaluates the test program. The client device sends a test program creation request to the configuration management server from the configuration management server. A client communication unit that receives source code and test program evaluation information, a display unit that displays the contents of the received source code and the test program, and a test program for the source code displayed by the display unit The storage device includes source file information of source code managed by the configuration management server, dependency information representing dependency information between the source codes, and a sequence of the test program management system Figure information and evaluation of each method in the source code Method evaluation information representing, and test program evaluation information representing the evaluation of a test program created by a developer, the test apparatus receives source code and test program information from the configuration management server, and displays a test execution result. A test apparatus communication unit for transmitting, and a test execution unit for executing a test on the transmitted source code.

さらに、請求項2に記載したテストプログラム管理システムは、請求項1に記載したテストプログラム管理システムであって、前記構成管理サーバは、開発者からのテストプログラム保存要求に対して、テストプログラムを評価し、評価結果が前記構成管理サーバによって予め定められた目標値を満たしているか判定し、テストプログラムの保存の可否を決定し、その結果に従い、一定基準を満たすテストプログラムを保持するものである。   Furthermore, the test program management system according to claim 2 is the test program management system according to claim 1, wherein the configuration management server evaluates the test program in response to a test program storage request from a developer. Then, it is determined whether the evaluation result satisfies a target value predetermined by the configuration management server, whether or not the test program can be saved is determined, and a test program that satisfies a certain standard is held according to the result.

本発明のテストプログラム管理システムによれば、次のような効果がある。
作成したシステムで使用されるメソッドの重要度を求め、メソッドの重要度ごとにテストプログラムの基準値を決定する。ここで決定した基準値を用いて、開発者が作成したテストプログラムを評価し、評価結果に基づきリポジトリへの格納の可否を決定することで、一定基準を満たしたテストプログラムを保持することができる。
The test program management system of the present invention has the following effects.
The importance of the method used in the created system is obtained, and the standard value of the test program is determined for each importance of the method. By using the reference value determined here, the test program created by the developer is evaluated, and by determining whether or not storage is possible in the repository based on the evaluation result, a test program that satisfies a certain standard can be maintained. .

以下、本発明を適用したテストプログラム管理システムの一実施の形態について説明する。   Hereinafter, an embodiment of a test program management system to which the present invention is applied will be described.

図1は、本発明の実施形態の一例を示すシステム構成図であり、テストプログラム管理システムは、開発者が作成したソースコードを管理する構成管理サーバ101とテストプログラムの作成を行うクライアント装置102と構成管理サーバ101が管理するソースコードに関する情報を記憶する記憶装置103と、クライアント装置102にて作成したテストプログラムを用いてテストを実行するテスト装置104から構成されている。   FIG. 1 is a system configuration diagram illustrating an example of an embodiment of the present invention. A test program management system includes a configuration management server 101 that manages a source code created by a developer, and a client device 102 that creates a test program. The storage device 103 stores information related to source code managed by the configuration management server 101, and the test device 104 executes a test using a test program created by the client device 102.

構成管理サーバ101は、クライアント装置102、テスト装置104と通信を行うサーバ通信部105と、記憶装置103にソースコードに関する情報とテストプログラムに関する情報を格納するデータ格納部106と、記憶装置103からソースコードに関する情報とテストプログラムに関する情報を抽出するデータ抽出部107と、ソースコードコード内の各メソッドの重要度を評価するメソッド評価部108と、クライアント装置102からのテストプログラム格納要求に対して、テストプログラムの評価を行うテストプログラム評価部109から構成されている。   The configuration management server 101 includes a server communication unit 105 that communicates with the client device 102 and the test device 104, a data storage unit 106 that stores information about the source code and information about the test program in the storage device 103, and a source from the storage device 103 A data extraction unit 107 that extracts information about the code and information about the test program, a method evaluation unit 108 that evaluates the importance of each method in the source code code, and a test program storage request from the client device 102 The program is composed of a test program evaluation unit 109 that evaluates a program.

クライアント装置102は、構成管理サーバ101と通信を行うクライアント通信部110と、構成管理サーバ101から送信されるソースコード内容およびテストプログラムの評価内容を画面に表示する表示部111と、表示されたソースコードに対して開発者がテストプログラムの作成を行う入力部112から構成されている。クライアント装置102は複数存在するものとする。   The client apparatus 102 includes a client communication unit 110 that communicates with the configuration management server 101, a display unit 111 that displays the source code content and the test program evaluation content transmitted from the configuration management server 101, and the displayed source The developer includes an input unit 112 for creating a test program for the code. Assume that there are a plurality of client apparatuses 102.

記憶装置103は、構成管理サーバ101が管理するソースファイル情報113と、ソースコード間の依存関係の情報を表す依存関係情報114と、システムのシーケンス図情報115と、ソースコードの各メソッドの評価を表すメソッド評価情報116と、開発者が作成したテストプログラムの評価を表すテストプログラム評価情報117を記録する。本実施例で使用するカバレージ情報とは、テスト実行時にソースコードのどの部分が実行されたかという情報のことを意味する。また、テストプログラム評価情報とは、テストプログラムの評価としてテスト対象メソッドの呼び出し回数の情報とテスト対象メソッドのカバレージ情報のことを意味する。   The storage device 103 evaluates the source file information 113 managed by the configuration management server 101, dependency information 114 representing dependency information between source codes, system sequence diagram information 115, and each method of the source code. The method evaluation information 116 to be expressed and the test program evaluation information 117 to indicate the evaluation of the test program created by the developer are recorded. The coverage information used in this embodiment means information about which part of the source code is executed at the time of test execution. The test program evaluation information means information on the number of times the test target method is called and coverage information on the test target method as evaluation of the test program.

テスト装置104は、構成管理サーバ101からソースファイル情報113とテストプログラムのソースコードの受信と受信したソースコードを用いてテストを実行し、その結果を構成管理サーバ101に送信するテスト装置通信部118と、受信したソースコードの対象メソッドに対してテストを実行するテスト実行部119から構成されている。前記クライアント装置102、前記テスト装置104はネットワークを通じて構成管理サーバ101と接続されている。また、本実施例ではテスト装置104が構成管理サーバ101にテスト実行結果を送信しているが、クライアント装置102にてテストの実行を行い、実行結果を構成管理サーバ101に送信を行っても良い。   The test apparatus 104 receives the source file information 113 and the test program source code from the configuration management server 101 and executes the test using the received source code, and transmits the result to the configuration management server 101. The test execution unit 119 executes a test on the target method of the received source code. The client device 102 and the test device 104 are connected to the configuration management server 101 through a network. In this embodiment, the test apparatus 104 transmits the test execution result to the configuration management server 101. However, the test may be executed by the client apparatus 102 and the execution result may be transmitted to the configuration management server 101. .

図2は、構成管理サーバ101が管理するソースファイル情報のデータ構造200である。構成管理サーバ101が管理するソースコードファイルを一意に識別するファイルID201と、ソースコードのファイル名を表すファイル名202と、ソースコードのクラス名を表すクラス名203と、クラス名203のパッケージ構成を表すパッケージ名204と、構成管理サーバ101が管理するソースコードが格納されているプロジェクトを表すプロジェクトID205から構成されている。本実施例で使用するプロジェクトとは、システムを開発する上でソースコードを管理する単位のことである。   FIG. 2 shows a data structure 200 of source file information managed by the configuration management server 101. The package configuration includes a file ID 201 that uniquely identifies a source code file managed by the configuration management server 101, a file name 202 that represents the file name of the source code, a class name 203 that represents the class name of the source code, and a class name 203. The package name 204 includes a project ID 205 that represents the project in which the source code managed by the configuration management server 101 is stored. The project used in this embodiment is a unit for managing source code in developing a system.

図3は、ソースコードの依存関係情報のデータ構造300である。依存関係情報として、対象のソースコードファイルを表すファイルID301と、ファイルID301で示すソースコードファイル内に書かれた対象のメソッド名を表すメソッド名302と、メソッド名302で表すソースコードの開始行を表す行開始番号303と、メソッド名302で表すソースコードの終了行を表す行終了番号304と、ファイルID301とメソッド名302で表すソースコードと依存関係のあるファイルを表す依存ファイルID305と、ファイルID301とメソッド名302で表すソースコードと依存関係のあるメソッドを表す依存メソッド名306と、依存メソッド名306の開始行を表す依存行開始番号307と、依存メソッド名306の終了行を表す依存行終了番号308から構成されている。   FIG. 3 shows a data structure 300 of source code dependency information. As dependency relationship information, a file ID 301 representing the target source code file, a method name 302 representing the target method name written in the source code file represented by the file ID 301, and a source code start line represented by the method name 302 are shown. A line start number 303, a line end number 304 representing the end line of the source code represented by the method name 302, a file ID 301, a dependency file ID 305 representing a file having a dependency relationship with the source code represented by the method name 302, and a file ID 301 Dependent method name 306 representing a method having a dependency relationship with the source code represented by method name 302, dependent line start number 307 representing the start line of dependent method name 306, and dependent line end representing the end line of dependent method name 306 The number 308 is configured.

図4は、システムで発生するイベントの情報を表すシーケンス図情報のデータ構造400である。イベントのIDをイベントID401と、シナリオ内で実行される処理の順序を表す実行順序402と、シナリオで実行されるメソッドを表す実行メソッド名403と、実行メソッド名403が存在するファイルを表すファイルID404と、実行メソッド403を呼び出したメソッドを表す呼び出し元メソッド名405と、呼び出し元メソッド名405が存在するファイルを表す呼び出し元ファイルID406から構成されている。   FIG. 4 shows a data structure 400 of sequence diagram information representing information of events that occur in the system. Event ID 401, event ID 401, execution order 402 representing the order of processing executed in the scenario, execution method name 403 representing the method executed in the scenario, and file ID 404 representing the file in which the execution method name 403 exists And a caller method name 405 representing the method that called the execution method 403, and a caller file ID 406 representing a file in which the caller method name 405 exists.

図5は、開発者が作成したソースコードの各メソッドの評価情報を表すデータ構造500である。評価対象のメソッドを一意に識別するメソッドID501と、評価対象のメソッドを表すメソッド名502と、評価対象となるメソッドが存在するファイルを表すファイルID503と、評価対象となるメソッド名502と依存関係のあるメソッドの数を表す依存メソッド数504と、評価対象となるメソッド名502が呼び出された回数を表す呼び出し回数505から構成されている。   FIG. 5 shows a data structure 500 representing evaluation information of each method of the source code created by the developer. The method ID 501 that uniquely identifies the method to be evaluated, the method name 502 that represents the method to be evaluated, the file ID 503 that represents the file in which the method to be evaluated exists, and the method name 502 to be evaluated It consists of the number of dependent methods 504 that represents the number of methods and the number of calls 505 that represents the number of times the method name 502 to be evaluated has been called.

図6は、テストプログラムのファイル情報を表すデータ構造600である。テストプログラムを一意に識別するテストプログラムID601と、テストプログラムのファイル名を表すテストプログラム名602と、テストプログラム名602が存在するパッケージを表すパッケージ名603と、テストプログラムがどのメソッドに対するテストプログラムなのかを表すテスト対象メソッドID604から構成されている。   FIG. 6 is a data structure 600 representing file information of the test program. A test program ID 601 that uniquely identifies the test program, a test program name 602 that represents the file name of the test program, a package name 603 that represents a package in which the test program name 602 exists, and for which method the test program is a test program Is composed of a test target method ID 604.

図7は、テストプログラムの評価情報を表すデータ構造700である。テストプログラムを一意に識別するテストプログラムID701と、テストプログラムにてテスト対象メソッドを呼び出している回数を表す呼び出し回数702と、テストプログラムを使用してテスト対象メソッドを実行し取得できたカバレージ率を表すカバレージ率703から構成されている。   FIG. 7 is a data structure 700 representing the evaluation information of the test program. A test program ID 701 that uniquely identifies the test program, a call count 702 that indicates the number of times the test target method is called in the test program, and a coverage rate that can be acquired by executing the test target method using the test program It is composed of a coverage rate 703.

図8は、テストプログラムを評価する際に目標となる値の情報を表すデータ構造800である。重要度の下限値を表す重要度下限801と、重要度の上限値を表す重要度上限802と、テスト対象のメソッドの重要度が重要度下限801と重要度上限802の間にあるときにテストプログラムの目標値となる目標呼び出し回数803と、目標となるカバレージ率を表す目標カバレージ率804から構成されている。   FIG. 8 is a data structure 800 representing information on values that are targets when evaluating a test program. Tested when the importance lower limit 801 representing the lower limit of importance, the importance upper limit 802 representing the upper limit of the importance, and the importance of the test target method are between the importance lower limit 801 and the importance upper limit 802 It consists of a target number of calls 803 that is the target value of the program and a target coverage rate 804 that represents the target coverage rate.

図9は、テストプログラム内でテスト対象メソッドを呼び出している行の情報を表すデータ構造900である。テストプログラムを一意に識別するテストプログラムID901と、テストプログラム内でテスト対象のメソッドを実行している行番号を表す実行行番号902から構成されている。   FIG. 9 shows a data structure 900 representing information on a line that calls a test target method in the test program. It consists of a test program ID 901 for uniquely identifying the test program and an execution line number 902 representing the line number for executing the test target method in the test program.

図10は、テストプログラムをテスト装置104にて実行したときに得られるカバレージ率の情報を表すデータ構造1000である。テストプログラムを一意に識別するテストプログラムID1001と、テストプログラムにて対象メソッドを実行している行番号を表す実行行番号1002と、実行行番号1002にて実行した際に取得したカバレージの行番号を表すカバレージ取得行番号1003と、カバレージ取得行番号1003の行でどの列からカバレージを取得したのかを表すカバレージ取得列開始番号1004と、カバレージ取得行番号1003の行でどの列までカバレージを取得したのかを表すカバレージ取得列終了番号1005から構成されている。   FIG. 10 shows a data structure 1000 representing coverage rate information obtained when the test program is executed by the test apparatus 104. A test program ID 1001 for uniquely identifying the test program, an execution line number 1002 indicating the line number executing the target method in the test program, and the line number of the coverage acquired when the execution is executed with the execution line number 1002 Coverage acquisition row number 1003 to be represented, coverage acquisition column start number 1004 indicating from which column the coverage acquisition row number 1003 is acquired, and up to which column the coverage acquisition row number 1003 has been acquired. Is a coverage acquisition sequence end number 1005.

図11は、構成管理サーバ101における処理の概要を示すフローチャートである。クライアント装置側で開発者がソースコードエディタを用いて指定のプロジェクトを開く(ステップ1101)。構成管理サーバ101では、プロジェクト内のソースコード内の各メソッドの重要度の情報をクライアント装置102に送信し、ソースコードエディタにメソッドの情報を重要度順に表示する(ステップ1102)。開発者は、メソッドの重要度の高いものからテストプログラムを作成する(ステップ1103)。テストプログラムの作成が完了したら、構成管理サーバ101に保存要求を送信する(ステップ1104)。構成管理サーバ101で、対象のテストプログラムの評価を行う(ステップ1105)。構成管理サーバ101にテストプログラムを保存する(ステップ1106)。   FIG. 11 is a flowchart showing an outline of processing in the configuration management server 101. On the client device side, the developer opens a specified project using the source code editor (step 1101). The configuration management server 101 transmits importance information of each method in the source code in the project to the client apparatus 102, and displays the method information in the source code editor in order of importance (step 1102). The developer creates a test program from a method having a high importance (step 1103). When the creation of the test program is completed, a save request is transmitted to the configuration management server 101 (step 1104). The configuration management server 101 evaluates the target test program (step 1105). The test program is stored in the configuration management server 101 (step 1106).

図12は、クライアント装置102側で表示されるソースコードエディタの画面1200である。開発者が作成するテストプログラムに対する評価内容を表示する評価一覧1201と、プロジェクト内にあるメソッドの一覧を表示するメソッド一覧1202と、テストプログラムのソースコードを表示・入力・編集を行うテストプログラムビュー1203と、テスト対象となるソースコードとなるソースビュー1204と、テストプログラムの作成を開始する作成ボタン1205と、作成したテストプログラムを構成管理サーバ101へ保存を要求する保存ボタン1206から構成されている。メソッド一覧1202は、メソッドの重要度が高い順に表示されるものとする。また、テストプログラムの作成は、メソッドの重要度が高い順に作成しなければいけないようにソースコードエディタによって制御されているものとする。   FIG. 12 shows a screen 1200 of the source code editor displayed on the client device 102 side. An evaluation list 1201 that displays the evaluation contents for the test program created by the developer, a method list 1202 that displays a list of methods in the project, and a test program view 1203 that displays, inputs, and edits the source code of the test program A source view 1204 serving as a source code to be tested, a creation button 1205 for starting creation of a test program, and a save button 1206 for requesting the configuration management server 101 to save the created test program. The method list 1202 is displayed in descending order of method importance. It is assumed that test program creation is controlled by the source code editor so that methods must be created in descending order of importance.

図13は、保存ボタン1206を押した際に、構成管理サーバ101がテストプログラムの保存に成功したことをクライアント装置に送信しソースコードエディタに表示されるテストプログラム保存成功画面1300である。クライアント装置102で、テストプログラムの保存成功の情報を受信した際に、表示部111では対象のテストプログラムが構成管理サーバ101に保存できたことをダイアログボックス1301にて表示する。   FIG. 13 shows a test program save success screen 1300 that is displayed on the source code editor when the configuration management server 101 transmits a test program save success to the client device when the save button 1206 is pressed. When the client apparatus 102 receives information on the successful storage of the test program, the display unit 111 displays in the dialog box 1301 that the target test program has been stored in the configuration management server 101.

図14は、保存ボタン1206を押した際に、構成管理サーバ101がテストプログラムの保存に失敗したことをクライアント装置に送信しソースコードエディタに表示されるテストプログラム保存失敗画面1400である。クライアント装置102で、テストプログラムの保存失敗の情報を受信した際に、表示部111では対象のテストプログラムが構成管理サーバ101に保存に失敗したことをダイアログボックス1401にて表示する。   FIG. 14 shows a test program save failure screen 1400 displayed when the configuration management server 101 fails to save the test program to the client device and is displayed in the source code editor when the save button 1206 is pressed. When the client apparatus 102 receives information on failure to save the test program, the display unit 111 displays in the dialog box 1401 that the target test program has failed to be saved on the configuration management server 101.

図15は、テストプログラムの評価内容の一つである呼び出し回数の計測対象行を確認できる確認画面1500である。開発者は評価一覧1201内にある呼び出し回数のプログレスバーをクリックすると、テストプログラムビュー1203に表示されているテストプログラム内でテスト対象メソッドを呼び出している行の色を反転し、呼び出し回数の計測対象行を表示する。   FIG. 15 shows a confirmation screen 1500 for confirming the measurement target line of the number of calls, which is one of the evaluation contents of the test program. When the developer clicks the progress bar of the number of calls in the evaluation list 1201, the color of the line that calls the test target method in the test program displayed in the test program view 1203 is reversed, and the number of calls is measured. Display lines.

図16は、テストプログラムの評価内容の一つであるカバレージ率の計測対象行を確認できる確認画面1600である。開発者は評価一覧1201内にあるカバレージ率のプログレスバーをクリックすると、テストプログラムビュー1203に表示されているテストプログラム内でテスト対象メソッドのカバレージが取得できた行の色を反転し、カバレージ率の計測対象行を表示する。また、呼び出し回数にて呼び出し対象行を表示した状態で、テストプログラムビュー1203内の呼び出し行を選択すると、ソースビュー1204内では呼び出し行を実行した際に取得できるカバレージの情報がソースビュー内に表示される。   FIG. 16 shows a confirmation screen 1600 for confirming a coverage rate measurement target line which is one of the evaluation contents of the test program. When the developer clicks the progress bar of the coverage rate in the evaluation list 1201, the color of the row in which the coverage of the test target method can be obtained in the test program displayed in the test program view 1203 is reversed, and the coverage rate Displays the measurement target line. When a call line in the test program view 1203 is selected in a state where the call target line is displayed by the number of calls, coverage information that can be acquired when the call line is executed is displayed in the source view in the source view 1204. Is done.

図17は、プロジェクト内の各メソッドに対して評価を行い、テストプログラムの目標値を決定する流れを示すフローチャートである。記憶装置103から依存関係情報114、シーケンス図情報115を取得する(ステップ1701)。依存関係情報114とシーケンス図情報115から各メソッドの依存メソッド数と呼び出し回数を求める(ステップ1702)。ステップ1802で求めた依存メソッド数と呼び出し回数から重要度を求める(ステップ1703)。ステップ1703で求めた重要度ごとに各メソッドの目標評価値を決定する(ステップ1704)。記憶装置103に各メソッドの依存メソッド数、呼び出し回数、評価目標値を格納する(ステップ1705)。本実施例におけるメソッドの重要度は、依存メソッド数505と呼び出し回数506を乗算して求め、乗算した結果が大きいものほど重要度が高いものとする。また、評価目標値とは呼び出し回数、カバレージ率の各テストプログラムの評価する際の基準となる値のことを指す。   FIG. 17 is a flowchart showing a flow of evaluating each method in the project and determining a test program target value. The dependency relationship information 114 and sequence diagram information 115 are acquired from the storage device 103 (step 1701). The number of dependent methods and the number of calls for each method are obtained from the dependency relationship information 114 and the sequence diagram information 115 (step 1702). The importance is obtained from the number of dependent methods obtained at step 1802 and the number of calls (step 1703). A target evaluation value for each method is determined for each importance obtained in step 1703 (step 1704). The number of dependent methods, the number of calls, and the evaluation target value for each method are stored in the storage device 103 (step 1705). The importance of the method in this embodiment is obtained by multiplying the number of dependent methods 505 and the number of calls 506, and the greater the result of multiplication, the higher the importance. Further, the evaluation target value refers to a value serving as a reference when evaluating each test program of the number of calls and the coverage rate.

図18は、テストプログラムを構成管理サーバへ格納する流れを示すフローチャートである。開発者は、ソースコードエディタ1200にて対象メソッドに対するテストプログラムを作成する(ステップ1801)。テストプログラムの作成が完了したら、開発者は構成管理サーバ101にテストプログラムを保存することを要求する(ステップ1802)。構成管理サーバ101ではテストプログラムの各評価項目を集計し、テストプログラムを評価する(ステップ1803)。評価した結果、テストプログラムが基準を満たしていたしているか判定する(ステップ1804)。基準を満たしていた場合、ステップ1801で作成したテストプログラムを構成管理サーバ101に格納する(ステップ1805)。もし、基準を満たしていなかった場合、再度ステップ1801から作業を行うものとする。   FIG. 18 is a flowchart showing the flow of storing the test program in the configuration management server. The developer creates a test program for the target method in the source code editor 1200 (step 1801). When the creation of the test program is completed, the developer requests the configuration management server 101 to save the test program (step 1802). The configuration management server 101 aggregates each evaluation item of the test program and evaluates the test program (step 1803). As a result of the evaluation, it is determined whether the test program satisfies the standard (step 1804). If the standard is satisfied, the test program created in step 1801 is stored in the configuration management server 101 (step 1805). If the standard is not satisfied, the operation is performed again from step 1801.

以上のように、本実施の形態のテストプログラム管理システムによれば、次のような効果がある。
(1) 作成したシステムで使用されるメソッドの重要度を求め、メソッドの重要度ごとにテストプログラムの基準値を決定する。ここで決定した基準値を用いて、開発者が作成したテストプログラムを評価し、評価結果に基づきリポジトリへの格納の可否を決定することで、一定基準を満たしたテストプログラムを保持することができる。
As described above, the test program management system according to the present embodiment has the following effects.
(1) The importance of the method used in the created system is obtained, and the reference value of the test program is determined for each importance of the method. By using the reference value determined here, the test program created by the developer is evaluated, and by determining whether or not storage is possible in the repository based on the evaluation result, a test program that satisfies a certain standard can be maintained. .

ソフトウェア開発を効率化することが必要なあらゆる場面に利用可能である。   It can be used in all situations where software development needs to be efficient.

本発明の実施形態の一例を表すシステム構成図System configuration diagram showing an example of an embodiment of the present invention 構成管理サーバ101で管理するソースファイル格納情報のデータ構造Data structure of source file storage information managed by the configuration management server 101 依存関係情報のデータ構造Data structure of dependency information シーケンス図情報のデータ構造Data structure of sequence diagram information メソッド評価情報のデータ構造Data structure of method evaluation information テストプログラムファイル情報のデータ構造Data structure of test program file information テストプログラム評価情報のデータ構造Data structure of test program evaluation information テストプログラム評価目標値情報のデータ構造Data structure of test program evaluation target value information テストプログラム対象メソッド呼び出し情報のデータ構造Data structure of test program target method call information テストプログラムカバレージ情報のデータ構造Data structure of test program coverage information テストプログラムの作成から保存の流れを示すフローチャートFlow chart showing the flow of test program creation and storage プロジェクトを開いた際に表示されるエディタ表示画面Editor display screen displayed when a project is opened テストプログラム保存成功の際に表示されるエディタ表示画面Editor display screen displayed when test program save is successful テストプログラム保存失敗の際に表示されるエディタ表示画面Editor display screen displayed when test program saving fails 呼び出し回数の詳細情報を表示した際のエディタ表示画面Editor display screen when detailed information on the number of calls is displayed カバレージ率の詳細情報を表示した際のエディタ表示画面Editor display screen when detailed coverage rate information is displayed テストプログラムの目標値決定の流れを示すフローチャートFlow chart showing the flow of target value determination for test program テストプログラム保存決定の流れを示すフローチャートFlow chart showing the flow of test program storage decision

符号の説明Explanation of symbols

101 構成管理サーバ
102 クライアント装置
103 記憶装置
104 テスト装置
105 サーバ通信部
106 データ格納部
107 データ抽出部
108 メソッド評価部
109 テストプログラム評価部
110 クライアント通信部
111 表示部
112 入力部
113 ソースファイル情報
114 依存関係情報
115 シーケンス図情報
116 メソッド評価情報
117 テストプログラム情報
118 テスト装置通信部
119 テスト実行部
101 Configuration management server 102 Client device 103 Storage device 104 Test device 105 Server communication unit 106 Data storage unit 107 Data extraction unit 108 Method evaluation unit 109 Test program evaluation unit 110 Client communication unit 111 Display unit 112 Input unit 113 Source file information 114 Dependency Related information 115 Sequence diagram information 116 Method evaluation information 117 Test program information 118 Test device communication unit 119 Test execution unit

Claims (2)

ソースコードとテストプログラムとを管理する構成管理サーバと、開発者がテストプログラムの作成・保存の要求を送信するクライアント装置と、前記構成管理サーバが管理するソースコードに関する情報を記憶する記憶装置と、前記構成管理サーバが管理するテストプログラムを実行するテスト装置とから成るテストプログラム管理システムであって、
前記構成管理サーバは、
前記クライアント装置からのテストプログラム作成・保存要求を受信し、テストプログラム評価情報を送信するサーバ通信部と、
前記ソースコードの情報を前記記憶装置に格納するデータ格納部と、
前記記憶装置に格納されているデータを取得するデータ抽出部と、
前記ソースコード内の各メソッドの重要度を評価するメソッド評価部と、
前記テストプログラムの評価を行うテストプログラム評価部と
を備え、
前記クライアント装置は、
前記構成管理サーバに対し、テストプログラムの作成要求と前記構成管理サーバからソースコードとテストプログラム評価情報を受信するクライアント通信部と、
受信したソースコードの内容およびテストプログラムの評価内容を表示する表示部と、
該表示部により表示されたソースコードに対し、テストプログラムの作成を行う入力部と
を備え、
前記記憶装置は
前記構成管理サーバが管理するソースコードのソースファイル情報と、
前記ソースコード間の依存関係の情報を表す依存関係情報と、
前記テストプログラム管理システムのシーケンス図情報と、
前記ソースコードの各メソッドの評価を表すメソッド評価情報と、
開発者が作成したテストプログラムの評価を表すテストプログラム評価情報と
を備え、
前記テスト装置は、
前記構成管理サーバからソースコード、テストプログラム情報を受信し、テストの実行結果を送信するテスト装置通信部と、
送信されたソースコードに対してテストを実行するテスト実行部と
を備えることを特徴とするテストプログラム管理システム。
A configuration management server that manages the source code and the test program, a client device that a developer sends a request to create and save a test program, a storage device that stores information about the source code managed by the configuration management server, and A test program management system comprising a test apparatus that executes a test program managed by the configuration management server;
The configuration management server
A server communication unit that receives a test program creation / storage request from the client device and transmits test program evaluation information;
A data storage unit for storing the information of the source code in the storage device;
A data extraction unit for acquiring data stored in the storage device;
A method evaluator for evaluating the importance of each method in the source code;
A test program evaluation unit for evaluating the test program,
The client device is
A client communication unit that receives a test program creation request and source code and test program evaluation information from the configuration management server to the configuration management server,
A display for displaying the contents of the received source code and the evaluation contents of the test program;
An input unit for creating a test program for the source code displayed by the display unit,
The storage device includes source file information of a source code managed by the configuration management server,
Dependency information representing dependency information between the source codes;
Sequence diagram information of the test program management system;
Method evaluation information representing the evaluation of each method of the source code;
With test program evaluation information representing the evaluation of the test program created by the developer,
The test device comprises:
A test apparatus communication unit that receives source code and test program information from the configuration management server and transmits a test execution result;
A test program management system comprising: a test execution unit that executes a test on the transmitted source code.
請求項1に記載したテストプログラム管理システムであって、
前記構成管理サーバは、開発者からのテストプログラム保存要求に対して、テストプログラムを評価し、評価結果が前記構成管理サーバによって予め定められた目標値を満たしているか判定し、テストプログラムの保存の可否を決定し、その結果に従い、一定基準を満たすテストプログラムを保持することを特徴とするテストプログラム管理システム。
A test program management system according to claim 1,
The configuration management server evaluates the test program in response to a test program save request from the developer, determines whether the evaluation result satisfies a target value predetermined by the configuration management server, and saves the test program. A test program management system that determines whether or not a test program is acceptable and holds a test program that satisfies a certain standard according to the result.
JP2008079652A 2008-03-26 2008-03-26 Test program management system Expired - Fee Related JP5006824B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008079652A JP5006824B2 (en) 2008-03-26 2008-03-26 Test program management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008079652A JP5006824B2 (en) 2008-03-26 2008-03-26 Test program management system

Publications (2)

Publication Number Publication Date
JP2009237654A true JP2009237654A (en) 2009-10-15
JP5006824B2 JP5006824B2 (en) 2012-08-22

Family

ID=41251565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008079652A Expired - Fee Related JP5006824B2 (en) 2008-03-26 2008-03-26 Test program management system

Country Status (1)

Country Link
JP (1) JP5006824B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294587A (en) * 2013-06-24 2013-09-11 浪潮电子信息产业股份有限公司 Method for evaluating performance of server
JP2015064808A (en) * 2013-09-26 2015-04-09 株式会社日立ソリューションズ Method-level clone analysis method
WO2016109085A1 (en) * 2014-12-31 2016-07-07 Paypal, Inc. Source control management system with contingent dependency handling
WO2020070817A1 (en) * 2018-10-03 2020-04-09 三菱電機株式会社 Software analysis device, software analysis method, and software analysis program
KR20230016322A (en) * 2021-07-26 2023-02-02 한동대학교 산학협력단 Method and system for extracting fine-grained traceability links between API document comments and test code lines

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830488A (en) * 1994-07-13 1996-02-02 Hitachi Ltd Testing method for program and analyzing device for test coverage
JPH1115693A (en) * 1997-05-01 1999-01-22 Nippon Steel Corp Test device of software and record medium
JP2000339194A (en) * 1999-05-31 2000-12-08 Nec Software Kyushu Ltd Test covering ratio calculation system
JP2002182950A (en) * 2000-12-14 2002-06-28 Hitachi Software Eng Co Ltd Program test information input supporting method and system
JP2003308226A (en) * 2002-04-17 2003-10-31 Hitachi Ltd Test coverage system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830488A (en) * 1994-07-13 1996-02-02 Hitachi Ltd Testing method for program and analyzing device for test coverage
JPH1115693A (en) * 1997-05-01 1999-01-22 Nippon Steel Corp Test device of software and record medium
JP2000339194A (en) * 1999-05-31 2000-12-08 Nec Software Kyushu Ltd Test covering ratio calculation system
JP2002182950A (en) * 2000-12-14 2002-06-28 Hitachi Software Eng Co Ltd Program test information input supporting method and system
JP2003308226A (en) * 2002-04-17 2003-10-31 Hitachi Ltd Test coverage system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294587A (en) * 2013-06-24 2013-09-11 浪潮电子信息产业股份有限公司 Method for evaluating performance of server
JP2015064808A (en) * 2013-09-26 2015-04-09 株式会社日立ソリューションズ Method-level clone analysis method
WO2016109085A1 (en) * 2014-12-31 2016-07-07 Paypal, Inc. Source control management system with contingent dependency handling
US9535689B2 (en) 2014-12-31 2017-01-03 Paypal, Inc. Source control management system with contingent dependency handling
WO2020070817A1 (en) * 2018-10-03 2020-04-09 三菱電機株式会社 Software analysis device, software analysis method, and software analysis program
JPWO2020070817A1 (en) * 2018-10-03 2021-05-13 三菱電機株式会社 Software analyzer, software analysis method and software analysis program
JP7046217B2 (en) 2018-10-03 2022-04-01 三菱電機株式会社 Software analysis device, software analysis method and software analysis program
US11630662B2 (en) 2018-10-03 2023-04-18 Mitsubishi Electric Corporation Software analysis device, software analysis method, and software analysis program
KR20230016322A (en) * 2021-07-26 2023-02-02 한동대학교 산학협력단 Method and system for extracting fine-grained traceability links between API document comments and test code lines
KR102567407B1 (en) * 2021-07-26 2023-08-14 한동대학교 산학협력단 Method and system for extracting fine-grained traceability links between API document comments and test code lines

Also Published As

Publication number Publication date
JP5006824B2 (en) 2012-08-22

Similar Documents

Publication Publication Date Title
US9824002B2 (en) Tracking of code base and defect diagnostic coupling with automated triage
US9940225B2 (en) Automated error checking system for a software application and method therefor
US8433733B2 (en) Web application record-replay system and method
US8677194B2 (en) Method and system for site configurable error reporting
US20140237455A1 (en) Detection of repetition areas during testing in an event driven, multichannel architecture
US20100058295A1 (en) Dynamic Test Coverage
US20130339931A1 (en) Application trace replay and simulation systems and methods
US10169002B2 (en) Automated and heuristically managed solution to quantify CPU and path length cost of instructions added, changed or removed by a service team
EP2073121A2 (en) Analyzer and analyzing system, and computer program product
WO2019214109A1 (en) Monitoring device and method for testing process, and computer readable storage medium
CN110196809B (en) Interface testing method and device
CN111475401A (en) Test method and related equipment
JP5006824B2 (en) Test program management system
CN110543429B (en) Test case debugging method, device and storage medium
US20070245313A1 (en) Failure tagging
CN108073511B (en) Test code generation method and device
JP5787259B2 (en) Power consumption analysis system and application development tools
CN112416735B (en) Application program detection method and device, terminal equipment and storage medium
US9003371B2 (en) Recursive method call representation in a plot view of method execution performance
CN112346994B (en) Test information association method, device, computer equipment and storage medium
CN111124915B (en) Coverage rate detection method, coverage rate detection device, and storage medium
US20160275002A1 (en) Image capture in application lifecycle management for documentation and support
JP2009048442A (en) Constitution management system
CN116932414B (en) Method and equipment for generating interface test case and computer readable storage medium
US8756574B2 (en) Using reverse time for coverage analysis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100701

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120510

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

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

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees