JP6102448B2 - 検証支援プログラム、検証支援装置、および検証支援方法 - Google Patents

検証支援プログラム、検証支援装置、および検証支援方法 Download PDF

Info

Publication number
JP6102448B2
JP6102448B2 JP2013082534A JP2013082534A JP6102448B2 JP 6102448 B2 JP6102448 B2 JP 6102448B2 JP 2013082534 A JP2013082534 A JP 2013082534A JP 2013082534 A JP2013082534 A JP 2013082534A JP 6102448 B2 JP6102448 B2 JP 6102448B2
Authority
JP
Japan
Prior art keywords
use case
precondition
verification
verification support
condition
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.)
Expired - Fee Related
Application number
JP2013082534A
Other languages
English (en)
Other versions
JP2014206793A (ja
Inventor
駿 五木田
駿 五木田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013082534A priority Critical patent/JP6102448B2/ja
Priority to US14/189,075 priority patent/US20140310248A1/en
Publication of JP2014206793A publication Critical patent/JP2014206793A/ja
Application granted granted Critical
Publication of JP6102448B2 publication Critical patent/JP6102448B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、検証支援プログラム、検証支援装置、および検証支援方法に関する。
ユースケースは、ハードウェアやソフトウェアの機能を表すものである。ユースケースを用いて、ハードウェアやソフトウェアの検証を行う技術がある。関連する先行技術として、たとえば、ユースケース図から抽出したユースケース間の関係を示す関連情報に関連付けられるユースケースからなる記述集合が、有向閉路を形成するか否かを判定して、ユースケースの優先度を設定するものがある。また、あるユースケースのコンテキストに合う初期状態から、あるユースケースのシステム応答に対応する1つの最終の状態へ、遷移の1セットをユースケースに関係づける技術がある。(たとえば、下記特許文献1、2を参照。)
特開2006−252489号公報 特表2007−528069号公報
しかしながら、従来技術によれば、ハードウェアやソフトウェアといった検証対象の機能を表すユースケースを実行する度に検証対象の状態が変化するため、次に検証するユースケースに合わせて検証対象の状態を変更することになり、検証作業に時間がかかる。
1つの側面では、本発明は、検証作業の効率化を図ることができる検証支援プログラム、検証支援装置、および検証支援方法を提供することを目的とする。
本発明の一側面によれば、検証対象の機能を表すユースケースごとに、ユースケースが表す機能の実行前に検証対象に入力する入力値および検証対象が出力する出力値が満たすべき事前条件と、ユースケースが表す機能の実行後に入力値および出力値が満たすべき事後条件と、を記憶する記憶部を参照して、ユースケース群から選択された第1のユースケースの事後条件と、第1のユースケースとは異なるユースケースの事前条件とに基づいて、ユースケース群から第1のユースケースの次に検証する第2のユースケースを選択する検証支援プログラム、検証支援装置、および検証支援方法が提案される。
本発明の一態様によれば、検証作業の効率化を図ることができるという効果を奏する。
図1は、本実施の形態にかかる検証支援装置の動作例を示す説明図である。 図2は、検証支援装置のハードウェア構成の一例を示すブロック図である。 図3は、ユースケース図の一例を示す説明図である。 図4は、単機能単位ユースケースの使用例を示す説明図である。 図5は、検証支援装置の機能例を示すブロック図である。 図6は、事前条件および事後条件の抽出例を示す説明図である。 図7は、ユースケース検証順序の決定の一例における1段階目を示す説明図である。 図8は、ユースケース検証順序の決定の一例における2段階目を示す説明図である。 図9は、ユースケース検証順序の決定の一例における3段階目を示す説明図である。 図10は、ユースケース検証順序の決定の一例における4段階目を示す説明図である。 図11は、ユースケース検証順序の決定の他の例を示す説明図である。 図12は、テストパターン生成処理手順の一例を示すフローチャートである。 図13は、事前条件および事後条件抽出処理手順の一例を示すフローチャートである。 図14は、ユースケース検証順序の決定処理手順の一例を示すフローチャート(その1)である。 図15は、ユースケース検証順序の決定処理手順の一例を示すフローチャート(その2)である。 図16は、ユースケースグループ化処理手順の一例を示すフローチャートである。 図17は、ユースケース検証順序の決定処理手順の他の例を示すフローチャート(その1)である。 図18は、ユースケース検証順序の決定処理手順の他の例を示すフローチャート(その2)である。
以下に図面を参照して、開示の検証支援プログラム、検証支援装置、および検証支援方法の実施の形態を詳細に説明する。
図1は、本実施の形態にかかる検証支援装置の動作例を示す説明図である。検証支援装置100は、検証者による検証作業を支援するコンピュータである。ここで、検証者による検証対象の検証手順について説明する。
検証対象となるソフトウェア、ハードウェア、またはソフトウェアとハードウェアを含むシステムは、日々大規模化しているため、検証対象の開発全体における、検証に占める割合が上昇する傾向にある。検証者による検証対象の検証を行う際に、検証者は、テストパターンに従って検証を行う。ここで、テストパターンとは、検証対象の機能について予め定められた仕様を満たすか否かを検証する検証項目の検証順序を記述した情報である。
検証対象が巨大なシステムであるほど、人手によるテストパターンの生成には時間がかかる。そこで、テストパターンの生成を支援する技術として、たとえば、仕様書の一つであるユースケース図から、検証対象の機能を表すユースケースに関する検証項目を抽出する技術がある。ユースケースとは、UML(Unified Modeling Language)における概念の一つであり、検証対象に対する要件を特定するために使用される。ユースケースについては、図3にて後述する。
しかしながら、検証対象は、検証対象がある条件を満たすときに限り、あるユースケースの機能を実行する機能を有する場合がある。この場合、テストパターンに従って、あるユースケースの機能を検証する場合、検証者は、検証対象のある条件を満たすように、検証対象の状態を設定した後に検証することになり、検証作業の手間が増大化する。また、抽出したユースケースに関する検証項目から、検証者がテストパターンを生成する場合、検証項目の漏れや、検証者による検証項目のばらつきが発生する場合がある。
そこで、本実施の形態にかかる検証支援装置100は、検証対象の機能を表すユースケース間の事前条件と事後条件とのマッチングを行って連続実行するユースケースを選択する。これにより、検証支援装置100は、次に検証するユースケースに合わせて検証対象の状態を変更することになるため、検証作業の手間を削減し、検証作業の効率化を図ることができる。ここで、本実施の形態にかかるユースケースは、検証対象に対する1入力に対して1出力を行う機能を表すことを前提とする。
図1に示す検証支援装置100は、検証対象101の機能を表すユースケースUごとに、ユースケースの事前条件precと、ユースケースの事後条件postcと、を記憶する。ここで、ユースケースの事前条件precとは、ユースケースが表す機能の実行前に検証対象101に入力する入力値および検証対象101が出力する出力値が満たすべき条件である。また、ユースケースの事後条件postcとは、ユースケースが表す機能の実行後に入力値および出力値が満たすべき条件である。
図1の例では、検証支援装置100は、ユースケースU#1〜ユースケースU#3それぞれの事前条件prec#1〜事前条件prec#3と、事後条件postc#1〜事後条件postc#3とを記憶する。また、検証対象101に入力値を入力する入力元と、検証対象101が出力する値を受け付ける出力先については、図3にて後述する。
たとえば、事前条件prec#1は、ユースケースU#1が表す機能の実行前に検証対象101に入力する入力値“0”と、ユースケースU#1が表す機能の実行前に検証対象101が出力する出力値“H”と、になる。また、事後条件postc#1は、ユースケースU#1が表す機能の実行後の入力値“1”と、ユースケースU#1が表す機能の実行後の出力値“L”である。
ここで、図1に示す検証支援装置100は、(1)が示すように、ユースケース群U#1〜U#3から第1のユースケースとしてユースケースU#1を選択し、検証者AがユースケースU#1が表す機能の検証を行った後であるとする。次に、検証支援装置100は、(2)が示すように、事後条件postc#1と、ユースケースU#1とは異なるユースケースの事前条件precとに基づいて、ユースケース群からユースケースU#1の次に検証する第2のユースケースを選択する。
たとえば、検証支援装置100は、事後条件postc#1に一致する事前条件precを有するユースケースを第2のユースケースとして選択する。図1の例では、検証支援装置100は、事後条件postc#1となる、入力値が“1”となる1つ目の条件と、出力値が“L”となる2つ目の条件と、に一致する事前条件prec#2を有するユースケースU#2を第2のユースケースとして選択する。
また、たとえば、検証支援装置100は、事後条件postc#1に一致する割合が最も多い事前条件precを有するユースケースを第2のユースケースとして選択してもよい。図1の例にて、ユースケース群のうちにユースケースU#2がなく、事後条件postc#1となる、2つの条件のうちいずれか一方が一致する条件を有する事前条件precを有するユースケースがあるとする。このとき、検証支援装置100は、前述のユースケースを第2のユースケースとして選択する。
続けて、検証支援装置100は、選択した第2のユースケースを出力する。出力結果を閲覧した検証者Aは、(3)が示すように、入力値を“1”から“2”に変更するように入力元を操作して、第2のユースケースが表す機能の検証を行う。以下、図2〜図18を用いて、検証支援装置100について説明する。
(検証支援装置100のハードウェア)
図2は、検証支援装置のハードウェア構成の一例を示すブロック図である。図2において、検証支援装置100は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、を含む。また、検証支援装置100は、ディスクドライブ204と、ディスク205と、通信インターフェース206と、を含む。また、検証支援装置100は、ディスプレイ207と、キーボード208と、マウス209とを含む。また、CPU201〜マウス209はバス210によってそれぞれ接続される。
CPU201は、検証支援装置100の全体の制御を司る演算処理装置である。ROM202は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM203は、CPU201のワークエリアとして使用される揮発性メモリである。
ディスクドライブ204は、CPU201の制御に従ってディスク205に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ204には、たとえば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク205は、ディスクドライブ204の制御で書き込まれたデータを記憶する不揮発性メモリである。たとえばディスクドライブ204が磁気ディスクドライブである場合、ディスク205には、磁気ディスクを採用することができる。また、ディスクドライブ204が光ディスクドライブである場合、ディスク205には、光ディスクを採用することができる。また、ディスクドライブ204がソリッドステートドライブである場合、ディスク205には、半導体素子メモリを採用することができる。
通信インターフェース206は、ネットワーク211と内部のインターフェースを司り、外部装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース206は、通信回線を通じてネットワーク211となるLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどに接続され、ネットワーク211を介して他の装置に接続される。通信インターフェース206には、たとえば、モデムやLANアダプタなどを採用することができる。
ディスプレイ207は、マウスカーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する装置である。ディスプレイ207には、たとえば、CRT(Cathode Ray Tube)、TFT(Thin Film Transistor)液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
キーボード208は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う装置である。また、キーボード208は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス209は、マウスカーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う装置である。マウス209は、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
図3は、ユースケース図の一例を示す説明図である。ユースケース図は、検証対象101となるシステムの機能的要求を特定するために使用される図である。ユースケース図は、検証対象101にはどのようなアクターが存在するのか、また、それぞれのアクターはどういった操作をするのかを記述する。アクターが行う操作がユースケースとなる。
アクターは、検証対象101を利用する外部装置や、人である。ユースケースは、アクターに提供するサービスである。また、ユースケース図には、複数のユースケースを含む場合があり、関係するユースケースが接続される。
また、本実施の形態では、検証対象101に何らかの値を入力する入力元となるアクターを、「入力アクター」と称する。同様に、検証対象101が出力する何らかの値を受け付ける出力先となるアクターを、「出力アクター」と称する。
たとえば、図3の例では、2D_3D画像処理システムのユースケース図を示す。2D_3D画像処理システムは、入力アクターとなるホストCPUに、“図を描画する”というサービスを提供する。また、2D_3D画像処理システムは、出力アクターとなるVRAMに描画結果を出力する。さらに、“図を描画する”ユースケースは、“初期化する”ユースケースと、“レンダリング機能を利用する”ユースケースとを含む。
図4は、単機能単位ユースケースの使用例を示す説明図である。図4では、シーケンス動作から、単機能単位ユースケースを抽出した例を示す。単機能単位ユースケースとは、各ユースケースにおける入出力アクターを一対一まで細分化したものである。単機能単位のユースケースを用いることにより、一般的なユースケースよりも細かい単位で表現することが可能になる。
図4の例で示すシーケンス動作401は、入力端子INPUT1〜入力端子INPUT3と、出力端子OUTPUT1〜出力端子OUTPUT5とのシーケンスを示す。単機能単位ユースケーステーブル402は、シーケンス動作401から、単機能単位ユースケースを抽出して、テーブルとして纏めたものである。
単機能単位ユースケーステーブル402は、ユースケース名と、入力イベントと、入出力アクター以外の事前条件と、出力イベントと、いう4つのフィールドを含む。ユースケース名フィールドには、ユースケースの名称が格納される。単機能単位ユースケーステーブル402は、レコード402−1〜402−6を有する。入力イベントフィールドには、入力アクターが入力値を入力するという入力イベントを示す情報が格納される。入出力アクター以外の事前条件フィールドには、該当のユースケースが実行できるための入出力アクター以外の事前条件が格納される。出力イベントフィールドには、検証対象101が出力値を出力するという出力イベントを示す情報が格納される。
たとえば、レコード402−1は、ユースケース名が“U1”であり、入力イベントが“入力端子INPUT1を0→1に変化させる”であり、入出力アクター以外の事前条件が“内部電源モードがAである”であることを示す。さらに、レコード402−1は、出力イベントが“出力端子OUTPUT1がH→Lに変化する”であることを示す。
(検証支援装置100の機能)
次に、検証支援装置100の機能について説明する。図5は、検証支援装置の機能例を示すブロック図である。検証支援装置100は、記憶部501と、判断部502と、ユースケース候補選択部503と、選択部504と、出力部505と、を含む。制御部となる判断部502〜出力部505は、記憶装置に記憶されたプログラムをCPU201が実行することにより、判断部502〜出力部505の機能を実現する。記憶装置とは、具体的には、たとえば、図2に示したROM202、RAM203、ディスク205などである。または、通信インターフェース206を経由して他のCPUが実行することにより、判断部502〜出力部505の機能を実現してもよい。
また、検証支援装置100は、記憶部501にアクセス可能である。記憶部501は、RAM203、ディスク205といった記憶装置に格納される。
記憶部501は、検証対象101の機能を表すユースケースごとに、ユースケースの事前条件と、ユースケースの事後条件と、を記憶する。ユースケースの事前条件と、ユースケースの事後条件と、の具体例については、図6にて後述する。
判断部502は、ユースケース群から選択されていない未選択のユースケースのうちに第1のユースケースの事後条件と一致する事前条件を有するユースケースがあるか否かを判断する。ここで、選択されていない未選択のユースケースとは、ユースケース群のうちの、選択部504が選択したユースケースと、ユースケース候補選択部503が選択したユースケースと、とは異なるユースケースである。
また、判断部502は、ユースケース群から選択されていない未選択のユースケースのうちに第1のユースケースの事後条件を含む事前条件を有するユースケースがあるか否かを判断してもよい。たとえば、第1のユースケースの事後条件が1つの出力値の条件であり、1つ目の出力値OUTPUT1が“L”であるとする。そして、未選択のユースケースとして、あるユースケースの事前条件が2つの出力値の条件であり、1つ目の出力値OUTPUT1が“L”であり、2つ目の出力値OUTPUT2が“H”であるとする。このとき、あるユースケースの事前条件は、第1のユースケースの事後条件を含んでいるため、判断部502は、第1のユースケースの事後条件を含む事前条件を有するユースケースがあると判断する。
また、判断部502は、利用者が指定した初期状態を第1のユースケースの事後条件で更新した条件と一致する事前条件を有するユースケースがあるか否かを判断してもよい。
また、判断部502は、未選択のユースケースのうちに、ユースケース候補選択部503が選択したユースケース候補の事後条件と一致する事前条件を有するユースケースがあるか否かを判断してもよい。
また、判断部502が未選択のユースケースのうちに第1のユースケースの事後条件と一致する事前条件を有するユースケースがないと判断したとする。この場合、判断部502は、さらに、ユースケース群から選択されたユースケースに特定のユースケースが含まれるか否かを判断してもよい。
ここで、特定のユースケースとは、ユースケース群のうちの検証者により指定されたユースケースであって、検証作業の最後に実行すべきであり、目的となるユースケースである。以下、特定のユースケースを、「目的のユースケース」と呼称する。たとえば、検証対象101が、図3に示した2D_3D画像処理システムである場合、ユースケースとして、図3に示した以外に、“終了する”というユースケースがあるとする。このとき、検証者は、“終了する”というユースケースを目的のユースケースに指定する。
また、判断部502は、未選択のユースケースのうちに第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあると判断した場合、複数のユースケースに目的のユースケースが含まれるか否かを判断してもよい。なお、判断結果は、RAM203、ディスク205などの記憶領域に記憶される。
また、判断部502が未選択のユースケースのうちに第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあると判断したとする。この場合、ユースケース候補選択部503は、複数のユースケースから第1のユースケースの次に検証するユースケース候補を選択する。複数のユースケースがユースケースU#2とユースケースU#3であれば、ユースケース候補選択部503は、たとえば、ユースケースU#2をユースケース候補として選択する。
また、判断部502が未選択のユースケースのうちに、ユースケース候補選択部503が選択したユースケース候補の事後条件と一致する事前条件を有するユースケースがないと判断したとする。この場合、ユースケース候補選択部503は、複数のユースケースから選択されていない未選択のユースケースをユースケース候補として選択してもよい。
たとえば、複数のユースケースがユースケースU#2とユースケースU#3であり、ユースケース候補選択部503が、ユースケースU#2をユースケース候補として選択したとする。そして、判断部502が未選択のユースケースのうちにユースケース#2の事後条件と一致する事前条件を有するユースケースがないと判断したとする。このとき、ユースケース候補選択部503は、ユースケースU#3をユースケース候補として選択する。なお、選択結果は、RAM203、ディスク205などの記憶領域に記憶される。
選択部504は、記憶部501を参照して、ユースケース群から選択された第1のユースケースの事後条件と、第1のユースケースとは異なるユースケースの事前条件とに基づいて、第1のユースケースの次に検証する第2のユースケースを選択する。たとえば、選択部504は、第1のユースケースの事後条件に一致する割合が最も多い事前条件precを有するユースケースを第2のユースケースとして選択してもよい。
また、選択部504は、ユースケース群から第1のユースケースの事後条件と一致する事前条件を有する第2のユースケースを選択してもよい。たとえば、第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあれば、選択部504は、複数のユースケースのうちのいずれかを第2のユースケースとして選択する。また、第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあり、また、複数のユースケースが同時に起こるユースケースであれば、選択部504は、複数のユースケース全てを第2のユースケースとして選択してもよい。同時に起こるユースケースであるか否かの判断の例については、図8にて後述する。
また、判断部502が未選択のユースケースのうちに第1のユースケースの事後条件と一致する事前条件を有するユースケースがあると判断したとする。この場合、選択部504は、第1のユースケースの事後条件と一致する事前条件を有する第2のユースケースを選択してもよい。具体的な選択例としては、図7等で後述する。
また、選択部504は、判断部502が未選択のユースケースのうちにユースケース候補の事後条件と一致する事前条件を有するユースケースがあると判断した場合、前述のユースケース候補を第2のユースケースとして選択してもよい。
また、選択部504は、判断部502が複数のユースケースに目的のユースケースが含まれると判断した場合、目的のユースケースを第2のユースケースとして選択してもよい。
また、選択部504は、判断部502が複数のユースケースに目的のユースケースが含まれないと判断した場合、複数のユースケースの各々の事後条件と目的のユースケースの事前条件とに基づいて、複数のユースケースから第2のユースケースを選択してもよい。複数のユースケースの各々の事後条件と目的のユースケースの事前条件とに基づいて、第2のユースケースを選択する例については、図11にて後述する。
また、選択部504は、入力値および出力値の初期値と、ユースケース群の各々のユースケースの事前条件とに基づいて、ユースケース群から最初に検証するユースケースを選択してもよい。入力値および出力値の初期値は、検証者が指定する。具体的に、選択部504は、入力値および出力値の初期値が事前条件を全て満たすユースケースを選択してもよいし、入力値および出力値の初期値が事前条件のうちの条件を満たす数が最大のユースケースを選択してもよい。なお、選択結果は、RAM203、ディスク205などの記憶領域に記憶される。
出力部505は、判断部502が第1のユースケースの事後条件と一致する事前条件を有するユースケースがないと判断した場合、ユースケース群から選択されたユースケースの選択順序を示す情報を出力する。具体的な出力例は、図10にて後述する。
また、出力部505は、判断部502が第1のユースケースの事後条件と一致する事前条件を有するユースケースがないと判断した場合、ユースケース群から選択されたユースケースの選択順序を示す情報を出力してもよい。ユースケース群から選択されたユースケースの選択順序を示す情報が、図1にて説明したテストパターンとなる。
また、判断部502が、第1のユースケースの事後条件と一致する事前条件を有するユースケースがなく、ユースケース群から選択されたユースケースに目的のユースケースが含まれないと判断したとする。このとき、出力部505は、検証対象101の仕様が異常であることを示す情報を出力してもよい。検証対象101の仕様が異常であることを示す情報は、たとえば、単に、“異常です”という文字列でもよいし、目的のユースケースがユースケースU#xであれば“目的のユースケースU#xに到達しません”という文字列でもよい。
出力する情報の出力先として、たとえば、出力部505は、出力する情報をディスプレイ207へ表示したり、通信インターフェース206による外部装置へ送信したりする。また、出力部505は、出力する情報を、RAM203、ディスク205などの記憶領域に記憶することとしてもよい。
図6は、事前条件および事後条件の抽出例を示す説明図である。検証支援装置100は、単機能単位ユースケーステーブル402から、ユースケースUの事前条件および事後条件を抽出する。検証支援装置100は、単機能単位ユースケーステーブル402のレコードごとに、ユースケースの事前条件および事後条件を抽出する。図6の例では、検証支援装置100は、レコード402−1〜レコード402−6から、ユースケースU#1〜ユースケースU#6の事前条件および事後条件を抽出する。
具体的に、事前条件に関して、検証支援装置100は、入力イベントが起こる前の入力アクターの入力値を事前条件に追加する。また、検証支援装置100は、出力イベントが起こる前の出力アクターの出力値を事前条件に追加する。さらに、検証支援装置100は、入出力アクター以外の事前条件を事前条件に追加する。
また、事後条件に関して、検証支援装置100は、入力イベントが起きた後の入力アクターの入力値を事後条件に追加する。また、検証支援装置100は、出力イベントが起きた後の出力アクターの出力値を事後条件に追加する。
図6で示すユースケースU#1〜ユースケースU#6は、入力アクター、入力イベント、入出力アクター以外の事前条件、出力アクター、および出力イベントを含まなくてもよいし、含んでもよい。入力アクター、入力イベント、入出力アクター以外の事前条件、出力アクター、および出力イベントは、図8にて後述するユースケースをグループ化するときに参照される情報である。したがって、検証支援装置100は、ユースケースをグループ化する際には、ユースケースに、入力アクター、入力イベント、入出力アクター以外の事前条件、出力アクター、および出力イベントを含める。
なお、図6に示すユースケースの事前条件および事後条件は、ある値と一致するか否かの条件を示したが、たとえば、ある値以下であるといった、値の範囲を指定する条件でもよい。
図7〜図10において、ユースケースの接続例の一例を示す。図7〜図10において、初期状態は利用者により指定される。また、目的のユースケースは、利用者によりU#6に指定されたものとする。
図7は、ユースケース検証順序の決定の一例における1段階目を示す説明図である。検証支援装置100は、利用者が指定する初期状態を、前提条件701に設定する。前提条件701は、「内部電源状態==A&&INPUT1==0&&INPUT2==0&&INPUT3==0&&OUTPUT1==H&&OUTPUT2==H&&OUTPUT3==H&&OUTPUT4==L&&OUTPUT5==L」となる。
検証支援装置100は、ユースケースU#1〜ユースケースU#6から、前提条件701を全て満たす事前条件を有するユースケースを検出する。図7の例では、前提条件701を全て満たす事前条件を有するユースケースは、ユースケースU#1となる。検出したユースケースが1つとなるため、検証支援装置100は、ユースケースU#1をテストパターンtpの初期状態の次に実行するユースケースとして選択する。
ユースケースを選択した後、検証支援装置100は、前提条件701を更新する。具体的に、検証支援装置100は、選択したユースケースの事後条件で前提条件701を更新し、前提条件702とする。前提条件702は、前提条件701から比較して、INPUT1の値と、OUTPUT1の値とが更新される。図7〜図10では、更新された値に、ハッチを付与して示す。
前提条件702は、「内部電源状態==A&&INPUT1==1&&INPUT2==0&&INPUT3==0&&OUTPUT1==L&&OUTPUT2==H&&OUTPUT3==H&&OUTPUT4==L&&OUTPUT5==L」となる。
図8は、ユースケース検証順序の決定の一例における2段階目を示す説明図である。検証支援装置100は、ユースケースU#2〜ユースケースU#6から、前提条件702を全て満たす事前条件を有するユースケースを検出する。図8の例では、前提条件702を全て満たす事前条件を有するユースケースは、ユースケースU#2とユースケースU#3となる。
前提条件702を全て満たす事前条件を有する複数のユースケースがある場合、検証支援装置100は、複数のユースケースが、入出力アクター以外の事前条件と入力イベントとが同一であり、出力イベントが異なるという条件を満たすか否かを判断する。前述の条件を満たす場合、複数のユースケースが同時に起こるものであるため、検証支援装置100は、複数のユースケースをグループ化して、1つのユースケースとして扱う。
ここで、ユースケースU#2とユースケースU#3とは、入出力アクター以外の事前条件と入力イベントとが同一であり、出力イベントが異なるため、グループ化することができる。
なお、入出力アクター以外の事前条件と入力イベントとが同一であり、出力アクターが共通で出力イベントが異なるユースケースは、同時に起こると矛盾が発生するため、検証支援装置100は、該当のユースケースをグループ化しない。
検証支援装置100は、ユースケースU#2とユースケースU#3とをグループ化したユースケースUg#1を、テストパターンtpのユースケースU#1の次に実行するユースケースとして選択する。ユースケースを選択した後、検証支援装置100は、前提条件702を更新する。具体的に、検証支援装置100は、選択したユースケースの事後条件で前提条件702を更新し、前提条件801とする。前提条件801は、前提条件702から比較して、INPUT2の値と、OUTPUT2の値と、OUTPUT3の値とが更新される。
前提条件801は、「内部電源状態==A&&INPUT1==1&&INPUT2==1&&INPUT3==0&&OUTPUT1==L&&OUTPUT2==L&&OUTPUT3==L&&OUTPUT4==L&&OUTPUT5==L」となる。
図9は、ユースケース検証順序の決定の一例における3段階目を示す説明図である。検証支援装置100は、ユースケースU#4〜ユースケースU#6から、前提条件801を全て満たす事前条件を有するユースケースを検出する。図9の例では、前提条件801を全て満たす事前条件を有するユースケースは、ユースケースU#4とユースケースU#5となる。ここで、ユースケースU#4とユースケースU#5とは、入出力アクター以外の事前条件と入力イベントとが同一であり、出力イベントが異なるため、グループ化することができる。
検証支援装置100は、ユースケースU#4とユースケースU#5とをグループ化したユースケースUg#2を、テストパターンtpのユースケースUg#1の次に実行するユースケースとして選択する。ユースケースを選択した後、検証支援装置100は、前提条件801を更新する。具体的に、検証支援装置100は、選択したユースケースの事後条件で前提条件801を更新し、前提条件901とする。前提条件901は、前提条件801から比較して、INPUT3の値と、OUTPUT4の値と、OUTPUT5の値とが更新される。
前提条件901は、「内部電源状態==A&&INPUT1==1&&INPUT2==1&&INPUT3==1&&OUTPUT1==L&&OUTPUT2==L&&OUTPUT3==L&&OUTPUT4==H&&OUTPUT5==H」となる。
図10は、ユースケース検証順序の決定の一例における4段階目を示す説明図である。検証支援装置100は、ユースケースU#6から、前提条件901を全て満たす事前条件を有するユースケースを検出する。前提条件901を満たすユースケースはユースケースU#6になる。検証支援装置100は、ユースケースU#6を、テストパターンtpのユースケースUg#2の次に実行するユースケースとして選択する。
ユースケースを選択した後、検証支援装置100は、前提条件901を更新する。具体的に、検証支援装置100は、選択したユースケースの事後条件で前提条件901を更新し、前提条件1001とする。前提条件1001は、前提条件901から比較して、内部電源状態の値が更新される。
前提条件1001は、「内部電源状態==B&&INPUT1==1&&INPUT2==1&&INPUT3==1&&OUTPUT1==L&&OUTPUT2==L&&OUTPUT3==L&&OUTPUT4==H&&OUTPUT5==H」となる。
ユースケースU#6を選択することにより、目的のユースケースに到達したため、検証支援装置100は、検証支援装置100は、テストパターンを出力する。図10の例では、検証支援装置100は、“初期状態→U#1→U#2&U#3→U#4&U#5→U#6”を出力する。また、検証支援装置100は、テストパターンと併せて、入力イベントの変更順序を出力してもよい。たとえば、図10の例では、検証支援装置100は、“入力端子INPUT1を0→1に変化させる”、“入力端子INPUT2を0→1に変化させる”、“入力端子INPUT3を0→1に変化させる”、という文字列を順に出力する。
次に、図11において、ユースケースの検証順序の決定の他の例を示す。図11において、初期状態は利用者により指定される。また、目的のユースケースは、利用者によりU#6に指定されたものとする。
図11は、ユースケース検証順序の決定の他の例を示す説明図である。図11では、ユースケースU#1〜ユースケースU#8がある状態において、ユースケース検証順序の決定の他の例について説明する。ユースケースU#1〜ユースケースU#6については、図6で事前条件および事後条件を抽出したユースケースU#1〜ユースケースU#6と同一である。ユースケースU#7と、ユースケースU#8とについては、図11の(A)で示す通りである。
次に、図11の(B)を用いて、ユースケースU#1〜ユースケースU#8の検証順序の決定例について説明する。初めに、検証支援装置100は、初期状態と、全てのユースケースとをノードに設定する。図11の例では、検証支援装置100は、初期状態を、ノードnIniに設定する。さらに、検証支援装置100は、ユースケースU#1〜ユースケースU#8を、それぞれ、ノードnU#1〜ノードnU#8に設定する。
次に、検証支援装置100は、初期状態のノードと、入力値および出力値の初期値と一致する事前条件を有するユースケースのノードと、をエッジで接続する。図11の例では、検証支援装置100は、ノードnIniと、ノードnU#1とをエッジe1で接続する。また、このとき、初期値と一致する事前条件を有するユースケースが複数あれば、検証支援装置100は、初期状態のノードと一致する事前条件を有する複数のユースケースのノードそれぞれをエッジで接続する。また、このとき、検証支援装置100は、初期値と一致する事前条件を有する複数のユースケースに対して、ユースケースをグループ化してもよい。グループ化を行う条件は、図8に記述した。グループ化されたユースケースのノードは、1つのノードとして扱う。
続けて、検証支援装置100は、エッジで接続したユースケースノードの事後条件と一致する事前条件を有するユースケースのノードと、をエッジで接続する。このとき、エッジで接続したユースケースノードの事後条件と一致する事前条件を有するユースケースが複数あれば、検証支援装置100は、エッジで接続したユースケースのノードと複数のユースケースのノードそれぞれをエッジで接続する。検証支援装置100は、目的のユースケースのノードに接続するまで、エッジでノードを接続することを繰り返す。
図11の例では、検証支援装置100は、ノードnU#1と、ノードnU#2とをエッジで接続する。さらに、検証支援装置100は、ノードnU#1と、ノードnU#3とをエッジで接続する。
また、検証支援装置100は、エッジで接続したユースケースノードの事後条件と一致する事前条件を有する複数のユースケースに対して、ユースケースをグループ化してもよい。グループ化されたユースケースのノードは、グループ化して1つのノードとして扱う。図11の例では、検証支援装置100は、ユースケースU#2と、ユースケースU#3とをグループ化し、ノードnU#2とノードnU#3とをグループ化して1つのノードnUg#1として扱う。そして、検証支援装置100は、ノードnU#1とノードnUg#1とを、エッジe2で接続する。
同様に、検証支援装置100は、ノードnUg#1と、ノードnU#4とノードnU#5とをグループ化したノードnUg#2とを、エッジe3で接続する。さらに、検証支援装置100は、ノードnUg#1と、ノードnU#7とを、エッジe4で接続する。さらに、検証支援装置100は、ノードnU#7と、ノードnU#8とを、エッジe5で接続する。さらに、検証支援装置100は、ノードnU#8と、ノードnUg#2とを、エッジe6で接続する。さらに、検証支援装置100は、ノードnUg#2と、ノードnU#6を、エッジe7で接続する。
各ノードをエッジで接続した後、検証支援装置100は、初期状態のノードnIniをユースケースの検証順序が確定したことを示す確定状態に設定し、ノードnU#1〜ノードnU#8をユースケースの検証順序が確定していないことを示す未確定状態に設定する。各ノードの確定状態となった順序が、対応するユースケースの検証順序を表すことになる。検証支援装置100は、確定状態のノードとエッジで接続されたノードを確定状態に設定していく。
図11の(B)は、ノードnUg#1が確定状態に設定された状態を示す。確定状態のノードとエッジで接続されたノードが複数ある場合、検証支援装置100は、接続されたノードのコストを算出し、コストが最小となるノードを確定状態に設定する。ここで、ノードのコストは、目的のユースケースへの近さを示しており、具体的には、目的のユースケースの事前条件のうちの、接続されたノードの事後条件により満たされない条件の数となる。
たとえば、ノードnUg#2のコストと、ノードnU#7のコストの算出例を示す。目的のユースケースとなるユースケースU#6の事前条件は、1つ目の条件“内部電源モード==A”と、2つ目の条件“OUTPUT4==H”と、3つ目の条件“OUTPUT5==H”と、がある。ここで、ノードnUg#2のコストは、ノードnUg#2の事後条件により、2つ目の条件と3つ目の条件とが満たされることから、3−2=1となる。一方、ノードnU#7のコストは、ノードnU#7の事後条件により、2つ目の条件が満たされることから、3−1=2となる。したがって、検証支援装置100は、コストが小さいノードnUg#2を確定状態に設定する。
ノードnUg#2を確定状態に設定した後、検証支援装置100は、目的のユースケースのノードであるノードnU#6を確定状態に設定する。目的のユースケースに到達したため、検証支援装置100は、ユースケースの検証順序として、初期状態→U#1→U#2&U#3→U#4&U#5→U#6を出力する。
次に、図12〜図18を用いて、検証支援装置100が実行するフローチャートについて説明する。
図12は、テストパターン生成処理手順の一例を示すフローチャートである。テストパターン生成処理は、テストパターンを生成する処理である。検証支援装置100は、事前条件および事後条件抽出処理を実行する(ステップS1201)。事前条件および事後条件抽出処理の詳細は、図13にて後述する。次に、検証支援装置100は、抽出されたユースケース群から、目的のユースケースの指定を受け付ける(ステップS1202)。続けて、検証支援装置100は、初期状態の指定を受け付ける(ステップS1203)。ステップS1202とステップS1203の処理について、検証支援装置100は、検証支援装置100の利用者によるキーボード208やキーボード208の操作結果から、目的のユースケースの指定や初期状態の指定を受け付ける。
次に、検証支援装置100は、ユースケース検証順序の決定処理を実行する(ステップS1204)。ユースケース検証順序の決定処理の詳細として、図14および図15を用いて一つの例を示し、図17および図18を用いて他の例を示す。ステップS1204の処理終了後、検証支援装置100は、テストパターン生成処理を終了する。テストパターン生成処理を実行することにより、検証支援装置100は、ユースケースの検証順序を示すテストパターンを生成することができる。
図13は、事前条件および事後条件抽出処理手順の一例を示すフローチャートである。事前条件および事後条件抽出処理は、単機能単位ユースケーステーブル402からユースケースの事前条件と事後条件とを抽出する処理である。
検証支援装置100は、単機能単位ユースケーステーブル402の先頭のレコードを選択する(ステップS1301)。次に、検証支援装置100は、選択したレコードから抽出したユースケース名と、空の事前条件と、空の事後条件とを含むユースケースを生成する(ステップS1302)。また、図16に示すユースケースグループ化処理を実行する場合、検証支援装置100は、生成したユースケースに、選択したレコードの入力アクター、入力イベント、入出力アクター以外の事前条件、出力アクター、および出力イベントを含める。
続けて、検証支援装置100は、選択したレコードから抽出した入力イベントが起こる前の入力アクターの入力値を事前条件に追加する(ステップS1303)。次に、検証支援装置100は、選択したレコードから抽出した出力イベントが起こる前の出力アクターの出力値を事前条件に追加する(ステップS1304)。続けて、検証支援装置100は、選択したレコードから抽出した入出力アクター以外の事前条件を事前条件に追加する(ステップS1305)。
次に、検証支援装置100は、選択したレコードから抽出した入力イベントが起きた後の入力アクターの入力値を事後条件に追加する(ステップS1306)。続けて、検証支援装置100は、選択したレコードから抽出した出力イベントが起きた後の出力アクターの出力値を事後条件に追加する(ステップS1307)。
次に、検証支援装置100は、単機能単位ユースケーステーブル402の全てのレコードを選択したか否かを判断する(ステップS1308)。選択していないレコードがある場合(ステップS1308:No)、検証支援装置100は、次のレコードを選択する(ステップS1309)。そして、検証支援装置100は、ステップS1302の処理に移行する。
全てのレコードを選択した場合(ステップS1308:Yes)、検証支援装置100は、事前条件および事後条件抽出処理を終了する。事前条件および事後条件抽出処理を実行することにより、検証支援装置100は、ユースケースの事前条件と事後条件を抽出することができる。
図14は、ユースケース検証順序の決定処理手順の一例を示すフローチャート(その1)である。また、図15は、ユースケース検証順序の決定処理手順の一例を示すフローチャート(その2)である。図14および図15で示すユースケース検証順序の決定処理は、ユースケースの検証順序を決定する処理である。
検証支援装置100は、初期状態を前提条件に設定する(ステップS1401)。次に、検証支援装置100は、選択されていないユースケース群のうちの、前提条件が全ての事前条件を満たすユースケース群を検出する(ステップS1402)。続けて、検証支援装置100は、ユースケースグループ化処理を実行する(ステップS1403)。ユースケースグループ化処理は、図16にて後述する。
ステップS1403、または図15に示すステップS1503の処理終了後、検証支援装置100は、検出したユースケースがあるか否かを判断する(ステップS1404)。検出したユースケースがない場合(ステップS1404:No)、検証支援装置100は、図15に示すステップS1501の処理に移行する。
検出したユースケースがある場合(ステップS1404:Yes)、検証支援装置100は、テストパターンの最後尾で検証するユースケースがユースケース候補か否かを判断する(ステップS1405)。ユースケース候補は、後述するステップS1409の処理にて設定する。テストパターンの最後尾で検証するユースケースがユースケース候補である場合(ステップS1405:Yes)、検証支援装置100は、検証支援装置100は、ユースケース候補を、テストパターンの最後尾で検証するユースケースとして選択する(ステップS1406)。
ステップS1406の処理終了後、またはテストパターンの最後尾で検証するユースケースがユースケース候補でない場合(ステップS1405:No)、検証支援装置100は、検出したユースケースの個数が次のいずれに一致するかを判断する(ステップS1407)。検出したユースケースの個数が1つである場合(ステップS1407:1つ)、検証支援装置100は、検出したユースケースを、テストパターン内の最後尾で検証するユースケースの次に検証するユースケースとして選択する(ステップS1408)。
一方、検出したユースケースの個数が複数である場合(ステップS1407:複数)、検証支援装置100は、検出したユースケースのうちのいずれかを、テストパターンの最後尾で検証するユースケースの次に検証するユースケース候補として選択する(ステップS1409)。
ステップS1408、またはステップS1409の実行終了後、検証支援装置100は、選択したユースケースの事後条件で前提条件を更新する(ステップS1410)。次に、検証支援装置100は、選択したユースケースが目的のユースケースか否かを判断する(ステップS1411)。選択したユースケースが目的のユースケースでない場合(ステップS1411:No)、検証支援装置100は、ステップS1402の処理に移行する。
選択したユースケースが目的のユースケースである場合(ステップS1411:Yes)、検証支援装置100は、検証支援装置100は、入力イベントの状態遷移と、テストパターンとを出力する(ステップS1412)。ステップS1412の処理終了後、検証支援装置100は、ユースケース検証順序の決定処理を終了する。
図15において、検証支援装置100は、全てのユースケースを選択したか否かを判断する(ステップS1501)。まだ選択していないユースケースがある場合(ステップS1501:No)、検証支援装置100は、テストパターンの最後尾で検証するユースケース候補を解除する(ステップS1502)。次に、検証支援装置100は、前提条件を、ユースケース候補が解除された状態に更新する(ステップS1503)。
ここで、ステップS1502とステップS1503の処理の具体例を示す。まず、テストパターンの最後尾のユースケースがユースケースU#1であり、ステップS1402の処理にて、検証支援装置100が、ユースケースU#2とユースケースU#3を検出したとする。そして、ステップS1409の処理にて、検証支援装置100が、ユースケースU#2を、テストパターンの最後尾で検証するユースケースU#1の次に検証するユースケース候補として選択したとする。続けて、検証支援装置100は、ステップS1411の処理にて、Noのルートを実行し、再びステップS1402の処理を実行する。ステップS1402の処理を実行した結果、ユースケースを検出しなかった場合、検証支援装置100は、ステップS1404の処理にて、Noのルートを実行する。
続けて、検証支援装置100は、ユースケースU#2が選択されていないため、ステップS1501の処理にて、Noのルートを実行し、ステップS1502の処理にて、ユースケースU#2を解除する。次に、検証支援装置100は、ステップS1503の処理にて、前提条件を、ユースケースU#2を解除した状態、すなわち、前提条件がユースケースU#1の事後状態で更新された状態に更新する。
ステップS1503の処理実行後、検証支援装置100は、ステップS1404の処理に移行する。一方、全てのユースケースを選択した場合(ステップS1501:Yes)、目的のユースケースに到達しなかったため、検証支援装置100は、検証対象101の仕様が異常である旨を出力する(ステップS1504)。ステップS1504の処理終了後、検証支援装置100は、ユースケース検証順序の決定処理を終了する。ユースケース検証順序の決定処理を実行することにより、検証支援装置100は、ユースケースの効率的な検証順序を提供することができる。
図16は、ユースケースグループ化処理手順の一例を示すフローチャートである。ユースケースグループ化処理は、ステップS1402にて検出したユースケースを対象にてグループ化する処理である。
検証支援装置100は、検出したユースケースのうちの、入力アクターの事前条件、事後条件、および入出力アクター以外の事前条件が同一のユースケースをグループ化する(ステップS1601)。次に、検証支援装置100は、グループ化したユースケースの出力アクターが全て異なるか否かを判断する(ステップS1602)。グループ化したユースケースの出力アクターが同一のものがある場合(ステップS1602:No)、検証支援装置100は、出力アクターが同一のユースケースをグループから除外する(ステップS1603)。
ステップS1603の処理終了後、またはグループ化したユースケースの出力アクターが全て異なる場合(ステップS1602:Yes)、検証支援装置100は、ユースケースグループ化処理を終了する。ユースケースグループ化処理を実行することにより、検証支援装置100は、複数のユースケースをグループ化することができる。
図17は、ユースケース検証順序の決定処理手順の他の例を示すフローチャート(その1)である。また、図18は、ユースケース検証順序の決定処理手順の他の例を示すフローチャート(その2)である。図17および図18で示すユースケース検証順序の決定処理は、ダイクストラ法を利用して、ユースケースの検証順序を決定する処理である。
検証支援装置100は、初期状態と、全てのユースケースとをノードに設定する(ステップS1701)。次に、検証支援装置100は、初期状態と、ユースケースの事前条件と事後条件とから、ノード同士をエッジで接続する(ステップS1702)。具体的な接続の方法は、図11にて示した。
ステップS1702の処理終了後、検証支援装置100は、初期状態のノードを確定状態に設定するとともに、各ユースケースのノードを未確定状態に設定する(ステップS1703)。次に、検証支援装置100は、初期状態のノードのコストを0に設定する(ステップS1704)。続けて、検証支援装置100は、目的のユースケースの事前条件と、各ユースケースの事後条件とから、各ユースケースのノードのコストを算出する(ステップS1705)。各ユースケースのノードのコストの算出例については、図11にて説明した。
ステップS1705の処理終了後、検証支援装置100は、確定状態のノードにエッジで接続された未確定状態のノードに目的のユースケースのノードが含まれるか否かを判断する(ステップS1801)。確定状態のノードにエッジで接続された未確定状態のノードに目的のユースケースのノードが含まれない場合(ステップS1801:No)、検証支援装置100は、確定状態のノードにエッジで接続された未確定状態のノードのうち、コストが最小のノードを選択する(ステップS1802)。続けて、検証支援装置100は、選択したノードを確定状態に設定する(ステップS1803)。続けて、検証支援装置100は、目的のユースケースの事前条件と、各ユースケースの事後条件とから、新たに確定状態に設定したノードにエッジで接続されたノードのコストを算出する(ステップS1804)。
次に、検証支援装置100は、未確定状態のノードがあるか否かを判断する(ステップS1805)。未確定状態のノードがある場合(ステップS1805:Yes)、検証支援装置100は、続けて、未確定状態のノードがある状態が所定回数続いたか否かを判断する(ステップS1806)。所定回数は、検証支援装置100の開発者や利用者により指定される値である。たとえば、ユースケースの数が多い場合、所定回数は大きい値が指定され、ユースケースの数が少ない場合、所定回数は小さい値が指定される。
未確定状態のノードがある状態が所定回数続いていない場合(ステップS1806:No)、検証支援装置100は、ステップS1801の処理に移行する。未確定状態のノードがある状態が所定回数続いた場合(ステップS1806:Yes)、目的のユースケースのノードに到達しなかったことになるため、検証支援装置100は、検証対象101の仕様が異常である旨を出力する(ステップS1807)。ステップS1807の処理終了後、検証支援装置100は、ユースケース検証順序の決定処理を終了する。
確定状態のノードにエッジで接続された未確定状態のノードに目的のユースケースのノードが含まれる場合(ステップS1801:Yes)、検証支援装置100は、目的のユースケースのノードを選択する(ステップS1808)。次に、検証支援装置100は、選択したノードを確定状態に設定する(ステップS1809)。
ステップS1809の処理終了後、または、全てのノードが確定状態である場合(ステップS1805:No)、検証支援装置100は、確定状態に設定したノードの選択順序をテストパターンに設定する(ステップS1810)。続けて、検証支援装置100は、入力イベントの状態遷移と、テストパターンとを出力する(ステップS1811)。ステップS1811の処理終了後、検証支援装置100は、ユースケース検証順序の決定処理を終了する。
ユースケース検証順序の決定処理を実行することにより、検証支援装置100は、ユースケースの検証順序を示すテストパターンを生成することができる。図17および図18が示すユースケース検証順序の決定処理では、ダイクストラ法を採用したが、A*アルゴリズムを採用してもよい。
さらに、図17および図18が示すユースケース検証順序の決定処理を実行することにより、検証支援装置100は、図14および図15が示すユースケース検証順序の決定処理より、検証するユースケースが少ないテストパターンを生成することができる。
また、本実施の形態にかかるユースケース検証順序の決定処理では、テストパターンを生成し終えた後に、未選択のユースケースがある場合がある。このとき、検証支援装置100は、未選択のユースケースに対して、ユースケース検証順序の決定処理を実行してもよい。
なお、本実施のユースケース検証順序の決定処理は、初期状態から開始して目的のユースケースまでの検証順序を、ユースケースを選択することにより決定した。逆に、検証支援装置100は、目的のユースケースから開始して初期状態までユースケースを選択していき、選択順序の逆を検証順序としてもよい。
以上説明したように、検証支援装置100によれば、検証対象の機能を表すユースケース間の事前条件と事後条件とのマッチングを行って連続実行するユースケースを選択する。これにより、検証支援装置100は、次に検証するユースケースに合わせて検証対象の状態を変更することになるため、検証作業の手間を削減し、検証作業の効率化を図ることができる。
また、検証支援装置100によれば、ユースケース群から第1のユースケースの事後条件と一致する事前条件を有する第2のユースケースを選択してもよい。これにより、検証支援装置100は、あるユースケースの機能を検証した後、入力値および出力値を変えずに、そのまま次のユースケースの機能を検証することができるため、検証者は効率的に検証作業を行うことができる。
また、検証支援装置100によれば、第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあれば、複数のユースケースから第1のユースケースの次に検証するユースケース候補を選択してもよい。そして、検証支援装置100は、ユースケース候補の事後条件と一致する事前条件を有するユースケースがあると判断した場合、ユースケース候補を前記第2のユースケースとして選択してもよい。これにより、検証支援装置100は、ユースケースを多く検証することができるテストパターンを生成することができる。
また、検証支援装置100によれば、第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあれば、複数のユースケースから第1のユースケースの次に検証するユースケース候補を選択してもよい。そして、検証支援装置100は、ユースケース候補の事後条件と一致する事前条件を有するユースケースがないと判断した場合、複数のユースケースから選択されていない未選択のユースケースをユースケース候補として選択してもよい。これにより、検証支援装置100は、ユースケース候補の事後条件と一致する事前条件を有するユースケースがないこと判断しない場合に比べ、ユースケースをより多く検証することができるテストパターンを生成する可能性が高くなる。
また、検証支援装置100によれば、第1のユースケースの事後条件と一致する事前条件を有するユースケースがないと判断した場合、ユースケース群から選択されたユースケースの選択順序を示す情報となるテストパターンを出力してもよい。これにより、検証者は、出力されたテストパターンに沿って検証作業を行うことにより、効率的に検証作業を行うことができる。
また、検証支援装置100によれば、第1のユースケースの事後条件と一致する事前条件を有するユースケースがなく、かつ選択されたユースケースに目的のユースケースが含まれなければ検証対象101の仕様が異常であることを示す情報を出力してもよい。この場合、目的のユースケースを実行する状態になることがないということになるため、検証者は、検証対象101の仕様に異常があることを知ることができる。
また、検証支援装置100によれば、第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがある場合に、複数のユースケースに特定のユースケースが含まれれば、特定のユースケースを前記第2のユースケースとして選択してもよい。これにより、検証支援装置100は、目的のユースケースに到達するまでに検証するユースケースの数が少ないテストパターンを生成することができる。検証するユースケースの数が少ないテストパターンの使用例としては、たとえば、検証作業にかけられる時間が短く、最低限の検証を行いたい場合である。また、検証対象101が複数あれば、検証するユースケースの数が少ないテストパターンを複数用意して、それぞれの検証対象101に対して、それぞれのテストパターンを並列に行うことにより、検証作業にかかる時間を短くすることができる。
また、第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあり、複数のユースケースに特定のユースケースが含まれなかったとする。このとき、検証支援装置100によれば、複数のユースケースの各々の事後条件と特定のユースケースの事前条件とに基づいて、複数のユースケースから前記第2のユースケースを選択してもよい。これにより、検証支援装置100は、目的のユースケースに到達するまでに検証するユースケースの数が少ないテストパターンを生成することができる。
また、検証支援装置100によれば、入力値および出力値の初期値と、ユースケース群の各々のユースケースの事前条件とに基づいて、ユースケース群から最初に検証するユースケースを選択してもよい。これにより、検証支援装置100は、最初に検証するユースケースを検証者が指定しなくてよくなり、検証作業の効率化を図ることができる。
また、検証支援装置100は、仕様から自動でテストパターンを生成することができるため、検証作業の工数を削減することができる。また、検証支援装置100は、仕様から自動でテストパターンを生成するため、検証漏れや検証ミスをなくすことができる。さらに、検証支援装置100は、テストパターンを生成した後、選択しなかったユースケースにてテストパターンを生成することを繰り返すことにより、最終的には全てのユースケースを選択することにより、テストの網羅率を向上させることができる。
なお、本実施の形態で説明した検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本検証支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本検証支援プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
検証対象の機能を表すユースケースごとに、前記ユースケースが表す機能の実行前に前記検証対象に入力する入力値および前記検証対象が出力する出力値が満たすべき事前条件と、前記ユースケースが表す機能の実行後に前記入力値および前記出力値が満たすべき事後条件と、を記憶する記憶部を参照して、ユースケース群から選択された第1のユースケースの事後条件と、前記第1のユースケースとは異なるユースケースの事前条件とに基づいて、前記ユースケース群から前記第1のユースケースの次に検証する第2のユースケースを選択する、
処理を実行させることを特徴とする検証支援プログラム。
(付記2)前記第2のユースケースを選択する処理は、
前記ユースケース群から前記第1のユースケースの事後条件と一致する事前条件を有する第2のユースケースを選択する、
ことを特徴とする付記1に記載の検証支援プログラム。
(付記3)前記コンピュータに、
前記ユースケース群から選択されていない未選択のユースケースのうちに前記第1のユースケースの事後条件と一致する事前条件を有するユースケースがあるか否かを判断し、
前記第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあると判断した場合、前記複数のユースケースから前記第1のユースケースの次に検証するユースケース候補を選択し、
前記ユースケース群から選択されていない未選択のユースケースのうちに前記ユースケース候補の事後条件と一致する事前条件を有するユースケースがあるか否かを判断する、処理を実行させ、
前記第2のユースケースを選択する処理は、
前記ユースケース候補の事後条件と一致する事前条件を有するユースケースがあると判断した場合、前記ユースケース候補を前記第2のユースケースとして選択することを特徴とする付記2に記載の検証支援プログラム。
(付記4)前記コンピュータに、
前記ユースケース候補の事後条件と一致する事前条件を有するユースケースがないと判断した場合、前記複数のユースケースから選択されていない未選択のユースケースを前記ユースケース候補として選択する、
処理を実行させることを特徴とする付記3に記載の検証支援プログラム。
(付記5)前記コンピュータに、
前記第1のユースケースの事後条件と一致する事前条件を有するユースケースがないと判断した場合、前記ユースケース群から選択されたユースケースの選択順序を示す情報を出力する、
処理を実行させることを特徴とする付記3または4に記載の検証支援プログラム。
(付記6)前記コンピュータに、
前記第1のユースケースの事後条件と一致する事前条件を有するユースケースがないと判断した場合、前記ユースケース群から選択されたユースケースに特定のユースケースが含まれるか否かを判断し、
前記ユースケース群から選択されたユースケースに前記特定のユースケースが含まれないと判断した場合、前記検証対象の仕様が異常であることを示す情報を出力する、
処理を実行させることを特徴とする付記3〜5のいずれか一つに記載の検証支援プログラム。
(付記7)前記コンピュータに、
前記第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあると判断した場合、前記複数のユースケースに特定のユースケースが含まれるか否かを判断する、処理を実行させ、
前記第2のユースケースを選択する処理は、
前記複数のユースケースに前記特定のユースケースが含まれると判断した場合、前記特定のユースケースを前記第2のユースケースとして選択することを特徴とする付記3〜6のいずれか一つに記載の検証支援プログラム。
(付記8)前記第2のユースケースを選択する処理は、
前記複数のユースケースに前記特定のユースケースが含まれないと判断した場合、前記複数のユースケースの各々の事後条件と特定のユースケースの事前条件とに基づいて、前記複数のユースケースから前記第2のユースケースを選択することを特徴とする付記7に記載の検証支援プログラム。
(付記9)前記コンピュータに、
前記入力値および前記出力値の初期値と、前記ユースケース群の各々のユースケースの事前条件とに基づいて、前記ユースケース群から最初に検証するユースケースを選択する、
処理を実行させることを特徴とする付記1〜8のいずれか一つに記載の検証支援プログラム。
(付記10)検証対象の機能を表すユースケースごとに、前記ユースケースが表す機能の実行前に前記検証対象に入力する入力値および前記検証対象が出力する出力値が満たすべき事前条件と、前記ユースケースが表す機能の実行後に前記入力値および前記出力値が満たすべき事後条件と、を記憶する記憶部を参照して、ユースケース群から選択された第1のユースケースの事後条件と、前記第1のユースケースとは異なるユースケースの事前条件とに基づいて、前記ユースケース群から前記第1のユースケースの次に検証する第2のユースケースを選択する、
処理を実行させる検証支援プログラムを記録したことを特徴とする記録媒体。
(付記11)検証対象の機能を表すユースケースごとに、前記ユースケースが表す機能の実行前に前記検証対象に入力する入力値および前記検証対象が出力する出力値が満たすべき事前条件と、前記ユースケースが表す機能の実行後に前記入力値および前記出力値が満たすべき事後条件と、を記憶する記憶部と、
前記記憶部を参照して、ユースケース群から選択された第1のユースケースの事後条件と、前記第1のユースケースとは異なるユースケースの事前条件とに基づいて、前記ユースケース群から前記第1のユースケースの次に検証する第2のユースケースを選択する選択部と、
を有することを特徴とする検証支援装置。
(付記12)検証対象の機能を表すユースケースごとに、前記ユースケースが表す機能の実行前に前記検証対象に入力する入力値および前記検証対象が出力する出力値が満たすべき事前条件と、前記ユースケースが表す機能の実行後に前記入力値および前記出力値が満たすべき事後条件と、を記憶する記憶部と、
前記記憶部を参照して、ユースケース群から選択された第1のユースケースの事後条件と、前記第1のユースケースとは異なるユースケースの事前条件とに基づいて、前記ユースケース群から前記第1のユースケースの次に検証する第2のユースケースを選択する選択部と、
を有するコンピュータを含むことを特徴とする検証支援装置。
(付記13)コンピュータが、
検証対象の機能を表すユースケースごとに、前記ユースケースが表す機能の実行前に前記検証対象に入力する入力値および前記検証対象が出力する出力値が満たすべき事前条件と、前記ユースケースが表す機能の実行後に前記入力値および前記出力値が満たすべき事後条件と、を記憶する記憶部を参照して、ユースケース群から選択された第1のユースケースの事後条件と、前記第1のユースケースとは異なるユースケースの事前条件とに基づいて、前記ユースケース群から前記第1のユースケースの次に検証する第2のユースケースを選択する、
処理を実行することを特徴とする検証支援方法。
U ユースケース
prec 事前条件
postc 事後条件
100 検証支援装置
101 検証対象
501 記憶部
502 判断部
503 ユースケース候補選択部
504 選択部
505 出力部

Claims (10)

  1. コンピュータに、
    検証対象の機能を表すユースケースごとに、前記ユースケースが表す機能の実行前に前記検証対象に入力する入力値および前記検証対象が出力する出力値が満たすべき事前条件と、前記ユースケースが表す機能の実行後に前記入力値および前記出力値が満たすべき事後条件と、を記憶する記憶部を参照して、ユースケース群から選択された第1のユースケースの事後条件と一致する事前条件を有するユースケースが前記ユースケース群から選択されていない未選択のユースケースのうちにあるか否かを判断し、
    前記第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあると判断した場合、前記複数のユースケースから前記第1のユースケースの次に検証するユースケース候補を選択し、
    前記ユースケース群から選択されていない未選択のユースケースのうちに前記ユースケース候補の事後条件と一致する事前条件を有するユースケースがあるか否かを判断し、
    前記ユースケース候補の事後条件と一致する事前条件を有するユースケースがあると判断した場合、前記ユースケース候補を前記第1のユースケースの次に検証する第2のユースケースとして選択する、
    処理を実行させることを特徴とする検証支援プログラム。
  2. 前記コンピュータに、
    前記ユースケース候補の事後条件と一致する事前条件を有するユースケースがないと判断した場合、前記複数のユースケースから選択されていない未選択のユースケースを前記ユースケース候補として選択する、
    処理を実行させることを特徴とする請求項1に記載の検証支援プログラム。
  3. 前記コンピュータに、
    前記第1のユースケースの事後条件と一致する事前条件を有するユースケースがないと判断した場合、前記ユースケース群から選択されたユースケースの選択順序を示す情報を出力する、
    処理を実行させることを特徴とする請求項1または2に記載の検証支援プログラム。
  4. 前記コンピュータに、
    前記第1のユースケースの事後条件と一致する事前条件を有するユースケースがないと判断した場合、前記ユースケース群から選択されたユースケースに特定のユースケースが含まれるか否かを判断し、
    前記ユースケース群から選択されたユースケースに前記特定のユースケースが含まれないと判断した場合、前記検証対象の仕様が異常であることを示す情報を出力する、
    処理を実行させることを特徴とする請求項1〜3のいずれか一つに記載の検証支援プログラム。
  5. 前記コンピュータに、
    前記第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあると判断した場合、前記複数のユースケースに特定のユースケースが含まれるか否かを判断する、処理を実行させ、
    前記第2のユースケースを選択する処理は、
    前記複数のユースケースに前記特定のユースケースが含まれると判断した場合、前記特定のユースケースを前記第2のユースケースとして選択することを特徴とする請求項1〜4のいずれか一つに記載の検証支援プログラム。
  6. 前記第2のユースケースを選択する処理は、
    前記複数のユースケースに前記特定のユースケースが含まれないと判断した場合、前記複数のユースケースの各々の事後条件と特定のユースケースの事前条件とに基づいて、前記複数のユースケースから前記第2のユースケースを選択することを特徴とする請求項5に記載の検証支援プログラム。
  7. 前記コンピュータに、
    前記入力値および前記出力値の初期値と、前記ユースケース群の各々のユースケースの事前条件とに基づいて、前記ユースケース群から最初に検証するユースケースを選択する、
    処理を実行させることを特徴とする請求項1〜6のいずれか一つに記載の検証支援プログラム。
  8. 前記記憶部は、検証対象の機能を表すユースケースごとに、前記ユースケースが表す機能の実行前に前記検証対象に入力する入力値および前記検証対象が出力する出力値が満たすべき複数の事前条件と、前記ユースケースが表す機能の実行後に前記入力値および前記出力値が満たすべき複数の事後条件と、を記憶しており、
    前記第2のユースケースを選択する処理は、
    前記ユースケース群から選択された第1のユースケースの複数の事後条件のうち、一致する割合が最も多い事前条件を有する第2のユースケースを選択する、
    ことを特徴とする請求項1〜7のいずれか一つに記載の検証支援プログラム。
  9. 検証対象の機能を表すユースケースごとに、前記ユースケースが表す機能の実行前に前記検証対象に入力する入力値および前記検証対象が出力する出力値が満たすべき事前条件と、前記ユースケースが表す機能の実行後に前記入力値および前記出力値が満たすべき事後条件と、を記憶する記憶部と、
    前記記憶部を参照して、ユースケース群から選択された第1のユースケースの事後条件と一致する事前条件を有するユースケースが前記ユースケース群から選択されていない未選択のユースケースのうちにあるか否かを判断する第1の判断部と、
    前記第1の判断部が前記第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあると判断した場合、前記複数のユースケースから前記第1のユースケースの次に検証するユースケース候補を選択する第1の選択部と、
    前記ユースケース群から選択されていない未選択のユースケースのうちに前記ユースケース候補の事後条件と一致する事前条件を有するユースケースがあるか否かを判断する第2の判断部と、
    前記第2の判断部が前記ユースケース候補の事後条件と一致する事前条件を有するユースケースがあると判断した場合、前記ユースケース候補を前記第1のユースケースの次に検証する第2のユースケースとして選択する第2の選択部と、
    を有することを特徴とする検証支援装置。
  10. コンピュータが、
    検証対象の機能を表すユースケースごとに、前記ユースケースが表す機能の実行前に前記検証対象に入力する入力値および前記検証対象が出力する出力値が満たすべき事前条件と、前記ユースケースが表す機能の実行後に前記入力値および前記出力値が満たすべき事後条件と、を記憶する記憶部を参照して、ユースケース群から選択された第1のユースケースの事後条件と一致する事前条件を有するユースケースが前記ユースケース群から選択されていない未選択のユースケースのうちにあるか否かを判断し、
    前記第1のユースケースの事後条件と一致する事前条件を有する複数のユースケースがあると判断した場合、前記複数のユースケースから前記第1のユースケースの次に検証するユースケース候補を選択し、
    前記ユースケース群から選択されていない未選択のユースケースのうちに前記ユースケース候補の事後条件と一致する事前条件を有するユースケースがあるか否かを判断し、
    前記ユースケース候補の事後条件と一致する事前条件を有するユースケースがあると判断した場合、前記ユースケース候補を前記第1のユースケースの次に検証する第2のユースケースとして選択する、
    処理を実行することを特徴とする検証支援方法。
JP2013082534A 2013-04-10 2013-04-10 検証支援プログラム、検証支援装置、および検証支援方法 Expired - Fee Related JP6102448B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013082534A JP6102448B2 (ja) 2013-04-10 2013-04-10 検証支援プログラム、検証支援装置、および検証支援方法
US14/189,075 US20140310248A1 (en) 2013-04-10 2014-02-25 Verification support program, verification support apparatus, and verification support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013082534A JP6102448B2 (ja) 2013-04-10 2013-04-10 検証支援プログラム、検証支援装置、および検証支援方法

Publications (2)

Publication Number Publication Date
JP2014206793A JP2014206793A (ja) 2014-10-30
JP6102448B2 true JP6102448B2 (ja) 2017-03-29

Family

ID=51687500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013082534A Expired - Fee Related JP6102448B2 (ja) 2013-04-10 2013-04-10 検証支援プログラム、検証支援装置、および検証支援方法

Country Status (2)

Country Link
US (1) US20140310248A1 (ja)
JP (1) JP6102448B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6606010B2 (ja) * 2016-05-09 2019-11-13 日本電信電話株式会社 単機能部化システム、単機能部化方法および単機能部化プログラム
JP6676495B2 (ja) * 2016-07-29 2020-04-08 日本電信電話株式会社 抽出装置および抽出方法
CN108197321B (zh) * 2018-02-02 2018-12-28 清华大学 文件存储方法及系统
JP7377456B2 (ja) * 2020-01-10 2023-11-10 マツダ株式会社 設備の検証装置及び検証方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819233A (en) * 1987-04-08 1989-04-04 Westinghouse Electric Corp. Verification of computer software
US5579234A (en) * 1994-03-11 1996-11-26 Physio-Control Corporation System for automatically testing an electronic device during quiescent periods
DE19651334A1 (de) * 1996-12-10 1998-06-25 Ericsson Telefon Ab L M Betriebstestvorrichtung und Verfahren zur Ausführung eines Betriebstests für ein zu testendes System
US6671874B1 (en) * 2000-04-03 2003-12-30 Sofia Passova Universal verification and validation system and method of computer-aided software quality assurance and testing
US20020062476A1 (en) * 2000-07-14 2002-05-23 Saxe James Benjamin Case-reduced verification condition generation system and method by use of dynamic single assumption and assigning labels to variables at control join points
US7134113B2 (en) * 2002-11-04 2006-11-07 International Business Machines Corporation Method and system for generating an optimized suite of test cases
US6883150B2 (en) * 2003-03-14 2005-04-19 Hewlett-Packard Development Company, L.P. Automatic manufacturing test case generation method and system
JP2005038253A (ja) * 2003-07-16 2005-02-10 Nec Electronics Corp テスト方法、テストシステム、及び、プログラム
US20050096864A1 (en) * 2003-10-31 2005-05-05 Bonilla Carlos A. Method and system for managing a testing task
US7457989B2 (en) * 2004-09-29 2008-11-25 Microsoft Corporation System and method for selecting test case execution behaviors for reproducible test automation
US7600169B2 (en) * 2004-11-12 2009-10-06 Hewlett-Packard Development Company, L.P. Systems and methods of test case generation with feedback
US7356436B2 (en) * 2005-02-02 2008-04-08 International Business Machines Corporation Method, system, and storage medium for estimating and improving test case generation
US7627312B2 (en) * 2005-02-03 2009-12-01 Satyam Computer Services Ltd. System and method for self-testing of mobile wireless devices
US7536607B2 (en) * 2005-02-25 2009-05-19 Microsoft Corporation Task sequence integration and execution mechanism with automated global condition checking and compensation
US7383519B2 (en) * 2005-03-08 2008-06-03 Kabushiki Kaisha Toshiba Systems and methods for design verification using selectively enabled checkers
US7984090B1 (en) * 2005-04-30 2011-07-19 GATeIC, Inc. Efficient function generator using case detection and output selection
JP2007102475A (ja) * 2005-10-04 2007-04-19 Dainippon Screen Mfg Co Ltd ソフトウェアシステムのテストケース抽出装置、テストケース抽出プログラムおよびテストケース抽出方法
US8561036B1 (en) * 2006-02-23 2013-10-15 Google Inc. Software test case management
JP4445480B2 (ja) * 2006-03-23 2010-04-07 富士通株式会社 シナリオ生成方法、シナリオ生成プログラム、シナリオ生成装置
US7729894B1 (en) * 2006-05-12 2010-06-01 The Mathworks, Inc. Test postcondition items for automated analysis and test generation
US20090198637A1 (en) * 2008-02-06 2009-08-06 Honeywell International, Inc. Methods and programs for use case management across domains
JP5107131B2 (ja) * 2008-04-28 2012-12-26 株式会社東芝 テストケース生成装置およびその生成方法、ならびにテストケース生成のためのプログラム
JP2010009384A (ja) * 2008-06-27 2010-01-14 Fujitsu Ltd 検証支援プログラム、検証支援装置、および検証支援方法
US8869111B2 (en) * 2009-01-15 2014-10-21 Infosys Limited Method and system for generating test cases for a software application
JP5149225B2 (ja) * 2009-03-16 2013-02-20 株式会社東芝 テストケース生成装置およびテストケース生成方法
JP5072889B2 (ja) * 2009-03-16 2012-11-14 株式会社東芝 事前条件生成装置および事後条件生成装置、ならびにこれらの方法
US8166319B2 (en) * 2009-07-02 2012-04-24 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for use-case aware voltage selection
US8887124B2 (en) * 2009-09-30 2014-11-11 Sap Se Validation of process models
JP5468615B2 (ja) * 2009-10-26 2014-04-09 株式会社東芝 事前条件生成装置およびその方法、ならびにプログラム
US8719793B2 (en) * 2010-12-08 2014-05-06 Nec Laboratories America, Inc. Scope bounding with automated specification inference for scalable software model checking
US20120227021A1 (en) * 2011-03-03 2012-09-06 Ninad Huilgol Method for selecting a test case and expanding coverage in a semiconductor design verification environment
WO2012167147A1 (en) * 2011-06-03 2012-12-06 Echostar Technologies L.L.C. Systems and methods for testing video hardware by evaluating output video frames containing embedded reference characteristics
US8893087B2 (en) * 2011-08-08 2014-11-18 Ca, Inc. Automating functionality test cases
US8826084B1 (en) * 2011-09-07 2014-09-02 Innovative Defense Technologies, LLC Method and system for implementing automated test and retest procedures
US8875064B2 (en) * 2013-03-15 2014-10-28 International Business Machines Corporation Automated design rule checking (DRC) test case generation

Also Published As

Publication number Publication date
JP2014206793A (ja) 2014-10-30
US20140310248A1 (en) 2014-10-16

Similar Documents

Publication Publication Date Title
US9021440B1 (en) System and method for automated test script generation
JP6102448B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
US20170235661A1 (en) Integration of Software Systems via Incremental Verification
JP5350428B2 (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
CN104765621B (zh) 一种在集群节点中部署程序的方法和系统
JP4908073B2 (ja) サービスベースソフトウェア設計支援方法及びそのための装置
CN110096263A (zh) Web前端代码自动生成方法及装置
US8914303B2 (en) System and method for direct manipulation of a triangular distribution of information using a graphical user interface
US8413109B2 (en) Systems and methods for metamodel transformation
US20170352073A1 (en) Platform configuration tool
KR101836333B1 (ko) 원자력 발전소의 노심설계 자동 검증 시스템
US8533616B2 (en) Time support for service adaptation
CN106484226A (zh) 图标的更新校验方法及装置
JP5731335B2 (ja) 2次元cadデータのためのオブジェクト抽出システム及びプログラム
JP5344658B2 (ja) 情報処理装置、その制御方法、及びプログラム
US11960868B2 (en) Branch objects for dependent optimization problems
Wijesinghe et al. Establishing traceability links among software artefacts
US9405514B1 (en) Process fragment management
JP2006277282A (ja) モデル評価解析システムおよびモデル評価解析プログラム
KR20220003383A (ko) 배송 구역 생성 장치 및 방법
JP5334124B2 (ja) 情報処理装置、その制御方法、及び、プログラム
US20190220252A1 (en) System and method for defining and generating requirement data from input
US10929589B1 (en) Generating routing structure for clock network based on edge intersection detection
US20230140365A1 (en) Automated circuit topology selection and configuration
US10902174B1 (en) Power and ground mesh modeling for placement in circuit design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170213

R150 Certificate of patent or registration of utility model

Ref document number: 6102448

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees