(57)【要約】【課題】効率的な組み合わせテストを実現することにより、本テストを行う際のコストを低減することのできるテスト方法及びテスト装置を提供する。【解決手段】  上記課題を解決するため、複数のパラメータを含むシステムを対象として、上記パラメータを変数とする複数回のテストを試行するテスト方法であって、それぞれのパラメータが採り得る各選択肢に、上記システムにおける重要度に応じた重みを付するステップＳ１と、上記試行の回数をできるだけ少なくする第１の基準と、上記重みに応じてテストを行う順番を決定する第２の基準と、上記試行において上記選択肢が採用される頻度を上記重みに応じて決定する第３の基準のうち、少なくとも二つの基準を考慮して、テストの内容及び順序を決定するステップＳ２を有するテスト方法を提供する。【選択図】  図１
2016051244.tif 000002
【特許請求の範囲】
【請求項１】
複数のパラメータを含むシステムを対象として、前記パラメータを変数とする複数回のテストを試行するテスト方法であって、
それぞれの前記パラメータが採り得る各選択肢に、前記システムにおける重要度に応じた重みを付する第１のステップと、
前記試行の回数をできるだけ少なくする第１の基準と、前記重みに応じて前記テストを行う順番を決定する第２の基準と、前記試行において前記選択肢が採用される頻度を前記重みに応じて決定する第３の基準のうち、少なくとも二つの前記基準を考慮して、前記テストの内容及び順序を決定する第２のステップとを有するテスト方法。
【請求項２】
前記第２のステップは、
前記第１から前記第３までの三つの前記基準について優先順を決定する基準優先度決定ステップと、
前記基準優先度決定ステップで決定された前記優先順で前記三つの前記基準を適用することにより前記テストの内容及び順序を決定する請求項１に記載のテスト方法。
【請求項３】
前記基準優先度決定ステップでは、前記優先順を前記第１から前記第３の基準の順と決定する請求項２に記載のテスト方法。
【請求項４】
複数のパラメータを含むシステムを対象として、前記パラメータを変数とする複数回のテストを試行するテスト方法であって、
それぞれの前記パラメータが採り得る各選択肢に、前記システムにおける重要度に応じた重みを付する第１のステップと、
採りうる前記テスト、又は予め選択された前記テストのうちで、前記選択肢の新たな組み合わせを最も多く含むテストをリストアップする第２のステップと、
前記第２のステップでリストアップされた前記テストが一つか否かを判断する第３のステップと、
前記第３のステップで一つでないと判断された場合には、前記新たな組み合わせが有する前記重みの総和が最大となる前記テストをリストアップする第４のステップと、
前記第４のステップでリストアップされた前記テストが一つか否かを判断する第５のステップと、
前記第５のステップで一つでないと判断された場合には、前記第４のステップでリストアップされた前記テストの中から前記各選択肢の出現頻度の分布と前記重みに応じた前記各選択肢の出現頻度の理想分布との差が最小となるテストを一つ選択する第６のステップと、
前記第３、第５若しくは第６のステップで前記テストが一つ特定されたとき、特定された前記テストを新たな前記テストとして採用する第７のステップと、
前記第７のステップで採用された前記テストを要素とする集合が、前記選択肢の採り得る全ての組み合わせを網羅しているか否かを判断する第８のステップと、
前記第８のステップで網羅していないと判断された場合には前記第２のステップへ戻ると共に、網羅していると判断された場合には新たな前記テストの採用を終了するテスト方法。
【請求項５】
前記複数のパラメータは、前記システムを構成するハードウェアについての前記パラメータと、前記システムを構成するソフトウェアについての前記パラメータとを含む請求項１から４のいずれかに記載のテスト方法。
【請求項６】
複数のパラメータを含むシステムを対象として、前記パラメータを変数とする複数回のテストを試行するためのテスト装置であって、
それぞれの前記パラメータが採り得る各選択肢に、前記システムにおける重要度に応じた重みを付する重み付与手段と、
採りうる前記テスト、又は予め選択された前記テストのうちで、前記選択肢の新たな組み合わせを最も多く含むテストをリストアップするテスト数最小化手段と、
前記テスト数最小化手段によりリストアップされた前記テストが一つでない場合には、前記新たな組み合わせが有する前記重みの総和が最大となる前記テストをリストアップする重み最大化手段と、
前記重み最大化手段によりリストアップされた前記テストが一つでない場合には、前記重み最大化手段によりリストアップされた前記テストの中から前記各選択肢の出現頻度の分布と前記重みに応じた前記各選択肢の出現頻度の理想分布との差が最小となるテストを一つ選択する分布差最小化手段と、
前記テスト数最小化手段、前記重み最大化手段若しくは前記分布差最小化手段で一つに特定された前記テストを要素とする集合を形成する採用テスト集合形成手段と、
前記採用テスト集合形成手段により形成された前記集合が、前記選択肢の採り得る全ての組み合わせを網羅しているか否かを判断し、網羅していると判断された場合には新たな前記テストの採用を終了する判断手段とを備えたテスト装置。
【請求項７】
前記複数のパラメータは、前記システムを構成するハードウェアについての前記パラメータと、前記システムを構成するソフトウェアについての前記パラメータとを含む請求項６に記載のテスト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の構成要素からなるシステムをテストするための方法及び装置に関するものである。
【背景技術】
【０００２】
従来から、ハードウェア及びソフトウェアにより構成されるシステムに生じる不具合を検出するために組み合わせテストが広く行われている。
【０００３】
なお、一般的に組み合わせテストは、上記システムの構成要素若しくは入力するパラメータ値の組み合わせを変えつつ複数回のテストを試行することによって、当該システムの不具合を検出するものとされている。
【０００４】
ここで、上記の組み合わせテストにおいては、特許文献１の段落［０００９］に記載されているように、重要なテストケースから実施し、あるいは特許文献２の段落［０１０７］や非特許文献１に記載されているように、上記パラメータ値が重要度に応じた頻度で現れるようにテストを行う方法が採られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１０９９６６号公報
【特許文献２】特開２０１３−１２５４２０号公報
【非特許文献】
【０００６】
【非特許文献１】S. Fujimoto, H. Kojima, and T. Tsuchiya :“A value weighting method for pair-wise testing”, In Proc. of APSEC 2013, pp.99-105, 2013
【発明の概要】
【発明が解決しようとする課題】
【０００７】
技術の進歩により上記システムが複雑高度化し上記の構成要素やパラメータが増加すると、必要とされる組み合わせテストの試行回数も増加するため、組み合わせテストに要するコストが増大してしまうという問題がある。
【０００８】
本発明は、上記のような問題を解決するためになされたもので、効率的な組み合わせテストを実現することにより、本テストを行う際のコストを低減することのできるテスト方法及びテスト装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、複数のパラメータを含むシステムを対象として、上記パラメータを変数とする複数回のテストを試行するテスト方法であって、それぞれのパラメータが採り得る各選択肢に、上記システムにおける重要度に応じた重みを付する第１のステップと、上記試行の回数をできるだけ少なくする第１の基準と、上記重みに応じてテストを行う順番を決定する第２の基準と、上記試行において上記選択肢が採用される頻度を上記重みに応じて決定する第３の基準のうち、少なくとも二つの基準を考慮して、テストの内容及び順序を決定する第２のステップを有するテスト方法を提供する。
【００１０】
より具体的には、例えば、複数のパラメータを含むシステムを対象として、上記パラメータを変数とする複数回のテストを試行するテスト方法であって、それぞれのパラメータが採り得る各選択肢に、上記システムにおける重要度に応じた重みを付する第１のステップと、採りうるテスト又は予め選択されたテストのうちで、上記選択肢の新たな組み合わせを最も多く含むテストをリストアップする第２のステップと、第２のステップでリストアップされたテストが一つか否かを判断する第３のステップと、第３のステップで一つでないと判断された場合には、新たな組み合わせが有する重みの総和が最大となるテストをリストアップする第４のステップと、第４のステップでリストアップされたテストが一つか否かを判断する第５のステップと、第５のステップで一つでないと判断された場合には、第４のステップでリストアップされたテストの中からカルバック・ライブラー情報量が最小となるテストを一つ選択する第６のステップと、第３、第５若しくは第６のステップでテストが一つ特定されたとき、特定されたテストを新たなテストとして採用する第７のステップと、第７のステップで採用されたテストを要素とする集合が、上記選択肢の採り得る全ての組み合わせを網羅しているか否かを判断する第８のステップと、第８のステップで網羅していないと判断された場合には第２のステップへ戻ると共に、網羅していると判断された場合には新たなテストの採用を終了するテスト方法を提供する。
【００１１】
また、上記課題を解決するため、本発明は、複数のパラメータを含むシステムを対象として、上記パラメータを変数とする複数回のテストを試行するためのテスト装置であって、それぞれのパラメータが採り得る各選択肢に、上記システムにおける重要度に応じた重みを付する重み付与手段と、採りうるテスト又は予め選択されたテストのうちで、上記選択肢の新たな組み合わせを最も多く含むテストをリストアップするテスト数最小化手段と、テスト数最小化手段によりリストアップされたテストが一つでない場合には、新たな組み合わせが有する重みの総和が最大となるテストをリストアップする重み最大化手段と、重み最大化手段によりリストアップされたテストが一つでない場合には、重み最大化手段によりリストアップされたテストの中から各選択肢の出現頻度の分布と重みに応じた各選択肢の出現頻度の理想分布との差が最小となるテストを一つ選択する分布差最小化手段と、テスト数最小化手段、重み最大化手段若しくは分布差最小化手段で一つに特定されたテストを要素とする集合を形成する採用テスト集合形成手段と、採用テスト集合形成手段により形成された集合が、選択肢の採り得る全ての組み合わせを網羅しているか否かを判断し、網羅していると判断された場合には新たなテストの採用を終了する判断手段とを備えたテスト装置を提供する。
【発明の効果】
【００１２】
本発明によれば、組み合わせテストを行う際のコストを低減することのできるテスト方法及びテスト装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係るテスト方法を示すフローチャートである。
【図２】図１に示されたテスト方法の具体例を示すフローチャートである。
【図３】本発明の実施の形態に係るテスト装置１の構成を示す図である。
【図４】ソフトウェアを利用することにより図３に示されたテスト装置１を実現する場合のテスト装置１０の構成を示す図である。
【発明を実施するための形態】
【００１４】
以下において、本発明の実施の形態を図面を参照しつつ詳しく説明する。なお、図中同一符号は同一又は相当部分を示す。
図１は、本発明の実施の形態に係るテスト方法を示すフローチャートである。
【００１５】
以下においては、一例として、オペレーティングシステム(ＯＳ)と中央演算処理装置(ＣＰＵ)及びブラウザ等を構成要素として含むシステム(以下「被験システム」という。)をテスト対象とする組み合わせテストについて説明する。
【００１６】
なお、組み合わせテストとは、複数のパラメータを含むシステムを対象として、上記パラメータの組み合わせを変えつつ複数回のテストを試行することによって、当該システムの不具合を検出するテストを意味する。
【００１７】
ここで、以下の表１に示されるように、上記の被験システムにおいては、ハードウェアに係るＣＰＵの他、ソフトウェアに係るＯＳやブラウザがそれぞれ、複数の選択肢を採り得るパラメータとされる。
【００１８】
そして例えば、ＯＳとしてはウィンドウズ(登録商標)(Ｗｉｎ)及びマック(Ｍａｃ)が採り得る選択肢(パラメータ値)とされ、ＣＰＵとしてはインテル(登録商標)(Ｉｎｔｅｌ)及びエーエムディー(ＡＭＤ(登録商標))がパラメータ値とされる。また、ブラウザとしてはインターネットエクスプローラ(ＩＥ)やファイアーフォックス(Ｆｉｒｅｆｏｘ)、サファリ(Ｓａｆａｒｉ)がパラメータ値とされる。
【００１９】
【表１】
2016051244.tif 000003
【００２０】
まず、図１に示されるように、ステップＳ１において、それぞれのパラメータが採り得る各選択肢に、システムにおける重要度に応じた重みを付する。
【００２１】
具体的には、表１に示されるように、ＯＳとしてＷｉｎよりもＭａｃの方が重要である場合には、例えばＭａｃの重みを３、Ｗｉｎの重みを１と設定する。また同様に、ＣＰＵとしてＩｎｔｅｌよりもＡＭＤの方が重要である場合には、例えばＡＭＤの重みを２、Ｉｎｔｅｌの重みを１と設定する。さらに、ＩＥとＦｉｒｅｆｏｘの重要度が同じで、これらよりもＳａｆａｒｉの方が重要である場合には、例えばＳａｆａｒｉの重みを２、ＩＥ及びＦｉｒｅｆｏｘの重みを１と設定する。
【００２２】
次に、ステップＳ２において、試行回数をできるだけ少なくする第１の基準(ＣＳ基準という。)と、上記重みに応じてテストを行う順番を決定する第２の基準(ＣＯ基準という。)と、上記試行において上記選択肢が採用される頻度を上記重みに応じて決定する第３の基準(ＣＦ基準という。)のうち、少なくとも二つの基準を考慮して、テストの内容及び順序を決定する。
【００２３】
このように、ＣＳ基準やＣＯ基準、ＣＦ基準のうちいずれか一つではなく、複数の基準を考慮して組み合わせテストを行うことにより、従来の組み合わせテストに比して効率的なテストを行うことができ、コストを低減することができる。
【００２４】
ここで、より具体的には、上記ステップＳ２において、上記第１から第３の基準について優先順を決定し、決定された優先順でこれら三つの基準を適用することにより、上記テストの内容及び順序を決定する方法が考えられる。
【００２５】
そして、上記優先順を、例えば上記の第１から第３の基準の順とすることにより、試行回数を最小化した組み合わせテストを実現することができる。
【００２６】
一般的に組み合わせテストの品質は、ｋ(ｋは１より大きな自然数)個のパラメータ値の組み合わせを網羅する比率(k-Way Coverage)で評価されるが、以下ではｋが２の場合において網羅率が１００％であるペアワイズテスト(Pairwise Test)を例として説明する。
【００２７】
表２は、上記の被験システムにおいて採り得るパラメータ対と、各パラメータ対について採り得る選択肢対の一覧を示したものである。
【００２８】
【表２】
2016051244.tif 000004
【００２９】
表２に示されるように、被験システムにおけるパラメータ対は(ＯＳ，ＣＰＵ)と(ＯＳ，ブラウザ)、及び(ＣＰＵ，ブラウザ)の３通りが存在し、各パラメータ対に対応する選択肢対としてそれぞれ(ＯＳ，ＣＰＵ)対に対し４通り、(ＯＳ，ブラウザ)対に対し６通り、(ＣＰＵ，ブラウザ)対に対し６通りが存在する。
【００３０】
ここで、表３は、以上を前提として、上記被験システムに対し図１に示されたテスト方法を適用することにより得られた組み合わせテストの具体例を示したものである。
【００３１】
【表３】
2016051244.tif 000005
【００３２】
表３に示されるように、本組み合わせテストは１から６の６個のテストケースを順次試行するものであるが、以下においては、表３及び図２を参照しつつ、図１に示されたテスト方法の具体例を詳しく説明する。
【００３３】
図２に示されるように、ステップＳ１では、図１に示されたステップＳ１と同様に、それぞれのパラメータが採り得る各選択肢に、当該システムにおける重要度に応じた重みを付する。
【００３４】
次に、ステップＳ２では、上記ＣＳ基準に対応して、採りうるテストケース又は予め選択されたテストケースのうちで、上記選択肢の新たな組み合わせを最も多く含むテストをリストアップする。
なお、上記の「予め選択」とは、採りうるテストケースの中から予め定めた数だけのテストケースをランダムに選ぶ等、採りうるテストケースの一部を事前に選んでおくことを意味する。
【００３５】
ここで、表３におけるＮ＋の欄は、当該テストケースを試行することによって新たに網羅されることになる選択肢対の数を示す。
【００３６】
例えば、１番目のテストケースとされる選択肢の組み合わせ(Ｍａｃ，ＡＭＤ，Ｓａｆａｒｉ)は、３個の選択肢対(Ｍａｃ，ＡＭＤ)、(Ｍａｃ，Ｓａｆａｒｉ)、(ＡＭＤ，Ｓａｆａｒｉ)を網羅することになるため、Ｎ＋は３とされる。
【００３７】
また、２番目のテストケースとされる選択肢の組み合わせ(Ｍａｃ，Ｉｎｔｅｌ，ＩＥ)は、１番目のテストケースに対して新たに３個の選択肢対(Ｍａｃ，Ｉｎｔｅｌ)、(Ｍａｃ，ＩＥ)、(Ｉｎｔｅｌ，ＩＥ)を網羅することになるためＮ＋は３とされ、以下のテストケースでも同様に算出される。
【００３８】
従って、ステップＳ２においては、表３に示された１番目から４番目までのテストケースはいずれもＮ＋が３であることから、これら４個のテストケースがリストアップされることになる。
【００３９】
次に、ステップＳ３では、ステップＳ２でリストアップされたテストケースが一つか否かを判断し、一つと判断された場合にはステップＳ７へ進むと共に、一つでないと判断された場合にはステップＳ４へ進む。
【００４０】
表３の場合には、上記のようにステップＳ２においては一つではなく４個のテストケースがリストアップされることから、ステップＳ４へ進むことになる。
【００４１】
なお、表３におけるＰcovの欄は、組み合わせテスト試行時における選択肢対のカバー率を示し、以下の式(１)により算出される。
【００４２】
【数１】
2016051244.tif 000006
【００４３】
ここで、選択肢対総数は表２に示されるように１６であり、１番目のテストケースがカバーする選択肢対の数は上記のように３であるため、Ｐcovの値は０.１８８(＝３/１６を小数第４位を四捨五入)となる。また同様に、２番目のテストケースまでを試行するとき、カバーする選択肢対の数は６となるため、Ｐcovの値は０.３７５(＝６/１６)となる。
【００４４】
次に、ステップＳ４では、上記ＣＯ基準に対応して、新たな組み合わせが有する上記重みの総和が最大となるテストケースをリストアップする。
【００４５】
ここで、表３におけるＷ＋の欄は、当該テストケースを試行することによって新たに網羅されることになる選択肢対が有する重みの総和を示す。
【００４６】
例えば、１番目のテストケースでは上記のように３個の選択肢対(Ｍａｃ，ＡＭＤ)、(Ｍａｃ，Ｓａｆａｒｉ)、(ＡＭＤ，Ｓａｆａｒｉ)を網羅するが、表１を参照すると、選択肢対(Ｍａｃ，ＡＭＤ)の重みはＭａｃの重み３とＡＭＤの重み２の和である５となり、選択肢対(Ｍａｃ，Ｓａｆａｒｉ)の重みは同様に５、選択肢対(ＡＭＤ，Ｓａｆａｒｉ)の重みは同様に４となることから、上記Ｗ＋はこれら重みの総和である１４となる。
【００４７】
また、２番目のテストケースでは上記のように３個の選択肢対(Ｍａｃ，Ｉｎｔｅｌ)、(Ｍａｃ，ＩＥ)、(Ｉｎｔｅｌ，ＩＥ)が新たに網羅されるため、同様にＷ＋は１０と算出され、以下同様に３番目と４番目のテストケースのＷ＋は８と算出される。
【００４８】
従って、１番目から４番目までのテストケースの中でＷ＋が最大となるテストケースは１番目のテストケースであり、Ｗ＋が１番目のテストケースと同数となるものはないため、ステップＳ４では１番目のテストケースだけがリストアップされる。
【００４９】
次に、ステップＳ５では、ステップＳ４でリストアップされたテストケースが一つか否かを判断し、一つと判断された場合にはステップＳ７へ進むと共に、一つと判断されない場合にはステップＳ６へ進む。
【００５０】
このことから、表３の場合にはステップＳ７へ進むことになる。そして、ステップＳ７では１番目のテストケースが新たなテストケースとして採用され、ステップＳ８においてステップＳ７で採用されたテストケースを要素とする集合は、選択肢の採り得る全ての組み合わせを網羅しているかを判断する。
【００５１】
このとき、全ての組み合わせを網羅していないと判断した場合にはステップＳ２へ戻ると共に、全ての組み合わせを網羅していると判断した場合には終了する。
【００５２】
表３の場合には、１番目のテストケースを採用した時点では、上記要素は１番目のテストケースのみであり、上記のように３個の選択肢対(Ｍａｃ，ＡＭＤ)、(Ｍａｃ，Ｓａｆａｒｉ)、(ＡＭＤ，Ｓａｆａｒｉ)が網羅されるに過ぎないため、ステップＳ２へ戻ることになる。なお、全ての組み合わせは、表２に示される１６個となる。
【００５３】
なお、表３におけるＷcovの欄は、組み合わせテスト試行時における選択肢対の重みベースのカバー率を示し、以下の式(２)により算出される。
【００５４】
【数２】
2016051244.tif 000007
【００５５】
ここで、全選択肢対の重みの総和は５１であり、１番目のテストケースがカバーする選択肢対の重みの総和は上記のように１４であるため、Ｗcovの値は０.２７５(＝１４/５１の小数第４位を四捨五入)となる。また同様に、２番目のテストケースまでを試行するとき、カバーする選択肢対の重みの総和は２４となるため、Ｗcovの値は０.４７１(＝２４/５１の小数第４位を四捨五入)となる。
【００５６】
以上のような方法により、表３に示される２番目までのテストケースが決定されるが、３番目のテストケースを決定する際には、上記のように表３の３番目と４番目に示されているテストケースのＷ＋は共に８で同数であるため、上記のステップＳ５ではこれら二つのテストケースがリストアップされることになる。このことから、３番目のテストケース決定するときは、ステップＳ６へ進む。
【００５７】
ステップＳ６では、上記ＣＦ基準に対応して、ステップＳ４でリストアップされたテストケースの中から各選択肢の出現頻度の分布と重みに応じた各選択肢の出現頻度の理想分布との差が最小となるテストケースを一つ選択する。
ここで、上記差は、例えばカルバック・ライブラー情報量(ＫＬダイバージェンス：Kullback-Leibler divergence)の他、ジェンセン・シャノン情報量(ＪＳダイバージェンス：Jensen-Shannon divergence)やカイ二乗距離(Chi-square distance)等を尺度とすることが考えられる。
以下においては、これらのうちカルバック・ライブラー情報量を代表例として詳しく説明する。
【００５８】
一般的にカルバック・ライブラー情報量ＤＫＬは確率分布の差異を計る尺度として用いられているが、本発明の実施の形態に係るテスト方法においては、当該組み合わせテストにおける各選択肢の出現頻度の分布と上記重みに応じた各選択肢の出現頻度の理想分布との差を示す指標として使用され、以下の式(３)により算出される。
【００５９】
【数３】
2016051244.tif 000008
【００６０】
上記の式(３)において、Ｐ(i)は組み合わせテストにおける選択肢iの出現確率の分布を示し、Ｑ(i)は重みに応じた選択肢iの理想の出現確率分布を示す。
【００６１】
上記の表３にはカルバック・ライブラー情報量ＤKLの値も示されるが、以下においては一例として、表３に示された３番目のテストケースまでを試行する場合におけるカルバック・ライブラー情報量ＤKLの具体的計算方法を、以下の表４を用いて具体的に説明する。
【００６２】
【表４】
2016051244.tif 000009
【００６３】
上記のようにＷｉｎとＭａｃの重みはそれぞれ１と３であるため、選択肢の一つであるＷｉｎの理想の出現確率Ｑ(i)は１/４、Ｍａｃの理想の出現確率Ｑ(i)は３/４となる。なお、他の選択肢についても、表１に示された重みに応じて理想の出現確率が求められる。
【００６４】
一方、表３に示された１番目から３番目までのテストケースを見ると、Ｗｉｎの出現確率Ｐ(i)は１/３であり、Ｍａｃの出現確率Ｐ(i)は２/３となっている。なお、他の選択肢についても、表３に示された１番目から３番目までのテストケースに応じて出現確率が求められる。
【００６５】
このようにして、表４に示されるように、選択肢毎の出現確率Ｐ(i)及び理想の出現確率Ｑ(i)が得られ、これらの値を用いて選択肢毎にＰ(i)log(P(i)/Q(i))が計算される。なお、本計算により、Ｗｉｎについては０.０９６、Ｍａｃについては−０.０７９の値が得られることになる。
【００６６】
そして、全選択肢について上記のように計算されたＰ(i)log(P(i)/Q(i))の値を加算することによりカルバック・ライブラー情報量(ＫＬダイバージェンス)ＤKLが算出される。なお、表４に示されるように、上記の１番目から３番目までのテストケースを試行した場合のＫＬダイバージェンスは０.０７４となることが分かる。
【００６７】
上記のような計算を行うことにより、表３に示された３番目のテストケースを採用した方が４番目のテストケースを採用する場合よりもカルバック・ライブラー情報量が小さい値となるため、ステップＳ６では表３に示された３番目のテストケースが選択される。
【００６８】
このようにして、表３に示される６番目までのテストケースが採用されると、ステップＳ８ではこれら６個のテストケースを要素とする集合は、選択肢の採り得る全ての組み合わせを網羅すると判断されるため、新たなテストケースの採用が終了される。
【００６９】
なお、図２に示された具体例は、ＣＳ基準、ＣＯ基準、ＣＦ基準をこれらの順で優先適用する方法であるが、これら３個の基準を他の順で適用する方法も同様に考えられる。
【００７０】
以上のような本発明の実施の形態に係るテスト方法によれば、組み合わせテストの試行回数を低減しつつ、重要なテストから順次試行し、さらに重要な選択肢ほど頻度の高い試行がなされるという意味で効率的な組み合わせテストが実現されるため、組み合わせテストを行う際のコストを低減することができる。
【００７１】
図３は、本発明の実施の形態に係るテスト装置１の構成を示す図である。図３に示されるように、テスト装置１は図１及び図２に示されたテスト方法を実現する機能を有し、それぞれバス２に接続された入力部３と、重み付与部５、テスト数最小化部７、重み最大化部９、分布差最小化部１１、採用テスト集合形成部１３、判断部１５、記憶部１７、及び出力部１９を備える。
【００７２】
ここで、重み付与部５は、入力部３に外部から入力された情報に応じて、それぞれのパラメータが採り得る各選択肢に、当該システムにおける重要度に応じた重みを付する。
【００７３】
また、テスト数最小化部７は、採りうるテストケース又は予め選択されたテストケースのうちで、上記選択肢の新たな組み合わせを最も多く含むテストをリストアップする。
なお、上記の「予め選択」とは、採りうるテストケースの中から予め定めた数だけのテストケースをランダムに選ぶ等、採りうるテストケースの一部を事前に選んでおくことを意味する。
そして、判断部１５が、テスト数最小化部７によりリストアップされたテストケースが一つか否かを判断し、一つと判断した場合には本テストケースの採用を決定して記憶部１７に記憶させると共に、一つでないと判断した場合には重み最大化部９に新たな組み合わせが有する重みの総和が最大となるテストケースをリストアップさせる。
【００７４】
そして、判断部１５は、重み最大化部９によりリストアップされたテストケースが一つか否かを判断し、一つと判断された場合には当該テストケースを記憶部１７に記憶させると共に、一つと判断されない場合には分布差最小化部１１に各選択肢の出現頻度の分布と重みに応じた各選択肢の出現頻度の理想分布との差が最小となるテストケースを一つ選択させ、選択されたテストケースを記憶部１７に記憶させる。
ここで、上記差は、例えば上記のカルバック・ライブラー情報量(ＫＬダイバージェンス：Kullback-Leibler divergence)ＤKLの他、ジェンセン・シャノン情報量(ＪＳダイバージェンス：Jensen-Shannon divergence)やカイ二乗距離(Chi-square distance)等を尺度とすることが考えられる。
【００７５】
また、採用テスト集合形成部１３は、上記のように、テスト数最小化部７や重み最大化部９、若しくは分布差最小化部１１により一つに特定され記憶部１７に記憶されたテストケースを要素とする採用テスト集合を形成する。具体的には例えば、採用テスト集合形成部１３は、記憶部１７に上記要素を記憶させるときに、共通の集合を構成する各要素には共通の指標データを付することなどが考えられる。
【００７６】
そして、判断部１５は、採用テスト集合形成部１３により形成された複数のテストケースの集合が、テスト対象とするシステムの選択肢が採り得る全ての組み合わせが網羅されているかを判断する。
【００７７】
このとき、判断部１５は、全ての組み合わせを網羅していると判断した場合には新たなテストケースの採用を終了すると共に、出力部１９を介して最適な組み合わせテストを行う準備ができた旨を外部に示す。
【００７８】
そして、判断部１５は、入力部３にリクエスト信号が入力された場合には、本リクエスト信号に応じて、記憶部１７に記憶された採用テスト集合を出力部１９を介して外部に出力する。
【００７９】
なお、図３に示されたテスト装置１で実現される機能は、図１や図２に示されたアルゴリズムをプログラムにより記述し、本プログラムをＣＰＵで実行することによっても実現することができる。
【００８０】
図４は、ソフトウェアを利用することにより図３に示されたテスト装置１を実現する場合のテスト装置１０の構成を示す図である。図４に示されるように、テスト装置１０は、それぞれバス２に接続されたＣＰＵ２１、メモリ２３、及び入出力部２５を備える。
【００８１】
ここで、メモリ２３は上記プログラムを記憶し、ＣＰＵ２１はメモリ２３に記憶された本プログラムを実行する。また、メモリ２３は、ＣＰＵ２１が上記プログラムを実行することにより生成された上記採用テスト集合を記憶する。また、入出力部２５は、外部とのインターフェースの機能を有し、バス２を介して外部との間でデータを入出力する機能を有する。
【００８２】
以上のような本発明の実施の形態に係るテスト装置１，１０によれば、試行回数を最小化した効率的な組み合わせテストを容易に設計することができ、得られた組み合わせテストを試行することで、組み合わせテストを行う際のコストを低減することができる。
【符号の説明】
【００８３】
１，１０  テスト装置
５    重み付与部
７    テスト数最小化部
９    重み最大化部
１１  分布差最小化部
１３  採用テスト集合形成部
１５  判断部
２１  中央演算処理装置(ＣＰＵ)
【図１】
2016051244.tif 000010
【図２】
2016051244.tif 000011
【図３】
2016051244.tif 000012
【図４】
2016051244.tif 000013