JP6011712B2 - Correction management device, correction management method, and correction management program - Google Patents

Correction management device, correction management method, and correction management program Download PDF

Info

Publication number
JP6011712B2
JP6011712B2 JP2015501985A JP2015501985A JP6011712B2 JP 6011712 B2 JP6011712 B2 JP 6011712B2 JP 2015501985 A JP2015501985 A JP 2015501985A JP 2015501985 A JP2015501985 A JP 2015501985A JP 6011712 B2 JP6011712 B2 JP 6011712B2
Authority
JP
Japan
Prior art keywords
metadata
change
test
design model
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015501985A
Other languages
Japanese (ja)
Other versions
JP2015527621A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JP2015527621A publication Critical patent/JP2015527621A/en
Application granted granted Critical
Publication of JP6011712B2 publication Critical patent/JP6011712B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • G06F8/355Round-trip engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、概して、修正管理装置、修正管理方法、及び修正管理プログラムに関する。より具体的には、本発明は、ソフトウェアの更新、及び設計とプログラムとの間の整合性の維持に関する。   The present invention generally relates to a correction management apparatus, a correction management method, and a correction management program. More specifically, the present invention relates to software updates and maintaining consistency between designs and programs.

ソフトウェア開発において、特にアジャイルソフトウェア開発において、要件又は仕様の変更がしばしば生じる場合がある。変更が生ずると、機能仕様書、設計書、実装、テスト仕様書、及びテストプログラムの間の整合性を維持する必要がある。   Changes in requirements or specifications often occur in software development, particularly in agile software development. As changes occur, consistency between functional specifications, design documents, implementations, test specifications, and test programs must be maintained.

通常、設計書、実装、テスト仕様書、及びプログラムの間の整合性は、手動によって維持される。結果として、変更が生じる度に、設計書とプログラム内のコードとを更新し、更新プログラムを再コンパイルして再実行する必要がある。そのため、変更する度に、更なるコストが加わり、開発サイクルのペースが落ちる。この問題は、ソフトウェア開発にとって障害になる。   Typically, consistency between design documents, implementations, test specifications, and programs is maintained manually. As a result, each time a change occurs, it is necessary to update the design document and code in the program, recompile the updated program, and re-execute. As a result, each change adds additional costs and slows down the development cycle. This problem is an obstacle for software development.

技術の進歩は、コンピューティングシステムのソフトウェアの整合性をある程度まで維持しながら、更新のためのコストの低減を可能にしている。特許文献1には、入力された設計定義から、テスト仕様書及びテストコードを生成するためのシステムが開示される。特許文献2には、別の関連システムが開示される。これらのシステムは、相対的に少ないコードにより、オブジェクトの属性のための値を一括して一度に設定することを目的とする。特許文献3は、a)データ型、データ名などを含む定義、及び、b)標準シナリオ又は標準スクリプトからスクリプトを生成するシステムを開示する。特許文献4は、プログラム設計管理システムを開示する。このシステムにおいて、メタデータは、ファイルの構成情報を含み、設計過程の間に設計者によって修正される。システムは、それに対応するファイルに対してメタデータ内の変更を反映する。他の関連システムは、特許文献5〜8に開示される。   Advances in technology have enabled the cost of updating to be reduced while maintaining the integrity of the computing system software to some extent. Patent Document 1 discloses a system for generating a test specification and a test code from an input design definition. Patent Document 2 discloses another related system. The purpose of these systems is to set the values for the attributes of an object all at once with relatively few codes. Patent Document 3 discloses a system that generates a script from a) a definition including a data type and a data name, and b) a standard scenario or a standard script. Patent Document 4 discloses a program design management system. In this system, the metadata includes file configuration information and is modified by the designer during the design process. The system reflects changes in the metadata for the corresponding file. Other related systems are disclosed in Patent Documents 5 to 8.

特開2007−066204号公報Japanese Patent Laid-Open No. 2007-066204 特開2004−252708号公報JP 2004-252708 A 特開2002−366387号公報JP 2002-366387 A 特開2006−79212号公報JP 2006-79212 A 特開2004−220330号公報JP 2004-220330 A 特開2006−099743号公報JP 2006-099743 A 特開2007−011467号公報JP 2007-011467 A 特開2011−128940号公報JP 2011-128940 A

システムの要件又は仕様に変更が生じると、その設計書及び実装に対して変更が適切に反映されるか確かめる必要がある。更に、テストに関わるものであると、仕様書、設計書、実装、テスト仕様書、及びテストプログラムの間の整合性を維持する必要がある。   When changes occur to system requirements or specifications, it is necessary to ensure that the changes are properly reflected in the design and implementation. Furthermore, if it is involved in testing, it is necessary to maintain consistency between the specification, design, implementation, test specification, and test program.

問題は、設計書、実装、テスト仕様書、及びテストプログラムの間の整合性の維持が、恐らく別人である、設計者、開発者、及び試験者の手動によって非能率的に行われるということである。設計書及び実装の1つに対していくつかの変更がなされると、特許文献1〜8に開示された技術では、整合性を維持できない。   The problem is that maintaining consistency between design documents, implementations, test specifications, and test programs is done inefficiently by the manual operation of possibly separate designers, developers, and testers. is there. If some changes are made to one of the design document and the implementation, the techniques disclosed in Patent Documents 1 to 8 cannot maintain consistency.

本発明の目的は、上記の問題を解決する修正管理装置、修正管理方法、及び修正管理プログラムを提供することである。   An object of the present invention is to provide a correction management apparatus, a correction management method, and a correction management program that solve the above-described problems.

本発明によると、上述の課題は、
モデリング言語内にオブジェクトの構造を記載する設計モデルを記憶する設計モデル記憶手段と、
プログラミング言語内のオブジェクトを記載するアプリケーションプログラムを記憶するプログラム記憶手段と、
オブジェクトの構造を記載するメタデータを記憶するメタデータ記憶手段と、
アプリケーションプログラム及び設計モデルのうちの一方になされた修正から構造内の変更を抽出し、構造内の変更に従ってメタデータを更新し、更新されたメタデータに従ってアプリケーションプログラム及び設計モデルのうちの他方に対して構造内の変更を反映する操作手段と
を備える修正管理装置により解決される。
According to the present invention, the above problem is
Design model storage means for storing a design model describing the structure of an object in a modeling language;
Program storage means for storing an application program describing an object in a programming language;
Metadata storage means for storing metadata describing the structure of the object;
Extract changes in the structure from modifications made to one of the application program and the design model, update the metadata according to the change in the structure, and to the other of the application program and the design model according to the updated metadata This is solved by a correction management device comprising an operating means for reflecting changes in the structure.

本発明によると、上述の課題は、
モデリング言語内にオブジェクトの構造を記載する設計モデルを記憶し、
プログラミング言語内のオブジェクトを記載するアプリケーションプログラムを記憶し、
オブジェクトの構造を記載するメタデータを記憶し、
アプリケーションプログラム及び設計モデルのうちの一方になされた修正から構造内の変更を抽出し、構造内の変更に従ってメタデータを更新し、更新されたメタデータに従ってアプリケーションプログラム及び設計モデルのうちの他方に対して構造内の変更を反映すること
を備える修正管理方法により解決される。
According to the present invention, the above problem is
Store the design model that describes the structure of the object in the modeling language,
Store application programs that describe objects in programming languages;
Store metadata describing the structure of the object,
Extract changes in the structure from modifications made to one of the application program and the design model, update the metadata according to the change in the structure, and to the other of the application program and the design model according to the updated metadata And a modification management method comprising reflecting changes in the structure.

