JP2018097658A - Test procedure generating system, test procedure generating method and test procedure generating program - Google Patents
Test procedure generating system, test procedure generating method and test procedure generating program Download PDFInfo
- Publication number
- JP2018097658A JP2018097658A JP2016242279A JP2016242279A JP2018097658A JP 2018097658 A JP2018097658 A JP 2018097658A JP 2016242279 A JP2016242279 A JP 2016242279A JP 2016242279 A JP2016242279 A JP 2016242279A JP 2018097658 A JP2018097658 A JP 2018097658A
- Authority
- JP
- Japan
- Prior art keywords
- change
- state
- procedure
- test
- regression test
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、テスト手順生成システム、テスト手順生成方法およびテスト手順生成プログラムに関し、特にシステム構成の変更作業における変更手順にテスト実行用のコードを適切に挿入できるテスト手順生成システム、テスト手順生成方法およびテスト手順生成プログラムに関する。 The present invention relates to a test procedure generation system, a test procedure generation method, and a test procedure generation program, and more particularly, a test procedure generation system, a test procedure generation method, and a test procedure generation system that can appropriately insert a test execution code into a change procedure in a system configuration change operation. The present invention relates to a test procedure generation program.
非特許文献1および非特許文献2に、システム構成の変更作業で使用されるテスト実行システムの一例が記載されている。図19は、非特許文献1および非特許文献2に記載されているテスト実行システムの構成例を示すブロック図である。図19に示すテスト実行システム900は、変更手順実行手段910と、回帰テスト実行手段920とで構成されている。また、テスト実行システム900は、変更対象システム800に対して回帰テストを実行する。
Non-Patent
図19に示すテスト実行システム900は、例えば以下のように動作する。最初に変更手順実行手段910が、変更手順を読み出す。変更手順実行手段910は、読み出された変更手順に従って、変更対象システム800の構成を変更する。
The
変更手順実行手段910が変更対象システム800の構成を変更している間に、回帰テスト実行手段920は、変更対象システム800が対象である回帰テストを実行する。回帰テストを実行することによって、回帰テスト実行手段920は、システム構成の変更を起因とする不具合が発生していないか否かを確認する。
While the change
図19に示すテスト実行システム900による回帰テストの実行には、システム構成の変更作業中に構成が正しく変更されているか否かを確認するための回帰テストを回帰テスト実行手段920が実行する際に、偽の失敗(Spurious failure)が発生する可能性があるという問題が存在する。問題が存在する理由は、変更対象システム800がどのような状態であっても、回帰テスト実行手段920が変更対象システム800に対して回帰テストを実行するためである。
The regression test is executed by the
以下、偽の失敗が発生する例を、図20〜図22を参照して説明する。図20は、変更対象システム800の構成例を示すブロック図である。
Hereinafter, an example in which a false failure occurs will be described with reference to FIGS. FIG. 20 is a block diagram illustrating a configuration example of the
図20に示すように、変更対象システム800は、Webサーバ「web」と、データベースサーバ「db」とを含む。webは、dbと通信可能に接続されている。また、webにおいてサービス「s1」が稼働している。
As shown in FIG. 20, the
以下、webにモジュールAをインストールする場合を考える。なお、webにモジュールAをインストールするためには、事前にwebにモジュールBを、dbにモジュールCをそれぞれインストールすることが求められる。 Consider the case where module A is installed on the web. In order to install module A on the web, it is required to install module B on the web and module C on the db beforehand.
また、webにモジュールAおよびモジュールBをインストールするためには、s1を停止させることが求められる。また、dbにモジュールCをインストールするためには、dbを停止させることが求められる。図20に示す変更対象システム800の構成は、変更手順実行手段910により変更された後の構成である。
In order to install module A and module B on the web, it is required to stop s1. In order to install module C in db, it is required to stop db. The configuration of the
本例では、変更手順実行手段910に図21に示す変更手順が与えられ、変更手順実行手段910が与えられた変更手順に従って変更対象システム800の構成を変更する。図21は、変更対象システム800の構成の変更に使用される変更手順の例を示す説明図である。
In this example, the change procedure shown in FIG. 21 is given to the change procedure execution means 910, and the change procedure execution means 910 changes the configuration of the
変更手順実行手段910が変更手順を実行している間に、回帰テスト実行手段920は、変更対象システム800がどのような状態であっても変更対象システム800に対して回帰テストを実行する。
While the change
図22は、変更対象システム800の構成の変更に使用される変更手順の他の例を示す説明図である。図22に示す下線が付された操作が、回帰テスト実行手段920がs1に対する回帰テストを呼び出す操作である。図22に示す下線が付された操作は、例えば回帰テストコードを実行する操作である。
FIG. 22 is an explanatory diagram showing another example of a change procedure used for changing the configuration of the
s1が停止している時に回帰テスト実行手段920がs1に対する回帰テストを実行すると、変更作業自体に問題がなくてもエラー、すなわち偽の失敗が生じる。図22に示す例の場合、”not ok”のコメントが記載されている操作が実行されると偽の失敗が発生する。 If the regression test execution means 920 executes the regression test for s1 when s1 is stopped, an error, that is, a false failure occurs even if there is no problem in the change work itself. In the case of the example shown in FIG. 22, if an operation in which a comment “not ok” is described is executed, a false failure occurs.
偽の失敗が発生すると、変更対象システム800の運用管理者は、発生原因の特定等の、当初想定されていなかった業務に従事する。すなわち、変更作業全体に要する工期が延び構築コストが増大する可能性がある。
When a false failure occurs, the operation manager of the
[発明の目的]
そこで、本発明は、上述した課題を解決する、偽の失敗が発生しないように配慮された回帰テストコードを実行する操作が含まれる変更手順を生成できるテスト手順生成システム、テスト手順生成方法およびテスト手順生成プログラムを提供することを目的とする。
[Object of invention]
Therefore, the present invention solves the above-described problems, and provides a test procedure generation system, a test procedure generation method, and a test that can generate a change procedure including an operation for executing a regression test code that is considered not to cause a false failure An object is to provide a procedure generation program.
本発明によるテスト手順生成システムは、変更対象システムを構成する要素を表す状態モデルを変更対象システムが変更される時に実行される変更手順に含まれる要素に対する変更操作を用いて更新する更新手段と、更新手段が回帰テスト対象の要素を表す状態モデルの状態を稼働状態に更新した時に用いた変更操作の次の操作として回帰テスト対象の要素に対する回帰テストが実行される操作を変更手順に追加する追加手段とを含むことを特徴とする。 The test procedure generation system according to the present invention includes an update unit that updates a state model representing an element constituting the change target system by using a change operation for an element included in the change procedure executed when the change target system is changed, Addition to the change procedure that the regression test for the regression test target element is executed as the next operation after the change operation used when the update means updates the state model state that represents the regression test target element to the operating state. Means.
本発明によるテスト手順生成方法は、変更対象システムを構成する要素を表す状態モデルを変更対象システムが変更される時に実行される変更手順に含まれる要素に対する変更操作を用いて更新し、回帰テスト対象の要素を表す状態モデルの状態が稼働状態に更新された時に用いられた変更操作の次の操作として回帰テスト対象の要素に対する回帰テストが実行される操作を変更手順に追加することを特徴とする。 A test procedure generation method according to the present invention updates a state model representing an element constituting a change target system by using a change operation on an element included in the change procedure executed when the change target system is changed, and performs a regression test target. An operation for executing a regression test on an element subject to a regression test is added to the change procedure as the next operation after the change operation used when the state of the state model representing the element is updated to the operating state. .
本発明によるテスト手順生成プログラムは、コンピュータに、変更対象システムを構成する要素を表す状態モデルを変更対象システムが変更される時に実行される変更手順に含まれる要素に対する変更操作を用いて更新する更新処理、および更新処理で回帰テスト対象の要素を表す状態モデルの状態が稼働状態に更新された時に用いられた変更操作の次の操作として回帰テスト対象の要素に対する回帰テストが実行される操作を変更手順に追加する追加処理を実行させることを特徴とする。 The test procedure generation program according to the present invention updates, to a computer, a state model representing an element constituting the change target system by using a change operation for an element included in the change procedure executed when the change target system is changed. Change the operation to execute the regression test on the element to be the regression test as the next operation after the change operation used when the state of the state model that represents the element to be subjected to the regression test is updated to the operating state in the update process An additional process to be added to the procedure is executed.
本発明によれば、偽の失敗が発生しないように配慮された回帰テストコードを実行する操作が含まれる変更手順を生成できる。 According to the present invention, it is possible to generate a change procedure including an operation for executing a regression test code that is considered so as not to cause a false failure.
[第1の実施形態]
[構成の説明]
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明によるテスト手順生成システム100の第1の実施形態の構成例を示すブロック図である。
[First Embodiment]
[Description of configuration]
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of a first embodiment of a test
図1に示すように、本実施形態のテスト手順生成システム100は、状態モデル更新手段110と、状態確認手段120と、状態モデル格納手段130と、回帰テスト挿入手段140と、変更手順実行手段150とを含む。
As shown in FIG. 1, the test
本実施形態のテスト手順生成システム100は、更新対象システム200の変更作業中に実行される回帰テストにおいて偽の失敗が発生しないような回帰テスト付変更手順を生成できる。
The test
その理由は、更新対象システム200の変更作業中に状態確認手段120が更新対象システム200を構成するコンポーネントを表す状態モデル格納手段130に格納されている状態モデルを確認する。次いで、状態確認手段120が、回帰テスト対象のコンポーネントが起動していると確認された時点で回帰テストが実行されるように変更手順に回帰テストコードを実行する操作を挿入するよう回帰テスト挿入手段140に指示するためである。
The reason is that the
状態モデル更新手段110は、初期状態定義および状態変更定義を参照して、変更手順を用いて状態モデル格納手段130に格納されている状態モデルを更新する機能を有する。
The state
本実施形態の状態モデル更新手段110は、更新対象システム200の構成を変更せずに、状態モデル格納手段130に格納されている更新対象システム200を構成するコンポーネントを表す状態モデルを更新することによって、システム構成を模擬的に変更する。すなわち、システム構成を模擬的に変更する時、状態モデル更新手段110は、変更手順内の操作を論理的に実行する。
The state
図2は、第1の実施形態における初期状態定義および状態変更定義の例を示す説明図である。図2(a)は、第1の実施形態における初期状態定義の例を示す。また、図2(b)は、第1の実施形態における状態変更定義の例を示す。 FIG. 2 is an explanatory diagram illustrating an example of an initial state definition and a state change definition in the first embodiment. FIG. 2A shows an example of the initial state definition in the first embodiment. FIG. 2B shows an example of the state change definition in the first embodiment.
図2(a)に示すように、初期状態定義では、コンポーネント(component)ごとに初期状態(initial)が定義されている。例えば、コンポーネントdbを表す状態モデルの初期状態は、「稼働中」を意味する”t”である。 As shown in FIG. 2A, in the initial state definition, an initial state (initial) is defined for each component. For example, the initial state of the state model representing the component db is “t” meaning “in operation”.
また、図2(b)に示すように、状態変更定義では、コンポーネント(component)に対する変更操作(command)に状態変更(state_change)が対応付けられている。すなわち、各状態変更定義は、変更操作が実行されると、コンポーネントを表す状態モデルの状態が、対応付けられている状態変更に従って遷移することを意味する。 Further, as shown in FIG. 2B, in the state change definition, the state change (state_change) is associated with the change operation (command) for the component (component). That is, each state change definition means that when a change operation is executed, the state of the state model representing the component transitions according to the associated state change.
例えば、図2(b)に示す3番目の状態変更定義では、コンポーネントs1に対して、コマンド”service s1 down”が発行されることが定義されている。また、コマンドが発行されると、コンポーネントs1を表す状態モデルの状態が「稼働中」を意味する”t”または「停止中」を意味する”u”であれば、状態モデルにおいて”u”への状態遷移が実行されることが定義されている。 For example, in the third state change definition shown in FIG. 2B, it is defined that the command “service s1 down” is issued to the component s1. Also, when the command is issued, if the state model representing the component s1 is “t” meaning “active” or “u” meaning “stopped”, the state model goes to “u” It is defined that state transitions are executed.
なお、状態変更定義のcomponentには、特定のコンポーネントが記載されてもよいし、コンポーネントのデータ型が記載されてもよい。componentにコンポーネントのデータ型が記載されている場合、変更操作が実行されると、データ型に属するコンポーネントを表す状態モデルにおいて状態遷移が実行される。 In addition, a specific component may be described in the component of the state change definition, and the data type of the component may be described. When the data type of a component is described in component, when a change operation is executed, state transition is executed in a state model representing a component belonging to the data type.
例えば、図2(b)に示す最初の状態変更定義では、コンポーネントのデータ型DBに属するコンポーネントに対して、コマンド”service DB down”が発行されることが定義されている。また、コマンドが発行されると、データ型DBに属するコンポーネントを表す状態モデルの状態が「稼働中」を意味する”t”または「停止中」を意味する”u”であれば、状態モデルにおいて”u”への状態遷移が実行されることが定義されている。 For example, in the first state change definition shown in FIG. 2B, it is defined that the command “service DB down” is issued to a component belonging to the data type DB of the component. In addition, when the command is issued, if the state of the state model representing the component belonging to the data type DB is “t” meaning “active” or “u” meaning “stopped”, It is defined that a state transition to “u” is executed.
状態確認手段120は、状態モデル格納手段130に格納されている状態モデルを参照して、回帰テスト対象のコンポーネントを表す状態モデルの状態が稼働状態である時に回帰テスト挿入手段140を起動させる機能を有する。
The
状態確認手段120は、起動した回帰テスト挿入手段140に、変更手順に回帰テストが実行される操作を挿入するという指示を入力する。なお、回帰テスト挿入手段140が常に稼働している場合、状態確認手段120は、回帰テスト挿入手段140に指示を入力する処理のみを行えばよい。
The
状態モデル格納手段130は、更新対象システム200を構成するコンポーネントを表す状態モデルを格納する機能を有する。図3は、更新対象システム200を構成するコンポーネントを表す状態モデルの例を示す説明図である。
The state
図3に示す状態モデルは、図20に示すサービス「s1」を表す。図3に示す矩形が状態モデルを表す。また、図3に示す矩形内の楕円が状態を表す。図3に示す楕円「t」が稼働状態(以下、状態tという。)を表し、楕円「u」が非稼働状態(以下、状態uという。)を表す。 The state model shown in FIG. 3 represents the service “s1” shown in FIG. A rectangle shown in FIG. 3 represents a state model. Moreover, the ellipse in the rectangle shown in FIG. 3 represents the state. An ellipse “t” shown in FIG. 3 represents an operating state (hereinafter referred to as state t), and an ellipse “u” represents a non-operating state (hereinafter referred to as state u).
また、図3に示す楕円間の矢印は、状態間の遷移を表す。本実施形態において状態間の遷移は、変更操作に対応する。例えば、コマンド”service s1 start”が発行されると、s1の状態は、状態uから状態tに遷移する。また、コマンド”service s1 down”が発行されると、s1の状態は、状態tから状態uに遷移する。 Moreover, the arrow between ellipses shown in FIG. 3 represents the transition between states. In the present embodiment, transition between states corresponds to a change operation. For example, when the command “service s1 start” is issued, the state of s1 changes from the state u to the state t. When the command “service s1 down” is issued, the state of s1 transitions from the state t to the state u.
回帰テスト挿入手段140は、状態確認手段120から出力された指示に従って変更手順に回帰テストが実行される操作を挿入する機能を有する。回帰テストが実行される操作は、例えば回帰テストコードを実行する操作である。
The regression
変更手順に回帰テストが実行される操作を挿入することによって、回帰テスト挿入手段140は、回帰テスト付変更手順を生成する。なお、回帰テスト挿入手段140は、状態確認手段120から稼働状態である状態モデルを通知されるだけで、変更手順に回帰テストが実行される操作を挿入するように構成されていてもよい。
By inserting an operation for executing a regression test into the change procedure, the regression test insertion means 140 generates a change procedure with a regression test. Note that the regression
変更手順実行手段150は、生成された回帰テスト付変更手順に従って更新対象システム200を変更する機能を有する。
The change procedure execution means 150 has a function of changing the
図1に示すテスト手順生成システム100は、システム構成の変更作業中にシステムが正しく変更されているか否かを確認するための回帰テストが実行される場合に、偽の失敗が発生するという課題を解決できるテスト手順生成システムである。
The test
テスト手順生成システム100が上記の課題を解決できる理由は、変更手順を基に状態モデル更新手段110が更新した状態モデルを状態確認手段120が参照して、状態モデルの状態が稼働状態である時に回帰テスト挿入手段140を起動させる。起動した回帰テスト挿入手段140は、回帰テスト対象のコンポーネントが稼働状態であると想定されている段階に対応する変更手順の箇所に回帰テストコードを実行する操作を挿入するので、偽の失敗が発生しないテストコード付変更手順が得られるためである。
The reason why the test
[動作の説明]
以下、本実施形態のテスト手順生成システム100の回帰テスト付変更手順を生成する動作を図4を参照して説明する。図4は、第1の実施形態のテスト手順生成システム100による回帰テスト付変更手順生成処理の動作を示すフローチャートである。
[Description of operation]
Hereinafter, the operation | movement which produces | generates the change procedure with a regression test of the test procedure production |
最初に、状態モデル更新手段110が初期状態定義に基づいて、状態モデル格納手段130に格納されている状態モデルを初期化する(ステップS101)。
First, the state
次いで、状態モデル更新手段110は、変更手順内のシステム変更操作を全て処理したか否かを確認する(ステップS102)。変更手順内のシステム変更操作を全て処理済である場合(ステップS103におけるYes)、テスト手順生成システム100は、回帰テスト付変更手順生成処理を終了する。
Next, the state
変更手順内に未処理のシステム変更操作が残っている場合(ステップS103におけるNo)、状態モデル更新手段110は、変更手順内の未処理の1つのシステム変更操作を論理的に実行する。操作の実行に伴い、状態モデル更新手段110は、状態変更定義に基づいて、状態モデル格納手段130に格納されている状態モデルの状態を変更する(ステップS104)。
When an unprocessed system change operation remains in the change procedure (No in step S103), the state
次いで、状態確認手段120は、状態モデル格納手段130に格納されている状態モデルを確認し、状態モデルが表すコンポーネントが稼働状態であるか否かを確認する(ステップS105)。コンポーネントが稼働状態でない場合(ステップS106におけるNo)、テスト手順生成システム100は、再度ステップS102の処理を行う。
Next, the
コンポーネントが稼働状態である場合(ステップS106におけるYes)、回帰テスト挿入手段140は、回帰テスト付変更手順、または変更手順に回帰テストコードを実行する操作を挿入する(ステップS107)。回帰テストコードを実行する操作を挿入した後、テスト手順生成システム100は、再度ステップS102の処理を行う。
When the component is in the operating state (Yes in step S106), the regression test insertion means 140 inserts an operation for executing the regression test code in the change procedure with regression test or the change procedure (step S107). After inserting the operation for executing the regression test code, the test
上記の処理で生成された回帰テスト付変更手順は、変更手順実行手段150により実行される。回帰テスト付変更手順が実行されると、更新対象システム200の構成が変更される。
The change procedure with regression test generated by the above processing is executed by the change procedure execution means 150. When the change procedure with regression test is executed, the configuration of the
[効果の説明]
本実施形態では、状態モデル格納手段130に格納されている状態モデルの状態が、更新対象システム200を構成するコンポーネントの状態を表す。また、状態確認手段120は、コンポーネントを表す状態モデルの状態を参照して、コンポーネントが稼働状態である時に回帰テスト挿入手段140を介して回帰テスト付変更手順に回帰テストコードを実行する操作を挿入する。よって、回帰テスト付変更手順に従ってシステム構成の変更作業が実行されると、停止しているコンポーネントに対して回帰テストが実行されないため、偽の失敗の発生が防止される。
[Description of effects]
In the present embodiment, the state model state stored in the state
以下、本実施形態の変形例を示す。本実施形態の変更手順を構成する実行コードは、例えば図21に示すようなスクリプトである。図21に示すスクリプト以外に、本実施形態の変更手順を構成する実行コードは、Ansible(登録商標)等の構成変更自動化ツール用のコードでもよい。 Hereinafter, modifications of the present embodiment will be shown. The execution code constituting the change procedure of this embodiment is, for example, a script as shown in FIG. In addition to the script shown in FIG. 21, the execution code constituting the change procedure of this embodiment may be a code for a configuration change automation tool such as Ansible (registered trademark).
図5は、更新対象システム200の構成の変更に使用される変更手順の例を示す説明図である。図5に示す実行コードは、Ansibleの構成変更コードであるPlaybook(登録商標)のコードが簡略化された例である。状態モデル更新手段110は、状態変更定義を参照して、図5に示す変更手順を用いて状態モデルを更新する。
FIG. 5 is an explanatory diagram illustrating an example of a change procedure used for changing the configuration of the
変更手順を構成する実行コードにAnsibleの構成変更コードが含まれる場合、状態変更定義も変更される。図6は、第1の実施形態における初期状態定義および状態変更定義の他の例を示す説明図である。図6(a)は、第1の実施形態における初期状態定義の他の例を示す。また、図6(b)は、第1の実施形態における状態変更定義の他の例を示す。 If the execution code constituting the change procedure includes an Ansible configuration change code, the state change definition is also changed. FIG. 6 is an explanatory diagram illustrating another example of the initial state definition and the state change definition in the first embodiment. FIG. 6A shows another example of the initial state definition in the first embodiment. FIG. 6B shows another example of the state change definition in the first embodiment.
図6(b)に示すように、一部の状態変更定義の”command”には、Ansibleの命令が指定されている。Ansibleの命令が完了した時点で、状態モデルでは”state_change”で指定されている状態への状態遷移が行われる。 As shown in FIG. 6B, an Ansible command is specified in “command” of some state change definitions. When the Ansible command is completed, the state model transitions to the state specified by “state_change”.
例えば、図6(b)に示すコマンド”ansible A_playbook.yml”に対応する処理である、構成変更自動化ツールのA_playbook.ymlに対する処理が完了した時点で、コンポーネントAの状態は、稼働状態である状態tに遷移する。 For example, when the process for the configuration change automation tool A_playbook.yml, which is the process corresponding to the command “ansible A_playbook.yml” shown in FIG. Transition to t.
上述したように、本変形例の変更手順は、スクリプトの代わりにAnsibleの構成変更コード等で構成されている。また、本変形例の状態変更定義の一部のcommandには、ansibleコマンド等の構成変更コードが指定されている。 As described above, the modification procedure of the present modification is configured with an Ansible configuration modification code or the like instead of a script. In addition, a configuration change code such as ansible command is specified for some commands in the state change definition of this modification.
本変形例によれば、Ansible等の構成変更自動化ツールが回帰テスト付変更手順に従って、偽の失敗を発生させずにシステム構成の変更作業を自動的に実行できる。 According to this modification, a configuration change automation tool such as Ansible can automatically execute a system configuration change operation according to a change procedure with a regression test without causing a false failure.
[具体例1]
以下、本実施形態の具体例を図を参照して説明する。
[Specific Example 1]
Hereinafter, a specific example of the present embodiment will be described with reference to the drawings.
図7は、更新対象システム200の構成例を示すブロック図である。図7に示す更新対象システム200の構成は、図20に示す変更対象システム800の構成と同様である。すなわち、図7に示すように、更新対象システム200は、Webサーバ「web」と、データベースサーバ「db」とを含む。webは、dbと通信可能に接続されている。また、webにおいてサービス「s1」が稼働している。
FIG. 7 is a block diagram illustrating a configuration example of the
以下、webにモジュールAをインストールする場合を考える。なお、図20に示す変更対象システム800と同様に、webにモジュールAをインストールするためには、事前にwebにモジュールBを、dbにモジュールCをそれぞれインストールすることが求められる。
Consider the case where module A is installed on the web. Similar to the
また、図20に示す変更対象システム800と同様に、webにモジュールAおよびモジュールBをインストールするためには、s1を停止させることが求められる。また、dbにモジュールCをインストールするためには、dbを停止させることが求められる。図7に示す更新対象システム200の構成は、変更手順実行手段150により変更された後の構成である。
Similarly to the
本具体例では、図2に示す初期状態定義および状態変更定義と、図21に示す変更手順とがテスト手順生成システム100に与えられ、変更手順実行手段150が最終的に生成された回帰テスト付変更手順を実行する。
In this specific example, the initial state definition and state change definition shown in FIG. 2 and the change procedure shown in FIG. 21 are given to the test
上記の場合におけるテスト手順生成システム100による回帰テスト付変更手順の生成例を図8に示す。図8は、第1の実施形態のテスト手順生成システム100による回帰テスト付変更手順の生成例を示す説明図である。
FIG. 8 shows a generation example of the change procedure with regression test by the test
図8(a)は、各段階のdbを表す状態モデルとs1を表す状態モデルを示す。なお、図8(a)に示す二重線の楕円は、状態モデルの現在の状態を表す。また、図8(b)は、各段階(図8(a)に示す下向きの各矢印に対応する段階)で回帰テスト挿入手段140が生成する回帰テスト付変更手順である。すなわち、変更手順実行手段150が実行する手順である。 FIG. 8A shows a state model representing db at each stage and a state model representing s1. A double line ellipse shown in FIG. 8A represents the current state of the state model. FIG. 8B shows a change procedure with a regression test generated by the regression test insertion means 140 at each stage (the stage corresponding to each downward arrow shown in FIG. 8A). That is, it is a procedure executed by the change procedure execution means 150.
最初に、状態モデル更新手段110が初期状態定義に基づいて、状態モデル格納手段130に格納されている状態モデルを初期化する(ステップS101)。図2(a)を参照すると、データベースサーバdbの初期状態とサービスs1の初期状態は、共に状態tである。すなわち、図8(a)の1番目に示す状態モデルが、初期化された状態モデルである。
First, the state
次いで、状態モデル更新手段110は、図21に示す変更手順内の1つのシステム変更操作”service s1 down”を論理的に実行する。操作の実行に伴い、状態モデル更新手段110は、状態変更定義に基づいて、状態モデル格納手段130に格納されている状態モデルの状態を変更する(ステップS104)。
Next, the state
図2(b)を参照すると、”service s1 down”が実行されるとs1の状態は、状態uに遷移する。すなわち、図8(a)の2番目に示す状態モデルが、”service s1 down”が論理的に実行された後の状態モデルである。 Referring to FIG. 2B, when “service s1 down” is executed, the state of s1 transitions to state u. That is, the second state model shown in FIG. 8A is a state model after “service s1 down” is logically executed.
次いで、状態確認手段120は、状態モデル格納手段130に格納されている状態モデルを確認し、状態モデルが表すコンポーネントが稼働状態であるか否かを確認する(ステップS105)。
Next, the
図8(a)の2番目に示す状態モデルを参照すると、s1は停止状態である状態uであり、dbは稼働状態である状態tである。すなわち、dbが稼働状態であるため(ステップS106におけるYes)、回帰テスト挿入手段140は、回帰テスト付変更手順にdbに対する回帰テストコードを実行する操作を挿入する(ステップS107)。図8(b)の2番目に示す変更手順内の下線が付された最初の”test_db”が、挿入された操作である。 Referring to the second state model shown in FIG. 8A, s1 is a state u in a stopped state, and db is a state t in an operating state. That is, since db is in operation (Yes in step S106), the regression test insertion means 140 inserts an operation for executing the regression test code for db in the change procedure with regression test (step S107). The first “test_db” underlined in the second change procedure shown in FIG. 8B is the inserted operation.
次いで、状態モデル更新手段110は、図21に示す変更手順内の1つのシステム変更操作”apt-get install b”を論理的に実行する。”apt-get install b”が論理的に実行されても、状態モデルの状態は変更されない。
Next, the state
すなわち、dbが稼働状態のままであるため(ステップS106におけるYes)、回帰テスト挿入手段140は、回帰テスト付変更手順にdbに対する回帰テストコードを実行する操作を挿入する(ステップS107)。図8(b)の2番目に示す変更手順内の下線が付された2つ目の”test_db”が、挿入された操作である。 That is, since db remains in operation (Yes in step S106), the regression test insertion means 140 inserts an operation for executing the regression test code for db in the change procedure with regression test (step S107). The second “test_db” underlined in the second change procedure shown in FIG. 8B is the inserted operation.
次いで、状態モデル更新手段110は、図21に示す変更手順内の1つのシステム変更操作”service db down”を論理的に実行する。操作の実行に伴い、状態モデル更新手段110は、状態変更定義に基づいて、状態モデル格納手段130に格納されている状態モデルの状態を変更する(ステップS104)。
Next, the state
図2(b)を参照すると、”service db down”が実行されると、データ型DBに属するdbの状態は、状態uに遷移する。すなわち、図8(a)の3番目に示す状態モデルが、”service db down”が論理的に実行された後の状態モデルである。 Referring to FIG. 2B, when “service db down” is executed, the state of the db belonging to the data type DB transitions to the state u. That is, the third state model shown in FIG. 8A is a state model after “service db down” is logically executed.
図8(a)の3番目に示す状態モデルを参照すると、s1とdbは共に停止状態である状態uであり、稼働状態であるコンポーネントが存在しない(ステップS106におけるNo)。よって、状態モデル更新手段110は、図21に示す変更手順内の1つのシステム変更操作”apt-get install c”を論理的に実行する。
Referring to the third state model shown in FIG. 8A, both s1 and db are in the stopped state u, and there are no active components (No in step S106). Therefore, the state
”apt-get install c”が論理的に実行されても、状態モデルの状態は変更されない。すなわち、稼働状態であるコンポーネントが存在しないため(ステップS106におけるNo)、状態モデル更新手段110は、図21に示す変更手順内の1つのシステム変更操作”service db start”を論理的に実行する。
Even if "apt-get install c" is executed logically, the state model state is not changed. That is, since there is no component in the operating state (No in step S106), the state
図2(b)を参照すると、”service db start”が実行されると、データ型DBに属するdbの状態は、状態tに遷移する。すなわち、dbが稼働状態であるため(ステップS106におけるYes)、回帰テスト挿入手段140は、回帰テスト付変更手順にdbに対する回帰テストコードを実行する操作を挿入する(ステップS107)。図8(b)の4番目に示す変更手順内の下線が付された”test_db”が、挿入された操作である。 Referring to FIG. 2B, when “service db start” is executed, the state of the db belonging to the data type DB changes to the state t. That is, since db is in operation (Yes in step S106), the regression test insertion means 140 inserts an operation for executing the regression test code for db in the change procedure with regression test (step S107). “Test_db” underlined in the fourth modification procedure shown in FIG. 8B is the inserted operation.
次いで、状態モデル更新手段110は、図21に示す変更手順内の1つのシステム変更操作”apt-get install a”を論理的に実行する。”apt-get install a”が論理的に実行されても、状態モデルの状態は変更されない。
Next, the state
次いで、状態モデル更新手段110は、図21に示す変更手順内の1つのシステム変更操作”service s1 start”を論理的に実行する。図2(b)を参照すると、”service s1 start”が実行されるとs1の状態は、状態tに遷移する。すなわち、図8(a)の4番目に示す状態モデルが、”service s1 start”が論理的に実行された後の状態モデルである。
Next, the state
図8(a)の4番目に示す状態モデルを参照すると、s1とdbは共に稼働状態である状態tであり、稼働状態であるコンポーネントが存在する。よって、回帰テスト挿入手段140は、回帰テスト付変更手順にdbに対する回帰テストコードを実行する操作と、s1に対する回帰テストコードを実行する操作を挿入する(ステップS107)。図8(b)の4番目に示す変更手順内の下線が付された”test_db; test_s1”が、挿入された操作である。 Referring to the fourth state model shown in FIG. 8A, both s1 and db are in the operating state t, and there are components in the operating state. Therefore, the regression test insertion means 140 inserts an operation for executing the regression test code for db and an operation for executing the regression test code for s1 in the change procedure with regression test (step S107). “Test_db; test_s1” underlined in the fourth modification procedure shown in FIG. 8B is the inserted operation.
以上で変更手順内のシステム変更操作が全て処理されたため(ステップS103におけるYes)、テスト手順生成システム100は、回帰テスト付変更手順生成処理を終了する。本具体例では変更手順を基に、図8(b)に示す下線が付された回帰テストコードを実行する操作が挿入された回帰テスト付変更手順が生成される。
Since all the system change operations in the change procedure have been processed (Yes in step S103), the test
次に、図6に示す初期状態定義および状態変更定義と、図5に示す構成変更自動化ツール用のコードとがテスト手順生成システム100に与えられ、図7に示す更新対象システム200のwebにモジュールAをインストールする場合の回帰テスト付変更手順を変更手順実行手段150が実行する場合を考える。
Next, the initial state definition and state change definition shown in FIG. 6 and the code for the configuration change automation tool shown in FIG. 5 are given to the test
上記の場合におけるテスト手順生成システム100による回帰テスト付変更手順の生成例を図9に示す。図9は、第1の実施形態のテスト手順生成システム100による回帰テスト付変更手順の他の生成例を示す説明図である。
FIG. 9 shows an example of generation of the change procedure with regression test by the test
図8に示す例と同様に、テスト手順生成システム100は、回帰テスト付変更手順を生成する。回帰テスト付変更手順生成処理が実行された結果、構成変更自動化ツール用のコードを基に、図9(b)に示す下線が付された回帰テストコードを実行する操作が挿入された回帰テスト付変更手順が生成される。
Similar to the example illustrated in FIG. 8, the test
[第2の実施形態]
[構成の説明]
次に、本発明の第2の実施形態を、図面を参照して説明する。図10は、本発明によるテスト手順生成システム100の第2の実施形態の構成例を示すブロック図である。
[Second Embodiment]
[Description of configuration]
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 10 is a block diagram showing a configuration example of the second embodiment of the test
図10に示すように、本実施形態のテスト手順生成システム100は、状態モデル更新手段110と、状態確認手段120と、状態モデル格納手段130と、回帰テスト挿入手段140と、変更手順実行手段150と、変更手順生成手段160とを含む。状態モデル更新手段110および変更手順生成手段160以外の第2の実施形態の構成は、第1の実施形態の構成と同様である。
As shown in FIG. 10, the test
図10に示すように、本実施形態の状態モデル更新手段110には、システムの初期状態に対応する状態モデルを示す状態モデル(更新前構成)が入力される。また、本実施形態の変更手順生成手段160には、システムの変更目的の状態に対応する状態モデルを示す状態モデル(更新後構成)が入力される。
As shown in FIG. 10, a state model (configuration before update) indicating a state model corresponding to the initial state of the system is input to the state
変更手順生成手段160は、状態モデル(更新後構成)および状態モデル(更新前構成)に基づいて、変更手順を構成するシステム変更操作を生成する機能を有する。すなわち、本実施形態のテスト手順生成システム100の利用者は、第1の実施形態と異なり、変更手順を用意せずに済む。
The change
[動作の説明]
以下、本実施形態のテスト手順生成システム100の回帰テスト付変更手順を生成する動作を図11を参照して説明する。図11は、第2の実施形態のテスト手順生成システム100による回帰テスト付変更手順生成処理の動作を示すフローチャートである。
[Description of operation]
Hereinafter, the operation | movement which produces | generates the change procedure with a regression test of the test procedure production |
最初に、状態モデル更新手段110は、状態モデル(更新前構成)に基づいて、状態モデル格納手段130に格納されている状態モデルを初期化する(ステップS201)。
First, the state
次いで、変更手順生成手段160は、状態モデル格納手段130に格納されている状態モデルが、状態モデル(更新後構成)が示す状態モデルであるか否かを確認する(ステップS202)。
Next, the change
既に状態モデル(更新後構成)が示す状態モデルである場合(ステップS203におけるYes)、変更処理が完了している。すなわち、テスト手順生成システム100は、回帰テスト付変更手順生成処理を終了する。
If the state model is already indicated by the state model (updated configuration) (Yes in step S203), the change process has been completed. That is, the test
状態モデル(更新後構成)が示す状態モデルでない場合(ステップS203におけるNo)、変更手順生成手段160は、状態モデル(更新後構成)および状態モデル更新手段110に入力された状態モデル(更新前構成)に基づいて、システム変更操作を1つ生成する(ステップS204)。
When the state model is not the state model indicated by the state model (updated configuration) (No in step S203), the change
次いで、状態モデル更新手段110は、生成されたシステム変更操作に従って、状態モデル格納手段130に格納されている状態モデルの状態を変更する(ステップS205)。
Next, the state
次いで、状態確認手段120は、状態モデル格納手段130に格納されている状態モデルを確認し、状態モデルが表すコンポーネントが稼働状態であるか否かを確認する(ステップS206)。コンポーネントが稼働状態でない場合(ステップS207におけるNo)、テスト手順生成システム100は、再度ステップS202の処理を行う。
Next, the
コンポーネントが稼働状態である場合(ステップS207におけるYes)、回帰テスト挿入手段140は、回帰テスト付変更手順、または変更手順に回帰テストコードを実行する操作を挿入する(ステップS208)。回帰テストコードを実行する操作を挿入した後、テスト手順生成システム100は、再度ステップS202の処理を行う。
When the component is in an operating state (Yes in step S207), the regression
上記の処理で生成された回帰テスト付変更手順は、変更手順実行手段150により実行される。回帰テスト付変更手順が実行されると、更新対象システム200の構成が変更される。
The change procedure with regression test generated by the above processing is executed by the change procedure execution means 150. When the change procedure with regression test is executed, the configuration of the
[効果の説明]
本実施形態では、第1の実施形態と同様に、状態モデル格納手段130に格納されている状態モデルの状態が、更新対象システム200を構成するコンポーネントの状態を表す。また、状態確認手段120は、コンポーネントを表す状態モデルの状態を参照して、コンポーネントが稼働状態である時に回帰テスト挿入手段140を介して回帰テスト付変更手順に回帰テストコードを実行する操作を挿入する。よって、回帰テスト付変更手順に従ってシステム構成の変更作業が実行されると、停止しているコンポーネントに対して回帰テストが実行されないため、偽の失敗の発生が防止される。
[Description of effects]
In the present embodiment, as in the first embodiment, the state model state stored in the state
また、第1の実施形態と異なり、本実施形態のテスト手順生成システム100には、変更手順生成手段160が含まれている。変更手順生成手段160がシステム変更操作を生成するため、利用者は、変更手順を用意しなくてよい。
Unlike the first embodiment, the test
[具体例2]
以下、本実施形態の具体例を図を参照して説明する。
[Specific Example 2]
Hereinafter, a specific example of the present embodiment will be described with reference to the drawings.
図12は、更新対象システム200を構成するコンポーネントを表す状態モデルの例を示す説明図である。図12に示す状態モデルの集合は、図7に示す更新対象システム200に対応する。図12に示す二重線の楕円は、現在の状態を表す。また、図12に示す黒色の楕円は、目的状態を表す。
FIG. 12 is an explanatory diagram illustrating an example of a state model representing components that constitute the
また、図12に示す破線の矢印は、コンポーネント間の依存関係を表す。破線の矢印の根元の白丸が付与されている要素は、依存関係における依存元の要素である。 Moreover, the broken-line arrows shown in FIG. An element to which a white circle at the base of a broken arrow is given is a dependency source element in the dependency relationship.
例えば、図12に示すように、モジュールBとサービスs1との間に依存関係が存在する。依存関係は、例えばモジュールBがインストールされる、すなわちモジュールBが未実装状態である状態fから稼働状態である状態tに変更されるためには、サービスs1が停止状態である状態uであることを要することを示す。 For example, as shown in FIG. 12, a dependency relationship exists between the module B and the service s1. For example, in order for the module B to be installed, that is, to change from the state f in which the module B is not mounted to the state t in the operating state, the service s1 is in the stopped state u. Indicates that it is necessary.
以下、図7に示す更新対象システム200のwebにモジュールAをインストールする場合の回帰テスト付変更手順を変更手順実行手段150が実行する場合を考える。なお、本具体例における回帰テスト対象のコンポーネントは、dbとs1のみである。
Hereinafter, a case is considered where the change procedure executing means 150 executes the change procedure with regression test when the module A is installed on the web of the
最初に、状態モデル更新手段110は、状態モデル(更新前構成)に基づいて、状態モデル格納手段130に格納されている状態モデルを初期化する(ステップS201)。本具体例における初期化された状態モデルは、図12に示す状態モデルである。
First, the state
次いで、変更手順生成手段160は、状態モデル(更新前構成)および状態モデル(更新後構成)に基づいて、システム変更操作を1つ生成する(ステップS204)。
Next, the change
図13は、第2の実施形態のテスト手順生成システム100による回帰テスト付変更手順の生成例を示す説明図である。図13(a)は、変更手順生成手段160が生成するシステム変更操作を示す。また、図13(b)は、更新対象システム200に対応する状態モデルの集合を示す。
FIG. 13 is an explanatory diagram illustrating a generation example of a change procedure with a regression test by the test
例えば、図13(a)に示すように、変更手順生成手段160は、システム変更操作として命令「s1をshutdown」、および命令「dbをshutdown」を生成する。生成された各命令は、並列に実行されてもよい。本具体例において、変更手順生成手段160は、並列に実行される2つの命令を1つ分の命令として生成する。
For example, as illustrated in FIG. 13A, the change
次いで、状態モデル更新手段110は、生成されたシステム変更操作に従って、状態モデル格納手段130に格納されている状態モデルの状態を変更する(ステップS205)。生成された各命令を並列に実行する場合、状態モデル更新手段110は、dbを表す状態モデルの状態およびs1を表す状態モデルの状態を、共に停止状態である状態uに変更する。図13(b)は、dbを表す状態モデルおよびs1を表す状態モデルが変更された後の状態モデルの集合を示す。
Next, the state
次いで、状態確認手段120は、状態モデル格納手段130に格納されている状態モデルを確認し、状態モデルが表すコンポーネントが稼働状態であるか否かを確認する(ステップS206)。
Next, the
図13(b)に示す状態モデルの集合を参照すると、s1とdbは共に停止状態である状態uであり、稼働状態であるコンポーネントが存在しない(ステップS207におけるNo)。よって、変更手順生成手段160は、再度システム変更操作を1つ生成する(ステップS204)。
Referring to the state model set shown in FIG. 13B, both s1 and db are in the stopped state u, and there is no active component (No in step S207). Therefore, the change
図14は、第2の実施形態のテスト手順生成システム100による回帰テスト付変更手順の他の生成例を示す説明図である。図14(a)に示すように、変更手順生成手段160は、命令「モジュールBをインストール」、および命令「モジュールCをインストール」を生成する。
FIG. 14 is an explanatory diagram illustrating another generation example of the change procedure with regression test by the test
生成された各命令を並列に実行する場合、状態モデル更新手段110は、モジュールBを表す状態モデルの状態およびモジュールCを表す状態モデルの状態を、共に稼働状態である状態tに変更する。図14(b)は、モジュールBを表す状態モデルおよびモジュールCを表す状態モデルが変更された後の状態モデルの集合を示す。
When the generated instructions are executed in parallel, the state
図14(b)に示す状態モデルの集合を参照すると、s1とdbは共に停止状態である状態uであり、稼働状態であるコンポーネントが存在しない(ステップS207におけるNo)。よって、変更手順生成手段160は、再度システム変更操作を1つ生成する(ステップS204)。
Referring to the state model set shown in FIG. 14B, both s1 and db are in the stopped state u, and there is no active component (No in step S207). Therefore, the change
図15は、第2の実施形態のテスト手順生成システム100による回帰テスト付変更手順の他の生成例を示す説明図である。図15(a)に示すように、変更手順生成手段160は、命令「dbを再起動」を生成する。
FIG. 15 is an explanatory diagram illustrating another generation example of the change procedure with regression test performed by the test
生成された命令を実行する場合、状態モデル更新手段110は、dbを表す状態モデルの状態を、稼働状態である状態tに変更する。図15(b)は、dbを表す状態モデルが変更された後の状態モデルの集合を示す。
When executing the generated instruction, the state
次いで、状態確認手段120は、状態モデル格納手段130に格納されている状態モデルを確認し、状態モデルが表すコンポーネントが稼働状態であるか否かを確認する(ステップS206)。
Next, the
図15(b)に示す状態モデルの集合を参照すると、dbは稼働状態である状態tであり、稼働状態であるコンポーネントが存在する(ステップS207におけるYes)。よって、回帰テスト挿入手段140は、回帰テスト付変更手順にdbに対する回帰テストコードを実行する操作を挿入する(ステップS208)。 Referring to the set of state models shown in FIG. 15B, db is in the operating state t, and there is a component in the operating state (Yes in step S207). Therefore, the regression test insertion means 140 inserts an operation for executing the regression test code for db in the change procedure with regression test (step S208).
次いで、変更手順生成手段160は、再度システム変更操作を1つ生成する(ステップS204)。図16は、第2の実施形態のテスト手順生成システム100による回帰テスト付変更手順の他の生成例を示す説明図である。図16(a)に示すように、変更手順生成手段160は、命令「モジュールAをインストール」を生成する。
Next, the change
生成された命令を実行する場合、状態モデル更新手段110は、モジュールAを表す状態モデルの状態を、稼働状態である状態tに変更する。図16(b)は、モジュールAを表す状態モデルが変更された後の状態モデルの集合を示す。
When executing the generated instruction, the state
図16(b)に示す状態モデルの集合を参照すると、dbは稼働状態である状態tのままである。よって、回帰テスト挿入手段140は、回帰テスト付変更手順にdbに対する回帰テストコードを実行する操作を挿入する(ステップS208)。 Referring to the set of state models shown in FIG. 16B, db remains in the state t that is in the operating state. Therefore, the regression test insertion means 140 inserts an operation for executing the regression test code for db in the change procedure with regression test (step S208).
次いで、変更手順生成手段160は、再度システム変更操作を1つ生成する(ステップS204)。図17は、第2の実施形態のテスト手順生成システム100による回帰テスト付変更手順の他の生成例を示す説明図である。図17(a)に示すように、変更手順生成手段160は、命令「s1を再起動」を生成する。
Next, the change
生成された命令を実行する場合、状態モデル更新手段110は、s1を表す状態モデルの状態を、稼働状態である状態tに変更する。図17(b)は、s1を表す状態モデルが変更された後の状態モデルの集合を示す。
When executing the generated instruction, the state
図17(b)に示す状態モデルの集合を参照すると、s1とdbは共に稼働状態である状態tである。よって、回帰テスト挿入手段140は、回帰テスト付変更手順にs1に対する回帰テストコードを実行する操作、およびdbに対する回帰テストコードを実行する操作を挿入する(ステップS208)。 Referring to the set of state models shown in FIG. 17B, both s1 and db are the state t that is in the operating state. Therefore, the regression test insertion means 140 inserts an operation for executing the regression test code for s1 and an operation for executing the regression test code for db in the change procedure with regression test (step S208).
次いで、変更手順生成手段160は、状態モデル格納手段130に格納されている状態モデルが、状態モデル(更新後構成)が示す状態モデルであるか否かを確認する(ステップS202)。既に状態モデル(更新後構成)が示す状態モデルである(ステップS203におけるYes)、すなわち変更処理が完了しているため、テスト手順生成システム100は、回帰テスト付変更手順生成処理を終了する。
Next, the change
なお、各実施形態のテスト手順生成システム100は、例えば、記憶媒体に格納されているプログラムに従って処理を実行するCPU(Central Processing Unit)によって実現される。すなわち状態モデル更新手段110、状態確認手段120、回帰テスト挿入手段140、変更手順実行手段150、および変更手順生成手段160は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。
Note that the test
また、状態モデル格納手段130は、例えばRAM(Random Access Memory)で実現される。 Moreover, the state model storage means 130 is implement | achieved by RAM (Random Access Memory), for example.
また、各実施形態のテスト手順生成システム100における各部は、ハードウェア回路によって実現されてもよい。一例として、状態モデル更新手段110、状態確認手段120、状態モデル格納手段130、回帰テスト挿入手段140、変更手順実行手段150、および変更手順生成手段160が、それぞれLSI(Large Scale Integration)で実現される。また、それらが1つのLSIで実現されていてもよい。
Each unit in the test
次に、本発明の概要を説明する。図18は、本発明によるテスト手順生成システムの概要を示すブロック図である。本発明によるテスト手順生成システム10は、変更対象システムを構成する要素(例えば、コンポーネント)を表す状態モデルを変更対象システムが変更される時に実行される変更手順に含まれる要素に対する変更操作を用いて更新する更新手段11(例えば、状態モデル更新手段110)と、更新手段11が回帰テスト対象の要素を表す状態モデルの状態を稼働状態に更新した時に用いた変更操作の次の操作として回帰テスト対象の要素に対する回帰テストが実行される操作を変更手順に追加する追加手段12(例えば、回帰テスト挿入手段140)とを含む。
Next, the outline of the present invention will be described. FIG. 18 is a block diagram showing an outline of a test procedure generation system according to the present invention. The test
そのような構成により、テスト手順生成システムは、偽の失敗が発生しないように配慮された回帰テストコードを実行する操作が含まれる変更手順を生成できる。 With such a configuration, the test procedure generation system can generate a change procedure including an operation for executing a regression test code that is designed so as not to cause a false failure.
また、追加手段12は、更新手段11が回帰テスト対象の要素を表す状態モデルの状態を稼働状態から更新しなかった時に用いた変更操作の次の操作として回帰テスト対象の要素に対する回帰テストが実行される操作を変更手順に追加してもよい。
In addition, the adding
そのような構成により、テスト手順生成システムは、偽の失敗が発生しないように配慮された回帰テストコードを実行する操作が含まれる変更手順を生成できる。 With such a configuration, the test procedure generation system can generate a change procedure including an operation for executing a regression test code that is designed so as not to cause a false failure.
また、テスト手順生成システム10は、回帰テストが実行される操作が追加された変更手順を実行することによって変更対象システムを変更する変更手段(例えば、変更手順実行手段150)を含んでもよい。
Further, the test
そのような構成により、テスト手順生成システムは、システム構成の変更作業中に偽の失敗を発生させずに回帰テストを実行できる。 With such a configuration, the test procedure generation system can execute a regression test without causing a false failure during a system configuration change operation.
また、テスト手順生成システム10は、変更される前の変更対象システムの構成定義と変更された後の変更対象システムの構成定義とを用いて変更手順を生成する生成手段(例えば、変更手順生成手段160)を含んでもよい。
The test
また、変更対象システムの構成定義には、変更対象システムを構成する要素を表す状態モデルが含まれていてもよい。 In addition, the configuration definition of the change target system may include a state model representing the elements constituting the change target system.
そのような構成により、テスト手順生成システムは、変更手順が与えられなくても回帰テスト付変更手順を生成できる。 With such a configuration, the test procedure generation system can generate the change procedure with regression test even if the change procedure is not given.
また、テスト手順生成システム10は、回帰テスト対象の要素を表す状態モデルの状態が稼働状態に更新されたことを追加手段12に通知する通知手段(例えば、状態確認手段120)を含み、追加手段12は、通知手段からの通知を受けて回帰テストが実行される操作を変更手順に追加してもよい。
Further, the test
そのような構成により、テスト手順生成システムは、更新された状態モデルの確認処理を減らすことができる。 With such a configuration, the test procedure generation system can reduce the confirmation process of the updated state model.
また、変更手順は、構成変更自動化ツール用の表記方法で記述されてもよい。 Further, the change procedure may be described in a notation method for the configuration change automation tool.
また、テスト手順生成システム10は、変更対象システムを構成する要素を表す状態モデルを格納する格納手段(例えば、状態モデル格納手段130)を含んでもよい。
Further, the test
また、更新手段11は、初期状態定義および状態変更定義を参照して、格納手段に格納されている状態モデルを変更操作を用いて更新してもよい。
Further, the
また、通知手段は、格納手段に格納されている状態モデルを参照して、回帰テスト対象の要素を表す状態モデルの状態が稼働状態である時に追加手段12を起動してもよい。
Further, the notifying unit may start the adding
本発明は、ICT(Information and Communication Technology)システムの更新作業の信頼度を向上させるために更新作業中に回帰テスト等の適切なテストを実行する用途に好適に適用される。 The present invention is suitably applied to an application for executing an appropriate test such as a regression test during an update operation in order to improve the reliability of the update operation of an ICT (Information and Communication Technology) system.
10、100 テスト手順生成システム
11 更新手段
12 追加手段
110 状態モデル更新手段
120 状態確認手段
130 状態モデル格納手段
140 回帰テスト挿入手段
150 変更手順実行手段
160 変更手順生成手段
200 更新対象システム
800 変更対象システム
900 テスト実行システム
910 変更手順実行手段
920 回帰テスト実行手段
10, 100 Test
Claims (9)
前記更新手段が回帰テスト対象の要素を表す状態モデルの状態を稼働状態に更新した時に用いた変更操作の次の操作として前記回帰テスト対象の要素に対する回帰テストが実行される操作を変更手順に追加する追加手段とを含む
ことを特徴とするテスト手順生成システム。 Updating means for updating a state model representing an element constituting the change target system using a change operation for the element included in a change procedure executed when the change target system is changed;
An operation for executing a regression test on the regression test target element is added to the change procedure as the next operation after the change operation used when the update means updates the state model state representing the regression test target element to the operating state. And a test procedure generation system characterized by comprising:
請求項1記載のテスト手順生成システム。 The adding means is an operation in which a regression test is performed on the regression test target element as an operation next to the change operation used when the update means does not update the state of the state model representing the regression test target element from the operating state. The test procedure generation system according to claim 1, wherein: is added to the change procedure.
請求項1または請求項2記載のテスト手順生成システム。 The test procedure generation system according to claim 1, further comprising a change unit that changes the change target system by executing a change procedure to which an operation for executing a regression test is added.
請求項1から請求項3のうちのいずれか1項に記載のテスト手順生成システム。 The generating unit which generates a change procedure using the configuration definition of the change target system before the change and the configuration definition of the change target system after the change is included. Test procedure generation system described in the section.
前記追加手段は、前記通知手段からの通知を受けて回帰テストが実行される操作を変更手順に追加する
請求項1から請求項4のうちのいずれか1項に記載のテスト手順生成システム。 Including a notifying means for notifying the adding means that the state of the state model representing the element for the regression test has been updated to the operating state,
The test procedure generation system according to any one of claims 1 to 4, wherein the adding unit adds an operation in which a regression test is executed in response to a notification from the notification unit to a change procedure.
回帰テスト対象の要素を表す状態モデルの状態が稼働状態に更新された時に用いられた変更操作の次の操作として前記回帰テスト対象の要素に対する回帰テストが実行される操作を変更手順に追加する
ことを特徴とするテスト手順生成方法。 Updating a state model representing an element constituting the change target system using a change operation on the element included in a change procedure executed when the change target system is changed;
An operation for executing a regression test on the regression test target element is added to the change procedure as the next operation after the change operation used when the state model state representing the regression test target element is updated to the operating state. A test procedure generation method characterized by:
請求項6記載のテスト手順生成方法。 An operation for executing a regression test on the regression test target element is added to the change procedure as the next operation after the change operation used when the state of the state model representing the regression test target element is not updated from the operating state. The test procedure generation method according to claim 6.
変更対象システムを構成する要素を表す状態モデルを前記変更対象システムが変更される時に実行される変更手順に含まれる前記要素に対する変更操作を用いて更新する更新処理、および
前記更新処理で回帰テスト対象の要素を表す状態モデルの状態が稼働状態に更新された時に用いられた変更操作の次の操作として前記回帰テスト対象の要素に対する回帰テストが実行される操作を変更手順に追加する追加処理
を実行させるためのテスト手順生成プログラム。 On the computer,
An update process for updating a state model representing an element constituting the change target system using a change operation for the element included in a change procedure executed when the change target system is changed, and a regression test target in the update process Executes additional processing to add to the change procedure an operation that performs a regression test on the regression test target element as the next operation after the change operation used when the state model state that represents the element is updated to the operating state Test procedure generation program to let you.
更新処理で回帰テスト対象の要素を表す状態モデルの状態が稼働状態から更新されなかった時に用いられた変更操作の次の操作として前記回帰テスト対象の要素に対する回帰テストが実行される操作を変更手順に追加する追加処理を実行させる
請求項8記載のテスト手順生成プログラム。 On the computer,
Procedure for changing the operation to execute the regression test on the regression test target element as the next operation after the change operation used when the state of the state model representing the regression test target element is not updated from the operating state in the update process The test procedure generation program according to claim 8, wherein an additional process to be added is executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016242279A JP2018097658A (en) | 2016-12-14 | 2016-12-14 | Test procedure generating system, test procedure generating method and test procedure generating program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016242279A JP2018097658A (en) | 2016-12-14 | 2016-12-14 | Test procedure generating system, test procedure generating method and test procedure generating program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018097658A true JP2018097658A (en) | 2018-06-21 |
Family
ID=62632335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016242279A Pending JP2018097658A (en) | 2016-12-14 | 2016-12-14 | Test procedure generating system, test procedure generating method and test procedure generating program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018097658A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506306A (en) * | 2019-01-31 | 2020-08-07 | 北京神州泰岳软件股份有限公司 | Method and device for compiling Ansible script and electronic equipment |
-
2016
- 2016-12-14 JP JP2016242279A patent/JP2018097658A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506306A (en) * | 2019-01-31 | 2020-08-07 | 北京神州泰岳软件股份有限公司 | Method and device for compiling Ansible script and electronic equipment |
CN111506306B (en) * | 2019-01-31 | 2023-09-08 | 北京神州泰岳软件股份有限公司 | Method and device for writing active script and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106970873B (en) | On-line mock testing method, device and system | |
CN106156186B (en) | Data model management device, server and data processing method | |
US8677327B2 (en) | Service testing method and service testing system | |
CN102402427B (en) | A kind of update method of java application and device | |
CN108920250B (en) | Application program containerization method and device | |
US20100281463A1 (en) | XML based scripting framework, and methods of providing automated interactions with remote systems | |
CN114691464A (en) | Interface testing method, computer equipment and computer readable storage medium | |
CN106055368A (en) | Application updating method and device | |
CN112379940B (en) | Executable file processing method and device, electronic equipment and storage medium | |
CN111339266A (en) | Development system of chat robot and chat robot module | |
US20170123950A1 (en) | Non-monotonic eventual convergence for desired state configuration | |
CN103186463A (en) | Method and system for determining testing range of software | |
CN105760208A (en) | Computer program compiling method and apparatus | |
CN114047968B (en) | Method, system, storage medium and equipment for automatic hardware adaptation | |
CN113535141A (en) | Database operation code generation method and device | |
CN102880473A (en) | Method and device for task execution based on quartz framework | |
CN108334333B (en) | Method and device for updating source code base | |
JP2018097658A (en) | Test procedure generating system, test procedure generating method and test procedure generating program | |
CN110750310B (en) | Binary and source code switching method based on IOS system componentization development | |
CN112506793A (en) | Embedded software unit testing method, system, readable medium and electronic equipment | |
KR20140084698A (en) | Automatic software test system for steel processing | |
WO2018083977A1 (en) | System construction assisting apparatus, method, and program | |
CN109977331B (en) | Method and device for controlling execution of page resources | |
CN107391223B (en) | File processing method and device | |
CN115705297A (en) | Code call detection method, device, computer equipment and storage medium |