JP2014026458A - テストケース生成支援装置 - Google Patents

テストケース生成支援装置 Download PDF

Info

Publication number
JP2014026458A
JP2014026458A JP2012166164A JP2012166164A JP2014026458A JP 2014026458 A JP2014026458 A JP 2014026458A JP 2012166164 A JP2012166164 A JP 2012166164A JP 2012166164 A JP2012166164 A JP 2012166164A JP 2014026458 A JP2014026458 A JP 2014026458A
Authority
JP
Japan
Prior art keywords
level
factors
factor
test case
coverage
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.)
Granted
Application number
JP2012166164A
Other languages
English (en)
Other versions
JP5944258B2 (ja
Inventor
Takashi Nakano
隆司 中野
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012166164A priority Critical patent/JP5944258B2/ja
Publication of JP2014026458A publication Critical patent/JP2014026458A/ja
Application granted granted Critical
Publication of JP5944258B2 publication Critical patent/JP5944258B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】生成された組み合わせのテストケースをさらに効率化のために削減し、テストケースの質の向上を図ることのできるテストケース生成支援装置を提供する。
【解決手段】テスト対象となる機器あるいはシステムの機能に関する因子および各因子の取り得る水準を入力する入力部と、入力部で入力した因子および水準に基づいて、2因子間の組み合わせを網羅するように縦横に因子を配置した格子構造の2因子間網羅度マトリクスを生成するマトリクス作成部と、因子および水準から任意に選択した2変数の組み合わせをテストケースとして入力するテストケース入力部と、マトリクスに基づいて、2因子間の網羅度を算出する網羅度算出部と、因子および水準から任意に選択した2変数を互いに組み合わせて成る組み合わせテストを生成する組み合わせ生成部と、2因子間の網羅度が100%を満たすのに不要なテストケースを検出する検出部と、を備え、組み合わせ生成部で生成された組み合わせテストから、不要なテストケースを削除する。
【選択図】図1

Description

本発明の実施形態は、テストケース生成支援装置に関する。
近年、多くの機器がコンピュータ・ソフトウェアによって制御されている。機器の高機能化等が進み、機器の動作を制御するためのパラメータも数多くなっている。
ソフトウェアは、さまざまなパラメータの組み合わせにより、その挙動が異なってくる。これらパラメータの組み合わせを総当たりで行うことはテスト件数の爆発を招き、実際に行うのは多くの場合、不可能である。そこで、大規模、複雑化するソフトウェアの効率的な組み合わせテスト技法として、All-pair法のアルゴリズムや直交表が利用されている。
多くの機器における欠陥が、2つまでのパラメータが要因となって発生する事例はよく見られることである。そこで、2因子に着目して、パラメータの組み合わせを効率化することが行われる。
しかしながら、2因子間網羅度に着目して組み合わせのテストケースを作成する手法でも、生成されるテストケースの数が多くなり、さらに削減の要請がある。機械的に組み合わせを作成する場合には、出現頻度の高い組み合わせテストケースが出現しない可能性がある。また、機械的に組み合わせを作成する場合には、出現頻度の高い組み合わせテストケースが出現しない可能性があり、最もよく使用される組み合わせ条件でのテストが抜ける可能性がある等テストケースに人間の意図を埋め込むのが難しいだけでなく、人手でテストケースを新たに追加した場合に2因子間網羅度の視点では不要なテストケースが増えてしまうことがある。さらに、ありえない組み合わせである禁則が多々存在する場合に、禁則間に矛盾を生じることがある。
特開2006−252316号公報 特開2006−227958号公報 特開2004−288034号公報
本発明が解決しようとする課題は、生成された組み合わせのテストケースをさらに効率化のために削減し、テストケースの質の向上を図ることのできるテストケース生成支援装置を提供することである。
実施形態のテストケース生成支援装置は、テスト対象となる機器あるいはシステムの機能に関する因子および各因子の取り得る水準を入力する入力部と、前記入力部で入力した因子および水準に基づいて、2因子間の組み合わせを網羅するように縦横に因子を配置した格子構造の2因子間網羅度マトリクスを生成するマトリクス作成部と、前記因子および水準から任意に選択した2変数の組み合わせをテストケースとして入力するテストケース入力部と、前記マトリクスに基づいて、2因子間の網羅度を算出する網羅度算出部と、前記因子および水準から任意に選択した2変数を互いに組み合わせて成る組み合わせテストを生成する組み合わせ生成部と、
前記2因子間の網羅度が100%を満たすのに不要なテストケースを検出する検出部と、を備え、前記組み合わせ生成部で生成された組み合わせテストから、前記不要なテストケースを削除する。
第1の実施形態に係るテストケース生成支援装置の構成例を示す図である。 印刷設定の一例を示す図である。 第1の実施形態に係るテストケース生成支援装置による生成支援の処理の流れを示すフローチャートである。 因子および水準情報の一例を示す図である。 2因子間網羅度マトリクスの一例を示す図である。 入力した既存テストケースの一例を示す図である。 2因子間網羅度の算出を説明する図である。 不要なテストケースの検出を説明する図である。 第2の実施形態に係るテストケース生成支援装置の構成例を示す図である。 第2の実施形態に係るテストケース生成支援装置による生成支援の処理の流れを示すフローチャートである。 禁則情報の一例を示す図である。 生成したテストケースの一例を示す図である。 変更可能水準の検出の一例を示す図である。 第3の実施形態に係るテストケース生成支援装置の構成例を示す図である。 第3の実施形態に係るテストケース生成支援装置による生成支援の処理の流れを示すフローチャートである。 禁則情報入力部から入力した禁則情報の一例を示す図である。 禁則の矛盾、漏れの検出および禁則の再入力を説明する図である。 第4の実施形態に係るテストケース生成支援装置による生成支援の処理の流れを示すフローチャートである。 除外因子および除外水準の設定の一例を示す図である。 除外因子および除外水準を考慮した2因子間網羅度マトリクスの一例を示す図である。 除外因子および除外水準を考慮したテストケースの生成例を示す図である。 単機能網羅テストの一例を示す図である。 算出した2因子間網羅度の一例を対比して示すものである。
以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
まず、本実施形態で用いる主要な用語について説明する。
「テストケース」とは、検査対象である機器やシステムをソフトウェアで実行するテストの実施の単位である。一般に、1つのテストケースには、チェックポイントや操作手順(イベントのシーケンス)と、その操作手順で検査対象である機器やシステムをテストした結果の期待値(状態遷移のシーケンス)等を記録する。本実施形態においては、期待値等は考慮せず、組み合わせの入力をテストケースという。
「既存テストケース」とは、他のテストケース生成装置あるいは生成手法によって、生成済みのテストケースである。本実施形態では、既存テストケースをさらに効率的にかつ品質を向上させつつ削減する。
「組み合わせテスト」とは、2つ以上の変数を互いに組み合わせて実施するテスト技法である。
「ペア構成テスト」とは、任意の2変数のすべての組み合わせをテストするテスト技法である。2変数のすべての組み合わせを作成するため「All-pair法のアルゴリズム」や「直交表」が利用できる。直交表は、任意の2因子間の組み合わせが同数回ずつ出現するような割付のための表である。All-pair法は、任意の2因子間の組み合わせが最低1回出現する。本実施形態で取り扱う組み合わせテストは、ペア構成テストである。
「因子」とは、組み合わせテストの元になる条件項目、変数、パラメータなどの要因である。
「水準」とは、選択肢、パラメータの値などの因子の要素である。
「2因子間網羅度」とは、可能な2因子間の組み合わせのうち、どの程度カバーされるかを表す網羅率である。2因子間網羅度は、禁則を除くすべての任意の2因子間の水準どうしの組み合わせを分母とし、用意したテストケースに含まれる2因子間の水準どうしの組み合わせを分子として算出する。
「禁則」とは、組み合わせることのできないパラメータの入力である。
本実施形態に係るテストケース生成支援装置は、演算処理装置(CPU)、主メモリ(RAM)、読出し専用メモリ(ROM)、入力装置(例えば、キーボード、操作パネルなど)、ハードディスク装置や半導体メモリであるフラッシュメモリを使用したソリッドステートドライブ(SSD)装置等の記憶装置を具備したパーソナル・コンピュータやワークステーション等の汎用計算機を用いることができ、テストケース生成支援用の処理プログラムをインストールすることにより実現できる。
(第1の実施形態)
第1の実施形態では、2因子間網羅度を確認し、2因子間網羅度が100%を満たすのに不要なテストケースを抽出して当該テストケースの削除を行うものである。
図1は、第1の実施形態に係るテストケース生成支援装置の構成例を示す図である。第1の実施形態に係るテストケース生成支援装置100は、主として因子・水準情報入力部10と、網羅度マトリクス作成部11と、テストケース入力部12と、網羅度算出部13と、組み合わせ生成部14と、不要テストケース検出部15から構成されている。
因子・水準情報入力部10は、因子情報および水準情報を入力するものである。因子・水準情報入力部10は、ユーザが操作することにより因子や水準に関する情報を送信する装置で、例えば、キーボードやマウス等で構成することができる。
網羅度マトリクス作成部11は、因子・水準情報入力部10で入力した因子・水準情報に基づいて、2因子間の網羅2次元マトリクスを生成するものである。マトリクスは、要素を縦横に格子状に並べたもので、横の並びである行の事象と縦の並びである列の事象の交点の要素でその両者の事象の関連の有無を示す。マトリクスは、例えば、CSV形式等の表形式や、XML等のタグ形式で生成する。生成したマトリクスは、例えば図示しない表示部に表示させてもよいし、図示しないメモリ等の記憶部に記憶させてもよい。
テストケース入力部12は、既存のテストケースを入力するものである。テストケース入力部12は、ユーザが操作することによりテストケースに関する情報を送信する装置で、例えば、キーボードやマウス等で構成することができる。テストケースの形式は、例えば、CSV形式等の表形式や、XML等のタグ形式を使用することができる。
網羅度算出部13は、網羅度マトリクス作成部11で生成されたマトリクスに基づいて、2因子間の網羅度を算出するものである。
組み合わせ生成部14は、因子および水準から任意に選択した2変数を互いに組み合わせて成る組み合わせテストを生成するものである。
不要テストケース検出部15は、網羅度算出部13で算出された2因子間網羅度が100%を満たすのに不要なテストケースを検出して削除するためのものである。例えば、不要テストケース検出部15自体に表示部(図示しない)を備え、GUI情報として表示されるテストケースから、ユーザが操作することによって不要なテストケースを削除する。
次に、以上のように構成されたテストケース生成支援装置100による生成支援について説明する。
図2は、印刷設定の一例を示す図であり、印刷設定における各種組み合わせをテストする場合を例にして説明する。図2に示す印刷設定では、因子として「原稿サイズ」、「用紙サイズ」、「分割」、「カラー」がある。また、「原稿サイズ」の水準として「A4」、「A3」、「B5」があり、「用紙サイズ」の水準として「A4」、「A3」、「B5」があり、「分割」の水準として「なし」、「2分割」、「4分割」があり、「カラー」の水準として「白黒」、「グレー」、「カラー」がある。
図3は、第1の実施形態に係るテストケース生成支援装置による生成支援の処理の流れを示すフローチャートである。
まず、因子・水準情報入力部10から、図4に示すような因子および水準情報を入力する(ステップS31)。入力した因子および水準情報は、2因子間の網羅度マトリクスを作成する網羅度マトリクス作成部11に送られる。
次いで、網羅度マトリクス作成部11において、入力した因子および水準情報に基づき、2因子間網羅度マトリクスを作成する(ステップS32)。図6は、2因子間網羅度マトリクスの一例を示す図である。単純な2次元マトリクスを利用することですべての組み合わせは交叉するマス目に出現する。同じ因子同士の組み合せは、対角線上に出現している。2因子の順序を入れ替えた組み合わせは、対角線を対称軸として上下に出現している。作成した2因子間網羅度マトリクスの情報は、組み合わせ生成部14および網羅度算出部13に送られる。
次に、テストケース入力部12から、既存のテストケースを入力する(ステップS33)。図6は、入力した既存テストケースの一例を示す図である。この例では、テストケースの総数は10である。入力した既存テストケースの情報は、組み合わせ生成部14に送られる。
次いで、網羅度算出部13において、2因子間網羅度マトリクスの情報に基づいて2因子間網羅度を算出する(ステップS34)。図7は、2因子間網羅度の算出を説明する図である。図7において、2因子間網羅度マトリクスの中の数字は、用意したテストケースにおける2因子間の組み合わせの出現回数を表している。2回出現している組み合わせを除くことができるから、2因子間の全組み合わせは54通りであり、出現している組み合わせも54通りである。したがって、2因子間網羅度は100%となる。算出した2因子間網羅度の情報は、組み合わせ生成部14および不要テストケース検出部15に送られる。
そして、不要テストケース検出部15によって、2因子間網羅度が100%を満たすのに不要なテストケースの検出を実行する(ステップS35)。すなわち、当該テストケースを削除しても、2因子間網羅度が下がらないテストケースを検出する。
図8は、不要なテストケースの検出を説明する図である。入力済みの既存テストケースの10番目は、因子「原稿サイズ」の水準が「A4」、因子「用紙サイズ」の水準が「A4」、因子「分割」の水準が「4分割」、因子「カラー」の水準が「白黒」となっている。
図8に示すように、10番目の既存テストケースにおいて、それぞれの水準の組み合わせの出現回数が2以上になっている。そこで、出現回数が2以上のテストケースを削除して組み合わせの出現回数が1減っても、すべて組み合わせが1回以上出現していることになり、2因子間網羅度は下がらない。
不要なテストケースの検出は、Nt件のテストケースごとに以下の処理をNt回繰り返すことにより行う。
1)N個の因子に対して、i番目とj番目の因子の水準を取り出し、2因子間網羅マトリクス上の出現回数を確認(iは1からN-1、jはiからN)する。
2)上記すべてにおいて、禁則の組み合わせを除いて出現回数が2以上であった場合は、不要なテストケースとして検出する。
3)このテストケースを削除する否かの確認を行い、ユーザによる削除可の確認がとれたら、このテストケースを不要と決定する。
以上のようにして検出した不要なテストケースの情報は、組み合わせ生成部14に送られる。
組み合わせ生成部14では、以上のルーチンを経て、削除可能なテストケースを減らした組み合わせテストの結果を例えば、CSV形式等の表形式や、XML等のタグ形式で出力する。出力先は、例えば表示部や外部に接続する印刷装置(図示しない)が好適である。
第1の実施形態によれば、2因子間網羅度を減少させることなく、効率的にテストケースを削減することができる。
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態は、図2に示す印刷設定を例にとり、2因子間網羅度100%を満たす組み合わせのテストケースにおいて、変更可能な水準の検出や2因子間網羅度の状況を可視化するものである。
図9は、第2の実施形態に係るテストケース生成支援装置200の構成例を示す図である。第2の実施形態では、第1の実施形態の構成に加えて、禁則情報入力部16と変更可能水準検出部17を備えている。また、2因子間網羅度を表示させる表示部(図示しない)を備えることも好適である。
禁則情報入力部16は、組み合わせることのできない2変数の組み合わせを禁則情報として入力するものである。禁則情報入力部16は、ユーザが操作することにより禁則に関する情報を送信する装置で、例えば、キーボードやマウス等で構成することができる。入力した禁則情報は、組み合わせ生成部14に送られる。
変更可能水準検出部17は、別の水準に変更しても2因子間網羅度が下がらないような変更可能な水準を検出するものである。
図10は、第2の実施形態に係るテストケース生成支援装置200による生成支援の処理の流れを示すフローチャートである。
まず、因子・水準情報入力部10から、図4に示すような因子および水準情報を入力する(ステップS101)。入力した因子および水準情報は、網羅度マトリクス作成部11に送られる。
次いで、網羅度マトリクス作成部11において、入力した因子および水準情報に基づき、図5に示すような2因子間網羅度マトリクスを作成する(ステップS102)。
次に、禁則情報入力部16から、禁則情報を入力する(ステップS103)。図11は、禁則情報の一例を示す図である。この例では、因子「分割」の水準「4分割」に対する組み合わせとして、因子「カラー」の水準「カラー」を禁則として設定している。
次に、組み合わせ生成部14において、禁則の組み合わせが出現しないように、2因子間網羅度100%を満たす組み合わせのテストケースを生成する(ステップS104)。図12は、生成したテストケースの一例を示す図である。尚、ステップS104では、テストケース入力部12から既存のテストケースを入力してもよく、その場合、入力した既存テストケースの情報は、組み合わせ生成部14に送られる。
次いで、網羅度算出部13において、2因子間網羅度マトリクスの情報に基づいて2因子間網羅度を算出する(ステップS105)。ここでは、第1の実施形態と同様に、100%になる。
次に、変更可能水準検出部17において、別の水準に変更しても2因子間網羅度が下がることのない変更可能な水準を検出する(ステップS106)。図13は、変更可能水準の検出の一例を示す図である。
図12および図13によれば、因子「原稿」の水準が「A4」,因子「用紙」の水準が「B5」、因子「分割」の水準が「4分割」、因子「カラー」の水準が「白黒」である9番目のテストケースにおいて、因子「カラー」の水準「白黒」と他の因子の水準の出現回数が2以上になっている。すなわち、因子「カラー」の水準を別の水準に変更しても、出現回数がすべて1回以上出現していることになり、2因子間網羅度は下がらない。よって、図12に示すテストケースにおいて、因子「カラー」の水準は、変更可能であることを示している。
同様に、図12に示す10番目のテストケース、因子「分割」の水準が「なし」についても、別の水準に変更しても2因子間網羅度は下がらない。
以上を整理すると、Nt件のテストケースごとに、以下の処理をNt回繰り返すことにより、変更可能水準の検出を行うことができる。
1)まず、N個の因子に対して、i番目の因子の水準を取り出し、以下の処理をN回繰り返す。
i以外のj番目の因子の水準を取り出し、i番目の因子の水準とのテストマトリクス上の出現回数を判定する(jは1からN)。
上記すべてにおいて、禁則の組み合わせを除いて出現回数が2以上であった場合は、変更可能水準として検出する。
2)N番目の因子までの変更可能水準の検出が終わった後、再度i番目の因子の水準を取り出し、以下の処理をN回繰り返す。
i番目の因子の水準が変更可能水準ならば、i以外のj番目の因子の水準を取り出し、i番目の因子の水準とのテストマトリクス上の出現回数を1減らす(jは1からN)。
上記では、ステップS106の処理が完了後、テストケース生成支援処理を終了させている。しかしこれに限定されることはない。すなわち、ユーザの意図をより反映させるため、ステップS106で変更可能な水準を検出したら、ステップS104に戻って処理を続け、さらに変更可能な水準を検出することも好適である。
以上説明したように、第2の実施形態によれば、2因子間網羅度を減少させることなく変更可能な水準を抽出することができるので、ユーザの意図を反映させたテストケースを取得することができる。
(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態は、図2に示す印刷設定を例にとり、2因子間網羅度100%を満たす組み合わせのテストケースにおいて、禁則関係の矛盾、禁則の漏れを確認するものである。
図14は、第3の実施形態に係るテストケース生成支援装置300の構成例を示す図である。第3の実施形態では、第2の実施形態の構成に加えて、禁則矛盾検出部18を備えている。
禁則矛盾検出部18は、ユーザによって設定される禁則の矛盾あるいは禁則の漏れを検出するものである。
図15は、第3の実施形態に係るテストケース生成支援装置300による生成支援の処理の流れを示すフローチャートである。
まず、因子・水準情報入力部10から、図4に示すような因子および水準情報を入力する(ステップS151)。入力した因子および水準情報は、網羅度マトリクス作成部11に送られる。
次いで、網羅度マトリクス作成部11において、入力した因子および水準情報に基づき、2因子間網羅マトリクスを作成する(ステップS152)。
次に、禁則情報入力部16から、禁則情報を入力する(ステップS153)。図16は、禁則情報入力部16から入力した禁則情報の一例を示す図である。図16に示す例では、因子「原稿」の水準「A4」と因子「分割」の水準「4分割」の組み合わせ、因子「原稿」の水準「B5」と因子「分割」の水準「4分割」の組み合わせ、因子「原稿」の水準「A3」と因子「カラー」の水準「カラー」の組み合わせを禁則して入力している。
ところが、ここで入力した禁則情報は複雑なものであり、実は、因子「分割」の水準「4分割」、因子「カラー」の水準「カラー」の組み合わせの含まれるテストケースを作成しようとすると、原稿の水準が選べないという問題がある。これが矛盾関係であり、かような禁則は取り除かなければならない。
次に、既存のテストケースを入力(ステップS154)し、組み合わせ生成部14に送る。もちろん、既存のテストケースがない場合には、第2の実施形態のように、組み合わせ生成部14において生成する。
次いで、禁則の矛盾、漏れの検出を行う(ステップS155)。次に、禁則情報入力部16から、禁則情報を再入力する(ステップS156)。図17は、禁則の矛盾、漏れの検出および禁則の再入力を説明する図である。図17に示す例では、因子「分割」の水準「4分割」、因子「カラー」の水準「カラー」を禁則として入力し直す。尚、再入力は、ソフトウェア処理で行っても、ユーザがマニュアルで行うようしてもよい。
ここで、禁則の矛盾、禁則の漏れの検出について詳述する。
因子Bの水準B1、因子Cの水準C1において、例えば、因子A(水準A1,A2,A3)との禁則関係で、
1)水準A1と水準B1,C1の何れか(または、両方)が禁則
2)水準A2と水準B1,C1の何れか(または、両方)が禁則
3)水準A3と水準B1,C1の何れか(または、両方)が禁則
であるならば、水準B1と水準C1は禁則に成り得る。逆に言うならば、因子Aのどれかの水準と両方とも禁則でなければ禁則でなくてよい。
アルゴリズム的には、任意の2つの因子の水準の2因子間の組み合わせ(水準B1とC1、水準B1とC2等…)毎に、この2因子以外のすべての因子Xに対して上記関係が成立つものがないかをチェックする。すなわち、因子Xのすべての水準に対してチェックしている2つの水準の何れか(または、両方)が禁則になっていることを確認すればよい。禁則になっていなければ、禁則設定の漏れ、もしくは設定のミスということになる。
次に、禁則の矛盾の検出について詳述する。
N個の因子に対して、テストマトリクス上からi番目とj番目の因子を取り出し、以下の処理を繰り返す(iは1からN-1、jは、iからN)。
i番目の因子のFi番目の水準とj番目の因子のFj番目の水準が禁則でなければ、以下の処理を繰り返す(Fiは1からi番目の因子の水準数、Fjは、1からj番目の因子の水準数)。
i番目、j番目以外の因子k番目の因子を取り出して、以下の処理を繰り返す(kは、1からN)。
K番目の因子のFk番目の水準に対して、以下の処理を繰り返す(Fkは、k番目の因子の水準数)。
K番目の因子のFk番目の水準とi番目の因子のFi番目の水準、もしくは、j番目の因子のFj番目の水準が禁則となっていることを確認する。
上記すべてにおいて、禁則が存在すれば、禁則の矛盾として検出することになる。
さて、ここで、フローに戻ると、再入力した禁則情報を反映させ、組み合わせ生成部14において、組み合わせのテストケースを再生成する(ステップS157)。
上記したテストケース生成支援の処理では、網羅度の算出を行う処理は行っていない。しかし、例えばステップS156の処理後、2因子間網羅度の算出を行い、禁則情報の再入力の影響を確認することも好適である。
以上説明したように、第3の実施形態によれば、禁則関係の矛盾、禁則の漏れを確認することができるので、組み合わせテストケースの品質を向上させることができる。
(第4の実施形態)
次に、第4の実施形態について説明する。第4の実施形態は、図2に示す印刷設定を例にとり、2因子間網羅度100%を満たす組み合わせテストケースから、さらにテストケースの数を減らすために因子および水準の絞り込みを行うものである。図2に示す印刷設定において、そのまま2因子間網羅度100%を満たす組み合わせのテストケースを生成すると、その総数は16件になる。そこで、さらなる効率化によって総数を減じる。
第4の実施形態に係るテストケース生成支援装置の構成は、第1の実施形態に係る構成と同様とすることができる。図18は、第4の実施形態に係るテストケース生成支援装置による生成支援の処理の流れを示すフローチャートである。
まず、因子・水準情報入力部10から図4に示すような因子および水準情報を入力する(ステップS181)。入力した因子および水準情報は、網羅度マトリクス作成部11に送られる。
次いで、網羅度マトリクス作成部11において、入力した因子および水準情報に基づき、2因子間網羅マトリクスを作成する(ステップS182)。
次に、テストケース入力部12から既存のテストケースを入力(ステップS183)し、組み合わせ生成部14に送る。
次に、因子・水準情報入力部10において、組み合わせを考慮しない除外因子および除外水準の設定を行う(ステップS184)。尚、除外因子および除外水準の設定のため、因子・水準情報入力部10の他に、別途、除外因子・水準設定部(図示しない)を独立して設けてよい。
図19は、除外因子および除外水準の設定の一例を示す図である。図19に示す例では、組み合わせを考慮しない除外因子として、「アプリ」を設定している。また、組み合わせを考慮しない除外水準として、因子「原稿」における水準「B4」、因子「用紙」における水準「B4」、因子「分割」における水準「8分割」、因子「カラー」における水準「フルカラー」をそれぞれ設定する。
設定した除外因子および除外水準の情報は、網羅度マトリクス作成部11に送られる。
次に、網羅度マトリクス作成部11において、除外因子および除外水準を考慮した2因子間網羅マトリクスを作成する(ステップS185)。図20は、除外因子および除外水準を考慮した2因子間網羅マトリクスの一例を示す図である。除外因子は、因子の並びの最後、除外水準は、その因子の水準の並びの最後にしてマトリクスを作成するところに特徴がある。図20に示す例では、並びはそのままとなっている。
作成した2因子間網羅マトリクスの情報は、網羅度算出部13および組み合わせ生成部14に送られる。
次に、組み合わせ生成部14では、除外因子および除外水準を考慮したテストケースを生成する(ステップS186)。除外因子および除外水準以外の因子・水準の2因子網羅、および除外因子の水準、除外水準の単機能網羅をそれぞれ100%カバーする形でテストケースを生成する。図21は、除外因子および除外水準を考慮したテストケースの生成例を示す図である。図21に示す例では、10件のテストケースで除外水準を除いた「原稿」「用紙」「分割」「カラー」の2因子間網羅と除外水準として指定した原稿サイズ「B4」、用紙サイズ「B4」、分割「8分割」、カラー「フルカラー」の単機能網羅および「アプリ」の水準の単機能網羅をカバーしている。
第4の実施形態におけるテストケースの生成について整理すると以下のようになる。
まず、除外因子および除外水準に設定されていない因子・水準に関しては、既存のテストケース生成のアルゴリズムを用いて組み合わせを作成する。
次に、除外因子に設定されている因子に関しては、水準が最低1回出現するように上記作成した組み合わせに追加する。
次に、除外水準に設定されている水準に関しては、最低1回出現するように別途組み合わせを作成する。ただし、除外水準も含めて2因子網羅するようにテストケースを作成してもテストケースの総数が変わらない場合は、含めて作成する。
上記した単機能網羅テストとは、条件の値や機能の有無など抽出した水準が最低一度は含まれるテストを実施することを意味する。図22は、単機能網羅テストの一例を示す図である。抽出したすべての水準が1度は含まれるテストを実施することは、機器の動作を確認する上で最低限必要なことである。
次に、網羅度算出部13において、除外因子および除外水準を除いた2因子間網羅度の算出、および除外因子および除外水準も含めた2因子間網羅度の算出を切り換えて計算する(ステップS187)。2因子間網羅度の算出を切り換えることで、テストケースの追加の必要性や除外因子、除外水準の設定の見直しを行うことができる。
除外因子および除外水準を除いた2因子間網羅度の算出においては、すべての水準の組み合わせ数から除外因子のすべての水準および除外水準とその他の因子の水準の組み合わせ回数を引いたものを網羅度計算の分母とし、テストケースに含まれる水準の組み合わせで分子の数をカウントする際も、除外因子のすべての水準および除外水準とその他の因子の水準との組み合わせをカウントせずに2因子間網羅度を算出する。
一方、除外因子および除外水準も含めた2因子間網羅度の算出においては、すべての水準の組み合わせ数を網羅度計算の分母とし、テストケースに含まれる水準の組み合わせで分子の数をカウントし2因子間網羅度を算出する。
図23は、算出した2因子間網羅度の一例を対比して示すものである。図23に示すように、除外因子および除外水準を除いた2因子間網羅度は100%であるが、除外因子および除外水準も含めた2因子間網羅度は、65.28%となっている。
尚、除外因子および除外水準を考慮した場合、網羅度が100%よりも相当程度下回り、例えば60%を切るような場合には、ステップS194の除外因子および除外水準の設定からやり直すのが好適である。
以上説明したように、第4の実施形態によれば、指定の因子・水準を2因子間網羅の対象からはずし、単機能網羅のテストを実現し、テストの効率化を実現することができる。また、網羅度の算出方法を切り換えることにより、指定の因子、水準を2因子間網羅の対象からはずすことによる影響や是非の把握、テストケースの追加の必要性や除外因子、水準の設定の見直しを行うことができる。そして、さらなる効率化によってテストケース総数を減じることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100、200、300・・・テストケース生成支援装置
10・・・因子・水準情報入力部
11・・・網羅度マトリクス作成部
12・・・テストケース入力部
13・・・網羅度算出部
14・・・組み合わせ生成部
15・・・不要テストケース検出部
16・・・禁則情報入力部
17・・・変更可能水準検出部
18・・・禁則矛盾検出部

