以下、図面を参照して、発明の実施形態について説明する。この説明においては、全図にわたり共通の部分には共通の参照符号を付す。
本実施形態に係るテストケース自動作成装置は、まず、所定のフォーマットに従い、設計情報の入力を受け付ける。次に、テストケース自動作成装置は、入力された設計情報に基づき、システムテストのテストケースを作成する。テストケースには、例えば、画面検証ケース、機能検証ケース、システム検証ケースなどが含まれる。
図1は、本実施形態に係るテストケース自動作成装置1を示すブロック図である。
テストケース自動作成装置1は、第1のメモリ2、第2のメモリ3、プロセッサ4、入出力部5、記憶装置6などを備える。第1のメモリ2、第2のメモリ3、プロセッサ4、入出力部5、記憶装置6は、バスBを介して互いに通信可能に接続されている。
記憶装置6は、例えば、ユーザ管理データA,設計情報S、テストケースT、実行計画データJ、結果データRを格納する。
ユーザ管理データAは、テストケース自動作成装置1を使用するユーザに関するデータを格納する。例えば、ユーザ管理データAは、少なくとも1人以上のユーザのユーザ名とパスワードとを紐づけて管理する。
設計情報Sは、テストの実行対象となるシステム(以下、テスト対象システムと呼ぶ)の設計に関する情報である。設計情報Sは、ユーザによりテストケース自動作成装置1に入力される。設計情報Sは、例えば、画面設計情報S1、機能設計情報S2、データベース設計情報S3、ファイル設計情報S4を含む。
画面設計情報S1は、テスト対象システムの画面設計に関する情報である。より具体的には、画面設計情報S1は、基本情報、画面遷移情報、画面初期表示情報、アクション情報、ソート順、最大表示件数などを含む。画面設計情報S1の詳細は、図4A〜図4Fを用いて後述する。なお、本実施形態において、アクションとは、例えばボタン押下、画面タッチなどのユーザ操作に伴って画面の状態を変更するイベントを発生させることを指す。イベントには、具体的には、画面に含まれる項目の検索、登録、更新、削除、前画面へ戻る、などが含まれる。
機能設計情報S2は、テスト対象システムの機能設計に関する情報である。より具体的には、機能設計情報S2は、基本情報、機能遷移情報、周辺連携情報、入力条件情報、処理機能情報、出力分岐情報などを含む。機能設計情報S2の詳細は、図5A〜図5Fを用いて後述する。
データベース設計情報S3は、テスト対象システム及び/又はサブシステムに紐づくデータベースの構成に関する情報である。データベース設計情報S3は、例えば、データベース名、データベースに含まれる項目名などを含む。
ファイル設計情報S4は、テスト対象システム及び/又はサブシステムに紐づくファイルの構成に関する情報である。ファイル設計情報S4は、例えば、ファイル名、ファイルに含まれる項目名などを含む。
データベース及びファイルは、例えば、テスト実行の際に必要なデータをテスト対象システムへ入力し、及び、テスト実行の際に生成されたデータをテスト対象システムより出力される記憶手段である。
テストケースTは、設計情報Sに基づいて、テストケース自動作成装置1により自動的に作成されるテストケースである。テストケースTは、例えば、画面検証ケースT1、機能検証ケースT2、システム検証ケースT3などを含む。
画面検証ケースT1は、主として画面設計情報S1に基づいて作成されるテストケースである。画面検証ケースT1の詳細は、図6〜図8を用いて後述する。
機能検証ケースT2は、主として機能設計情報S2に基づいて作成されるテストケースである。より具体的には、機能検証ケースT2は、例えば、入力条件と、入力条件に対応する1つ以上の処理機能と、処理機能に紐づく出力条件とをそれぞれ網羅するように作成されたテストケースである。機能検証ケースT2の詳細は、図9〜図11を用いて後述する。
システム検証ケースT3は、主として機能設計情報S2に基づいて作成されるテストケースである。より具体的には、システム検証ケースT3は、例えば、テストの対象システムの外部に接続されるシステム(以下、外部システムと呼ぶ)からの入力条件、及び、外部システムへの出力条件を網羅するように作成されたテストケースである。システム検証ケースT3の詳細は、図12〜図14を用いて後述する。
実行計画データJは、テストケースTに基づいて作成される、テストの実行計画を示す情報である。
結果データRは、実行計画データJに基づいてテスト対象システムのテストを実行した結果得られるデータである。結果データRは、例えば、実行結果データR1、進捗データR2、障害データR3、品質データR4を含む。
実行結果データR1は、テストケース毎のテストの実行結果を格納する。実行結果データR1は、例えば、テストの成功/失敗を表すデータを含む。
進捗データR2は、実行計画データJに沿ったテストの進捗に関するデータを格納する。進捗データR2は、例えば、テストケースの消化予定、テストの進行実績値、進捗率などを含む。
障害データR3は、実行結果データR1が失敗を示すテストケースを分析した結果得られる、障害(バグ)に関する情報を含む。障害データR3は、例えば、障害検出日時、障害事象、影響度、障害のステータス(対応状況)、テストが失敗した原因となる処理に関する情報(エビデンス情報)などを含む。障害のステータスは、例えば、未着手、実施中、障害対応中、完了などである。
品質データR4は、テストを実行済のテスト対象システムの品質に関するデータを格納する。品質データR4は、例えば、テスト対象システムの障害発生件数、発生した障害が改修されるまでの期間、障害のステータス別の件数、影響度別の件数などを含む。
第1のメモリ2は、例えばハードディスク、SSD(Solid State Drive)、フラッシュメモリなどにより構成され、第2のメモリ3とともに記憶領域を構成する。
第1のメモリ2は、各種ソフトウェア又はデータを格納する。各種ソフトウェアは、オペレーティングシステム(OS)、データ管理プログラム、及び各種アプリケーションプログラム等を含む。第1のメモリ2は、UI(ユーザインタフェース)制御、設計情報の入力及び管理、テストケースの作成及び管理、テスト管理のための各種処理を実行するプログラムPを格納する。
また、第1のメモリ2は、例えば、プロセッサ4による処理対象となっている設計情報S、テストケースT、実行計画データJ、結果データRの一部又は全部を格納してもよい。なお、設計情報S、テストケースT、実行計画データJ、結果データRは、第2のメモリ3に格納されてもよい。
メインメモリとしての第2のメモリ3は、例えばRAM(Random Access Memory)により構成され、ワークエリアなどとして使用される。ワークエリアは、プロセッサ4が各種ソフトウェアを実行する際に使用される。
プロセッサ4は、各種ソフトウェア(プログラム)を実行し、テストケース自動作成装置1全体を制御する。プロセッサ4は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)などである。
プロセッサ4は、例えば、第1のメモリ2に格納され、又は、第1のメモリ2から第2のメモリ3に読み出されたプログラムPを実行することにより、例えば、UI制御部41、設計情報入力部42、テストケース作成部43、設計情報管理部44、テストケース管理部45、テスト管理部46として機能する。
UI制御部41は、テストケース自動作成装置1のユーザインタフェースを作成し、後述する入出力部5に表示する。UI制御部41は、入出力部5に表示されたユーザインタフェースを、ユーザの入力などに基づいて制御する。ユーザインタフェースは、ユーザにテストケース自動作成装置1を操作させるための各種画面を含む。また、設計情報入力部42、テストケース作成部43、設計情報管理部44、テストケース管理部45、テスト管理部46は、UI制御部41にそれぞれの処理部が必要とするユーザインタフェースを作成させ、当該ユーザインタフェースの入出力部5への表示と制御を実行させる。
設計情報入力部42は、例えば、ユーザからの設計情報Sの入力を受け付け、入力された設計情報Sを記憶装置6へ格納する。
テストケース作成部43は、例えば、設計情報入力部42により入力された設計情報Sに基づいて、テストケースTを作成する。
設計情報管理部44は、例えば、ユーザからの要求に基づいて、設計情報Sの参照及び更新を行う。
テストケース管理部45は、例えば、ユーザからの要求に基づいて、テストケースTの参照及び更新を行う。
テスト管理部46は、例えば、テスト実行部461、進捗管理部462、障害管理部463、品質管理部464などを含む。
テスト実行部461は、作成されたテストケースTに基づいて実行計画データJを作成する。また、テスト実行部461は、実行結果データR1を作成する。
進捗管理部462は、実行計画データJに基づいて、進捗データR2を作成する。また、進捗管理部462は、進捗データR2に基づいて、進捗レポートを作成する。
障害管理部463は、障害データR3に基づき障害票を作成する。また、障害管理部463は、障害票の検索、更新、表示などを実行する。
品質管理部464は、品質データR4を作成する。また、品質管理部464は、品質データR4に基づいて、品質レポートを作成する。
入出力部5は、テストケース自動作成装置1を操作するためのユーザインタフェースの表示、及び結果データRの表示などを行う。また、入出力部5は、ユーザからの入力を受け付ける。入出力部5は、例えば、タッチパネル、ボタン、キーボードなどの入力装置、及び、ディスプレイなどの表示装置を含む。
なお、本実施形態においては、プログラムPの機能を便宜的にUI制御部41、設計情報入力部42、テストケース作成部43、設計情報管理部44、テストケース管理部45、テスト管理部46に分割して説明する。しかしながら、プログラムPは他の処理部を含んでいてもよく、1つの処理部で構成されてもよく、又は、図1に示す以外の態様で複数の処理部に分割されてもよい。
図2は、本実施形態に係るテストケース自動作成装置1のユーザインタフェースの一例を示すフローチャートである。
ステップS101において、UI制御部41は、ログイン画面を表示する。ログイン画面は、例えば、ユーザ名及びパスワードを入力させ、ログインを促す画面である。UI制御部41は、入力されたユーザ名及びパスワードを、記憶装置6のユーザ管理データAと照合し、照合成功した場合に、テストケース自動作成装置1へのログインを許可する。
ステップS102において、UI制御部41は、使用条件確認画面を表示する。UI制御部41がユーザより使用条件に同意する旨の入力を受け付けた場合に、処理はステップS103へ進む。
ステップS103において、UI制御部41は、メインメニューを表示する。メインメニューには、例えば、設計情報入力カテゴリC1、テストケース作成カテゴリC2、設計情報管理カテゴリC3、テストケース管理カテゴリC4、テスト管理カテゴリC5が含まれる。各カテゴリには、1つ以上のサブメニューが含まれていてもよい。
ステップS104において、UI制御部41は、ユーザにメインメニューの各項目を選択させる。
ステップS104において設計情報入力カテゴリC1が選択された場合、ステップS105Aにおいて、UI制御部41は、各設計情報入力画面を表示する。さらに、ステップS105Bにおいて、設計情報入力部42は設計情報入力処理を実行し、当該処理の完了後に処理はステップS103に戻る。
ステップS104においてテストケース作成カテゴリC2が選択された場合、ステップS106Aにおいて、UI制御部41は、各テストケース作成画面を表示する。さらに、ステップS106Bにおいて、テストケース作成部43はテストケース作成処理を実行し、当該処理の完了後に処理はステップS103に戻る。
ステップS104において設計情報管理カテゴリC3が選択された場合、ステップS107Aにおいて、UI制御部41は、各設計情報参照・更新画面を表示する。さらに、ステップS107Bにおいて、設計情報管理部44は設計情報の参照又は更新などの設計情報管理処理を実行し、当該処理の完了後に処理はステップS103に戻る。
ステップS104においてテストケース管理カテゴリC4が選択された場合、ステップS108Aにおいて、UI制御部41は、各テストケース参照・更新画面を表示する。さらに、ステップS108Bにおいて、テストケース管理部45はテストケースの参照又は更新などのテストケース管理処理を実行し、当該処理の完了後に処理はステップS103に戻る。
ステップS104においてテスト管理カテゴリC5が選択された場合、ステップS109において、UI制御部41は、テスト管理画面を表示し、処理はステップS110に進む。
ステップS110において、UI制御部41は、ユーザにテスト管理メニューの各項目を選択させる。テスト管理メニューには、例えば、進捗管理カテゴリC51、障害管理カテゴリC52、品質管理カテゴリC53などが含まれる。各カテゴリには、1つ以上のサブメニューが含まれていてもよい。
ステップS110において進捗管理カテゴリC51が選択された場合、ステップS110Aにおいて、進捗管理部462は進捗管理処理を実行し、当該処理の完了後に処理はステップS103に戻る。
ステップS110において障害管理カテゴリC52が選択された場合、ステップS110Bにおいて、障害管理部463は障害管理処理を実行し、当該処理の完了後に処理はステップS103に戻る。
ステップS110において障害管理カテゴリC52が選択された場合、ステップS110Cにおいて、品質管理部464は品質管理処理を実行し、当該処理の完了後に処理はステップS103に戻る。
図3は、本実施形態に係るメインメニュー画面の一例を示す図である。メインメニューには、設計情報入力カテゴリC1、テストケース作成カテゴリC2、設計情報管理カテゴリC3、テストケース管理カテゴリC4、テスト管理カテゴリC5が含まれ、さらに各カテゴリはサブメニュー又はサブカテゴリを含む。
また、メインメニューは、基本情報設定ボタンB0を備えていてもよい。ユーザは、例えば、基本情報設定ボタンB0を押下することにより表示される基本情報設定画面で、テスト対象システムのシステム名及びサブシステム名を登録可能である。登録されたシステム名及びサブシステム名は、例えば、記憶装置6の設計情報Sに格納される。
なお、本実施形態において、各サブメニュー及びサブカテゴリは、メインメニューとは別画面に表示されてもよい。
以下、各メニューが選択された場合に実行される処理について詳細に説明する。
[設計情報入力カテゴリC1:画面設計情報M11]
図4A〜図4Fを用いて、ユーザによる画面設計情報S1の入力の際に必要な設計情報入力処理、入力項目、及びユーザインタフェースについて説明する。なお、ユーザは任意の1画面(以下、現在の画面と呼ぶ)について図4A〜図4Fにおいて指定される入力項目を入力する。
図4Aは、現在の画面についての基本情報の入力画面の一例を示す図である。図4Aは、例えば、項目U401,U402、登録ボタンB1、クリアボタンB2などを含む。
項目U401は、システム名及びサブシステム名の入力項目である。設計情報入力部42は、記憶装置6の設計情報Sに格納されたシステム名及びサブシステム名を読み出し、プルダウン形式で項目U401に表示する。ユーザは、現在の画面が属するシステム名及びサブシステム名を選択する。
項目U402は、現在の画面の画面ID、画面名、及び設計書バージョンなどの入力項目である。
設計情報入力部42は、項目U401及び項目U402をユーザに選択させる。そして、登録ボタンB1が押下された場合に、設計情報入力部42は、項目U401及び項目U402に入力された情報を画面設計情報S1に格納する。なお、クリアボタンB2が押下された場合、設計情報入力部42は、入力中の内容をクリアする。
図4Bは、現在の画面の前後の画面遷移に関する情報の入力画面の一例を示す図である。図4Bは、例えば、項目U403,U404、登録ボタンB3,B5、クリアボタンB4,B6などを含む。
項目U403は、先行画面に関する情報の入力項目である。項目U403は、例えば、先行画面ID、先行画面から現在の画面へ遷移するためのアクション及び条件を含む。
項目U404は、後続画面に関する情報の入力項目である。項目U404は、例えば、後続画面ID、現在の画面から後続画面へ遷移するためのアクション及び条件を含む。
登録ボタンB3,B5及びクリアボタンB4,B6の動作についての説明は、上述の登録ボタンB1及びクリアボタンB2と同様であるため省略する。
図4Cは、現在の画面の画面初期表示に関する情報の入力画面の一例を示す図である。図4Cは、例えば、項目U405〜U408、ANDボタンB7、ORボタンB8、追加ボタンB9、登録ボタンB10、クリアボタンB11などを含む。
項目U405は、現在の画面の初期表示の表示条件に関する情報の入力項目である。ユーザは、データベース又はファイルの項目と値を表示条件として指定する。例えば、項目U405において、データベースが指定されると、設計情報入力部42は、データベース設計情報S3を読み出し、データベース名及びデータベース項目名をプルダウン形式で表示する。条件は、例えば「=、≦、≧、<、>」をプルダウン形式で表示する。さらに、ユーザは、当該データベース名、項目名、条件に対応する値を入力する。なお、項目U405において、ファイルが指定された場合は、設計情報入力部42は、ファイル設計情報S4を読み出す。その後の処理はデータベースが指定された場合と同様である。
また、ユーザはAND条件がある場合はこのANDボタンB7を押下する。この場合、設計情報入力部42は、項目U405に入力された値を例えば第2のメモリ3に格納した上で、項目U405をクリアし、ユーザの項目U405を再入力させる。第2のメモリ3に格納された内容は、登録ボタンB10が押下された時点で、AND条件として画面設計情報S1に格納される。なお、OR条件の場合はORボタンB8が用いられる。
項目U406は、その他の表示条件の入力項目である。ユーザは、任意の表示条件を所定のフォーマットに従いテキスト入力可能である。
なお、項目U405,U406に入力された表示条件は、例えば、後述するテストケースの作成において、テストデータ仕様を自動生成するためなどに用いられる。
項目U407は、現在の画面の初期表示内容に関する入力項目である。ユーザは、初期表示項目及び値を入力可能である。また、追加ボタンB9が押下された場合に、設計情報入力部42は、入力された初期表示項目及び値を例えば第2のメモリ3に格納した上でクリアし、ユーザに初期表示項目及び値を再度入力させる。第2のメモリ3に格納された内容は、登録ボタンB10が押下された時点で画面設計情報S1に格納される。
項目U408は、現在の画面のその他の初期表示内容についての入力項目である。ユーザは、任意の初期表示内容を所定のフォーマットに従いテキスト入力可能である。
登録ボタンB10及びクリアボタンB11の動作についての説明は、上述の登録ボタンB1及びクリアボタンB2などと同様であるため省略する。
図4Dは、現在の画面についてのアクション情報の入力画面の一例を示す図である。より具体的には、図4Dの入力画面は、現在の画面に入力される任意のアクションに対する出力結果を指定するために用いられる。図4Dは、例えば、項目U409〜U414、ANDボタンB12、ORボタンB13、追加ボタンB14,B15A〜B15D、登録ボタンB16、クリアボタンB17などを含む。
項目U409は、アクション種別の入力項目である。アクション種別は、画面に対するアクションである。より具体的には、アクション種別は、例えば、検索、登録、更新、削除、戻るなどである。
項目U410は、アクション実行時の画面の出力条件に関する情報の入力項目である。項目U411は、その他の出力条件の入力項目である。項目U410,U411の入力項目は、上述の項目U405,U406の入力項目と同様であるため、説明を省略する。なお、項目U410,U411に入力された出力時条件は、項目U405,U406と同様に、後述するテストケースの作成において、テストデータ仕様を自動生成するためなどに用いられる。
項目U412は、入力方法を示すラベル名及び当該画面に対する入力パターンについての入力項目である。項目U412は、現在の画面上において入力可能な複数の入力パターンのアクションを指定する際に用いられる。
追加ボタンB14は、入力されたラベル名において、さらに追加入力パターンを入力するためのボタンである。追加ボタンB14が押下された場合に、設計情報入力部42は、入力された入力パターンを例えば第2のメモリ3に格納した上でクリアし、ユーザに画面名に対する入力パターンを再度入力させる。第2のメモリ3に格納された内容は、登録ボタンB16が押下された時点で画面設計情報S1に格納される。
項目U413A〜U413Dは、出力結果に関する入力項目である。項目U413Aは、アクションに対して任意の画面を出力する場合の入力項目であり、出力する画面名(及び/又は画面ID)、項目名、及び値などが含まれる。項目U413Bは、アクションに対して帳票を出力する場合の入力項目であり、帳票名(及び/又は帳票ID)、項目名、及び値などが含まれる。帳票は、例えばプリントアウトされた紙媒体などを含む。項目U413Cは、アクションに対してデータベースに所定の項目を出力する場合の入力項目であり、データベース名、項目名、及び値などが含まれる。設計情報入力部42は、データベース設計情報S3を記憶装置6より読み出し、データベース名及び項目名に反映し、例えばプルダウン形式によりユーザに選択させてもよい。項目U413Dは、アクションに対してファイルを出力する場合の入力項目であり、ファイル名、項目名、及び値などが含まれる。設計情報入力部42は、項目U413Cの場合と同様に、ファイル設計情報S4を記憶装置6より読み出し、ファイル名及び項目名に反映させてもよい。
各項目U413A〜U413Dには、追加ボタンB15A〜B15Dが備えられる。各追加ボタンB15A〜B15D押下時の動作についての説明は、追加ボタンB9と同等であるため省略する。
項目U414は、その他の出力結果についての入力項目である。ユーザは、任意の初期出力結果を所定のフォーマットに従いテキスト入力可能である。
入力された項目U413A〜U413D,U414は、入力条件ごとに、後述するテストケースの期待値欄に設定される。
登録ボタンB16及びクリアボタンB17の動作についての説明は、上述の登録ボタンB1及びクリアボタンB2などと同様であるため省略する。
図4Eは、現在の画面のソート順に関する情報の入力画面の一例を示す図である。より具体的には、図4Eの入力画面は、現在の画面がソート機能に対応する表示項目を含む場合に、当該ソート機能の内容とその実行結果を指定する際に用いられる。図4Eは、例えば、項目U415、登録ボタンB20、クリアボタンB21などを含む。
項目U415において、ユーザは、ソート機能の実行のために必要なソート条件、ソート項目(ソート範囲)、ソートキーを入力し、さらに、ソート機能が実行された結果得られるソート順を入力する。
登録ボタンB20及びクリアボタンB21の動作についての説明は、上述の登録ボタンB1及びクリアボタンB2などと同様であるため省略する。なお、項目U415に対して複数のソート条件を入力可能にするためのANDボタンが設けられてもよい。このANDボタン押下時の動作は、例えば、ANDボタンB12の場合と同様である。
図4Fは、現在の画面の最大表示件数に関する情報の入力画面の一例を示す図である。より具体的には、図4Fは、例えば現在の画面において所定の表示領域に複数のレコードが表示される場合に、その最大表示件数の指定のために用いられる。図4Fは、例えば、項目U416、登録ボタンB22、クリアボタンB23などを含む。
項目U416において、ユーザは、表示領域を指定し、さらに、指定された表示領域における最大表示件数を入力する。
登録ボタンB20及びクリアボタンB21の動作についての説明は、上述の登録ボタンB1及びクリアボタンB2などと同様であるため省略する。
なお、例えば、図4A〜図4Fに対する入力内容を確認するためのボタンが設けられてもよい。また、例えば、入力内容を破棄してメインメニューに戻るためのボタンが設けられてもよい。
ユーザは、図4A〜図4Fに表示された入力項目U401〜U416を、テスト対象システムが遷移可能な画面の種類に応じて繰り返し登録する。これにより、テスト対象システムについての画面設計情報S1が得られる。
[設計情報入力カテゴリC1:機能設計情報M12]
図5A〜図5Fを用いて、ユーザによる機能設計情報S2の入力の際に必要な設計情報入力処理、入力項目、及びユーザインタフェースについて説明する。なお、ユーザは任意の1機能(以下、現在の機能と呼ぶ)について図5A〜図5Fにおいて指定される入力項目を入力する。
図5Aは、現在の機能についての基本情報の入力画面の一例を示す図である。図5Aは、例えば、項目U501,U502、登録ボタンB1、クリアボタンB2などを含む。
項目U501は、システム名及びサブシステム名の入力項目である。項目U501の表示方法は、図4の項目U401と同様である。ユーザは、現在の機能が属するシステム名及びサブシステム名を選択する。
項目U502は、現在の機能の機能ID、機能名、及び設計書バージョンなどの入力項目である。
なお、登録ボタンB31、クリアボタンB32は図4の登録ボタンB1、クリアボタンB2などと同様であるため、説明を省略する。
図5Bは、現在の機能の前後の機能遷移に関する情報の入力画面の一例を示す図である。図5Bは、例えば、項目U503,U504、登録ボタンB33,B35、クリアボタンB34,B36などを含む。図5Bの各入力項目は、図4Bの各入力項目における先行画面、後続画面をそれぞれ先行機能、後続機能に読み替えたものと同様であるため、説明を省略する。
図5Cは、現在の機能の周辺連携に関する情報の入力画面の一例を示す図である。図5Cは、例えば、項目U505〜U507、追加ボタンB37,B39、クリアボタンB38,B40などを含む。なお、図5Cの周辺連携に関する情報は、主としてシステム検証ケースT3の作成に用いられる情報である。
本実施形態において、周辺連携とは、例えば、現在の機能を実行した場合に他の機能が連携して実行されること、及び/又は、他の機能を実行した場合に現在の機能が連携して実行されることを指す。
項目U505は、現在の機能が周辺連携機能であるか否かを入力する項目である。項目U505は、例えばチェックボックスである。
項目U506は、周辺連携対象のシステム名及びサブシステム名の入力項目である。項目U506の表示方法は、図4の項目U401などと同様である。ユーザは、現在の機能と周辺連携するシステム名及びサブシステム名を選択する。
項目U507は、現在の機能を実行した場合に送信又は受信されるプロトコル、当該プロトコルの送信タイミング、連携するファイル名などを入力する項目である。現在の機能が複数の機能と周辺連携する場合は、追加ボタンB37により、項目U506及びU507を複数入力可能である。
登録ボタンB39及びクリアボタンB38,B40の動作についての説明は、上述の登録ボタンB1及びクリアボタンB2などと同様であるため省略する。
図5Dは、現在の機能の入力条件に関する情報の入力画面の一例を示す図である。図5Dは、例えば、項目U508〜U510、ANDボタンB41、ORボタンB42、登録ボタンB43、クリアボタンB44などを含む。
項目U508は、現在の機能の入力条件に関する情報の入力項目である。項目U508及び項目U509は、図4Cの項目U405と同様であるため、説明を省略する。
項目U510は、項目U508,U509で入力した条件をもとに現在の機能から最初に起動される機能名(先頭起動処理機能名)の入力項目である。
図5Eは、現在の機能から起動される処理機能情報の入力画面の一例を示す図である。より具体的には、図5Eは、項目U510で入力された先頭起動処理機能から次に起動される機能を繰り返し関連付けるために用いられる。図5Eは、例えば、項目U511〜U516、ANDボタンB45、ORボタンB46、登録ボタンB47、クリアボタンB48などを含む。
項目U511は、項目U510で入力された先頭起動処理機能から順に起動される機能の機能名の入力項目である。
項目U512は、項目U511で入力された機能の次に起動される機能(次起動処理機能)の起動条件についての入力項目である。項目U512及び項目U513は、図4Cの項目U405などと同様であるため、説明を省略する。
項目U514は、項目U512,U513で入力した条件をもとに起動される次起動処理機能の機能名の入力項目である。次起動処理機能が存在しない場合、すなわち項目U514に入力した次起動処理機能が現在の機能に基づく最終の機能(最終起動処理機能)である場合は、ユーザはその旨を項目U515に入力する。項目U515は、例えばチェックボックスでもよい。例えば、項目U515のチェックボックスは、次起動処理機能が最終起動処理機能であることを示す場合にオンされる。
項目U516は、項目U514に入力された次起動処理機能が最終起動処理機能でない場合、すなわち項目U515がオンでない場合に、同様に次に起動される機能に関する情報を入力するために用いられる。例えば、ユーザが項目U516のプラスマークをクリックすることにより、項目U511〜項目U516と同様の入力項目が表示される。ユーザは、項目U515をオンするまで項目U511〜項目U516の入力を繰り返す。
なお、ユーザが項目U515をオンした場合、設計情報入力部42は、項目U514に入力された次起動処理機能を最終起動処理機能として記憶装置6の設計情報Sに格納してもよい。
図5Fは、現在の機能に基づく最終起動処理機能の出力分岐情報の入力画面の一例を示す図である。より具体的には、図5Fの入力画面は、先頭起動処理機能から最終起動処理機能までの処理が実行されることにより最終的に出力される出力結果を指定するために用いられる。
図5Fは、例えば、項目U517〜U521、ANDボタンB49、ORボタンB50、追加ボタンB51A〜B51D、登録ボタンB52、クリアボタンB53などを含む。
項目U517は、最終起動処理機能名の入力項目である。設計情報入力部42は、例えば設計情報Sより最終起動処理機能名の一覧を読み出してプルダウン形式で項目U517に表示してもよい。
項目U518〜項目U521は、最終起動処理機能が実行された際の出力条件、出力結果に関する情報の入力項目である。項目U518〜項目U521についての説明は、図4Dの項目D410〜項目U414と同様であるため省略する。
また、登録ボタンB52及びクリアボタンB53の動作についての説明は、上述の登録ボタンB1及びクリアボタンB2などと同様であるため省略する。
なお、例えば、図5A〜図5Fに対する入力内容を確認するためのボタンが設けられてもよい。また、例えば、入力内容を破棄してメインメニューに戻るためのボタンが設けられてもよい。
ユーザは、図5A〜図5Fに表示された入力項目U501〜U521を、テスト対象システムが実行可能な機能の種類に応じて繰り返し登録する。これにより、テスト対象システムについての機能設計情報S2が得られる。
[設計情報入力カテゴリC1:データベース設計情報M13]
設計情報入力部42は、例えば、所定のフォーマットで記載された定義ファイルを読み込むことにより、データベース設計情報S3を取得する。
定義ファイルには、例えば、データベース名、データベースが保有する項目名、当該項目がデータベースのプライマリーキーであるか否か、当該項目名に紐づくデータタイプ、当該項目名の長さ、当該項目がNULLを許可するか否か、などが記載されていることが好ましい。
なお、定義ファイルの読み込みには、例えば、ユーザに定義ファイルを選択させるユーザインタフェースが用いられてもよい。
[設計情報入力カテゴリC1:ファイル設計情報M14]
設計情報入力部42は、例えば、所定のフォーマットで記載された定義ファイルを読み込むことにより、ファイル設計情報S4を取得する。
定義ファイルには、例えば、ファイル名、ファイルが保有する項目名、当該項目名に紐づくデータタイプ、当該項目名の長さ、当該項目がNULLを許可するか否か、などが記載されていることが好ましい。
なお、定義ファイルの読み込みには、例えば、ユーザに定義ファイルを選択させるユーザインタフェースが用いられてもよい。
[テストケース作成カテゴリC2:画面検証ケースM21]
図6〜図8を用いて、画面検証ケースT1の作成の際にテストケース作成部43により実行されるテストケース作成処理について説明する。
図6は、本実施形態に係る画面検証ケースT1の作成における入力画面の一例を示す図である。図6は、例えば、項目U610、作成ボタンB61、参照ボタンB62、クリアボタンB63、戻るボタンB64などを含む。
項目U610は、テストケース作成対象の画面名を選択するための入力項目である。テストケース作成部43は、記憶装置6の設計情報Sに格納されたシステム名及びサブシステム名を読み出し、プルダウン形式で項目U610に表示する。また、テストケース作成部43は、例えば、システム名及びサブシステム名が指定された場合に、当該システム名及びサブシステム名に対応する画面名を画面設計情報S1より読み出し、プルダウン形式で項目U610に表示する。ユーザは、テストケース作成対象の画面名を選択する。
作成ボタンB61は、テストケースの作成を開始するためのボタンである。作成ボタンB61が押下された場合、テストケース作成部43は、項目U610で指定された画面名に対応する画面検証ケースT1を作成し、記憶装置6に格納する。
参照ボタンB62は、例えば、作成済のテストケースを参照するためのボタンである。参照ボタンB62が押下された場合、テストケース管理部45は、項目U610で指定された画面名に対応する画面検証ケースT1を表示する。なお参照ボタンB62は、当該画面検証ケースT1が正常に作成された後に押下可能状態となることが好ましい。
クリアボタンB63は、項目U610の入力内容をクリアするためのボタンである。戻るボタンB64は、例えば、メインメニューへ戻るためのボタンである。
図7は、本実施形態に係る画面検証ケースT1の一例を示す図である。
画面検証ケースT1は、図7に示すように、例えば、ケースID I11、テストケースI12、アクションI13、データスペックI14、画面入力項目I15、期待値I16を含む。
ケースID I11は、テストケース番号を示すIDである。テストケースI12は、テストケース実行時の入力条件、表示条件、出力条件などの各種条件を含む。アクションI13は、画面に対して実行されるアクションを示す。
データスペック(テストデータ仕様)I14は、例えば、テストケースI12に設定された条件を満たすようにテスト対象システムに入力されるデータの仕様である。より具体的には、データスペックI14は、テスト実行に必要な入力データをデータベースに登録するためのコマンド、指令などを含む。また、データスペックI14は、テスト実行に必要な入力ファイルを生成するためのコマンド、指令などを含む。
画面入力項目I15は、例えば、項目U412と対応する、画面バリエーションに関連する入力項目である。期待値I16は、テスト出力結果の期待値である。より具体的には、期待値I16は、例えば図4Dの出力結果の項目U413A〜U413Dに対応する4つの項目(画面欄、帳票欄、データベース欄、ファイル欄)を含む。次に、画面検証ケースT1の各項目の作成処理について述べる。
図8は、本実施形態に係る画面検証ケースT1の作成処理の一例を示すフローチャートである。
ステップS301において、テストケース作成部43は、例えば、図4Cの項目U405で設定した初期表示条件をテストケースI12に設定し、項目U407で設定した初期表示条件に紐づく値を期待値I16の画面欄に設定する。
ステップS302において、テストケース作成部43は、ステップS301で設定した初期表示条件を満たすためのデータスペックI14を生成する。
例えば、出力がデータベースの場合、テストケース作成部43は、項目U405のデータベース名、項目名、及び値を参照し、表示条件を満たす入力データの作成コマンドをランダムに生成する。次に、テストケース作成部43は、表示条件に記載されていない項目についての入力データの作成コマンドをランダムに生成する。テストケース作成部43は、生成された入力データの作成コマンドをデータスペックI14の入力DB欄に設定する。
同様に、出力がファイルの場合、テストケース作成部43は、項目U405のファイル名、項目名、値を参照し、表示条件を満たす入力ファイルの作成コマンドをランダムに生成する。次に、テストケース作成部43は、表示条件に記載されていない項目についての入力ファイルの作成コマンドをランダムに生成する。テストケース作成部43は、生成された入力ファイルの作成コマンドをデータスペックI14のファイルDB欄に設定する。
ステップS301,S302の処理により、初期表示条件を網羅した画面検証ケースT1が作成される。
ステップS303において、テストケース作成部43は、例えば、図4Dの項目U409〜U411で設定したアクション毎の出力条件をテストケースI12に設定する。また、テストケース作成部43は、項目U412で設定した画面入力バリエーションを画面入力項目I15に設定する。さらに、テストケース作成部43は、入力されたテストケースI12、アクションI13、画面入力項目I15ごとに、項目U413A〜U413Dで設定した出力条件に紐づく出力結果を期待値I16の画面欄、帳票欄、データベース欄、ファイル欄にそれぞれ設定する。
ステップS304において、テストケース作成部43は、ステップS303で設定した出力条件を満たすためのデータスペックI14を生成する。テストケース作成部43は、ステップS302の処理と同様に、項目U410のデータベース名又はファイル名、項目名、及び値を参照し、出力条件を満たす入力データ又は入力ファイルの作成コマンド及び出力条件に記載されていない項目についての入力データ又は入力ファイルの作成コマンドをランダムに生成し、生成された入力データ又は入力ファイルの作成コマンドをデータスペックI14の入力DB欄及び入力ファイル欄に設定する。
ステップS303,S304の処理により、アクション別の出力条件を網羅した画面検証ケースT1が作成される。
ステップS305において、テストケース作成部43は、図4Fの項目U415で設定したソート条件、ソート項目、及びソートキーをテストケースI12に設定し、ソート順を期待値I16へ設定する。
ステップS306において、テストケース作成部43は、図4Fの項目U416で設定した表示領域及び最大表示件数を、テストケースI12へ設定する。また、テストケース作成部43は、表示件数を最大表示件数+1及び最大表示件数−1としたテストケースI12を作成する。
なお、ケースID I11は、設定されたテスト条件(テストケースI12、アクションI13、画面入力項目I15など)に含まれる1つの条件ごとに1つ追加される。すなわち、各項目に記載される条件の組み合わせの数のケースID I11が作成される。それぞれのケースID I11に対してデータスペックI14及び期待値I16が設定される。これは、後述する機能検証ケースT2、システム検証ケースT3についても同様である。
[テストケース作成カテゴリC2:機能検証ケースM22]
図9〜図11を用いて、機能検証ケースT2の作成の際にテストケース作成部43により実行されるテストケース作成処理について説明する。
図9は、本実施形態に係る機能検証ケースT2の作成における入力画面の一例を示す図である。図9は、例えば、項目U620、作成ボタンB71、参照ボタンB72、クリアボタンB73、戻るボタンB74などを含む。
項目U620は、テストケース作成対象の機能名を選択するための入力項目である。項目U620のシステム名及びサブシステム名の表示は、図6の項目U610と同様であるため、説明を省略する。テストケース作成部43は、例えば、システム名及びサブシステム名が指定された場合に、当該システム名及びサブシステム名に対応する機能名を機能設計情報S2より読み出し、プルダウン形式で項目U620に表示する。ユーザは、テストケース作成対象の機能名を選択する。
作成ボタンB71、参照ボタンB72、クリアボタンB73、戻るボタンB74の説明は、図6の作成ボタンB61、参照ボタンB62、クリアボタンB63、戻るボタンB64と同様であるため、省略する。
図10は、本実施形態に係る機能検証ケースT2の一例を示す図である。
機能検証ケースT2は、図10に示すように、例えば、ケースID I21、テストケースI22、実行処理機能I23、データスペックI24、期待値I25を含む。
ケースID I21、テストケースI22、データスペックI24、期待値I25の説明は、図9のケースID I11、テストケースI12、データスペックI14、期待値I16と同様であるため省略する。実行処理機能I23は、テストケースI22ごとに特定された処理機能名を含む。次に、機能検証ケースT2の各項目の作成処理について述べる。
図11は、本実施形態に係る機能検証ケースT2の作成処理の一例を示すフローチャートである。
ステップS501において、テストケース作成部43は、例えば、図5Dの項目U508で設定した入力条件をテストケースI12に設定する。
ステップS502において、テストケース作成部43は、ステップS501で設定した入力条件を満たすためのデータスペックI24を生成する。テストケース作成部43は、ステップS302の処理と同様に、項目U508のデータベース名又はファイル名、項目名、及び値を参照し、入力条件を満たすデータセット及び入力条件に記載されていない項目についてのデータセットをランダムに生成し、生成されたデータセットをデータスペックI24の入力DB欄及び入力ファイル欄に設定する。
ステップS501,S502の処理により、入力表示条件を網羅した機能検証ケースT2が作成される。
ステップS503において、テストケース作成部43は、例えば項目U510に基づき、ステップS502までに設定した入力条件毎に起動処理機能名を特定する。
ステップS504において、テストケース作成部43は、例えば項目U511〜項目U514に基づき、起動処理機能名に紐づく次処理機能起動条件を参照し、次起動処理機能を特定する。
ステップS505において、テストケース作成部43は、S504で特定した処理機能名を実行処理機能I23へ順次追加し、次起動処理機能の起動条件をテストケースI22へ順次追加する。
ステップS506において、テストケース作成部43は、ステップS504で特定した処理機能の最終フラグ(項目U515)がオンであるか否かを確認する。最終フラグがオンでない場合は、次に起動される処理機能が存在するため、処理はステップS504へ戻る。最終フラグがオンの場合は、処理はステップS507へ進む。
ステップS503〜S506の処理により、先頭起動処理機能から最終起動処理機能までの一連の処理機能を網羅した機能検証ケースT2が作成される。
ステップS507において、テストケース作成部43は、例えば項目U517〜項目U519に基づき、最終起動処理機能名に紐づく出力条件をテストケースへ設定する。
ステップS508において、テストケース作成部43は、ステップS507で設定した出力条件を満たすためのデータスペックI24を生成する。テストケース作成部43は、ステップS302の処理と同様に、項目U518のデータベース名又はファイル名、項目名、及び値を参照し、出力条件を満たすデータセット及び出力条件に記載されていない項目についてのデータセットをランダムに生成し、生成されたデータセットをデータスペックI24の入力DB欄及び入力ファイル欄に設定する。
ステップS509において、テストケース作成部43は、ステップS508で設定した出力条件に紐づく出力結果を期待値I25の画面欄、帳票欄、データベース欄、ファイル欄にそれぞれ設定する。
ステップS507〜S509の処理により、出力条件を網羅した機能検証ケースT2が作成される。
ステップS510において、テストケース作成部43は、他の入力条件があるか否かを確認し、他の入力条件がある場合は、ステップS503に戻り同様の処理を繰り返す。
[テストケース作成カテゴリC2:システム間インタフェース検証ケースM23]
図12〜図14を用いて、システム検証ケースT3の作成の際にテストケース作成部43により実行されるテストケース作成処理について説明する。
図12は、本実施形態に係るシステム検証ケースT3の作成における入力画面の一例を示す図である。図12は、例えば、項目U630、作成ボタンB81、参照ボタンB82、クリアボタンB83、戻るボタンB84などを含む。
項目U630は、テストケース作成対象の接続先サブシステム名を選択するための入力項目である。項目U630のシステム名及びサブシステム名の表示は、図6の項目U610などと同様であるため、説明を省略する。テストケース作成部43は、例えば、システム名及びサブシステム名が指定された場合に、当該システム名及びサブシステム名に対応する接続先サブシステム名を機能設計情報S2より読み出し、プルダウン形式で項目U630に表示する。ユーザは、テストケース作成対象の接続先サブシステム名を選択する。
作成ボタンB81、参照ボタンB82、クリアボタンB83、戻るボタンB84の説明は、図6の作成ボタンB61、参照ボタンB62、クリアボタンB63、戻るボタンB64などと同様であるため、省略する。
図13は、本実施形態に係るシステム検証ケースT3の一例を示す図である。
システム検証ケースT3は、図10に示すように、例えば、ケースID I31、テストケースI32、外部システム名I33、送受信ファイル名I34、送受信機能名I35、送受信フラグI36、データスペックI37、期待値I38を含む。
ケースID I31、テストケースI32、データスペックI37、期待値I38の説明は、図9のケースID I11、テストケースI12、データスペックI14、期待値I16と同様であるため省略する。外部システム名I33は、テスト対象システムと連携する外部システムを含む。送受信ファイル名I34は、外部システム名I33と送受信するファイル名を含む。送受信機能名I35は、送受信を実行するテスト対象システムの機能名を含む。送受信フラグI36は、外部システムへの送信であるか外部システムからの受信であるかを示すフラグである。以下では、送信先の外部システムを送信先システムとし、受信元の外部システムを受信元システムとする。次に、システム検証ケースT3の各項目の作成処理について述べる。
図14は、本実施形態に係るシステム検証ケースT3の作成処理の一例を示すフローチャートである。
以下では、外部システムからの入力条件を網羅したシステム検証ケースT3の作成手順を説明する。なお、テストケース作成部43は、ステップS701〜S705の処理における「受信」を「送信」に読み替えて同様の処理を行うことにより、外部システムへの出力条件を網羅したシステム検証ケースT3が作成される。
ステップS701において、テストケース作成部43は、例えば図5Cの項目U505〜U507に基づき、受信元システム名に紐づく受信ファイル名及び受信機能を特定する。テストケース作成部43は、受信元システム名を外部システム名I33に設定し、受信ファイル名を送受信ファイル名I34に設定し、受信機能名を送受信機能名I35に設定し、受信機能の入力条件をテストケースI32へ設定し、送受信フラグI36を受信を示す値に設定する。
ステップS702において、テストケース作成部43は、ステップS701で設定した入力条件を満たすためのデータスペックI37を生成する。テストケース作成部43は、ステップS302の処理と同様に、例えば項目U508のデータベース名又はファイル名、項目名、及び値を参照し、入力条件を満たすデータセット及び入力条件に記載されていない項目についてのデータセットをランダムに生成し、生成されたデータセットをデータスペックI37の入力DB欄及び入力ファイル欄に設定する。
ステップS703において、テストケース作成部43は、例えば項目U518などに基づき、受信機能における出力条件をテストケースI32へ設定する。
ステップS704において、テストケース作成部43は、ステップS703で設定した出力条件を満たすためのデータスペックI37を生成する。テストケース作成部43は、ステップS302の処理と同様に、例えば項目U518のデータベース名又はファイル名、項目名、及び値を参照し、出力条件を満たすデータセット及び出力条件に記載されていない項目についてのデータセットをランダムに生成し、生成されたデータセットをデータスペックI37の入力DB欄及び入力ファイル欄に設定する。
ステップS705において、テストケース作成部43は、ステップS703で設定した出力条件に紐づく出力結果を期待値I38の画面欄、帳票欄、データベース欄、ファイル欄にそれぞれ設定する。
[設計情報管理カテゴリC3]
設計情報管理カテゴリC3には、例えば、設計情報Sの参照及び更新を行うユーザインタフェース、テスト対象システムに含まれる各種リソース(システム間インタフェース、画面、機能、データベース、ファイルなど)の参照及び更新を行うユーザインタフェース、画面及び機能の遷移図を参照するユーザインタフェースなどが含まれる。
設計情報管理部44は、特定の画面名に対する画面設計情報S1の参照及び更新要求を受け付けた場合に、例えば、画面設計情報S1に含まれる基本情報、画面遷移情報、画面初期表示情報、アクション情報、画面入力バリエーション、ソート順、最大表示件数などのうち、当該画面名に対応する画面IDに関連する項目を選択してリスト表示する。設計情報管理部44は、ユーザの要求により、各項目の追加、更新、削除を実行可能である。
設計情報管理部44は、特定の画面名に対する機能設計情報S2の参照及び更新要求を受け付けた場合に、例えば、機能設計情報S2に含まれる基本情報、機能遷移情報、周辺連携情報、入力条件情報、処理機能情報、出力分岐情報などのうち、当該機能名に対応する機能IDに関連する項目を選択してリスト表示する。設計情報管理部44は、ユーザの要求により、各項目の追加、更新、削除を実行可能である。
設計情報管理部44は、特定のデータベース名に対するデータベース設計情報S3の参照及び更新要求を受け付けた場合に、例えば、データベース設計情報S3に含まれるデータベース定義情報のうち当該データベース名に関連する項目を選択してリスト表示する。設計情報管理部44は、ユーザの要求により、各項目の追加、更新、削除を実行可能である。
設計情報管理部44は、特定のファイル名に対するファイル設計情報S4の参照及び更新要求を受け付けた場合に、例えば、ファイル設計情報S4に含まれるファイル定義情報のうち当該ファイル名に関連する項目を選択してリスト表示する。設計情報管理部44は、ユーザの要求により、各項目の追加、更新、削除を実行可能である。
設計情報管理部44は、特定のサブシステム名の有するシステム間インタフェース(周辺連携機能)一覧の参照要求を受け付けた場合に、当該サブシステムで実行される機能のうち、周辺連携機能を検索して抽出し、抽出した周辺連携機能に関連する所定の項目を表示する。所定の項目は、例えば、連携対象システム名、連携対象サブシステム名、連携ファイル名、送受信フラグ、プロトコル、タイミングなどである。
設計情報管理部44は、特定のサブシステム名の有する画面一覧の参照要求を受け付けた場合に、当該サブシステムの有する画面を検索し、所定の項目を表示する。所定の項目は、例えば、画面ID、画面名、当該画面への入力として使用されるデータベース及びファイルに関する情報、当該画面が出力するデータベース、ファイル、及び帳票に関する情報などである。
設計情報管理部44は、特定のサブシステム名の有する機能一覧の参照要求を受け付けた場合に、当該サブシステムの有する機能を検索し、所定の項目を表示する。所定の項目は、例えば、機能ID、機能名、当該機能が周辺連携機能であるか否か、当該機能への入力として使用されるデータベース及びファイルに関する情報、当該機能が出力するデータベース、ファイル、及び帳票に関する情報などである。
設計情報管理部44は、特定のサブシステム名が使用するデータベース一覧の参照要求を受け付けた場合に、当該サブシステムの使用するデータベースを検索し、所定の項目を表示する。所定の項目は、例えば、データベース名、当該データベースにアクセスする画面名、当該データベースにアクセスする機能名などである。
設計情報管理部44は、特定のサブシステム名が使用するファイル一覧の参照要求を受け付けた場合に、当該サブシステムの使用するファイルを検索し、所定の項目を表示する。所定の項目は、例えば、ファイル名、当該ファイルにアクセスする画面名、当該ファイルにアクセスする機能名などである。
設計情報管理部44は、画面遷移図の参照要求を受け付けた場合に、例えば、テスト対象システムの有する初期画面からの画面名、遷移条件を示す情報を、図又は表形式で出力してもよい。
設計情報管理部44は、特定のサブシステム名における機能遷移図の参照要求を受け付けた場合に、当該サブシステムにおける先頭(入力)の機能から最後(出力)の機能までの機能名、遷移条件を示す情報を、図又は表形式で出力してもよい。
また、設計情報管理部44は、テスト対象システムのシステムが改正された場合、すなわち設計情報Sが変更された場合に、システム改正の影響範囲を分析してもよい。より具体的には、設計情報管理部44は、影響範囲に必要な所定の情報に基づいて検索条件を作成し、当該検索条件を用いて設計情報S全体を検索し、得られた検索結果を影響範囲として表示してもよい。
画面設計情報S1が変更された場合の上述の所定の情報は、例えば、は、各画面の入出力となるデータベース及びファイルの名称と項目の定義、各画面の先行画面と後続画面、各画面における入力項目と項目定義などである。これに基づいて作成される検索条件は、各画面と関連するサーバー側のデータベース名及びファイル名、各画面での入力項目に対応する最終出力結果、各画面での入力項目と紐付くデータベース・ファイル項目名、システム内画面遷移などである。
機能設計情報S2が変更された場合の上述の所定の情報は、各機能の入出力となっているデータベース及びファイルの名称と項目定義、各機能の先行機能と後続機能、各機能内で実行される処理機能と実行順、処理機能とプログラム名称の紐付け、ソート情報、最大出力件数、画面入出力情報に紐づくデータベース定義及びファイル定義などである。これに基づいて作成される検索条件は、システム内機能遷移、各機能における入出力データベース名及びファイル名、各機能における処理機能及び実行順、周辺連携機能(受信/送信)かどうか、プログラムが使用する機能名などである。
機能設計情報S2のうち外部接続機能が変更された場合の上述の所定の情報は、外部システム名及び外部システム毎の入出力ファイルの名称と項目定義、外部システムからの受信機能名と送信機能名などである。これに基づいて作成される検索条件は、接続される外部システム名、外部システムと紐付く送受信ファイル名、項目定義、受信機能名、送信機能名、送受信プロトコル、送受信タイミングなどである。
[テストケース管理カテゴリC4]
テストケース管理カテゴリC4には、例えば、テストケースTの参照及び更新を行うユーザインタフェースが含まれる。
テストケース管理部45は、特定の画面名に対する画面検証ケースT1の参照及び更新要求を受け付けた場合に、例えば画面検証ケースT1を読み出し、画面検証ケースT1のうち当該画面名に対応する画面IDに関連するケースIDを検索及び抽出し、当該ケースIDに対応するテストケースをリスト表示する。
テストケース管理部45は、特定の機能名に対する機能検証ケースT2の参照及び更新要求を受け付けた場合に、例えば機能検証ケースT2を読み出し、機能検証ケースT2のうち当該機能名に対応する機能IDに関連するケースIDを検索及び抽出し、当該ケースIDに対応するテストケースをリスト表示する。
テストケース管理部45は、特定の接続先サブシステム名に対する画面検証ケースT1の参照及び更新要求を受け付けた場合に、例えばシステム検証ケースT3を読み出し、システム検証ケースT3のうち当該接続先サブシステム名を外部システム名に含むケースIDを検索及び抽出し、当該ケースIDに対応するテストケースをリスト表示する。
[テスト管理カテゴリC5:進捗管理カテゴリC51]
進捗管理カテゴリC51には、例えば、テスト実行計画の作成及び更新、テスト実行結果の入力、進捗レポートの作成などを行うためのユーザインタフェースが含まれる。
図15は、本実施形態に係る実行計画データJの作成における入力画面の一例を示す図である。図15は、例えば、項目U701,次へボタンB101、戻るボタンB102などを含む。
項目U701は、システム名及びサブシステム名と、これらに対応するテスト種類の入力項目である。テスト種類は、例えば、「画面検証」、「機能検証」、「システム間インタフェース検証」のプルダウン表示である。
次へボタンB101が押下されると、進捗管理部462は、例えば、選択されたテスト種類に対応するテストケースの内容を表示し、実行計画データJの作成の際に必要な所定の項目をユーザに入力させる。所定の項目は、例えば、実行開始予定日、実行完了予定日、実行担当者、検証開始予定日、検証完了日などである。ここで、検証とは、実行結果時に発生した障害の分析及び改修などを含む。また、実行計画データJには、実行開始及び終了実績日、検証開始及び終了実績日、テストを実行した証拠の保存先、実行ステータス(例えば、未着手、実施中、障害対応中、完了など)、発生した障害の番号などが含まれていてもよい。
戻るボタンB102は、メインメニューへ遷移するためのボタンである。
また、進捗管理部462は、作成された実行計画データJのうち特定の実行計画に対する参照又は更新要求を受け付けた場合に、実行計画データJより当該特定の実行計画を検索して表示し、当該特定の実行計画を参照又は更新可能としてもよい。進捗管理部462は、例えば、テストが実行開始される際に進捗データR2を作成し、実行計画データJが更新される毎に、進捗データR2を更新してもよい。
図16は、本実施形態に係る実行結果データR1の入力又は検索における入力画面の一例を示す図である。図16は、例えば、項目U711、検索ボタンB111、戻るボタンB112などを含む。戻るボタンB112は、戻るボタンB102と同様である。
項目U711は、例えば、システム名及びサブシステム名と、これらに対応するテスト種類、担当者名、実行開始予定日、検証開始予定日、実行ステータスを含む。進捗管理部462は、検索ボタンB111が押下された場合に、項目U711で指定された条件に該当するテスト実行結果を実行結果データR1より検索して表示する。
また、進捗管理部462は、特定の実行計画に対する進捗レポート作成要求を受け付けた場合に、進捗データR2を読み出し、進捗データR2に基づいて進捗レポートを作成及び表示してもよい。進捗レポートには、例えば、テストケースの消化予定と消化実績を表した表、又は、経過日数と進捗率との関係を表したグラフなどが含まれる。
[テスト管理カテゴリC5:障害管理カテゴリC52]
障害管理カテゴリC52には、例えば、新規障害票の作成、障害票の更新、障害一覧表示などを行うためのユーザインタフェースが含まれる。
障害管理部463は、新規障害票の作成要求を受け付けた場合に、例えば、ユーザに所定の項目を入力させて障害票を作成する。所定の項目は、例えば、対象システム、対象サブシステム、起票日、起票者、分析担当者、チーム名、テスト種類、テストケースID、障害のステータス、障害の種類、障害検出日時、障害事象、重要度、影響度、リリース予定日、再テスト予定日などを含む。重要度及び影響度は、例えばあらかじめ定められたランクなどである。所定の項目には、上述以外の項目が含まれてもよい。
なお、障害管理部463は、新規作成した障害票を障害データR3に格納する。新規作成された障害票には、所定の障害管理番号が割り振られる。
図17は、本実施形態に係る障害票検索における入力画面の一例を示す図である。図17は、例えば、項目U721、検索ボタンB121、戻るボタンB122などを含む。戻るボタンB122は、戻るボタンB102などと同様である。
項目U721は、上述の新規障害票を作成する際に入力した項目のうち、障害票の検索を行う際の検索キーとなる所定の項目を含む。所定の項目は、例えば、障害管理番号、テストケースID、障害のステータス、重要度、影響度、障害の種類、起票日、起票者、分析担当者、リリース予定日、再テスト予定日などである。なお、項目U721に含まれる項目は、ユーザにより任意に設定可能としてもよい。
検索ボタンB121が押下されると、進捗管理部462は、例えば、項目U721に入力された条件に基づき、障害票の検索を実行し、条件に一致する障害票を表示する。
また、障害管理部463は、検索された障害票の更新要求を受け付けた場合に、障害票の編集画面を表示してユーザに編集させ、編集内容に基づいて障害票の更新を実行してもよい。
障害管理部463は、障害票の一覧表示要求を受け付けた場合に、所定のフォーマットで障害票を表示するユーザインタフェースを表示してもよい。所定のフォーマットには、例えば、障害票が属するシステム名、サブシステム名、テスト種類などで障害票を選択可能とし、障害管理番号の昇順(又は降順)で障害票の内容を表示することなどが含まれる。
[テスト管理カテゴリC5:品質管理カテゴリC53]
品質管理カテゴリC53には、例えば、品質レポートの作成及び表示などを行うためのユーザインタフェースが含まれる。
品質管理部464は、障害データR3に基づいて、所定のタイミングで品質データR4を作成する。所定のタイミングは、例えば障害データR3の更新タイミングでもよく、一定期間経過ごとでもよい。
品質管理部464は、例えば特定のテスト種類に関する品質レポートの作成要求を受け付けた場合に、品質データR4を読み出し、品質データR4に基づいて、所定の項目を含む品質レポートを作成し、表示してもよい。所定の項目は、例えば、当該テスト種類における障害発生件数、障害のステータス別及び/又は重要度別の障害件数、分析完了している件数、及び障害の原因ごとの内訳、障害票の起票から分析完了まで、再テスト完了まで、テスト対象システムのリリース完了までのそれぞれの平均時間などを含む。
以上説明した本実施系形態においては、テストケース自動作成装置1は、テスト対象システムの設計情報を、所定のフォーマットに従い少なくとも画面設計情報S1、機能設計情報S2の2つのカテゴリに分けて格納する。テストケース自動作成装置1は、当該設計情報に基づいて、例えば、画面遷移に関するテストケースである画面検証ケースT1、機能遷移に関するテストケースである機能検証ケースT2、外部システムとの接続機能に関するテストケースであるシステム検証ケースT3の3種類のテストケースTを作成する。これにより、網羅的にテストケースTを作成可能となるため、テスト効率が向上し、さらにテストにより担保されるテスト対象システムの品質が向上する。
本実施形態において、テストケース自動作成装置1は、画面設計情報S1及び機能設計情報S2に含まれる入力条件、出力条件などに基づいて、テストケースTに含まれるテスト項目ごとに、テストの実行に必要なデータスペック(テストデータ仕様)を作成する。これにより、テスト実行時に必要なデータベース上の項目及び/又はファイルが自動的に作成されるため、テスト効率が向上する。
また、本実施形態において、テストケース自動作成装置1は、設計情報Sが変更された場合に、あらかじめ定められた影響範囲の分析に必要な所定の情報に基づいて検索条件を作成し、当該検索条件を用いて設計情報S全体を検索し、得られた検索結果を影響範囲として表示してもよい。このように影響範囲に関する情報が自動生成されることにより、ユーザの利便性が向上する。
以上、本実施形態を用いて本発明の説明を行ったが、この発明は上記実施形態に限定されるものではなく、この実施形態のみに限定されることを意図していない。したがって、本発明を実施するにあたってその趣旨を逸脱しない範囲で、各構成を同等の機能を有するものに置き換えて実施することも可能であり、それらもまた本発明に含まれる。また、本実施形態で説明した構成のいくつかを互いに組み合わせて、あるいは置き換えて実施することも本発明に含まれる。