本発明によると、上述の課題は、
モデリング言語内にオブジェクトの構造を記載する設計モデルを記憶し、
プログラミング言語内のオブジェクトを記載するアプリケーションプログラムを記憶し、
オブジェクトの構造を記載するメタデータを記憶し、
アプリケーションプログラム及び設計モデルのうちの一方になされた修正から構造内の変更を抽出し、構造内の変更に従ってメタデータを更新し、更新されたメタデータに従ってアプリケーションプログラム及び設計モデルのうちの他方に対して構造内の変更を反映する処理
をコンピュータに実行させる修正管理プログラムにより解決される。
According to the present invention, the above problem is
Store the design model that describes the structure of the object in the modeling language,
Store application programs that describe objects in programming languages;
Store metadata describing the structure of the object,
Extract changes in the structure from modifications made to one of the application program and the design model, update the metadata according to the change in the structure, and to the other of the application program and the design model according to the updated metadata This is solved by a correction management program that causes a computer to execute a process that reflects a change in the structure.

本発明は、設計書と実装との間の整合性を維持するためのコスト及び負担が軽減される効果を有する。   The present invention has an effect of reducing the cost and burden for maintaining the consistency between the design document and the implementation.

修正管理装置を図示する簡略ブロック図である。It is a simplified block diagram illustrating a modification management device. テスト制御/実行モジュールを図示する簡略ブロック図である。FIG. 3 is a simplified block diagram illustrating a test control / execution module. テスト部品を図示する簡略ブロック図である。It is a simplified block diagram illustrating a test part. メタデータレコードを表す図である。It is a figure showing a metadata record. メタデータ操作モジュール、及びそれを維持するメタデータを図示する簡略ブロック図である。FIG. 4 is a simplified block diagram illustrating a metadata manipulation module and metadata that maintains it. UMLクラス図内に示される口座クラス(class Account)の設計モデルを表す図である。It is a figure showing the design model of the account class (class Account) shown in a UML class diagram. テストシステムの動作の流れを示す図である。It is a figure which shows the flow of operation | movement of a test system. いくつかの変更がソースコードにおいて生じた場合のメタデータ操作モジュールの動作の流れを示す図である。It is a figure which shows the flow of operation | movement of a metadata operation module when some change arises in a source code. 第2の実施形態における修正管理装置を図示する簡略ブロック図である。FIG. 6 is a simplified block diagram illustrating a correction management device according to a second embodiment.

本発明が様々な変形及び代替形態の余地のある一方で、その特定の実施形態は、図面内の例として示されており、詳細な説明によって本明細書において記載されることになる。但し、本発明を開示された特定の形態に限定するようには意図しておらず、逆に、本発明が、添付の請求項によって定義されるような本発明の精神及び範囲以内にある変形、均等物、及び代替手段をすべて網羅することを理解するべきである。   While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will be described herein by way of detailed description. However, it is not intended to limit the invention to the particular forms disclosed, but on the contrary, the invention is within the spirit and scope of the invention as defined by the appended claims. It should be understood that all equivalents and alternatives are intended to be covered.

図1を参照すると、テストシステム100の簡略ブロック図が表される。図1のテストシステム100は、本発明の修正管理装置300の例である。テストシステム100は、設計モデル入力モジュール102及びテスト結果報告モジュール112に接続される。設計モデル入力モジュール102は、端末装置であってもよい。テスト結果報告モジュール112は、ディスプレイ装置であってもよい。   Referring to FIG. 1, a simplified block diagram of a test system 100 is represented. The test system 100 of FIG. 1 is an example of the correction management apparatus 300 of the present invention. The test system 100 is connected to a design model input module 102 and a test result report module 112. The design model input module 102 may be a terminal device. The test result reporting module 112 may be a display device.

テストシステム100は、メタデータ操作モジュール106と、テスト制御/実行モジュール110と、設計モデル記憶部200と、プログラム記憶部201と、テスト部品記憶部202と、メタデータ記憶部203とを含む。   The test system 100 includes a metadata operation module 106, a test control / execution module 110, a design model storage unit 200, a program storage unit 201, a test component storage unit 202, and a metadata storage unit 203.

メタデータ操作モジュール106及びテスト制御/実行モジュール110は、コンピュータであるテストシステム100のプロセッサがメモリ内に格納されたプログラムを読み込んで実行すると機能する。同等の機能は、集積回路などのハードウェア部によって実現されることができる。設計モデル記憶部200、プログラム記憶部201、テスト部品記憶部202及びメタデータ記憶部203は、ハードウェアディスクドライブ又はICメモリのようなメモリ装置であってもよい。   The metadata operation module 106 and the test control / execution module 110 function when a processor of the test system 100 that is a computer reads and executes a program stored in the memory. The equivalent function can be realized by a hardware unit such as an integrated circuit. The design model storage unit 200, the program storage unit 201, the test part storage unit 202, and the metadata storage unit 203 may be a memory device such as a hardware disk drive or an IC memory.

また、図1に示すのは、テスト対象システム(SUT)114の構成要素である。テスト対象システム114は、テストシステム100と、設計モデル120と、テスト部品116とによってテストされる対象である。設計モデル120は、テスト対象システムの構造的側面及び行動的側面を表現する。テスト部品116は、テスト対象システム114と通信する部品又はテストの行動的側面を実現する外部構成要素である設計モデル120、テスト対象システム114、及びテスト部品116は、設計モデル記憶部200、プログラム記憶装置201及びテスト部品記憶装置202内にそれぞれ格納される。   Also shown in FIG. 1 are components of the system under test (SUT) 114. The test target system 114 is a target to be tested by the test system 100, the design model 120, and the test component 116. The design model 120 represents the structural and behavioral aspects of the system under test. The test component 116 is a component that communicates with the test target system 114 or an external component that realizes a behavioral aspect of the test. The test target system 114, the test target system 114, and the test component 116 include a design model storage unit 200, a program storage They are stored in the device 201 and the test part storage device 202, respectively.

例えば、テスト対象システム114は、アプリケーションプログラムのようなソフトウェアであってもよい。テスト対象システム114は、C++又はJAVA(登録商標)言語のようなオブジェクト指向言語を用いてアプリケーションシステム内のオブジェクトの構造及び行動を記載し、グラフィカルユーザインタフェースによりパーソナルコンピュータ上で動作する。テスト対象システム114の別の例は、ネットワーク又は通信チャネルによって接続される1つ以上のコンピュータ上で実行するクライアント・サーバプログラムである。テスト対象システム114の更なる例は、携帯電話又はタブレット型コンピュータなどのモバイル機器のマイクロプロセッサ上に動作する制御プログラムである。本発明を実施するための装置、システム、及び方法は、あらゆるタイプのテスト対象システム114により同様に充分に機能し、本明細書における例示的な実施形態は、請求項に係る発明を何らかの方法で限定するようには意図されない。   For example, the test target system 114 may be software such as an application program. The test target system 114 describes the structure and behavior of objects in the application system using an object-oriented language such as C ++ or JAVA (registered trademark) language, and operates on a personal computer through a graphical user interface. Another example of the system under test 114 is a client / server program that runs on one or more computers connected by a network or communication channel. A further example of the system under test 114 is a control program that runs on the microprocessor of a mobile device such as a mobile phone or tablet computer. The devices, systems, and methods for practicing the invention work equally well with any type of system under test 114, and the exemplary embodiments herein provide for the claimed invention in some way. It is not intended to be limiting.

図3内に示されるテスト部品116は、テストシーケンス及びテストの動作条件を定義する。また、テスト部品116は、1つ以上のソフトウェアモジュールから構成されてもよい。その1つ以上のソフトウェアモジュールは、テスト対象システム114が動作する条件を初期化し、テスト対象システム114の適切な行動を確認するために行われる動作のシーケンスを定義し、及び/又は、テスト対象システム114への入力を提供することによって、テスト対象システム114と相互に作用することができる。例えば、ATM(現金自動預け払い機)を用いて、銀行口座から現金を引き出すシナリオの適切な行動を確認するために、テスト部品116は、ソフトウェアモジュールから構成されてもよい。そのソフトウェアモジュールは、引き出す口座、認証のためのPINコード及びカードデータベース、バンキングシステムによって行われる引き出し動作のシーケンス、及びATMに対する預金引き出しの入力を設定する。   The test component 116 shown in FIG. 3 defines a test sequence and test operating conditions. The test component 116 may be composed of one or more software modules. The one or more software modules define a sequence of operations that are performed to initialize conditions under which the system under test 114 operates, confirm proper behavior of the system under test 114, and / or By providing input to 114, it is possible to interact with the system under test 114. For example, the test component 116 may be comprised of a software module in order to verify the proper behavior of a scenario for withdrawing cash from a bank account using an ATM (Automated Teller Machine). The software module sets the withdrawal account, the PIN code and card database for authentication, the sequence of withdrawal operations performed by the banking system, and the deposit withdrawal input to the ATM.

