JP2015022356A - テストシナリオバリエーション生成装置及び方法及びプログラム - Google Patents

テストシナリオバリエーション生成装置及び方法及びプログラム Download PDF

Info

Publication number
JP2015022356A
JP2015022356A JP2013147851A JP2013147851A JP2015022356A JP 2015022356 A JP2015022356 A JP 2015022356A JP 2013147851 A JP2013147851 A JP 2013147851A JP 2013147851 A JP2013147851 A JP 2013147851A JP 2015022356 A JP2015022356 A JP 2015022356A
Authority
JP
Japan
Prior art keywords
scenario
test
basic
test scenario
steps
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
Application number
JP2013147851A
Other languages
English (en)
Inventor
治門 丹野
Haruto Tanno
治門 丹野
守英 生沼
Morihide Oinuma
守英 生沼
ロジーン ラカニエンタ
Lacanienta Rogene
ロジーン ラカニエンタ
眞吾 高田
Shingo Takada
眞吾 高田
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.)
Nippon Telegraph and Telephone Corp
Keio University
Original Assignee
Nippon Telegraph and Telephone Corp
Keio University
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 Nippon Telegraph and Telephone Corp, Keio University filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013147851A priority Critical patent/JP2015022356A/ja
Publication of JP2015022356A publication Critical patent/JP2015022356A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 あるテストシナリオからいくつかのバリエーションである複数のテストシナリオを生成する。【解決手段】 本発明は、テスト対象のソフトウェアとは別のソフトウェアにおけるテスト設計で作成されたテストシナリオを構成するステップが格納されたステップDBを有し、与えられた基本シナリオを構成するステップと同一のプロセスタイプ、ステップタイプ、ステップ名を有するステップをステップDBから検索し、該基本シナリオのステップを、該ステップDBから検索されたステップで置換して新たなテストシナリオを生成し、関連シナリオとして出力し、基本シナリオの各ステップをステップDBに追加登録する。【選択図】 図1

Description

