JP2008052359A - テストケース生成装置、テストケース生成方法及びテストケース生成プログラム - Google Patents
テストケース生成装置、テストケース生成方法及びテストケース生成プログラム Download PDFInfo
- Publication number
- JP2008052359A JP2008052359A JP2006225616A JP2006225616A JP2008052359A JP 2008052359 A JP2008052359 A JP 2008052359A JP 2006225616 A JP2006225616 A JP 2006225616A JP 2006225616 A JP2006225616 A JP 2006225616A JP 2008052359 A JP2008052359 A JP 2008052359A
- Authority
- JP
- Japan
- Prior art keywords
- test case
- scenario
- extraction
- state transition
- activity
- 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
【課題】オブジェクト指向におけるソフトウェア開発においてテストケースを漏れなく効率良く抽出する。
【解決手段】テストケース生成装置100において、シナリオテストケース抽出部104は、シナリオ入力部102から入力されるシナリオをもとにテストケースを抽出する。アクティビティテストケース抽出部105は、アクティビティ入力部103から入力される状態遷移を示すアクティビティ図をもとにテストケースを抽出する。テストケース生成部106は、アクティビティテストケース抽出部105による抽出結果と、シナリオテストケース抽出部104による抽出結果とを比較し、差分をすべて包含するテストケースを生成する。
【選択図】 図1
【解決手段】テストケース生成装置100において、シナリオテストケース抽出部104は、シナリオ入力部102から入力されるシナリオをもとにテストケースを抽出する。アクティビティテストケース抽出部105は、アクティビティ入力部103から入力される状態遷移を示すアクティビティ図をもとにテストケースを抽出する。テストケース生成部106は、アクティビティテストケース抽出部105による抽出結果と、シナリオテストケース抽出部104による抽出結果とを比較し、差分をすべて包含するテストケースを生成する。
【選択図】 図1
Description
この発明は、オブジェクト指向のソフトウェア開発を支援するテストケース生成装置、テストケース生成方法及びテストケース生成プログラムに関する。
オブジェクト指向のソフトウェア開発における、統一モデリング言語(UML:Unified Modeling Language)を用いたプログラム設計では、ユースケース図を作成する際にシナリオを記述する。シナリオは、システムが提供するサービスや機能の動作手順を表現したものである。テストケースは、このシナリオをベースに試験作成者が抽出する方法が一般的である。
なお、アプリケーションの振る舞いを記述する各仕様書に記載された構造やそれらの整合性に関する情報を管理することで、ドキュメントの作成、保守を支援する手法が提案されている(例えば、特許文献1を参照。)。
特開平11−3216号公報
しかしながら、シナリオからテストケースを抽出する手法に関して明確に確立されておらず、試験作成者の経験や技量によるものが大きく、個人差が生じやすい。また、ソフトウェアの規模が大きくなればなるほど、シナリオからのテストケースの抽出に多大な時間を費やすこととなる。
この発明は上記事情に着目してなされたもので、その目的とするところは、オブジェクト指向におけるソフトウェア開発においてテストケースを漏れなく効率良く抽出することができるテストケース生成装置、テストケース生成方法及びテストケース生成プログラムを提供することにある。
上記目的を達成するためにこの発明に係わるテストケース生成装置、テストケース生成方法及びテストケース生成プログラムは、システムの動作手順を記述したシナリオをもとにテストケースを抽出する第1の抽出手段と、上記システムの状態遷移を表した状態遷移図をもとにテストケースを抽出する第2の抽出手段と、上記第1の抽出手段による抽出結果と上記第2の抽出手段による抽出結果との差分をすべて包含してテストケースを生成する生成手段とを具備することを特徴とする。
上記構成によるテストケース生成装置、テストケース生成方法及びテストケース生成プログラムでは、シナリオによるテストケース抽出結果と、状態遷移図によるテストケース抽出結果とを比較し、差分を包含するテストケースを生成する。このようにすることで、テストケースを効率良く漏れなく洗い出すことが可能となる。
したがってこの発明によれば、オブジェクト指向におけるソフトウェア開発においてテストケースを漏れなく効率良く抽出することができるテストケース生成装置、テストケース生成方法及びテストケース生成プログラムを提供することができる。
以下、図面を参照しながら本発明の実施の形態を詳細に説明する。
図1は、この発明に係わるテストケース生成装置の一実施形態を示すブロック構成図である。なお、本実施形態では、UMLで規定されている表記法を用いるものとし、UMLで作成されたシナリオと、状態遷移図の1つであるアクティビティ図とを用いてテストケースを生成する。テストケース生成装置100には、パーソナル・コンピュータやワークステーション等の汎用計算機が用いられる。テストケース生成装置100は、モデル入力部101と、シナリオ入力部102と、アクティビティ入力部103と、シナリオテストケース抽出部104と、アクティビティテストケース抽出部105と、テストケース生成部106とを備える。
図1は、この発明に係わるテストケース生成装置の一実施形態を示すブロック構成図である。なお、本実施形態では、UMLで規定されている表記法を用いるものとし、UMLで作成されたシナリオと、状態遷移図の1つであるアクティビティ図とを用いてテストケースを生成する。テストケース生成装置100には、パーソナル・コンピュータやワークステーション等の汎用計算機が用いられる。テストケース生成装置100は、モデル入力部101と、シナリオ入力部102と、アクティビティ入力部103と、シナリオテストケース抽出部104と、アクティビティテストケース抽出部105と、テストケース生成部106とを備える。
モデル入力部101は、シナリオまたはアクティビティ図の選択を行う。モデル入力部101においてシナリオが選択されると、シナリオ入力部102にシナリオが入力される。また、シナリオ入力部102は、入力されたシナリオを編集するエディタ機能も備える。編集後のシナリオは、シナリオテストケース抽出部104に入力され、入力されたシナリオからテストケースが抽出される。
一方、アクティビティ入力部103にはアクティビティ図が入力され、入力されたアクティビティ図に対する編集等が行われる。編集後のシナリオは、アクティビティテストケース抽出部105に入力され、入力されたアクティビティ図からテストケースが抽出される。テストケース生成部106は、シナリオテストケース抽出部104による抽出結果と、アクティビティテストケース抽出部105による抽出結果とを比較し、テストケースの整合性をとり、テストケースを生成する。
図2は、このテストケース生成装置100におけるテストケース抽出処理の手順とその内容を示すフローチャートである。ここでは、予約注文機能を例に挙げてテストケースの抽出方法を説明する。
シナリオ入力部102では、シナリオの入力及び編集を行う(ステップS2a)。具体的には、シナリオエディタによりシナリオ名、メインフロー、代替フローの入力を行う。図3にシナリオエディタの入力・編集画面に予約注文のシナリオを入力した例を示す。図3に示すようにシナリオ名の入力箇所にはシナリオ名称を入力し、メインフローの入力箇所にはシナリオの正常な動作を箇条書きで入力する。また、入力内容の先頭に付された番号は、メインフロー内の項目の順番を表す。代替フローの入力箇所には関連するメインフローの番号と動作を入力する。この番号とメインフローで入力した番号とを連動させることで、メインフローのどの事象より派生した代替動作なのかを把握することができる。
シナリオ入力部102では、シナリオの入力及び編集を行う(ステップS2a)。具体的には、シナリオエディタによりシナリオ名、メインフロー、代替フローの入力を行う。図3にシナリオエディタの入力・編集画面に予約注文のシナリオを入力した例を示す。図3に示すようにシナリオ名の入力箇所にはシナリオ名称を入力し、メインフローの入力箇所にはシナリオの正常な動作を箇条書きで入力する。また、入力内容の先頭に付された番号は、メインフロー内の項目の順番を表す。代替フローの入力箇所には関連するメインフローの番号と動作を入力する。この番号とメインフローで入力した番号とを連動させることで、メインフローのどの事象より派生した代替動作なのかを把握することができる。
シナリオテストケース抽出部104は、シナリオ入力部102において編集されたシナリオデータをテストケースへと展開する(ステップS2b)。シナリオから展開されたテストケースを図4に示す。図3で入力したシナリオのメインフローの1項目をそれぞれテストケースの1項目として入力する。また、代替フローに入力した項目は関連番号に基づいて、テストケースにバリエーションとして加える。
アクティビティ入力部103は、アクティビティ図の入力、及び編集を行う(ステップS2c)。アクティビティ入力部103において、図5のようなアクティビティエディタによりアクティビティ図を生成する。図3で入力したメインフローの各項目がアクティビティ(S401〜S406)となる。アクティビティエディタには通常のアクティビティ図で使用されるツールが用意されており、図3の右に示すように作成者が各アクティビティにおける状態や遷移条件を入力していく。
アクティビティテストケース抽出部105は、アクティビティ入力部103において編集されたアクティビティデータをテストケースへと展開する(ステップS2d)。図5に示すアクティビティ図から展開されたテストケースを図6に示す。図6に示すように、アクティビティ図からは動作状態や状態遷移条件等もテストケースとして展開される。
ステップS2bによりシナリオから展開されたテストケースと、ステップS2dによりアクティビティ図から展開されたテストケースとがテストケース生成部106に入力される。テストケース生成部106では、シナリオテストケース抽出部104で出力したテストケース(図4)と、アクティビティ図から展開されたテストケース(図6)とを比較し、図7に示すように差分を抽出する。この比較において、シナリオとアクティビティ図から抽出された差分をすべて包含するテストケースを生成する。
また、この生成されたデータに対し、テストケース生成部106において、項目の確認及び修正を行うことができる。項目の確認及び修正を行なった後、最終的なテストケースの一例を図8に示す。
以上述べたように上記実施形態では、テストケース生成装置100において、シナリオテストケース抽出部104は、シナリオ入力部102から入力されるシナリオをもとにテストケースを抽出する。アクティビティテストケース抽出部105は、アクティビティ入力部103から入力される状態遷移を示すアクティビティ図をもとにテストケースを抽出する。テストケース生成部106は、アクティビティテストケース抽出部105による抽出結果と、シナリオテストケース抽出部104による抽出結果とを比較し、差分をすべて包含するテストケースを生成するようにしている。
したがって上記実施形態によれば、シナリオ及びアクティビティ図の作成を行うと共に、この両方を用いてテストケースを自動的に抽出することができるため、テストケースを効率良く漏れなく洗い出すことができる。
なお、この発明は上記実施形態に限定されるものではない。例えば、上記実施形態では、状態遷移図としてアクティビティ図を用いたが、この他にもシーケンス図などを使用してテストケースを抽出することも可能である。また、例えばアクティビティ図とシーケンス図というように、2つ以上の状態遷移図から抽出されたテストケースを用いてテストケースを生成するようにしても良い。その他にもテストケース生成装置100の構成及びテストケース生成処理の手順とその内容についても、この発明の要旨に逸脱しない範囲で種々に変形して実施できる。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
100…テストケース生成装置、101…モデル入力部、102…シナリオ入力部、103…アクティビティ図入力部、104…シナリオテストケース抽出部、105…アクティビティテストケース抽出部、106…テストケース生成部。
Claims (6)
- システムの動作手順を記述したシナリオをもとにテストケースを抽出する第1の抽出手段と、
前記システムの状態遷移を表した状態遷移図をもとにテストケースを抽出する第2の抽出手段と、
前記第1の抽出手段による抽出結果と前記第2の抽出手段による抽出結果との差分をすべて包含してテストケースを生成する生成手段と
を具備することを特徴とするテストケース生成装置。 - 前記状態遷移図として、オブジェクト指向のソフトウェア開発における統一モデリング言語(UML:Unified Modeling Language)のアクティビティ図またはシーケンス図の少なくともいずれか一方を用いることを特徴とする請求項1記載のテストケース生成装置。
- システムの動作手順を記述したシナリオをもとにテストケースを抽出し、
前記システムの状態遷移を表した状態遷移図をもとにテストケースを抽出し、
前記シナリオをもとに抽出した結果と前記状態遷移図をもとに抽出した結果との差分をすべて包含してテストケースを生成することを特徴とするテストケース生成方法。 - 前記状態遷移図として、オブジェクト指向のソフトウェア開発におけるUMLのアクティビティ図またはシーケンス図の少なくともいずれか一方を用いることを特徴とする請求項3記載のテストケース生成方法。
- システムの動作手順を記述したシナリオをもとにテストケースを抽出する第1の抽出処理と、
前記システムの状態遷移を表した状態遷移図をもとにテストケースを抽出する第2の抽出処理と、
前記第1の抽出処理による抽出結果と前記第2の抽出処理による抽出結果との差分をすべて包含してテストケースを生成する生成処理と
を具備することを特徴とするテストケース生成プログラム。 - 前記状態遷移図として、オブジェクト指向のソフトウェア開発におけるUMLのアクティビティ図またはシーケンス図の少なくともいずれか一方を用いることを特徴とする請求項5記載のテストケース生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006225616A JP2008052359A (ja) | 2006-08-22 | 2006-08-22 | テストケース生成装置、テストケース生成方法及びテストケース生成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006225616A JP2008052359A (ja) | 2006-08-22 | 2006-08-22 | テストケース生成装置、テストケース生成方法及びテストケース生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008052359A true JP2008052359A (ja) | 2008-03-06 |
Family
ID=39236389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006225616A Pending JP2008052359A (ja) | 2006-08-22 | 2006-08-22 | テストケース生成装置、テストケース生成方法及びテストケース生成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008052359A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010157108A (ja) * | 2008-12-26 | 2010-07-15 | Canon Inc | ソフトウエア評価方法及びそれを実現する情報処理装置 |
US8448146B2 (en) | 2011-03-31 | 2013-05-21 | Infosys Limited | Generation of functional tests for re-hosted applications |
US8584095B2 (en) | 2009-12-21 | 2013-11-12 | International Business Machines Corporation | Test support system, method and computer program product, which optimize test scenarios to minimize total test time |
CN111639023A (zh) * | 2020-05-16 | 2020-09-08 | 中信银行股份有限公司 | 基于用户操作时序图的测试用例生成方法和装置 |
-
2006
- 2006-08-22 JP JP2006225616A patent/JP2008052359A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010157108A (ja) * | 2008-12-26 | 2010-07-15 | Canon Inc | ソフトウエア評価方法及びそれを実現する情報処理装置 |
US8584095B2 (en) | 2009-12-21 | 2013-11-12 | International Business Machines Corporation | Test support system, method and computer program product, which optimize test scenarios to minimize total test time |
US8448146B2 (en) | 2011-03-31 | 2013-05-21 | Infosys Limited | Generation of functional tests for re-hosted applications |
CN111639023A (zh) * | 2020-05-16 | 2020-09-08 | 中信银行股份有限公司 | 基于用户操作时序图的测试用例生成方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5613118B2 (ja) | 変換規則生成支援装置、方法、およびプログラム | |
JP2007257291A (ja) | シナリオ生成方法、シナリオ生成プログラム、シナリオ生成装置 | |
US20080208554A1 (en) | Simulator development system and simulator development method | |
JP2007058368A (ja) | プログラムの照合装置 | |
JP2008052359A (ja) | テストケース生成装置、テストケース生成方法及びテストケース生成プログラム | |
JP5026925B2 (ja) | 制御プログラム作成装置および制御プログラム作成方法 | |
US20110047526A1 (en) | Method and a system for transforming an object model | |
JP4888790B2 (ja) | 契約定義関数検証装置、その方法及びそのプログラム | |
JP2017107265A (ja) | テストシナリオ作成支援システム及びテストシナリオ作成支援方法 | |
JP5316485B2 (ja) | ソフトウェア開発支援装置、ソフトウェア開発支援方法およびソフトウェア開発支援プログラム | |
JP5490170B2 (ja) | プログラム作成支援装置及びプログラム作成支援方法 | |
JP6291454B2 (ja) | ビジネスプロセス図生成装置、ビジネスプロセス図生成プログラム、および、ビジネスプロセス図生成方法 | |
JP5275087B2 (ja) | プログラム生成装置およびブロック線図生成装置 | |
JP2008146206A (ja) | 事業継続性分析プログラムおよび事業継続性分析装置 | |
Kugler et al. | Testing scenario-based models | |
JP2007188179A (ja) | 計算機システムの性能評価装置、性能評価方法、及び性能評価プログラム | |
JP2007287099A (ja) | 帳票レイアウトにおける可変表集計行の配置設定情報の処理方法と装置と媒体 | |
JP2011034419A (ja) | モデルを用いたモデリング装置、およびソフトウェアシステムのシステム構築方法 | |
JP2006285754A (ja) | プログラムソースコード自動生成装置 | |
JP7423895B2 (ja) | ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム | |
JP5465118B2 (ja) | 編集方法および編集装置 | |
JP2009289152A (ja) | 既存障害対処手順知識化プログラム、既存障害対処手順知識化装置および既存障害対処手順知識化方法 | |
JP2010134725A (ja) | 制御モデル自動生成装置 | |
JP2007018205A (ja) | アプリケーションプログラム実行装置,アプリケーション開発支援装置,画面遷移履歴表示装置及びプログラム | |
JP2011048492A (ja) | プログラムの作成支援装置、作成支援方法及び作成支援プログラム |