Claims (16)

  1. テスト対象となる機器あるいはシステムの機能に関する因子および各因子の取り得る水準を入力する入力部と、
    前記入力部で入力した因子および水準に基づいて、2因子間の組み合わせを網羅するように縦横に因子を配置した格子構造の2因子間網羅度マトリクスを生成するマトリクス作成部と、
    前記因子および水準から任意に選択した2変数の組み合わせをテストケースとして入力するテストケース入力部と、
    前記マトリクスに基づいて、2因子間の網羅度を算出する網羅度算出部と、
    前記因子および水準から任意に選択した2変数を互いに組み合わせて成る組み合わせテストを生成する組み合わせ生成部と、
    前記2因子間の網羅度が100%を満たすのに不要なテストケースを検出する検出部と、を備え、
    前記組み合わせ生成部で生成された組み合わせテストから、前記不要なテストケースを削除するテストケース生成支援装置。
  2. 前記マトリクスは、CSV形式の表形式又はXMLのタグ形式で生成する請求項1記載のテストケース生成支援装置。
  3. 前記テストケース入力部は、既に生成された既存のテストケースのデータを入力する請求項1又は請求項2記載のテストケース生成支援装置。
  4. 前記不要なテストケースの検出は、Nt件のテストケースごとに、
    1)N個の因子に対して、i番目とj番目の因子の水準を取り出し、2因子間網羅マトリクス上の出現回数を確認(iは1からN-1、jはiからN)し、
    2)上記すべてにおいて、禁則の組み合わせを除いて出現回数が2以上であった場合は、不要なテストケースとして検出する、
    の一連の処理をNt回繰り返す請求項1乃至請求項3のいずれか1項に記載のテストケース生成支援装置。
  5. 前記検出部は、テストケースをGUI情報として表示する表示部を備え、検出した不要なテストケースの削除をユーザの操作によって決定可能な請求項1乃至請求項4のいずれか1項に記載のテストケース生成支援装置。
  6. 前記不要なテストケースを削除した組み合わせテストの結果を表示する表示部を備える請求項1乃至請求項4のいずれか1項に記載のテストケース生成支援装置。
  7. 前記不要なテストケースを削除した組み合わせテストの結果を印字する印刷装置を備える請求項1乃至請求項4のいずれか1項に記載のテストケース生成支援装置。
  8. 組み合わせ不可能な2変数の組み合わせを禁則情報として入力する禁則情報入力部と、
    別の水準に変更しても2因子間網羅度が下がることのない変更可能な水準を検出する変更可能水準検出部と、を備え、
    前記組み合わせ生成部は、前記禁則情報にもとづいて禁則の組み合わせが出現しないように、2因子間網羅度100%を満たす組み合わせのテストケースを生成する請求項1記載のテストケース生成支援装置。
  9. 前記組み合わせ生成部は、前記変更可能水準検出部で検出した水準で2因子間網羅度100%を満たす組み合わせのテストケースを生成する請求項8に記載のテストケース生成支援装置。
  10. 前記変更可能な水準の検出は、Nt件のテストケースごとに、
    1)N個の因子に対して、i番目の因子の水準を取り出し、以下の処理をN回繰り返す、
    i以外のj番目の因子の水準を取り出し、i番目の因子の水準とのテストマトリクス上の出現回数を判定する(jは1からN)、
    上記すべてにおいて、禁則の組み合わせを除いて出現回数が2以上であった場合は、変更可能水準として検出する、
    2)N番目の因子までの変更可能水準の検出が終わった後、再度i番目の因子の水準を取り出し、以下の処理をN回繰り返す、
    i番目の因子の水準が変更可能水準ならば、i以外のj番目の因子の水準を取り出し、i番目の因子の水準とのテストマトリクス上の出現回数を1減らす(jは1からN)、
    の処理をNt回繰り返す請求項8又は請求項9記載のテストケース生成支援装置。
  11. ユーザによって設定される禁則の矛盾あるいは禁則の漏れを検出する禁則矛盾検出部を備え、
    前記検出した禁則の矛盾あるいは禁則の漏れに応じて、再入力した禁則情報に基づいて組み合わせテストを再生成する請求項1記載のテストケース生成支援装置。
  12. 前記禁則の漏れの検出は、
    因子Bの水準B1、因子Cの水準C1において、因子A(水準A1,A2,A3)との禁則関係が、
    1)水準A1と水準B1,C1の何れか(または、両方)が禁則
    2)水準A2と水準B1,C1の何れか(または、両方)が禁則
    3)水準A3と水準B1,C1の何れか(または、両方)が禁則
    であるならば、水準B1と水準C1は禁則に成り得ることを利用し、
    因子Xのすべての水準に対して組み合わせをチェックしている2つの水準の何れか又は両方が禁則になっていることを判定して行う請求項11記載のテストケース生成支援装置。
  13. 前記禁則情報の再入力後、2因子間網羅度の算出を行い、前記禁則情報の再入力の影響を判定する請求項11記載のテストケース生成支援装置。
  14. 組み合わせを考慮しない除外因子および除外水準の設定を行う除外因子・水準設定部を備え、
    ユーザが指定する因子・水準を2因子間網羅の対象からはずすことを可能とする請求項1記載のテストケース生成支援装置。
  15. 前記除外因子および除外水準以外の因子・水準の2因子網羅、および前記除外因子の水準、除外水準の単機能網羅をそれぞれ100%満たすようにテストケースを生成する請求項14記載のテストケース生成支援装置。
  16. 前記入力部は、前記除外因子・水準設定部を兼用する請求項14記載のテストケース生成支援装置。
JP2012166164A 2012-07-26 2012-07-26 テストケース生成支援装置 Active JP5944258B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012166164A JP5944258B2 (ja) 2012-07-26 2012-07-26 テストケース生成支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012166164A JP5944258B2 (ja) 2012-07-26 2012-07-26 テストケース生成支援装置

Publications (2)

Publication Number Publication Date
JP2014026458A true JP2014026458A (ja) 2014-02-06
JP5944258B2 JP5944258B2 (ja) 2016-07-05

Family

ID=50200043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012166164A Active JP5944258B2 (ja) 2012-07-26 2012-07-26 テストケース生成支援装置

Country Status (1)

Country Link
JP (1) JP5944258B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015156076A (ja) * 2014-02-20 2015-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 生成装置、生成方法、及び、プログラム
WO2015155881A1 (ja) * 2014-04-11 2015-10-15 株式会社 日立製作所 テストケースの選択を支援する情報処理システム、及びその制御方法
CN110069414A (zh) * 2019-04-25 2019-07-30 浙江吉利控股集团有限公司 回归测试方法及系统
JP2020119005A (ja) * 2019-01-18 2020-08-06 ソフトバンク株式会社 テストケースの作成支援装置及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844193B (zh) * 2016-12-17 2019-10-11 福建瑞之付微电子有限公司 一种嵌入式模块交叉测试的系统化设计方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6015045806; 中野 隆司 外2名: '"組み合わせテスト技術の導入・定着への取り組み、および上流設計への適用検討の事例"' SQiPシンポジウム2011論文 , 2011, [online] *
JPN6015045807; 小笠原秀人 外1名: '"組み合わせ技術利用したテストケース生成ツールと適用事例の紹介"' 「プロセス改善ベストプラクティス(テスト)」ワークショップ発表資料 , 2009, pp.1-25, [online] *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015156076A (ja) * 2014-02-20 2015-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 生成装置、生成方法、及び、プログラム
US10394676B2 (en) 2014-02-20 2019-08-27 International Business Machines Corporation Generation device, generation method, and program
WO2015155881A1 (ja) * 2014-04-11 2015-10-15 株式会社 日立製作所 テストケースの選択を支援する情報処理システム、及びその制御方法
JP2020119005A (ja) * 2019-01-18 2020-08-06 ソフトバンク株式会社 テストケースの作成支援装置及びプログラム
CN110069414A (zh) * 2019-04-25 2019-07-30 浙江吉利控股集团有限公司 回归测试方法及系统
CN110069414B (zh) * 2019-04-25 2023-05-30 浙江吉利控股集团有限公司 回归测试方法及系统