本発明は、テストシナリオバリエーション生成装置及び方法及びプログラムに係り、特に、Webアプリケーションのテスト設計において、テストシナリオのバリエーションを生成するためのテストシナリオバリエーション生成装置及び方法及びプログラムに関する。
従来のテストシナリオ生成の方法として、ファイルパスに基づいて設計ドキュメントを取得して、単一の中間言語(JavaObject)に変換し、さらに、XMI形式UMLに変換し設計モデルを生成する。そして、当該設計モデルからテスト項目(入力エラーの有無、テスト経路、DB変更の有無、結果出力方法等)を取得し、テストシナリオを生成する方法がある。
特許第4966386号公報
しかしながら、従来の技術では、テスト対象のソフトウェアの設計書の情報のみに基づき、テストシナリオを生成しており、テスト対象のソフトウェアとは別のソフトウェアにおけるテストシナリオのバリエーションに基づきテストシナリオを生成することができないという問題がある。
本発明は上記の点に鑑みなされたもので、あるテストシナリオからいくつかのバリエーションである複数のテストシナリオを生成することが可能なテストシナリオバリエーション生成装置及び方法及びプログラムを提供することを目的とする。
一態様によれば、アプリケーションのテスト設計において、テストシナリオのバリエーションを生成するテストシナリオバリエーション生成装置であって、
テスト対象のソフトウェアとは別のソフトウェアにおけるテスト設計で作成されたテストシナリオを構成するステップが格納されたステップDBと、
与えられた基本シナリオを構成するステップと同一のプロセスタイプ、ステップタイプ、ステップ名を有するステップを前記ステップDBから検索し、該基本シナリオのステップを、該ステップDBから検索されたステップで置換して新たなテストシナリオを生成し、関連シナリオとして出力する関連シナリオ生成手段と、
前記基本シナリオの各ステップを前記ステップDBに追加登録する基本シナリオステップ記録手段と、を有することを特徴とするテストシナリオバリエーション生成装置が提供される。
上記の一態様によれば、テスト対象のソフトウェアとは別のソフトウェア(別チームが開発したソフトウェアも含む)のテストシナリオのバリエーションに基づき、テスト対象のソフトウェアのテストシナリオのバリエーションを作成することが可能となる。
本発明の一実施の形態におけるテストシナリオバリエーション生成装置の構成図である。 本発明の一実施の形態におけるステップDBの例である。 本発明の一実施の形態におけるメモリの領域の例である。 本発明の一実施の形態における概要動作のフローチャートである。 本発明の一実施の形態における関連シナリオ生成部の処理のフローチャートである。 本発明の一実施の形態における基本シナリオの基本ステップと置換対象ステップの例である。 本発明の一実施の形態における関連シナリオのバリエーション生成の例である。 本発明の一実施の形態における基本シナリオステップ記録部の処理のフローチャートである。
以下、図面と共に本発明の実施の形態を説明する。
図1は、本発明の一実施の形態におけるテストシナリオバリエーション生成装置の構成を示す。
同図に示すテストシナリオバリエーション生成装置100は、基本シナリオ生成部110、関連シナリオ生成部120、ステップDB130、基本シナリオステップ記録部140、関連シナリオ出力部150、メモリ160を有する。基本シナリオ生成部110と関連シナリオ出力部150はユーザ端末10に接続されている。
ステップDB130は、テスト対象のソフトウェアとは別のソフトウェアにおけるテスト設計で作成されたテストシナリオを構成していたステップが格納されており、図2に示すように、生成された各ステップに一意に付与されるステップId、プロセスタイプ(registration/login)、ステップタイプ(input/webtransition)、ステップ名、ステップ値を格納する。
メモリ160は、図3に示すように、基本シナリオ集合格納領域161、置換ステップ候補集合格納領域162、関連シナリオ集合グループ格納領域163、を有する。
基本シナリオ集合格納領域161には、基本シナリオ入力部110により、
<基本シナリオ集合>::=<基本シナリオ>
<基本シナリオ>::=基本シナリオId: Integer<シナリオ>
<シナリオ>::=<ステップ>+プロセスタイプ:String
<ステップ>::=ステップId: Integer
プロセスタイプ:String
ステップタイプ:String
ステップ名:String
ステップ値:String
置換ステップフラグ:Boolean
が格納される。
置換ステップ候補集合格納領域162には、関連シナリオ生成部120により、
<置換ステップ候補集合>::=<置換ステップ候補>+
<置換ステップ候補>::=置換対象ステップId: Integer 置換後ステップId: Integer
が格納される。
関連シナリオ集合グループ格納領域163には、関連シナリオ生成部120により、
<関連シナリオ集合グループ>::=<関連シナリオ集合>*
<関連シナリオ集合>::=生成元基本シナリオId: Integer<関連シナリオ>*
<関連シナリオ>::=関連シナリオId: Integer<シナリオ>
が格納される。
以下に、上記の構成における処理を説明する。
テストシナリオは複数のステップで構成されている。本発明では、与えられたテストシナリオ(基本シナリオ)から、ステップDB130に格納されたステップを用いて、そのテストシナリオのバリエーションである複数のテストシナリオ(関連シナリオ)を生成し、これをテストシナリオバリエーションとして出力する。
図4は、本発明の一実施の形態における概要動作のフローチャートである。
ステップ100) 基本シナリオ入力部110は、ユーザ端末10から入力された基本シナリオ集合(UML: Unified Modeling Language)を取得し、メモリ160の基本シナリオ集合格納領域161に格納する。ここで、入力される基本シナリオは、BNF(Backus Naur Form)で記述されており、以下の構成を有する。なお、以下の"<xxx>"は非終端記号であり、"xxx:yyy"は終端記号であり、xxxはyyy型であることを示す。
<基本シナリオ集合>::=<基本シナリオ>
<基本シナリオ>::=基本シナリオId:Integer<シナリオ>
<シナリオ>::=<ステップ>+プロセスタイプ:String
<ステップ>::=ステップId:Integer
プロセスタイプ:String
ステップタイプ:String
ステップ名:String
ステップ値:String
置換ステップフラグ:Boolean
ステップ200) 関連シナリオ生成部120は、メモリ160上の関連シナリオ集合グループ格納領域163に空の関連シナリオ集合グループを生成する。
ステップ300) 当該ステップ300及び次のステップ400の処理を、入力された基本シナリオ集合の各基本シナリオに対して繰り返す。
関連シナリオ生成部120は、メモリ160の基本シナリオ集合格納領域161から基本シナリオを読み出し、ステップDB130を参照して、基本シナリオから関連シナリオ集合を生成する。当該ステップの詳細な処理は図5に示す。
ステップ400) 関連シナリオ生成部120は、メモリ160の関連シナリオ集合グループ格納領域163に生成した関連シナリオ集合を追加する。
ステップ500) 基本シナリオステップ記録部140は、メモリ160の基本シナリオ集合格納領域161から基本シナリオを読み出し、各基本シナリオのステップをステップDB130に記録する。当該処理の詳細は図8で詳述する。
ステップ600) 関連シナリオ出力部150は、関連シナリオ集合グループをメモリ160の関連シナリオ集合グループ格納領域163から読み込んでユーザ端末10に出力する。当該処理が終了したらメモリ160の内容をクリアする。
次に、上記のステップ300の処理について詳しく説明する。
図5は、本発明の一実施の形態における関連シナリオ集合生成のフローチャートである。
ステップ301) 関連シナリオ生成部120は、メモリ160の基本シナリオ集合格納領域161から基本シナリオを読み込む。
ステップ302) 関連シナリオ生成部120は、メモリ160の置換ステップ候補集合格納領域162に空の置換ステップ候補集合を作成する。ここで、生成元基本Idは、入力された基本シナリオnの基本シナリオIdを設定する。
ステップ303) ステップDB130から置換する候補となるステップを取り出す。具体的には、基本シナリオのステップのプロセスタイプ、ステップタイプ、ステップ名が一致するステップをステップDB130から抽出する。図6の例では、基本シナリオにある「Input:Username」というステップは、プロセスタイプが"Registration"、プロセスタイプが"Input"、ステップ名が"username"であるので、ステップDB130におけるステップ群(ステップId001〜006)が一致するため、これを抽出する。
ステップ304) 関連シナリオ生成部120は、置換ステップ候補を新たに生成し、当該置換ステップ候補の置換対象ステップIdには、対象となる基本シナリオのステップのIdを設定し、置換後のステップIdにはステップ303でステップDB130から抽出されたステップ(置換対象ステップ)のIdを設定し、当該置換ステップ候補を置換ステップ候補集合格納領域162の集合に追加する。図6の例では、基本シナリオId=001のステップに関しては、ステップDB130におけるId=001〜006のステップが置換対象となるので、置換ステップ候補は「001,001」、「001,002」、「001,003」、「001,004」、「001,005」、「001,006」の6つになる。これらを置換ステップ候補集合格納領域162に格納する。
当該処理を基本シナリオ入力部110から取得した各ステップに対して繰り返す。
ステップ305) 関連シナリオ生成部120は、メモリ160の関連シナリオ集合グループ格納領域163上に空の関連シナリオ集合を作成する。
ステップ306) 関連シナリオ生成部120は、メモリ160内の置換ステップ候補集合格納領域162の置換ステップ候補集合から、対象となる基本シナリオのステップのIdと置換対象ステップのIdが一致する置換ステップ候補を全て取り出す。
ステップ307) 取り出した置換ステップ候補に対して関連シナリオを一つ生成する。具体的には、対象となる基本シナリオを複製し、置換ステップ候補の置換対象ステップId、置換後ステップIdに基づいて、複製した基本シナリオのステップを置換することで、バリエーションとなる新たな関連シナリオを生成する。
図7の例では、図6の置換対象ステップId=003の"input:email"ステップを複製し、その複製した置換ステップとステップDB130から取り出したステップと置換することで関連シナリオ(1)、(2)を生成する。なお、置換ステップには、場面(例えば、「registration」、「login」など)を表すタグ(プロセスタイプ)が付いているため、テスト対象とは別のソフトウェアの同一場面におけるテストシナリオに基づいて、テスト対象のソフトウェアにおける同一の場面に対応するテストシナリオのバリエーションを生成できる。
ステップ308) 関連シナリオ生成部120は、生成した関連シナリオをメモリ160の関連シナリオ集合グループ格納領域163の関連シナリオ集合に追加する。
次に、図4のステップ500の処理について詳細に説明する。
図8は、本発明の一実施の形態における基本シナリオステップ記録部の処理のフローチャートである。
ステップ501) 基本シナリオステップ記録部140は、メモリ160の基本シナリオ集合格納領域161から基本シナリオ集合を読み込む。
ステップ502) 基本シナリオ集合の各基本シナリオの対象ステップのステップタイプ、ステップ名、ステップ値に一致するステップがステップDB130に存在するかを判定する。存在する場合は次の基本シナリオの対象ステップについて判定を行う。存在しない場合はステップ503に移行する。
ステップ503) ステップDB130に該当するステップが存在しない場合には、対象となる基本シナリオのステップをステップDB130に新規に登録する。
上記のステップ502,503の処理を、基本シナリオ集合の各基本シナリオの各ステップに対して行う。
基本シナリオステップ記録部140の処理を行うことにより、テスト設計者が作成したテストシナリオ(基本シナリオ)を構成する全てのステップは、ステップDB130へと蓄積される。これにより、関連シナリオ生成部120では、当該ステップDB130からステップを取り出し、関連シナリオを生成するため、テスト対象のソフトウェアのテストシナリオのバリエーションを生成するときに、テスト対象とは別のソフトウェアのテスト設計者が作成したテストシナリオのバリエーションに基づいて、さらになるバリエーションを生成することができる。
なお、上記の図1に示すテストシナリオバリエーション生成装置100の各構成要素の動作をプログラムとして構築し、テストシナリオバリエーション生成装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
10 ユーザ端末
100 テストシナリオバリエーション生成装置
110 基本シナリオ入力部
120 関連シナリオ生成部
130 ステップDB
140 基本シナリオステップ記録部
150 関連シナリオ出力部
160 メモリ
161 基本シナリオ集合格納領域
162 置換ステップ候補集合格納領域
163 関連シナリオ集合グループ格納領域