テスト部品116は、ソースコードを編集することができるテキストエディタ内にプログラムコードを入力することによって、手動的に生成されてもよい。又は、テスト部品116は、プロトタイプから部分的に自動的に生成され、その後、テキストエディタによって要求通り修正されてもよい。例えば、テスト部品116は、動作条件がシナリオからシナリオに変化するように、テスト対象システム114のための複数の動作条件を設定するために修正されてもよい。   The test part 116 may be generated manually by entering the program code into a text editor that can edit the source code. Alternatively, the test part 116 may be partially automatically generated from the prototype and then modified as required by a text editor. For example, the test component 116 may be modified to set a plurality of operating conditions for the system under test 114 such that the operating conditions change from scenario to scenario.

設計モデル120は、テスト対象システム114の構造的側面及び/又は行動的側面を表現することができるモデリング言語により記載されてもよい。設計モデル120は、テスト対象システム114内のオブジェクトの構造的側面及び行動的側面を記載してもよい。例えば、設計モデル120は、UML(ユニファイドモデリング言語)クラス図、オブジェクト図、状態遷移図、シーケンス図、及びユースケース図を含んでもよい。あるいは、設計モデル120は、JML(Javaモデリング言語)、又は他の種類のモデリング言語によって記載されてもよい。バンキングアプリケーション内のオブジェクトの「口座(Account)」クラスの設計モデルの例は、図のUMLクラス図によって表される。図に示すように、クラスの名前は「口座(Account)」である。第2の部分において、クラスの属性(別名、メンバー変数)は、個別のラインにリストアップされる。各ラインは、属性名と属性タイプとのペアを示す。第3の部分において、クラスのメソッドは、個別のラインにリストアップされる。各ラインは、括弧内のパラメータリストを有するメソッド名と戻り値のタイプとのペアを示す。 The design model 120 may be described by a modeling language that can represent structural and / or behavioral aspects of the system under test 114. The design model 120 may describe the structural and behavioral aspects of the objects in the system under test 114. For example, the design model 120 may include a UML (Unified Modeling Language) class diagram, an object diagram, a state transition diagram, a sequence diagram, and a use case diagram. Alternatively, the design model 120 may be described by JML (Java Modeling Language), or other type of modeling language. Examples of "account (Account)" class design model objects in banking applications are represented by the UML class diagram in Figure 4. As shown in FIG. 4 , the name of the class is “Account”. In the second part, class attributes (aka member variables) are listed in separate lines. Each line indicates a pair of attribute name and attribute type. In the third part, the methods of the class are listed on separate lines. Each line shows a method name and return type pair with a parameter list in parentheses.

テスト制御/実行モジュール110は、テスト部品116とテスト対象システム114との間のインタフェースを提供し、テスト部品116によって定義されるようにテストを行う。好適な実施形態において、テスト制御/実行モジュール110は、図2に示すように、テスト制御122とテスト実行124を論理的に含む。テスト制御122は、テスト部品116内に定義されたオブジェクトの生成、テストの開始及び終了などのテスト動作に対する制御を提供してもよい。テスト実行124は、テスト部品116によって指定されたテスト行動を実現するためにプログラムコードを実際に実行する少なくともインタプリタ又は仮想マシンによって実現されてもよい。テスト実行124は、後述するメタデータ内の変更のために動的な更新をサポートするために、動的クラスローディング及び動的オブジェクトバインディングの能力を持つべきである。   The test control / execution module 110 provides an interface between the test component 116 and the system under test 114 and performs tests as defined by the test component 116. In the preferred embodiment, test control / execution module 110 logically includes test control 122 and test execution 124, as shown in FIG. Test control 122 may provide control over test operations such as creating objects defined in test component 116, starting and ending tests. Test execution 124 may be implemented by at least an interpreter or virtual machine that actually executes program code to implement the test behavior specified by test component 116. Test run 124 should have dynamic class loading and dynamic object binding capabilities to support dynamic updates due to changes in the metadata described below.

設計モデル入力モジュール102は、テスト対象システム114の設計モデル120を記載する入力を受信することができ、且つ設計モデル記憶部200内に保存された出力データを提供することができる、インタフェースであってもよい。好適な実施形態において、設計モデル入力モジュール102は、設計モデル120を入力又は編集するために用いることができる、キーボード、ポインティングデバイス、ディスプレイ、及びグラフィカルユーザインタフェースを有するコンピュータ端末である。   The design model input module 102 is an interface that can receive input describing the design model 120 of the system under test 114 and can provide output data stored in the design model storage unit 200. Also good. In a preferred embodiment, the design model input module 102 is a computer terminal having a keyboard, pointing device, display, and graphical user interface that can be used to enter or edit the design model 120.

テスト結果報告モジュール112は、映像出力及び/又は音声出力、及び/又はデータ出力を、記憶装置若しくはメモリに対して提供することができる物理的なディスプレイ端末若しくはインタフェースであってもよい。好適な実施形態において、テスト報告モジュール112は、テスト制御/実行モジュール110に接続されたグラフィカルユーザインタフェースを有するコンピュータ端末である。又は、テスト報告モジュール112は、ネットワーク若しくは何らかの通信媒体を介してテスト制御/実行モジュール110と通信してもよい。   The test result reporting module 112 may be a physical display terminal or interface that can provide video and / or audio output and / or data output to a storage device or memory. In the preferred embodiment, the test report module 112 is a computer terminal having a graphical user interface connected to the test control / execution module 110. Alternatively, the test report module 112 may communicate with the test control / execution module 110 via a network or some communication medium.

メタデータ記憶部203は、図4に示すようなメタデータを記憶する。メタデータは、テスト対象システム114内のオブジェクトの構造に関する仕様を提供する1セットのデータである。オブジェクトの構造は、オブジェクトのクラス名と、クラスの属性の名前及びタイプと、クラスのメソッドの名前及び戻り型と、クラスのメソッドの引数の名前及びタイプとを含む。例えば、図4に示すXML内に記述されたメタデータのレコードは、図の設計モデルによって指定されたクラスの属性及びメソッドを伴うクラスの仕様を提供する。図4及び図の上記の説明、例、及び構成要素は、単に例示的であって、請求項に係る発明を多少なりとも限定するようには意図されない。 The metadata storage unit 203 stores metadata as shown in FIG. The metadata is a set of data that provides specifications regarding the structure of objects in the system under test 114. The structure of an object includes the class name of the object, the name and type of the class attribute, the name and return type of the class method, and the name and type of the argument of the class method. For example, the record of metadata described in the XML shown in FIG. 4 provides a class specification with attributes and methods of the class specified by the design model of FIG. The above description, examples, and components of FIGS. 4 and 6 are merely exemplary and are not intended to limit the claimed invention in any way.

図1に示されて、図5に更に詳細に示されるメタデータ操作モジュール106は、メタデータ126、128、130を生成することができるモジュールである。すなわち、メタデータ操作モジュール106は、(a)設計モデル120から設計書内の各オブジェクトのメタデータ126を生成し、(b)テスト対象システム114の各オブジェクトからメタデータ128を生成し、(c)テスト部品116の各オブジェクトからメタデータ130を生成する。以降、設計モデル120、テスト対象システム114及びテスト部品116の各々は、システム構成要素を指す。メタデータ操作モジュール106は、以下の(d)〜(g)のプロセスを行う能力を更に有する。(d)第1のシステム構成要素として以降称されるシステム構成要素の少なくとも1つに対して行われた修正を検出すること。(e)修正に従って、第1のシステム構成要素のメタデータを更新すること。(f)第2及び第3のシステム構成要素である他の2つのシステム構成要素のメタデータに対して、第1のシステム構成要素のメタデータに対して行われた更新を適用することによって、設計モデル120内のメタデータ126、テスト対象システム114内の対応するオブジェクトのメタデータ128、及びテスト部品116内の対応するオブジェクトのメタデータ130間の整合性を維持すること。(g)第2及び第3のシステム構成要素のメタデータに対して行われた変更を、第2及び第3のシステム構成要素に対してそれぞれ反映すること。   The metadata manipulation module 106 shown in FIG. 1 and shown in more detail in FIG. 5 is a module that can generate metadata 126, 128, 130. That is, the metadata operation module 106 generates (a) metadata 126 of each object in the design document from the design model 120, (b) generates metadata 128 from each object of the test target system 114, (c ) Metadata 130 is generated from each object of the test part 116. Hereinafter, each of the design model 120, the test target system 114, and the test part 116 refers to a system component. The metadata operation module 106 further has the ability to perform the following processes (d) to (g). (D) detecting a modification made to at least one of the system components, hereinafter referred to as the first system component. (E) Updating the metadata of the first system component according to the modification. (F) By applying the updates made to the metadata of the first system component to the metadata of the other two system components that are the second and third system components, Maintaining consistency between the metadata 126 in the design model 120, the corresponding object metadata 128 in the system under test 114, and the corresponding object metadata 130 in the test part 116. (G) Reflecting changes made to the metadata of the second and third system components to the second and third system components, respectively.

例えば、上記のプロセス(d)において、メタデータ操作モジュール106は、設計モデル120に対する修正を検出する。プロセス(e)において、メタデータ操作モジュール106は、修正に従ってメタデータ126を更新する。プロセス(f)において、メタデータ操作モジュール106は、メタデータ126、128、130間の整合性を維持するためにメタデータ128及び130を変更する。プロセス(g)において、メタデータ操作モジュール106は、メタデータ128に対して行われた変更、及びテスト部品116に対するメタデータ130に対して行われた変更を、テスト対象システム114に反映する。   For example, in the above process (d), the metadata operation module 106 detects a modification to the design model 120. In process (e), the metadata manipulation module 106 updates the metadata 126 according to the modification. In process (f), the metadata manipulation module 106 modifies the metadata 128 and 130 to maintain consistency between the metadata 126, 128, 130. In the process (g), the metadata operation module 106 reflects changes made to the metadata 128 and changes made to the metadata 130 to the test part 116 in the test target system 114.

プロセス(a)、(b)、及び(c)において、メタデータ操作モジュール106は、システム構成要素からメタデータを抽出するために、システム構成要素が記述された言語の構文規則を用いてもよい。例えば、メタデータ操作モジュール106は、テスト対象システム114及びテスト部品116がC++言語で記述された場合、テスト対象システム114及びテスト部品116から属性名及び属性タイプを抽出するためにC++言語の構文規則を用いる。   In processes (a), (b), and (c), the metadata manipulation module 106 may use the syntax rules of the language in which the system component is described in order to extract metadata from the system component. . For example, when the test target system 114 and the test part 116 are described in the C ++ language, the metadata operation module 106 uses the C ++ language syntax rule to extract the attribute name and the attribute type from the test target system 114 and the test part 116. Is used.

プロセス(d)において、メタデータ操作モジュール106は、システム構成要素を修正するテキストエディタプログラムから通知を受信してもよい。   In process (d), the metadata manipulation module 106 may receive a notification from a text editor program that modifies system components.

プロセス(e)において、メタデータ操作モジュール106は、テキストエディタプログラムから第1のシステム構成要素に対して行われた修正のデータを受信してもよい。その後、第1のシステム構成要素のメタデータに対する修正がどこにどのように行われなければならないのか決定するために、第1のシステム構成要素が記述される言語の構文規則を用いてもよい。メタデータ操作モジュール106は、メタデータ126内の属性のタイプを変更するためにUMLの構文規則及び意味規則を用いて、属性のタイプが設計モデル120内で変更されることを検出する。   In process (e), the metadata manipulation module 106 may receive data of modifications made to the first system component from the text editor program. Thereafter, the syntax rules of the language in which the first system component is described may be used to determine where and how modifications to the metadata of the first system component must be made. The metadata manipulation module 106 uses UML syntax rules and semantic rules to change the type of attribute in the metadata 126 and detects that the type of attribute is changed in the design model 120.

プロセス(f)において、メタデータ操作モジュール106は、メタデータ126、128及び130が対応するオブジェクトごとに同一の構造を記載するように、第2及び第3のシステム構成要素のメタデータを更新する。例えば、対応するメソッドは、各メタデータ126、128及び130内に同一の名前及び同一の戻り型を有する。   In process (f), the metadata manipulation module 106 updates the metadata of the second and third system components so that the metadata 126, 128, and 130 describe the same structure for each corresponding object. . For example, the corresponding method has the same name and the same return type in each metadata 126, 128, and 130.

プロセス(g)において、メタデータ操作モジュール106は、第2のシステム構成要素のメタデータの更新版を参照し、第2のシステム構成要素が記述された言語の構文規則を用いてメタデータと第2のシステム構成要素との間の不一致を検出する。そして、メタデータ操作モジュール106は、メタデータに従って第2のシステム構成要素を修正する。例えば、第2のシステム構成要素がC++言語で記述されたSUT114である場合、メタデータ操作モジュール106は、C++言語の構文規則を用いて、メタデータ128内の属性のタイプと、SUT114のプログラムコード内の属性に対応する変数の定義との間の不一致を検出する。そして、メタデータ操作モジュール106は、メタデータ128に従って、SUT114内の定義内の変数のタイプを変更する。メタデータ操作モジュール106は、第3のシステム構成要素を同様に処理する。   In the process (g), the metadata operation module 106 refers to the updated version of the metadata of the second system component, and uses the syntax rules of the language in which the second system component is described, Detect inconsistencies between the two system components. Then, the metadata operation module 106 modifies the second system component according to the metadata. For example, if the second system component is the SUT 114 written in the C ++ language, the metadata manipulation module 106 uses the C ++ language syntax rules to determine the type of attribute in the metadata 128 and the program code of the SUT 114. Detects discrepancies between definitions of variables corresponding to attributes in Then, the metadata operation module 106 changes the type of the variable in the definition in the SUT 114 according to the metadata 128. The metadata operation module 106 processes the third system component in the same manner.

それらの間の不整合性は、設計モデル120に対する修正によって、及び/又はテスト対象システム114のプログラムコード又はテスト部品116のプログラムコードの修正によって、引き起こされ得る。   Inconsistencies between them can be caused by modifications to the design model 120 and / or by modification of the program code of the system under test 114 or the program code of the test part 116.

例えば、図4のメタデータは、設計モデル120内の口座クラス(class Account)のメタデータ126を図示する。テスト対象システム114内の口座クラスのプログラムコードとしての実装の場合、メタデータ操作モジュール106は、口座クラスの実装のメタデータ128から口座クラスの設計モデル120のメタデータ126への依存関係を維持する。すなわち、テスト対象システム114内の口座クラスの各々の実装されるメソッドは、クラスの設計モデル120のメソッドのメタデータ126の対応する構成要素との関係を有する。また、テスト部品116内の「bobAccount」と呼ばれる口座(Account)のインスタンスオブジェクトの場合、メタデータ操作モジュール106は、インスタンスオブジェクト「bobAccount」から口座クラスの設計モデル120のメタデータ126への依存関係を維持する。   For example, the metadata of FIG. 4 illustrates the account 126 metadata 126 in the design model 120. In the case of an implementation of the account class in the system under test 114 as program code, the metadata manipulation module 106 maintains a dependency from the account class implementation metadata 128 to the account class design model 120 metadata 126. . That is, each implemented method of the account class in the system under test 114 has a relationship with a corresponding component of the method metadata 126 of the class design model 120. Further, in the case of an account (Account) instance object called “bobAccount” in the test component 116, the metadata operation module 106 determines the dependency relationship from the instance object “bobAccount” to the metadata 126 of the account class design model 120. maintain.