Also Published As

Publication number Publication date
JP5944258B2 (ja) 2016-07-05

Similar Documents

Publication Publication Date Title
JP5944258B2 (ja) テストケース生成支援装置
CN108427632B (zh) 自动测试方法及装置
US9262851B2 (en) Heat mapping of defects in software products
US20140013164A1 (en) Fault-based software testing method and system
US20200097351A1 (en) System and method for binned inter-quartile range analysis in anomaly detection of a data series
JP6109662B2 (ja) 運用管理装置、運用管理方法およびプログラム
JP2010211907A (ja) 制御装置、試験装置および制御方法
CN111176918A (zh) 一种服务器测试方法、系统、设备及计算机可读存储介质
JP2010192026A (ja) 不良解析方法、不良解析システムおよびメモリマクロシステム
JP2010113551A (ja) テスト計画表作成装置及びそのプログラム
KR101460860B1 (ko) 상태 기반의 테스트 시나리오 모델을 이용한 gui 테스트 장치 및 방법
JP5672165B2 (ja) テストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置
JP7439140B2 (ja) 人工知能を用いた適応型医用撮像装置の構成
JP2013148968A (ja) テストデータ生成装置、テストデータ生成プログラムおよびテストデータ生成方法
JP6661500B2 (ja) 情報生成システム、装置、方法、及びプログラム
JP5253684B1 (ja) Plcシステム設計装置
JP2012155517A (ja) モデル検査装置、モデル検査方法およびモデル検査プログラム
KR101964454B1 (ko) 데이터에 내재된 문제점 제거를 통한 데이터 정제 장치 및 방법
CN100382042C (zh) 主动产生测试脚本的系统及方法
JP6217383B2 (ja) 試験方法、テストパターン生成方法、試験装置、テストパターン生成装置及びプログラム
JP5812941B2 (ja) プログラム試験装置
CN113220596B (zh) 应用的测试方法、装置、设备、存储介质及程序产品
JP6949441B2 (ja) ベクタ適正化装置及びベクタ適正化用プログラム
JP2014203125A (ja) パターン化装置及び方法
JP7306022B2 (ja) データ記録装置、データ記録方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151217

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: 20160426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160525

R151 Written notification of patent or utility model registration

Ref document number: 5944258

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151