Claims (5)

  1. アプリケーションのテスト設計において、テストシナリオのバリエーションを生成するテストシナリオバリエーション生成装置であって、
    テスト対象のソフトウェアとは別のソフトウェアにおけるテスト設計で作成されたテストシナリオを構成するステップが格納されたステップDBと、
    与えられた基本シナリオを構成するステップと同一のプロセスタイプ、ステップタイプ、ステップ名を有するステップを前記ステップDBから検索し、該基本シナリオのステップを、該ステップDBから検索されたステップで置換して新たなテストシナリオを生成し、関連シナリオとして出力する関連シナリオ生成手段と、
    を有することを特徴とするテストシナリオバリエーション生成装置。
  2. 前記基本シナリオの各ステップを前記ステップDBに追加登録する基本シナリオステップ記録手段を更に有する、
    請求項1記載のテストシナリオバリエーション生成装置。
  3. アプリケーションのテスト設計において、テストシナリオのバリエーションを生成するテストシナリオバリエーション生成方法であって、
    テスト対象のソフトウェアとは別のソフトウェアにおけるテスト設計で作成されたテストシナリオを構成するステップが格納されたステップDBと、
    関連シナリオ生成手段、基本シナリオステップ記録手段を有する装置において、
    前記関連シナリオ生成手段が、与えられた基本シナリオを構成するステップと同一のプロセスタイプ、ステップタイプ、ステップ名を有するステップを前記ステップDBから検索し、該基本シナリオのステップを、該ステップDBから検索されたステップで置換して新たなテストシナリオを生成し、関連シナリオとして出力する関連シナリオ生成ステップと、
    を行うことを特徴とするテストシナリオバリエーション生成方法。
  4. 前記基本シナリオステップ記録手段が、前記基本シナリオの各ステップを前記ステップDBに追加登録する基本シナリオステップ記録ステップを更に行う
    請求項3記載のテストシナリオバリエーション生成方法。
  5. コンピュータを、
    請求項1または2に記載のテストシナリオバリエーション生成装置の各手段として機能させるためのテストシナリオバリエーション生成プログラム。