メタデータ操作モジュール106が検出する変更は、設計モデル120、テスト対象システム114、及びテスト部品116内に生じるあらゆる変更を含む。すなわち、設計書内の変更に従って設計モデル120内に生じる変更、テスト対象システム114のプログラムコードの修正に従ってテスト対象システム114内に生じる変更、及びテスト部品116のプログラムコードの修正に従ってテスト部品116内に生じる変更を含む。   Changes detected by the metadata manipulation module 106 include any changes that occur in the design model 120, the system under test 114, and the test component 116. That is, changes that occur in the design model 120 in accordance with changes in the design document, changes that occur in the test target system 114 in accordance with modification of the program code of the test target system 114, and in the test part 116 in accordance with correction of the program code of the test part 116. Includes changes that occur.

メタデータ操作モジュール106は、設計モデル120、テスト部品116、及びテスト対象システム114の変更に対してポーリングしてもよい。更に、テスト対象システム114及び/又はテスト部品116に対して行われた何らかの変更に関して、メタデータ操作モジュール106は、テスト制御/実行モジュール110に通知してもよい。その結果、モジュール110がランタイムオブジェクトを更新してテストを再実行することができる。   The metadata manipulation module 106 may poll for changes in the design model 120, the test part 116, and the test target system 114. Further, the metadata manipulation module 106 may notify the test control / execution module 110 regarding any changes made to the system under test 114 and / or the test component 116. As a result, module 110 can update the runtime object and re-run the test.

テストシステム100の動作を要約するために、ユーザは設計モデル入力モジュール102を用いて、設計モデル120を生成する。その後、ユーザは、テスト対象システム114を実装し、テスト部品116を設計通りに生成する。その後、メタデータ操作モジュール106は、設計モデル120、テスト部品116、及びテスト対象システム114から、メタデータ126、128、130を生成する。上記の前処理の各々が完了すると、必ずしも上記の順序ではないが、テストシステム100は、テスト対象システム114をテストする準備ができている。   To summarize the operation of the test system 100, the user uses the design model input module 102 to generate a design model 120. Thereafter, the user mounts the test target system 114 and generates the test component 116 as designed. Thereafter, the metadata operation module 106 generates metadata 126, 128, and 130 from the design model 120, the test part 116, and the test target system 114. When each of the above pre-processing is completed, the test system 100 is ready to test the test target system 114, although not necessarily in the above order.

第1のテストにおいて、テスト制御/実行モジュール110は、テスト部品116を読み込み、及びテスト部品116によって指定されるように、テストを実行する。テスト部品116は、テスト対象システム114と相互に作用することによって、例えば、テスト対象システム114が提供するAPIを呼び出して、ステップを実行する。各々の行動スクリプトのテスト結果は、テスト結果報告モジュール112によってレポートするために記録される。   In the first test, the test control / execution module 110 reads the test part 116 and executes the test as specified by the test part 116. The test component 116 interacts with the test target system 114 to call, for example, an API provided by the test target system 114 and execute the steps. The test result of each action script is recorded for reporting by the test result reporting module 112.

図7は、本発明の自動テストプロセスの動作を記載するフローチャートである。当業者は、テストプロセスが、変更を処理し、テストを中断し開始するために手動介入を要して行われてもよいし、又は、本発明により完全に自動化されたプロセスで行われてもよいことを認識するだろう。更に、本発明は、手動のプロセスと完全に自動化されたプロセスとの両方を組み込むハイブリッド手法が、設計モデル120内に生じる変更を処理することを可能にさせる。本質的には、本発明は、設計モデル120とメタデータ126との関係、テスト114下でのシステムの実装におけるメタデータ128とオブジェクトとの依存関係、及びテスト部品116の実装におけるメタデータ130とオブジェクトとの依存関係を定義する。更に、本発明は、変更を反映するための手段としてメタデータ126、128、130を活用する。当業者は、本発明が、完全に自動化されたプロセスが有効でない場合に既知の手動手順と組み合わせた自動プロセスと同様に、自動テストプロセスの提供が適することを認識するだろう。   FIG. 7 is a flowchart describing the operation of the automated test process of the present invention. Those skilled in the art will recognize that the test process may be performed with manual intervention to handle changes, interrupt and start the test, or may be performed in a fully automated process according to the present invention. You will recognize the good. Furthermore, the present invention allows a hybrid approach that incorporates both manual and fully automated processes to handle changes that occur within the design model 120. In essence, the present invention relates to the relationship between the design model 120 and the metadata 126, the dependency between the metadata 128 and objects in the implementation of the system under the test 114, and the metadata 130 in the implementation of the test component 116. Define dependencies with objects. Further, the present invention utilizes metadata 126, 128, 130 as a means for reflecting changes. One skilled in the art will recognize that the present invention is suitable for providing an automated test process as well as an automated process in combination with known manual procedures when a fully automated process is not effective.

テストシステム100が処理することができる設計モデル120に対する変更は、メソッドの名前及び戻り型の変更、メソッドの署名内のデータ名及び引数のタイプの変更、クラス属性の名前及びタイプの変更、クラスの名前の変更、新たなメソッドの追加、新たな属性の追加、及び既存の属性及びメソッドの除去を含む。テストシステム100が処理することができるSUT114及びテスト部品116に対する変更は、以上に記載されたようなプログラムコード内の構造的な変更を含む。   Changes to the design model 120 that the test system 100 can handle include: method name and return type changes, data name and argument type changes in method signatures, class attribute names and type changes, class attributes Includes renaming, adding new methods, adding new attributes, and removing existing attributes and methods. Changes to the SUT 114 and test component 116 that the test system 100 can handle include structural changes in the program code as described above.

自動テストプロセスは、設計モデル120が生成される動作200から開始する。これは、設計モデル入力モジュール102によって行うことができる。動作204では、テスト対象システム114を設計通りに実装し、その後、動作206では、システム行動をテストするためのテスト部品116を生成する。   The automated test process begins at operation 200 where a design model 120 is generated. This can be done by the design model input module 102. In operation 204, the system under test 114 is implemented as designed, and then in operation 206, a test component 116 for testing system behavior is generated.

その後、動作208において、設計モデル120、テスト対象システム114、及びテスト部品116のメタデータ126が、メタデータ操作モジュール106によって生成される。メタデータ126、128及び130の生成は、ソフトウエアコンポーネントであるトランスフォーマによって実現されてもよい。トランスフォーマは、ソースコードの表現からメタデータ126、128、130のXML記述の間を変換する(その逆も成立する)ことができるコンパイラのように機能する。ソースコードの表現は、(a)設計モデル120の入力フォーマット、(b)SUT114のプログラムソースコード、又は(c)テスト部品116のプログラムソースコードであってもよい。これら3つの表現の各々ごとにトランスフォーマを有してもよい。それぞれのトランスフォーマは、(a)設計モデル120から設計モデル126のメタデータへの間、(b)SUT114からSUT128のメタデータへの間、及び(c)テスト部品116からテスト部品130のメタデータへの間をそれぞれ変換する。   Thereafter, in operation 208, the metadata 126 of the design model 120, the test target system 114, and the test part 116 is generated by the metadata manipulation module 106. The generation of the metadata 126, 128, and 130 may be realized by a transformer that is a software component. The transformer functions like a compiler that can convert between XML descriptions of the metadata 126, 128, and 130 from the representation of the source code (and vice versa). The representation of the source code may be (a) the input format of the design model 120, (b) the program source code of the SUT 114, or (c) the program source code of the test part 116. Each of these three representations may have a transformer. Each transformer is (a) from design model 120 to design model 126 metadata, (b) from SUT 114 to SUT 128 metadata, and (c) from test part 116 to test part 130 metadata. Respectively.

次に、何らかの試験されていないテスト部品116が存在するか否かをテスト制御/実行モジュール110が判定する動作210において自動テストプロセスが起動される。存在する場合、動作212では、試験されていないテスト部品116をテストのために読み込み、動作214では、テスト部品116のテストを実行する。動作216では、次に、テスト結果を記録する。テストプロセスは、その後、試験されていないテスト部品116が存在するか否かをチェックする動作210まで一巡して戻ることによって継続する。テスト部品116がすべてテストされた場合、テストプロセスは、終了し、動作218では、テスト結果の報告を作成する。   Next, an automatic test process is initiated at operation 210 where the test control / execution module 110 determines whether there are any untested test components 116. If so, operation 212 reads an untested test component 116 for testing, and operation 214 performs a test of test component 116. In operation 216, the test result is then recorded. The test process then continues by looping back to operation 210, which checks for the presence of untested test components 116. If all of the test components 116 have been tested, the test process ends and operation 218 creates a test result report.

図8は、いくつかの変更がソースコードに対して行われる場合のメタデータ操作モジュール106の処理フローを表す。本明細書における用語「ソースコード(source)」は、設計モデル120又はSUT114又はテスト部品116(図5参照)を指してもよい。変更が生じる前の最初は、設計モデル126のメタデータ、SUT130のメタデータ、及びテスト部品128のメタデータは、それらがオブジェクトの同一の構造を記載する状態と同じ又は同等である。   FIG. 8 shows the processing flow of the metadata manipulation module 106 when some changes are made to the source code. The term “source code” herein may refer to design model 120 or SUT 114 or test component 116 (see FIG. 5). Initially before the change occurs, the metadata of the design model 126, the metadata of the SUT 130, and the metadata of the test part 128 are the same or equivalent to the state in which they describe the same structure of the object.

動作300では、ソースコード内の変更を検出する。これは、ソースコードの各々に対する何らかの状態変化を観察して自動的に通知するソフトウエアコンポーネントであるオブザーバをバインディングするによって実現することができる。オブザーバは、ソースコードに対して何らかの状態変化の106が生じるとメタデータ操作モジュールに通知し、また、変更の前(β)及び後(α)の内容を提供する。変更β及びαの内容は、メタデータを修正する後続の動作によって用いられるだろう。一旦変更が検出されれば、動作302では、実行する仮想マシンに休止することを命令することにより、テスト制御/実行モジュール110に対してその実行を休止するように命じる。   In operation 300, a change in the source code is detected. This can be achieved by binding an observer, which is a software component that observes and automatically notifies some state change for each of the source code. The observer notifies the metadata operation module when some state change 106 occurs in the source code, and provides the content before (β) and after (α) of the change. The contents of changes β and α will be used by subsequent operations that modify the metadata. Once a change is detected, operation 302 instructs the test control / execution module 110 to pause execution by instructing the virtual machine to execute to pause.

その後、動作304では、変更に従ってソースコードのメタデータを修正する。SによるソースコードのメタデータのXML記述を表すものとする(図4(a)のXML記述を参照)。動作208内に記載されたように、このようなメタデータを生成する対応するトランスフォーマによって、メタデータのXML記述に対する変更β及びαの内容を変換によって、動作304を実現することができる。
変換は、
β⇒m(β)、
α⇒m(α)、
であり、ここで、m(β)及びm(α)は、それぞれ、β及びαのメタデータのXML記述であり、その後、m(α)によってm(β)に対応するSの部分を置換する。
Thereafter, in operation 304, the source code metadata is modified according to the change. It is assumed that the XML description of the source code metadata by S is represented (see the XML description in FIG. 4A). As described in operation 208, operation 304 can be implemented by converting the contents of the changes β and α to the XML description of the metadata with a corresponding transformer that generates such metadata.
Conversion
β⇒m (β),
α⇒m (α),
Where m (β) and m (α) are XML descriptions of the metadata of β and α, respectively, and then replace the portion of S corresponding to m (β) by m (α) To do.

例えば、設計モデル120(ソースコード)に対して変更がなされるケースを図示するものとする。メソッド「credit」の引数「amount」のデータ型は、仕様書内の修正の結果として、整数(Integer)から文字列(String)に変更される。動作304では、設計モデル126のメタデータを更新する。これは、図4(b)に示すように、<arg type="Integer" name="amount">から<arg type="String" name="amount">に、メタデータの対応するXML記述を置換するメタデータ操作モジュール106によって行うことができる。   For example, a case where a change is made to the design model 120 (source code) is illustrated. The data type of the argument “amount” of the method “credit” is changed from an integer to a string as a result of the modification in the specification. In operation 304, the metadata of the design model 126 is updated. As shown in FIG. 4B, the XML description corresponding to the metadata is changed from <arg type = "Integer" name = "amount"> to <arg type = "String" name = "amount">. This can be done by the metadata operation module 106 to be replaced.

動作306では、ソースコードではない他の2つのシステム構成要素のメタデータを修正する。同じ方式で、メタデータ操作モジュール106は、対応するS内の部分を、m(β)をm(α)に置換する。先の例から継続すると、メタデータ操作モジュール106は、<arg type="Integer" name="amount">から<arg type="String" name="amount">に、メタデータの対応するXML記述を置換することによって、SUT128のメタデータ及びテスト部品130のメタデータを修正する。   In operation 306, the metadata of the other two system components that are not the source code is modified. In the same manner, the metadata operation module 106 replaces m (β) with m (α) in the corresponding part in S. Continuing from the previous example, the metadata operation module 106 changes the XML description corresponding to the metadata from <arg type = "Integer" name = "amount"> to <arg type = "String" name = "amount">. Is modified to modify the metadata of the SUT 128 and the metadata of the test part 130.

動作308では、ソースコード以外の2つのシステム構成要素に対して、メタデータの変更を反映する。動作208に記載したように、この動作は、対応するトランスフォーマによって実現することができる。先の例から、SUT114のトランスフォーマは、変更されたメタデータ128から新しい口座クラスを変換する。また、テスト部品116のトランスフォーマは、変更されたメタデータ130内の新しい口座クラスからインスタンス化された新しいオブジェクトを変換する。   In operation 308, the metadata change is reflected on the two system components other than the source code. As described in operation 208, this operation can be accomplished by a corresponding transformer. From the previous example, the SUT 114 transformer converts the new account class from the modified metadata 128. In addition, the transformer of the test part 116 converts a new object instantiated from the new account class in the modified metadata 130.

一旦変更が反映されれば、動作310では、更新されたランタイムオブジェクトを再ロードしてテストの実行を再開するように、動作302の実行から休止された仮想マシンに命令する。それによって、動作310では、ランタイムオブジェクトを更新するようにテスト制御/実行モジュール110に指示する。   Once the change is reflected, operation 310 instructs the virtual machine that has been paused from execution of operation 302 to reload the updated runtime object and resume test execution. Thereby, operation 310 instructs test control / execution module 110 to update the runtime object.

メタデータ操作モジュール106から構成される本発明の実施形態によれば、設計モデル120内の変更は、メタデータ126、128、130の変換を通じてテスト対象システム114及びテスト部品116の実装に反映されることができる。同様に、テスト対象システム114の実装内の変更は、メタデータ126、128、130の変換を通じて設計モデル120及びテスト部品116に反映されることができる。これは、設計書、実装及びテスト部品の間の整合性を維持するためのコスト及び労力を削減することができる。テスト制御/実行モジュール106から構成される本発明の実施形態によれば、テスト対象システム114又はテスト部品116内の修正は、手動の割り込みを伴わずに動的な再バインディングによって、テストにおいて有効になることができる。これは、時間を低減し、テストプロセスを制御するために必要だった配慮を最小限に抑えることができる。   According to an embodiment of the present invention comprising the metadata manipulation module 106, changes in the design model 120 are reflected in the implementation of the test target system 114 and the test component 116 through conversion of the metadata 126, 128, 130. be able to. Similarly, changes in the implementation of the system under test 114 can be reflected in the design model 120 and the test component 116 through conversion of the metadata 126, 128, 130. This can reduce the cost and effort to maintain consistency between design documents, implementations and test components. In accordance with an embodiment of the present invention comprised of test control / execution module 106, modifications in system under test 114 or test component 116 are validated in the test by dynamic rebinding without manual interruption. Can be. This can reduce time and minimize the considerations needed to control the test process.