JP2013147851A 2013-07-16 2013-07-16 テストシナリオバリエーション生成装置及び方法及びプログラム Pending JP2015022356A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013147851A JP2015022356A (ja) 2013-07-16 2013-07-16 テストシナリオバリエーション生成装置及び方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013147851A JP2015022356A (ja) 2013-07-16 2013-07-16 テストシナリオバリエーション生成装置及び方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2015022356A true JP2015022356A (ja) 2015-02-02

Family

ID=52486793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013147851A Pending JP2015022356A (ja) 2013-07-16 2013-07-16 テストシナリオバリエーション生成装置及び方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2015022356A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708818A (zh) * 2015-07-17 2017-05-24 阿里巴巴集团控股有限公司 一种压力测试方法和系统
JP2019525373A (ja) * 2016-08-26 2019-09-05 上海合福信息科技有限公司 テストケースの生成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708818A (zh) * 2015-07-17 2017-05-24 阿里巴巴集团控股有限公司 一种压力测试方法和系统
JP2019525373A (ja) * 2016-08-26 2019-09-05 上海合福信息科技有限公司 テストケースの生成方法

Similar Documents

Publication Publication Date Title
JP5350428B2 (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
TW201723895A (zh) 模組的佈局模板的擴展方法和裝置
US11487595B2 (en) API adapter creation device, API adapter creation method, and API adapter creation program
US10101727B2 (en) Common parameter interface generation program and parameter reading program
JP2018078523A (ja) ネットワーク管理装置、方法及びプログラム
JP2017054380A (ja) プログラム情報生成システム、方法、及びプログラム
JP2020060919A (ja) システム移行支援装置、システム移行支援方法及びプログラム
JP2015022356A (ja) テストシナリオバリエーション生成装置及び方法及びプログラム
US20210389933A1 (en) Creating an app method and system
JP6502044B2 (ja) データ解析装置、データ解析方法、および、プログラム。
JP6364332B2 (ja) 仕様生成方法、仕様生成装置、及びプログラム
JP7381290B2 (ja) 計算機システム及びデータの管理方法
JP2013008237A (ja) 関連情報抽出プログラム、関連情報抽出方法及び関連情報抽出装置
JP6239438B2 (ja) 仕様抽出装置、仕様抽出方法およびプログラム
JP2012226697A (ja) Wbs作成システムおよびwbs作成方法
JP5867208B2 (ja) データモデル変換プログラム、データモデル変換方法およびデータモデル変換装置
JP5600826B1 (ja) 非構造化データ処理システム、非構造化データ処理方法およびプログラム
JP2016014973A (ja) 期待結果生成装置及び方法及びプログラム
JP2015200978A (ja) データベースアクセス制御プログラム、データベースアクセス制御方法、及び情報処理装置
JP2013148953A (ja) プログラムテンプレート自動生成プログラムおよびプログラムテンプレート自動生成装置
JP6085481B2 (ja) プログラマブル回路、演算処理方法
JP5508933B2 (ja) ソフトウェア仕様の証明支援装置、及び証明支援方法
JP2014074952A (ja) 電子データのトレーサビリティ管理装置、方法及びプログラム
JP2010165205A (ja) モデルのテンプレート自動生成システム、方法及びプログラム
JP7100991B2 (ja) データ変換装置およびデータ変換方法