本発明の改善された実施形態において、メタデータの1つのみが修正管理装置200内に存在してもよい。この実施形態において、メタデータ操作モジュール106は、(a)、(b)及び(c)のプロセスのうちの1つのみを行ってもよく、必ずしもプロセス(f)を行う必要はない。   In an improved embodiment of the present invention, only one piece of metadata may be present in the modification management device 200. In this embodiment, the metadata operation module 106 may perform only one of the processes (a), (b), and (c), and does not necessarily perform the process (f).

本発明の別の改善された実施形態において、システム構成要素の2つのみが修正管理装置300内に存在する。例えば、設計モデル120及びテスト対象システム114のみが、修正管理装置300内に存在してもよい。   In another improved embodiment of the present invention, only two of the system components are present in the modification management device 300. For example, only the design model 120 and the test target system 114 may exist in the correction management apparatus 300.

<第2の好ましい実施形態>
図9を参照すると、第2の好ましい実施形態における修正管理装置300の簡略ブロック図が表される。修正管理装置300は、設計モデル記憶部200と、プログラム記憶部201と、メタデータ記憶部203と、メタデータ操作部106とを備える。
<Second Preferred Embodiment>
Referring to FIG. 9, a simplified block diagram of a modification management device 300 in the second preferred embodiment is represented. The correction management apparatus 300 includes a design model storage unit 200, a program storage unit 201, a metadata storage unit 203, and a metadata operation unit 106.

設計モデル記憶装置200は、モデリング言語内のオブジェクトの構造を記載する設計モデル120を記憶する。プログラム記憶装置201は、テスト対象システムを記憶する。テスト対象システムは、プログラミング言語内のオブジェクトを記載するアプリケーションプログラムである。メタデータ記憶装置203は、オブジェクトの構造を記載するメタデータを記憶する。   The design model storage device 200 stores a design model 120 that describes the structure of an object in a modeling language. The program storage device 201 stores a test target system. The system under test is an application program that describes objects in a programming language. The metadata storage device 203 stores metadata describing the structure of the object.

メタデータ操作部106は、アプリケーションプログラム及び設計モデル120のうちの一方になされた修正から構造内の変更を抽出する。更に、メタデータ操作部106は、構造内の変更に従ってメタデータを更新し、更新されたメタデータに従ってアプリケーションプログラム及び設計モデル120のうちの他方に対して構造内の変更を反映する。   The metadata operation unit 106 extracts a change in the structure from a modification made to one of the application program and the design model 120. Further, the metadata operation unit 106 updates the metadata according to the change in the structure, and reflects the change in the structure to the other of the application program and the design model 120 according to the updated metadata.

設計書と実装との間の整合性を維持するためのコスト及び負担が軽減される。これは、メタデータ操作モジュール106により、設計モデル120内の変更がメタデータの変換を通じてテスト対象システム114の実装に反映され得る(その逆も成立する)からである。   Costs and burdens for maintaining consistency between the design document and the implementation are reduced. This is because a change in the design model 120 can be reflected in the implementation of the test target system 114 through metadata conversion by the metadata operation module 106 (and vice versa).

本発明は、コンピュータソフトウェアのテストの自動化用に用いることができるが、特にアジャイルソフトウェア開発には限定されない。本発明は、テスト対象システムの機能仕様書とテスト仕様書との間の整合性をチェックするために用いることができる。   The present invention can be used for computer software test automation, but is not particularly limited to agile software development. The present invention can be used to check the consistency between the functional specifications of the test target system and the test specifications.

100 テストシステム
102 設計モデル入力モジュール
106 メタデータ操作モジュール
110 テスト制御/実行モジュール
112 テスト結果報告モジュール
114 テスト対象システム
116 テスト部品
120 設計モデル
122 テスト制御
124 テスト実行
126 設計モデルのメタデータ
128 テスト部品のメタデータ
130 テスト対象システムのメタデータ
200 設計モデル記憶部
201 プログラム記憶部
202 テスト部品記憶装置
203 メタデータ記憶部
300 修正管理装置
DESCRIPTION OF SYMBOLS 100 Test system 102 Design model input module 106 Metadata operation module 110 Test control / execution module 112 Test result report module 114 Test target system 116 Test part 120 Design model 122 Test control 124 Test execution 126 Design model metadata 128 Test part metadata Metadata 130 Metadata of test target system 200 Design model storage unit 201 Program storage unit 202 Test part storage device 203 Metadata storage unit 300 Correction management device

Claims (11)

モデリング言語内にオブジェクトの構造を記載する設計モデルを記憶する設計モデル記憶手段と、
プログラミング言語内の前記オブジェクトを記載するアプリケーションプログラムを記憶するプログラム記憶手段と、
前記オブジェクトの前記構造を記載するメタデータを記憶するメタデータ記憶手段と、
前記アプリケーションプログラム及び前記設計モデルのうちの一方になされた修正から前記構造内の変更を抽出し、前記構造内の前記変更に従って前記メタデータを更新し、前記更新されたメタデータに従って前記アプリケーションプログラム及び前記設計モデルのうちの他方に対して前記構造内の前記変更を反映する操作手段と、
前記アプリケーションプログラムをテストするためのテスト部品を記憶するテスト部品記憶手段を備え、
前記操作手段は、前記アプリケーションプログラム、前記設計モデル、及び前記テスト部品のうちの1つにおいてなされた修正から前記構造内の前記変更を抽出し、前記アプリケーションプログラム、前記設計モデル、及び前記テスト部品のうちの他の2つに対して、前記構造内の前記変更を反映する
修正管理装置。
Design model storage means for storing a design model describing the structure of an object in a modeling language;
Program storage means for storing an application program that describes the object in a programming language;
Metadata storage means for storing metadata describing the structure of the object;
Extracting changes in the structure from modifications made to one of the application program and the design model, updating the metadata in accordance with the changes in the structure, and applying the application program and in accordance with the updated metadata An operating means for reflecting the change in the structure to the other of the design models;
Test part storage means for storing a test part for testing the application program,
The operating means extracts the change in the structure from a modification made in one of the application program, the design model , and the test part, and the operation means extracts the change in the application program, the design model, and the test part. A correction management device that reflects the change in the structure to the other two.
前記オブジェクトの前記構造は、属性の名前及びタイプ、メソッド及び前記メソッドの引数を含み、前記操作手段によって抽出されて反映された前記構造内の前記変更は、前記名前及び/又は前記タイプ内の変更を含む
請求項1に記載の修正管理装置。
The structure of the object includes an attribute name and type, a method, and an argument of the method, and the change in the structure extracted and reflected by the manipulation means is a change in the name and / or the type The correction management device according to claim 1, comprising:
前記オブジェクトの前記構造は、メソッドの属性及び名前を含み、前記操作手段によって抽出されて反映された前記構造内の前記変更は、新たな属性の及び/又は新たなメソッドの追加、及び/又は、既存の属性及び/又は既存のメソッドの除去を含む
請求項1に記載の修正管理装置。
The structure of the object includes method attributes and names, and the changes in the structure extracted and reflected by the manipulation means include new attributes and / or addition of new methods and / or The modification management device according to claim 1, comprising removal of existing attributes and / or existing methods.
前記操作手段は、1)前記設計モデル及び前記アプリケーションプログラムから第1のメタデータ及び第2のメタデータをそれぞれ生成して、前記メタデータ記憶手段に格納し、2a)前記第1のメタデータを参照して、前記設計モデル内でなされた修正から前記構造内の前記変更を抽出し、前記第1のメタデータ及び前記第2のメタデータに対して前記変更を反映し、その後、前記第2のメタデータを参照して、前記アプリケーションプログラムに対して前記構造内の前記変更を反映し、又は2b)前記第2のメタデータを参照して、前記アプリケーションプログラム内でなされた修正から前記構造内の前記変更を抽出し、前記第1のメタデータ及び第2のメタデータに対して前記変更を反映し、その後、前記第1のメタデータを参照して、前記設計モデルに対して前記構造内の前記変更を反映する
請求項1乃至3のいずれか1項に記載の修正管理装置。
The operation means 1) generates first metadata and second metadata from the design model and the application program, respectively, and stores them in the metadata storage means, and 2a) stores the first metadata. Referring to, extract the change in the structure from the modifications made in the design model, reflect the change to the first metadata and the second metadata, and then the second 2b) reflecting the change in the structure to the application program, or 2b) referring to the second metadata and from the modifications made in the application program The change is extracted, the change is reflected to the first metadata and the second metadata, and then the first metadata is referred to. Modification management apparatus according to any one of claims 1 to 3 to reflect the changes in the structure with respect to the design model.
前記操作手段が前記変更を反映し終えた後に前記テスト部品を用いて前記アプリケーションプログラムをテストするテスト制御手段
を更に備える請求項に記載の修正管理装置。
The correction management apparatus according to claim 4 , further comprising: a test control unit that tests the application program using the test component after the operation unit finishes reflecting the change.
プログラミング言語内のオブジェクトを記載するアプリケーションプログラム及びモデリング言語内に前記オブジェクトの構造を記載する設計モデルのうちの一方になされた修正から前記構造内の変更を抽出し、前記構造内の前記変更に従って前記オブジェクトの前記構造を記載するメタデータを更新し、前記更新されたメタデータに従って前記アプリケーションプログラム及び前記設計モデルのうちの他方に対して前記構造内の前記変更を反映し、
前記反映の際に、前記アプリケーションプログラム、前記設計モデル、及び前記アプリケーションプログラムをテストするためのテスト部品のうちの1つにおいてなされた修正から前記構造内の前記変更を抽出し、前記アプリケーションプログラム、前記設計モデル、及び前記テスト部品のうちの他の2つに対して、前記構造内の前記変更を反映する
修正管理方法。
A change in the structure is extracted from a modification made to one of an application program that describes the object in a programming language and a design model that describes the structure of the object in a modeling language, and the change in the structure Updating metadata describing the structure of the object and reflecting the change in the structure to the other of the application program and the design model according to the updated metadata;
In the reflection, the change in the structure is extracted from a modification made in one of the application program, the design model , and a test part for testing the application program, and the application program, A correction management method for reflecting the change in the structure to the other two of the design model and the test part.
前記オブジェクトの前記構造は、属性の名前及びタイプ、メソッド及び前記メソッドの引数を含み、抽出され反映された前記構造内の前記変更は、前記名前及び/又は前記タイプ内の変更を含む
請求項に記載の修正管理方法。
The structure of the object, the name and type of attributes, including the method and arguments of the method, the change of the extracted is reflected in the structure, according to claim 6, including changes of the name and / or the type The correction management method described in 1.
前記オブジェクトの前記構造は、メソッドの属性及び名前を含み、抽出され反映された前記構造内の前記変更は、新たな属性の及び/又は新たなメソッドの追加、及び/又は、既存の属性及び/又は既存のメソッドの除去を含む
請求項に記載の修正管理方法。
The structure of the object includes method attributes and names, and the changes in the extracted and reflected structure may include new attributes and / or new method additions and / or existing attributes and / or Alternatively, the correction management method according to claim 6 , comprising removing an existing method.
プログラミング言語内のオブジェクトを記載するアプリケーションプログラム及びモデリング言語内に前記オブジェクトの構造を記載する設計モデルのうちの一方になされた修正から前記構造内の変更を抽出し、前記構造内の前記変更に従って前記オブジェクトの前記構造を記載するメタデータを更新し、前記更新されたメタデータに従って前記アプリケーションプログラム及び前記設計モデルのうちの他方に対して前記構造内の前記変更を反映し、
前記反映の際に、前記アプリケーションプログラム、前記設計モデル、及び前記アプリケーションプログラムをテストするためのテスト部品のうちの1つにおいてなされた修正から前記構造内の前記変更を抽出し、前記アプリケーションプログラム、前記設計モデル、及び前記テスト部品のうちの他の2つに対して、前記構造内の前記変更を反映する
処理をコンピュータに実行させる修正管理プログラム。
A change in the structure is extracted from a modification made to one of an application program that describes the object in a programming language and a design model that describes the structure of the object in a modeling language, and the change is made according to the change in the structure Updating metadata describing the structure of the object and reflecting the change in the structure to the other of the application program and the design model according to the updated metadata;
In the reflection, the change in the structure is extracted from a modification made in one of the application program, the design model , and a test part for testing the application program, and the application program, A correction management program for causing a computer to execute a process of reflecting the change in the structure for the other two of the design model and the test part.
前記オブジェクトの前記構造は、属性の名前及びタイプ、メソッド及び前記メソッドの引数を含み、抽出され反映された前記構造内の前記変更は、前記名前及び/又は前記タイプ内の変更を含む
請求項に記載の修正管理プログラム。
The structure of the object, the name and type of attributes, including the method and arguments of the method, the change in the structure that is reflected is extracted, according to claim 9, including changes of the name and / or the type Fix management program described in.
前記オブジェクトの前記構造は、メソッドの属性及び名前を含み、抽出され反映された前記構造内の前記変更は、新たな属性の及び/又は新たなメソッドの追加、及び/又は、既存の属性及び/又は既存のメソッドの除去を含む
請求項に記載の修正管理プログラム。
The structure of the object includes method attributes and names, and the changes in the extracted and reflected structure may include new attributes and / or new method additions and / or existing attributes and / or Alternatively, the correction management program according to claim 9 including removal of an existing method.
JP2015501985A 2012-07-31 2012-07-31 Correction management device, correction management method, and correction management program Active JP6011712B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/069937 WO2014020773A1 (en) 2012-07-31 2012-07-31 A modification management apparatus, a modification management method and a modification management program

Publications (2)

Publication Number Publication Date
JP2015527621A JP2015527621A (en) 2015-09-17
JP6011712B2 true JP6011712B2 (en) 2016-10-19

Family

ID=46852339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015501985A Active JP6011712B2 (en) 2012-07-31 2012-07-31 Correction management device, correction management method, and correction management program

Country Status (2)

Country Link
JP (1) JP6011712B2 (en)
WO (1) WO2014020773A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076248B (en) * 2021-04-08 2021-11-30 马上消费金融股份有限公司 Application processing method, device and equipment and readable storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6502239B2 (en) * 1998-11-12 2002-12-31 Computer Associates Think, Inc Method and apparatus for round-trip software engineering

Also Published As

Publication number Publication date
WO2014020773A1 (en) 2014-02-06
JP2015527621A (en) 2015-09-17

Similar Documents

Publication Publication Date Title
CN108027722B (en) Dynamically updating applications in compilation and deployment
US8707263B2 (en) Using a DSL for calling APIS to test software
US10489274B2 (en) Using emulation to disassociate verification from stimulus in functional test
JP5415557B2 (en) User script code conversion for debugging
US8490052B2 (en) Declarative programming model for authoring and execution control and data flow for resource oriented system
US8448132B2 (en) Systems and methods for modifying code generation templates
US8051405B2 (en) System and method for build script generation in a software development environment
US8615750B1 (en) Optimizing application compiling
Mayerhofer et al. A runtime model for fUML
US7581190B2 (en) Constructing user interfaces on top of cmdlets
JP5396979B2 (en) Software development support device, system, software development support device function expansion method, and program
WO2019005228A1 (en) Automated source code adaption to inject features between platform versions
EP2564316B1 (en) Resumable methods
US9304762B2 (en) Automatically customizing a computer-executable application at runtime
US20170300305A1 (en) Executable guidance experiences based on implicitly generated guidance models
US20110271248A1 (en) Converting controls into source code
US9454382B2 (en) Verification of UML state machines
JP6011712B2 (en) Correction management device, correction management method, and correction management program
US20130111432A1 (en) Validation of a system model including an activity diagram
US11442845B2 (en) Systems and methods for automatic test generation
US20210208912A1 (en) Simulated change of immutable objects during execution runtime
Cabral et al. Automated formal specification generation and refinement from requirement documents
US10545742B2 (en) Annotation-driven framework for generating state machine updates
Fenner Migration of software systems to platform as a service based cloud environments
Groenewegen et al. Evolution of the WebDSL Runtime

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150617

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160727

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160905

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 6011712

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150