(57)【要約】【課題】真理値表にない入力因子による不具合の発生を効率的に検出する。【解決手段】試験装置１が、試験対象５における入力因子Ｉ１〜Ｉ３の取り得る値の組み合わせに応じた出力値が示されている真理値表Ｌ１の、入力因子Ｉ１〜Ｉ３を１つの入力因子Ｉ１−３にまとめ、入力因子Ｉ１〜Ｉ３のそれぞれが取り得る値に基づき、入力因子Ｉ１−３が取り得る値を生成し、入力因子Ｉ１−３と真理値表Ｌ１に含まれない入力因子Ｉ４〜Ｉｍとが取り得る値に基づき、入力因子Ｉ１−３と入力因子Ｉ４〜Ｉｍのなかのｎ（ｎ≧２）個の入力因子間で取り得る値の組み合わせの網羅率が第１の値となるように、テストパターンＬ３を生成し、テストパターンＬ３を試験対象５に供給して試験を実行する。【選択図】図１
2015121994.tif 000002
【特許請求の範囲】
【請求項１】
試験装置が、
試験対象における複数の第１入力因子の取り得る値の組み合わせに応じた出力値が示されている真理値表の、前記複数の第１入力因子を１つの第２入力因子にまとめ、前記複数の第１入力因子のそれぞれが取り得る値に基づき、前記第２入力因子が取り得る値を生成し、
前記第２入力因子と前記真理値表に含まれない第３入力因子とが取り得る値に基づき、前記第２入力因子と前記第３入力因子のなかのｎ（ｎ≧２）個の入力因子間で取り得る値の組み合わせの網羅率が第１の値となるように、テストパターンを生成し、
前記テストパターンを前記試験対象に供給して試験を実行する、
ことを特徴とする試験方法。
【請求項２】
前記第３入力因子が複数あるとき、前記ｎは、前記第３入力因子の数以下であることを特徴とする請求項１に記載の試験方法。
【請求項３】
前記テストパターンの数の上限値を超えない範囲で、前記ｎの値を増加させて前記網羅率を前記第１の値とする前記テストパターンを生成することを特徴とする請求項１または２に記載の試験方法。
【請求項４】
複数の前記第３入力因子間において、取り得る値の制約があるときには、制約のある複数の前記第３入力因子を１つの第４の入力因子とし、前記第４の入力因子が取り得る値を、前記制約に基づき生成することを特徴とする請求項１乃至３の何れか一項に記載の試験方法。
【請求項５】
前記第２入力因子と複数の前記第３入力因子のなかの、２つまたは３つの前記入力因子間で取り得る値の組み合わせの網羅率が前記第１の値となるように前記テストパターンを生成することを特徴とする請求項１乃至４の何れか一項に記載の試験方法。
【請求項６】
テストパターン生成装置が、
試験対象における複数の第１入力因子の取り得る値の組み合わせに応じた出力値が示されている真理値表の、前記複数の第１入力因子を１つの第２入力因子にまとめ、前記複数の第１入力因子のそれぞれが取り得る値に基づき、前記第２入力因子が取り得る値を生成し、
前記第２入力因子と前記真理値表に含まれない第３入力因子とが取り得る値に基づき、前記第２入力因子と前記第３入力因子のなかのｎ（ｎ≧２）個の入力因子間で取り得る値の組み合わせの網羅率が第１の値となるように、テストパターンを生成する、
ことを特徴とするテストパターン生成方法。
【請求項７】
プロセッサを有し、
前記プロセッサは、
試験対象における複数の第１入力因子の取り得る値の組み合わせに応じた出力値が示されている真理値表の、前記複数の第１入力因子を１つの第２入力因子にまとめ、前記複数の第１入力因子のそれぞれが取り得る値に基づき、前記第２入力因子が取り得る値を生成し、
前記第２入力因子と前記真理値表に含まれない第３入力因子とが取り得る値に基づき、前記第２入力因子と前記第３入力因子のなかのｎ（ｎ≧２）個の入力因子間で取り得る値の組み合わせの網羅率が第１の値となるように、テストパターンを生成し、
前記テストパターンを前記試験対象に供給して試験を実行する、
ことを特徴とする試験装置。
【請求項８】
プロセッサを有し、
前記プロセッサは、
試験対象における複数の第１入力因子の取り得る値の組み合わせに応じた出力値が示されている真理値表の、前記複数の第１入力因子を１つの第２入力因子にまとめ、前記複数の第１入力因子のそれぞれが取り得る値に基づき、前記第２入力因子が取り得る値を生成し、
前記第２入力因子と前記真理値表に含まれない第３入力因子とが取り得る値に基づき、前記第２入力因子と前記第３入力因子のなかのｎ（ｎ≧２）個の入力因子間で取り得る値の組み合わせの網羅率が第１の値となるように、テストパターンを生成する、
ことを特徴とするテストパターン生成装置。
【請求項９】
試験対象における複数の第１入力因子の取り得る値の組み合わせに応じた出力値が示されている真理値表の、前記複数の第１入力因子を１つの第２入力因子にまとめ、前記複数の第１入力因子のそれぞれが取り得る値に基づき、前記第２入力因子が取り得る値を生成し、
前記第２入力因子と前記真理値表に含まれない第３入力因子とが取り得る値に基づき、前記第２入力因子と前記第３入力因子のなかのｎ（ｎ≧２）個の入力因子間で取り得る値の組み合わせの網羅率が第１の値となるように、テストパターンを生成し、
前記テストパターンを前記試験対象に供給して試験を実行する、
処理をコンピュータに実行させるプログラム。
【請求項１０】
試験対象における複数の第１入力因子の取り得る値の組み合わせに応じた出力値が示されている真理値表の、前記複数の第１入力因子を１つの第２入力因子にまとめ、前記複数の第１入力因子のそれぞれが取り得る値に基づき、前記第２入力因子が取り得る値を生成し、
前記第２入力因子と前記真理値表に含まれない第３入力因子とが取り得る値に基づき、前記第２入力因子と前記第３入力因子のなかのｎ（ｎ≧２）個の入力因子間で取り得る値の組み合わせの網羅率が第１の値となるように、テストパターンを生成する、
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験方法、テストパターン生成方法、試験装置、テストパターン生成装置及びプログラムに関する。
【背景技術】
【０００２】
ハードウェアやソフトウェアの開発においては、設計技術の進歩により、開発対象が大規模化してきており、仕様も複雑化している。
入力因子が取り得る値（水準とも呼ばれる）の組み合わせで出力が決まるようなシステムの試験では、真理値表が用意され、その真理値表の入力因子の値の組み合わせを全て網羅できるようなテストパターンを用いて試験が行われる。なお、入力因子とは、ある機能に影響を及ぼす要因であり、システムにおいては入力や内部状態などに相当する。入力因子が取り得る値は、たとえば、デジタル回路における端子に入力される信号では、０か１である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２９６０３１号公報
【特許文献２】特開平２−８３４７２号公報
【特許文献３】国際公開第２００９／０５０８０５号
【非特許文献】
【０００４】
【非特許文献１】Kuhn, D.R. et al., "Software Fault Interactions and Implications for Software Testing", IEEE Transactions on software engineering, Vol.30, NO.6, June 2004
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、真理値表にない入力因子が追加されると（たとえば、実装の際に誤って追加される可能性がある）、真理値表にしたがって生成されたテストパターンを用いて試験対象を試験しても、追加された入力因子に起因した不具合を見逃す懸念があった。このような不具合の検証漏れを防ぐために、全ての入力因子が取り得る値の組み合わせを網羅するようなテストパターンを作成することが考えられるが、テストパターン数が増加し、効率よく不具合の発生を検出できない。
【課題を解決するための手段】
【０００６】
発明の一観点によれば、試験装置が、試験対象における複数の第１入力因子の取り得る値の組み合わせに応じた出力値が示されている真理値表の、前記複数の第１入力因子を１つの第２入力因子にまとめ、前記複数の第１入力因子のそれぞれが取り得る値に基づき、前記第２入力因子が取り得る値を生成し、前記第２入力因子と前記真理値表に含まれない第３入力因子とが取り得る値に基づき、前記第２入力因子と前記第３入力因子のなかのｎ（ｎ≧２）個の入力因子間で取り得る値の組み合わせの網羅率が第１の値となるように、テストパターンを生成し、前記テストパターンを前記試験対象に供給して試験を実行する、試験方法が提供される。
【０００７】
また、発明の一観点によれば、テストパターン生成装置が、試験対象における複数の第１入力因子の取り得る値の組み合わせに応じた出力値が示されている真理値表の、前記複数の第１入力因子を１つの第２入力因子にまとめ、前記複数の第１入力因子のそれぞれが取り得る値に基づき、前記第２入力因子が取り得る値を生成し、前記第２入力因子と前記真理値表に含まれない第３入力因子とが取り得る値に基づき、前記第２入力因子と前記第３入力因子のなかのｎ（ｎ≧２）個の入力因子間で取り得る値の組み合わせの網羅率が第１の値となるように、テストパターンを生成する、テストパターン生成方法が提供される。
【発明の効果】
【０００８】
開示の試験方法、テストパターン生成方法、試験装置、テストパターン生成装置及びプログラムによれば、真理値表にない入力因子による不具合の発生を効率的に検出できる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施の形態の試験方法、テストパターン生成方法及び試験装置の一例を示す図である。
【図２】２因子網羅率の一例を説明する図である。
【図３】第２の実施の形態の試験装置（テストパターン生成装置）の一例を示す図である。
【図４】第２の実施の形態のテストパターン生成方法の一例の流れを説明する図である。
【図５】試験対象の一例を示す図である。
【図６】真理値表の一例を示す図である。
【図７】入力因子−水準リストの一例を示す図である。
【図８】更新された入力因子−水準リストの一例を示す図である。
【図９】真理値表に含まれない入力因子とその水準が統合された入力因子−水準リストの一例を示す図である。
【図１０】Ａｌｌ−ｐａｉｒ法を用いた２因子網羅率１００％の組み合わせ生成処理の一例の流れを示すフローチャートである。
【図１１】ペア配列群の一例を示す図である。
【図１２】テストケース配列の一例を示す図である。
【図１３】ペア配列の選択例を示す図である。
【図１４】マーキングされたペア配列と、違反ペア配列の一例を示す図である。
【図１５】テストケース配列に追加されたペア配列の値の一例を示す図である。
【図１６】テストケース配列の１行目へのペア配列の値の追加が完了した例を示す図である。
【図１７】テストケース配列の１行目へのペア配列の値の追加が完了した時点での、ペア配列群のマーキング例を示す図である。
【図１８】全てのペア配列がマーキングされたときのペア配列群の一例を示す図である。
【図１９】全てのペア配列がマーキングされたときの、テストケース配列の一例を示す図である。
【図２０】網羅率の種類とテストパターン数の関係の一例を示す図である。
【図２１】第３の実施の形態のテストパターン生成方法の一例の流れを説明する図である。
【図２２】第４の実施の形態のテストパターン生成方法の一例の流れを説明する図である。
【図２３】入力因子−水準リストの圧縮の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態の試験方法、テストパターン生成方法及び試験装置の一例を示す図である。
【００１１】
試験装置１は、プロセッサ２と記憶部３を有している。プロセッサ２は、記憶部３に記憶されているデータ及びプログラムに基づき、以下のようにテストパターンの生成及びそのテストパターンを用いた試験を実行する。なお、試験装置１は、試験の実行は行わず、生成したテストパターンを他の装置に出力するようにしてもよい。その場合、試験装置１はテストパターン生成装置と呼ぶこともできる。
【００１２】
まず、プロセッサ２は、試験対象における複数の入力因子の取り得る値の組み合わせに応じた出力値が示されている真理値表を、たとえば、記憶部３から読み出して取得する（ステップＳ１）。
【００１３】
図１に示されている真理値表Ｌ１の例では、試験対象５における３つの入力因子（図１の例では端子に入力される信号）Ｉ１，Ｉ２，Ｉ３の取り得る値の組み合わせに応じた出力Ｏ１が示されている。このような真理値表Ｌ１は、たとえば、試験対象５の設計の段階で、試験対象５が満たすべき仕様として与えられている。
【００１４】
なお、試験対象５は、たとえば、デジタル回路のようなハードウェアであってもよいし、ソフトウェアであってもよい。ソフトウェアの場合には、入力因子は、たとえば、関数としてもよい。
【００１５】
次に、プロセッサ２は、真理値表の複数の入力因子を１つの入力因子にまとめ、真理値表の複数の入力因子のそれぞれが取り得る値に基づき、１つにした入力因子が取り得る値を生成する（ステップＳ２）。図１に示した例では、真理値表Ｌ１の入力因子Ｉ１〜Ｉ３が１つの入力因子（以下入力因子Ｉ１−３と表記する）にまとめられている。そして、入力因子Ｉ１−３の取り得る値（水準）として“０００”，“００１”，“０１０”，“０１１”，“１００”，“１０１”，“１１０”，“１１１”が生成される。
【００１６】
また、プロセッサ２は、真理値表に含まれない入力因子とその入力因子が取り得る値を取得する（ステップＳ３）。真理値表に含まれない入力因子とその入力因子が取り得る値は、たとえば、実装後の試験対象のデータの一部として記憶部３に記憶されており、プロセッサ２により取得される。
【００１７】
図１に示されているような試験対象５において、実装後に、それぞれ０または１を取り得る入力因子Ｉ４〜Ｉｍが追加されたとする。このとき、入力因子Ｉ４〜Ｉｍと、入力因子Ｉ４〜Ｉｍが取り得る値（０，１）が、プロセッサ２により、たとえば、実装後の試験対象のデータから取得され、入力因子Ｉ１〜Ｉ３とともにまとめられたテーブルＬ２が生成される。テーブルＬ２は、たとえば、記憶部３に格納される。
【００１８】
そして、プロセッサ２は、１つにまとめられた入力因子と、真理値表にない入力因子とが取り得る値に基づき、テストパターンを生成する。このときプロセッサ２は、１つにまとめられた入力因子と、真理値表にない入力因子のなかのｎ（ｎ≧２）個の入力因子間で取り得る値の組み合わせの網羅率が、所定値となるようにテストパターンを生成する。（ステップＳ４）。上記の網羅率のことを以下では、ｎ因子網羅率と呼ぶ。
【００１９】
ｎ因子網羅率は、全ての入力因子を用いた値の組み合わせから、ｎ個の入力因子を取り出したときに現れる値の組み合わせ数を、ｎ個の入力因子間で現れる全ての値の組み合わせ数で割ったものに、１００を掛けたもの（パーセントで表すために）である。たとえば、ｎ＝２としたときの２因子網羅率は、以下のようになる。
【００２０】
図２は、２因子網羅率の一例を説明する図である。
たとえば、取り得る値が０か１である３つの入力因子Ａ，Ｂ，Ｃがあるとき、取り得る値の組み合わせ数は図２に示すように全部で８つである。２因子網羅率は、入力因子Ａ〜Ｃを用いた値の組み合わせから、２つの入力因子を取り出したときに現れる値の組み合わせ数を、２つの入力因子間で現れる全ての値の組み合わせ数で割ったものである。
【００２１】
２つの入力因子間で現れる全ての値の組み合わせ数は、入力因子Ａ，Ｂ間、入力因子Ｂ，Ｃ間、入力因子Ａ，Ｃ間でそれぞれ４個の組み合わせがあるから、１２となる。
入力因子Ａ〜Ｃを用いた、値の組み合わせとして、Ａ，Ｂ，Ｃ＝（０，０，０）、（０，０，１）、（０，１，０）、（１，０，０）、（１，０，１）、（１，１，１）がある場合を考える。上記６通りの組み合わせのうち、Ａ，Ｂ，Ｃ＝（０，０，０）、（０，１，０）、（１，０，１）、（１，１，１）の組み合わせから、入力因子Ａ，Ｂを取り出した時に現れる値の組み合わせ数は４つとなる。すなわち、上記組み合わせのなかには、（Ａ，Ｂ）＝（０，０）、（０，１）、（１，０）、（１，１）の４つの組み合わせがある。また、Ａ，Ｂ，Ｃ＝（０，０，０）、（０，０，１）、（０，１，０）、（１，１，１）の組み合わせから、入力因子Ｂ，Ｃを取り出した時に現れる値の組み合わせ数も４つとなる。また、Ａ，Ｂ，Ｃ＝（０，０，０）、（０，０，１）、（１，０，０）、（１，１，１）の組み合わせから、入力因子Ａ，Ｃを取り出した時に現れる値の組み合わせ数も４つとなる。
【００２２】
したがって、入力因子Ａ〜Ｃを用いた上記の６通りの値の組み合わせから、２個の入力因子を取り出したときに現れる値の組み合わせ数は、１２であり、２因子網羅率は１００％となる。つまり、図２に示した３つの入力因子Ａ〜Ｃによる８個の組み合わせのうち、たとえば、上記の６通りの組み合わせで２つの入力因子間の値の組み合わせは１００％網羅される。
【００２３】
図１に示した例では、入力因子Ｉ１−３と、入力因子Ｉ４〜Ｉｍのなかのｎ個の入力因子間で取り得る値の組み合わせの網羅率が所定値（たとえば、１００％、９５％、９０％など）となるようにテストパターンが生成される。網羅率が所定値となるような値の組み合わせを求める方法としては、直交表を用いたアルゴリズム、Ａｌｌ−ｐａｉｒ法、ＨＡＹＳＴ法などがある。後述する第２の実施の形態では、一例としてＡｌｌ−ｐａｉｒ法を用いた説明を行う。
【００２４】
本実施の形態では、真理値表に含まれる複数の入力因子を１つの入力因子にまとめ、真理値表にない入力因子と合わせたなかから、所定のｎ因子網羅率を満たすようにテストパターンが生成される。そのため、出力に対する相関が高い、真理値表に含まれる入力因子の値の全ての組み合わせについては、生成されるテストパターンで網羅される。図１では、ステップＳ４の処理の結果生成されたテストパターンＬ３の例が示されている。図１の例では１７通りのテストパターンＬ３が示されているが、入力因子Ｉ１〜Ｉ３の８通りの組み合わせは全て、テストパターンＬ３に含まれている。
【００２５】
テストパターン生成後、プロセッサ２は、生成したテストパターンを用いた試験を実行する（ステップＳ５）。
試験対象がソフトウェアであれば、プロセッサ２は、たとえば、記憶部３に格納されている試験対象のソフトウェアを読み出し、生成したテストパターンを用いて試験を行い、その結果を解析する。試験対象がハードウェアであれば、プロセッサ２は、たとえば、図示しないインタフェースを介してテストパターンを試験対象のハードウェアに出力して、その結果を、インタフェースを介して取得して解析する。なお、プロセッサ２は生成したテストパターンを、インタフェースを介して他の試験装置に出力（送信）し、その試験装置が試験を実行するようにしてもよい。
【００２６】
なお、図１に示した各ステップＳ１〜Ｓ５の処理の順番は、上記の順番に限定されない。たとえば、真理値表の取得処理の前に、真理値表に含まれない入力因子とその入力因子が取り得る値の取得処理が行われるようにしてもよい。
【００２７】
以上のように、本実施の形態では、真理値表の複数の入力因子を１つの入力因子にまとめ、真理値表にない入力因子（追加された因子）と合わせたなかから、所定のｎ（ｎ≧２）因子網羅率を満たすようにテストパターンが生成される。これにより、必ずしも全ての入力因子における全ての組み合わせでテストパターンが生成されるのではないため、真理値表に含まれない入力因子が追加されても不具合を効率的に検出できるようになる。真理値表に含まれない入力因子数が複数あるとき、ｎを、真理値表に含まれない入力因子数以下とすることで、テストパターン数を減らせるからである。
【００２８】
なお、ｎは２または３とすることが望ましい。その理由は、一般向けシステムにおけるバグのほとんどは、２つの入力因子または３つの入力因子の組み合わせで検出可能であるためである（たとえば、非特許文献１参照）。４因子以上の組み合わせで網羅率を１００％にしてもバグ発見率の上昇は少なく、テストパターン数が増大する。真理値表に含まれない入力因子の数が多い時（たとえば３以上）、ｎを２または３とすることで、テストパターン数を少なくでき、より効率的に不具合を検出できる。
【００２９】
ただ、より精度よく不具合を検証したいときには、ｎを４以上としてもよい。
（第２の実施の形態）
以下、第２の実施の形態の試験方法、テストパターン生成方法及び試験装置（テストパターン生成装置）の一例を示す図である。
【００３０】
図３は、第２の実施の形態の試験装置（テストパターン生成装置）の一例を示す図である。
試験装置は、たとえば、コンピュータ２０であり、プロセッサ２１によって装置全体が制御されている。プロセッサ２１には、バス２９を介してＲＡＭ（Random Access Memory）２２と複数の周辺機器が接続されている。プロセッサ２１は、マルチプロセッサであってもよい。プロセッサ２１は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ２１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３１】
ＲＡＭ２２は、コンピュータ２０の主記憶装置として使用される。ＲＡＭ２２には、プロセッサ２１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２２には、プロセッサ２１による処理に必要な各種データが格納される。
【００３２】
バス２９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）２３、グラフィック処理装置２４、入力インタフェース２５、光学ドライブ装置２６、機器接続インタフェース２７及びネットワークインタフェース２８がある。
【００３３】
ＨＤＤ２３は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。ＨＤＤ２３は、コンピュータ２０の補助記憶装置として使用される。ＨＤＤ２３には、ＯＳのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００３４】
グラフィック処理装置２４には、モニタ２４ａが接続されている。グラフィック処理装置２４は、プロセッサ２１からの命令にしたがって、画像をモニタ２４ａの画面に表示させる。モニタ２４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３５】
入力インタフェース２５には、キーボード２５ａとマウス２５ｂとが接続されている。入力インタフェース２５は、キーボード２５ａやマウス２５ｂから送られてくる信号をプロセッサ２１に送信する。なお、マウス２５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３６】
光学ドライブ装置２６は、レーザ光などを利用して、光ディスク２６ａに記録されたデータの読み取りを行う。光ディスク２６ａは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２６ａには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３７】
機器接続インタフェース２７は、コンピュータ２０に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェース２７には、メモリ装置２７ａやメモリリーダライタ２７ｂを接続することができる。メモリ装置２７ａは、機器接続インタフェース２７との通信機能を搭載した記録媒体である。メモリリーダライタ２７ｂは、メモリカード２７ｃへのデータの書き込み、またはメモリカード２７ｃからのデータの読み出しを行う装置である。メモリカード２７ｃは、カード型の記録媒体である。
【００３８】
ネットワークインタフェース２８は、ネットワーク２８ａに接続されている。ネットワークインタフェース２８は、ネットワーク２８ａを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００３９】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、図１に示した第１の実施の形態の試験装置１も、図２に示したコンピュータ２０と同様のハードウェアにより実現することができる。
【００４０】
コンピュータ２０は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。コンピュータ２０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、コンピュータ２０に実行させるプログラムをＨＤＤ２３に格納しておくことができる。プロセッサ２１は、ＨＤＤ２３内のプログラムの少なくとも一部をＲＡＭ２２にロードし、プログラムを実行する。またコンピュータ２０に実行させるプログラムを、光ディスク２６ａ、メモリ装置２７ａ、メモリカード２７ｃなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ２１からの制御により、ＨＤＤ２３にインストールされた後、実行可能となる。またプロセッサ２１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４１】
（テストパターン生成方法の一例）
図４は、第２の実施の形態のテストパターン生成方法の一例の流れを説明する図である。
【００４２】
コンピュータ２０において、プロセッサ２１は、ＨＤＤ２３に格納されたプログラムを読み出してＲＡＭ２２上に展開して、たとえば、図４に示すような各ステップの処理を実行する。
【００４３】
ステップＳ１０の処理では、プロセッサ２１は、たとえば、ＨＤＤ２３に記憶されている試験対象の真理値表を読み出して取得し、真理値表から、入力因子とその入力因子が取り得る値を取得する。
【００４４】
ステップＳ１１の処理では、プロセッサ２１は、真理値表に含まれる複数の入力因子を新たな１つの入力因子にまとめ、その入力因子が取り得る値を生成する。
ステップＳ１２の処理では、プロセッサ２１は、たとえば、ＨＤＤ２３に記憶されている、試験対象における真理値表に含まれない全入力因子とその入力因子が取り得る値を読み出して取得する。
【００４５】
ステップＳ１３の処理では、プロセッサ２１は、たとえば、ユーザによるキーボード２５ａなどの操作により入力されたｎ因子網羅率を取得する。ｎの下限は２であり、真理値表に含まれない入力因子が複数あるときには、ｎはその入力因子数以下とすれば、生成されるテストパターン数を減らせる。ただ、前述した理由で、真理値表に含まれない入力因子数が３以上のときは、ｎは２または３であることが望ましい。
【００４６】
ステップＳ１４の処理では、プロセッサ２１は、取得したｎ因子網羅率を満たすような組み合わせを任意のパラメータ組み合わせアルゴリズムで生成する。
ステップＳ１５の処理では、プロセッサ２１は、生成された組み合わせをテストパターンとして、たとえば、コンピュータ２０の外部へ出力させる。
【００４７】
なお、図４に示した各ステップＳ１０〜Ｓ１５の処理の順番は、上記の順番に限定されない。たとえば、真理値表の取得処理の前に、真理値表に含まれない入力因子とその入力因子が取り得る値の取得処理が行われるようにしてもよい。また、ステップＳ１３のｎ因子網羅率の取得処理が初めに行われるようにしてもよい。
【００４８】
以下、図４に示した各ステップの処理の一例を説明する。
なお、以下では、図５に示すような試験対象に対するテストパターンを生成する例を説明する。
【００４９】
図５は、試験対象の一例を示す図である。
試験対象３０は、たとえば、デジタル回路である。
試験対象３０における入力因子（図５の例では端子に入力される信号）には、以下に示す真理値表に含まれる３つの入力因子ＩＮ１，ＩＮ２，ＩＮ３と、真理値表に含まれない入力因子ＩＮ４〜ＩＮ２０がある。入力因子ＩＮ４〜ＩＮ２０は、たとえば、実装後に追加されている信号であり、たとえば、実装時に誤って追加された端子に入力される信号などである。
【００５０】
各入力因子ＩＮ１〜ＩＮ２０は、２つの水準（０，１）をもつものとする。これらの入力因子ＩＮ１〜ＩＮ２０に基づいて出力ＯＵＴ１が決まる。
上記のような試験対象３０についての真理値表は、以下のようになる。
【００５１】
図６は、真理値表の一例を示す図である。
真理値表Ｌ１０には、試験対象３０における、２つの水準をもつ入力因子ＩＮ１〜ＩＮ３の値の組み合わせが全通り（８通り）示されており、その組み合わせに応じた出力ＯＵＴ１の値が示されている。このような真理値表Ｌ１０は、試験対象３０の仕様として用意されているものであり、たとえば、ＨＤＤ２３に格納されている。
【００５２】
ステップＳ１０の処理では、プロセッサ２１は、たとえば、ＨＤＤ２３に格納されている真理値表Ｌ１０を読み出して取得し、真理値表Ｌ１０から、入力因子ＩＮ１〜ＩＮ３と水準（０，１）を取得する。そして、プロセッサ２１は、たとえば、以下のような入力因子−水準リストを作成し、取得した入力因子ＩＮ１〜ＩＮ３と水準とを整理する。
【００５３】
図７は、入力因子−水準リストの一例を示す図である。
入力因子−水準リストＬ１１には、真理値表Ｌ１０から取得された、入力因子ＩＮ１〜ＩＮ３とその水準（０，１）が整理されている。このような入力因子−水準リストＬ１１は、一旦、ＨＤＤ２３に格納されるようにしてもよいし、ＲＡＭ２２上に保持されるようにしてもよい。
【００５４】
ステップＳ１１の処理では、プロセッサ２１は、ステップＳ１０の処理で作成された入力因子−水準リストＬ１１を参照して、真理値表Ｌ１０に含まれる入力因子ＩＮ１〜ＩＮ３を新たな１つの入力因子とし、その水準を生成する。ステップＳ１１の処理によって、プロセッサ２１は、たとえば、以下のように、入力因子−水準リストＬ１１を更新する。
【００５５】
図８は、更新された入力因子−水準リストの一例を示す図である。
更新された入力因子−水準リストＬ１２では、入力因子ＩＮ１〜ＩＮ３が１つの入力因子ＩＮ１−３となり、その入力因子ＩＮ１−３の８つの水準が整理されている。このような入力因子−水準リストＬ１２は、一旦、ＨＤＤ２３に格納されるようにしてもよいし、ＲＡＭ２２上に保持されるようにしてもよい。
【００５６】
ステップＳ１２の処理では、プロセッサ２１は、たとえば、ＨＤＤ２３に記憶されている、試験対象３０の入力因子ＩＮ４〜ＩＮ２０（真理値表Ｌ１０に含まれないもの）とその水準を読み出して取得する。そして、プロセッサ２１は、ステップＳ１１の処理で得られた入力因子−水準リストＬ１２に、取得した入力因子ＩＮ４〜ＩＮ２０とその水準を統合する。
【００５７】
図９は、真理値表に含まれない入力因子とその水準が統合された入力因子−水準リストの一例を示す図である。
入力因子−水準リストＬ１３には、図８に示した入力因子−水準リストＬ１２に、真理値表Ｌ１０に含まれない入力因子ＩＮ４〜ＩＮ２０とその水準が統合されている。このような入力因子−水準リストＬ１３は、一旦、ＨＤＤ２３に格納されるようにしてもよいし、ＲＡＭ２２上に保持されるようにしてもよい。
【００５８】
ステップＳ１３の処理では、プロセッサ２１は、たとえば、ユーザによるキーボード２５ａなどの操作により入力されたｎ因子網羅率を取得する。以下の説明では、ユーザにより、２因子網羅率として、１００％が指定されたものとする。前述のように、一般向けシステムにおけるバグのほとんどは、２つの入力因子または３つの入力因子の組み合わせで検出可能である。そのため、２因子網羅率が１００％になるようなテストパターンを生成することで、少ないテストパターン数で不具合を検出できる可能性が高くなる。
【００５９】
なお、ｎ因子網羅率は、予め、たとえば、ＨＤＤ２３などに記憶されていてもよい。
ステップＳ１４の処理では、プロセッサ２１は、２因子網羅率が１００％となる組み合わせを任意のパラメータ組み合わせアルゴリズムで生成する。
【００６０】
以下、Ａｌｌ−ｐａｉｒ法を用いて、２因子網羅率が１００％となる組み合わせを生成する例を説明する。
（Ａｌｌ−ｐａｉｒ法を用いた２因子網羅率１００％の組み合わせ生成例）
図１０は、Ａｌｌ−ｐａｉｒ法を用いた２因子網羅率１００％の組み合わせ生成処理の一例の流れを示すフローチャートである。
【００６１】
まず、プロセッサ２１は、図９に示したような入力因子−水準リストＬ１３を参照し、全入力因子ＩＮ１−３，ＩＮ４〜ＩＮ２０から選ばれる入力因子対の値の組み合わせ（以下ペア配列と呼ぶ）を全て網羅したペア配列群を定義する（ステップＳ２０）。
【００６２】
図１１は、ペア配列群の一例を示す図である。
８つの水準をもつ１つの入力因子ＩＮ１−３と、２つの水準をもつ入力因子ＩＮ４〜ＩＮ２０によるペア配列の総数は、８×２×１７＝２７２である。入力因子ＩＮ４〜ＩＮ２０によるペア配列の総数は、２×２×17Ｃ2＝５４４である。したがって、合計８１６のペア配列によるペア配列群４０が定義される。
【００６３】
次に、プロセッサ２１は、たとえば、図９に示したような入力因子−水準リストＬ１３を参照し、後述の処理で生成するテストパターンを格納する配列（以下テストケース配列と呼ぶ）を定義する（ステップＳ２１）。
【００６４】
図１２は、テストケース配列の一例を示す図である。
図９に示したような入力因子−水準リストＬ１３では、全入力因子ＩＮ１−３，ＩＮ４〜ＩＮ２０の数が１７であるため、図１２のように１７列のテストケース配列４１が定義される。テストケース配列４１の行数は、たとえば、生成されるテストパターンの数に応じた数となる。たとえば、行数は、想定されるテストパターン数よりも多く定義される。
【００６５】
その後、プロセッサ２１は、図１１に示したペア配列群４０のうち、マーキングされていないペア配列をランダムに１つ選択する（ステップＳ２２）。初期状態では、どのペア配列も選択されていないので、ペア配列群４０のうち、どのペア配列もマーキングされていない。
【００６６】
図１３は、ペア配列の選択例を示す図である。
図１３では、ペア配列群４０のうち、入力因子ＩＮ１−３が“１００”で、入力因子ＩＮ２０が“１”となるペア配列４０ａが選択されている例が示されている。
【００６７】
プロセッサ２１は、ペア配列を１つ選択すると、そのペア配列が違反ペア配列であるか否かを判定する（ステップＳ２３）。プロセッサ２１は、テストケース配列４１のある行の全ての列に値が追加された後に、次の行に値を追加する。そのため、プロセッサ２１は、全ての列に値が追加されていない行以外に追加すべき値をもつペア配列を選択したとき（一例については後述する）、そのペア配列を違反ペア配列と判定し、ステップＳ２２からの処理を繰り返す。
【００６８】
選択したペア配列が違反ペア配列でないとき、プロセッサ２１は、そのペア配列の値をテストケース配列４１に格納し（ステップＳ２４）、ペア配列群４０のうち、テストケース配列４１に格納したペア配列をマーキングする（ステップＳ２５）。なお、マーキングとは、たとえば、プロセッサ２１が、テストケース配列４１に格納したペア配列に対してフラグを立て、ステップＳ２２の処理で、フラグの立てられたペア配列が選択されないようにすることをいう。
【００６９】
図１４は、マーキングされたペア配列と、違反ペア配列の一例を示す図である。
また、図１５は、テストケース配列に追加されたペア配列の値の一例を示す図である。
図１４には、ステップＳ２５の処理でマーキングされたペア配列４０ａが示されている。前述のステップＳ２２の処理で、ペア配列４０ａの次に、ペア配列４０ｂが選択されたとき、このペア配列４０ｂは、ステップＳ２３の処理では、違反ペア配列であると判定される。図１５に示すように、テストケース配列４１の１行目には、ペア配列４０ａの入力因子ＩＮ１−３の値“１００”が既に追加されているから、ペア配列４０ｂの入力因子ＩＮ１−３の値“０１１”は、その行に追加できないためである。
【００７０】
そのため、プロセッサ２１は、ペア配列群４０のうち、たとえば、ペア配列４０ｂの次に配列されているペア配列４０ｃを選択する。ペア配列４０ｃは、テストケース配列４１の１行目に追加できるものであるため、図１５のように、ペア配列４０ｃの入力因子ＩＮ４の値“１”が、テストケース配列４１の１行目に追加される。
【００７１】
プロセッサ２１は、全てのペア配列がマーキングされたか否かを判定し（ステップＳ２６）、全てのペア配列がマーキングされていない場合には、ステップＳ２２からの処理を繰り返し、全てのペア配列がマーキングされた場合には、処理を終了する。
【００７２】
図１６は、テストケース配列の１行目へのペア配列の値の追加が完了した例を示す図である。
テストケース配列４１において、１行目では、全ての入力因子ＩＮ１−３，ＩＮ４〜ＩＮ２０の値が確定されている。この１行目の値の組み合わせが、１つ目のテストパターンとなる。
【００７３】
図１７は、テストケース配列の１行目へのペア配列の値の追加が完了した時点での、ペア配列群のマーキング例を示す図である。
図１７に示すように、図１６に示したテストケース配列４１の１行目に値が追加されたペア配列（たとえば、ペア配列４０ａ，４０ｃ，４０ｄ，４０ｅ，４０ｆ）が、マーキングされている。
【００７４】
テストケース配列４１の２行目以降についても同様の処理で選択されたペア配列の値が追加されていく。
図１８は、全てのペア配列がマーキングされたときのペア配列群の一例を示す図である。
【００７５】
ペア配列群４０の、合計８１６の全てのペア配列がマーキングされた例が示されている。このように全てのペア配列がマーキングされたときの、テストケース配列は以下のようになる。
【００７６】
図１９は、全てのペア配列がマーキングされたときの、テストケース配列の一例を示す図である。
ペア配列群４０の、全てのペア配列がマーキングされたとき、テストケース配列４１は、１７行目まで値が追加されており、１７の値の組み合わせが作成されたことになる。
【００７７】
このような組み合わせは、２因子網羅率が１００％となる。なお、３因子網羅率に関しては、９３．２％となる。
図４に示したステップＳ１５の処理では、上記のような方法によって生成された１７の値の組み合わせがテストパターンとして、たとえば、コンピュータ２０から出力される。たとえば、コンピュータ２０の機器接続インタフェース２７に、試験対象３０または試験対象３０が配置された試験ボード（図示せず）が接続されている場合には、それらにテストパターンが供給され、試験が行われる。またプロセッサ２１は、テストパターンに応じた試験対象３０からの出力を、たとえば、機器接続インタフェース２７を介して取得して、試験結果を解析するようにしてもよい。
【００７８】
なお、試験対象がソフトウェアである場合には、プロセッサ２１は、たとえば、ＨＤＤ２３に格納されている試験対象のソフトウェアを読み出し、生成したテストパターンを用いて試験を行い、その結果を解析するようにしてもよい。
【００７９】
以上のような第２の実施の形態の試験方法及びテストパターン生成方法でも、第１の実施の形態の試験方法及びテストパターン生成方法と同様な効果が得られる。すなわち、生成されるテストパターン数を少なくでき、効率的に不具合を検出できる。
【００８０】
図２０は、網羅率の種類とテストパターン数の関係の一例を示す図である。
なお、ここでは前述した試験対象３０のように、入力因子数が２０（真理値表に含まれない入力因子数が１７）、各入力因子の水準の数が２である場合の例を示している。
【００８１】
横軸が網羅率の種類を示しており、２０の入力因子の全ての値の組み合わせを考慮する場合（全網羅）、４，３，２因子網羅率が１００％の場合、真理値表のみの場合（真理値表内での網羅率が１００％）を示している。縦軸はテストパターン数を示している。
【００８２】
図２０に示すように、テストパターン数は、全網羅の場合には１０４８５７６、４因子網羅率１００％とした場合には１８８、３因子網羅率１００％とした場合には７２、２因子網羅率１００％とした場合には１７、真理値表のみの場合には８となる。このように、全網羅でテストパターンを生成するのではなく、たとえば、２，３因子網羅率１００％となるようにテストパターンを生成することで、テストパターン数を大幅に削減することができる。真理値表のみの場合に対しても、２因子網羅率１００％とした場合には、テストパターン数の上昇数は、たかだか２倍程度である。
【００８３】
（第３の実施の形態）
以下、第３の実施の形態の試験方法及びテストパターン生成方法について説明する。試験装置（テストパターン生成装置）については、図３に示したコンピュータ２０が適用可能である。
【００８４】
以下に示すテストパターン生成方法では、使用できるリソース（たとえば、メモリ容量）が限られていて使用できるテストパターンの数に制約があるとき、テストパターン数の上限を超えないようにｎ因子網羅率を１００％にする組み合わせが生成される。
【００８５】
図２１は、第３の実施の形態のテストパターン生成方法の一例の流れを説明する図である。
コンピュータ２０において、プロセッサ２１は、ＨＤＤ２３に格納されたプログラムを読み出してＲＡＭ２２上に展開して、たとえば、図２１に示すような各ステップの処理を実行する。
【００８６】
ステップＳ３０，Ｓ３１，Ｓ３２の処理は、図４に示したステップＳ１０〜Ｓ１２の処理と同じであるので説明を省略する。
ステップＳ３３の処理では、プロセッサ２１は、たとえば、ユーザによるキーボード２５ａなどの操作により入力されたテストパターン数の上限値を取得する。なお、テストパターン数の上限値は、たとえば、予め、ＨＤＤ２３に記憶されていてもよい。
【００８７】
ステップＳ３４の処理では、プロセッサ２１は、ｎ因子網羅率のｎの初期値として２を設定する。その後、プロセッサ２１は、ステップＳ３５の処理において、ｎ因子網羅率を１００％にするような組み合わせを、任意のパラメータ組み合わせアルゴリズムを用いて生成する。ｎ因子網羅率が１００％となるような値の組み合わせを求める方法としては、直交表を用いたアルゴリズム、Ａｌｌ−ｐａｉｒ法、ＨＡＹＳＴ法などがある。
【００８８】
その後、ステップＳ３６の処理では、プロセッサ２１は、生成した組み合わせの数がテストパターン数の上限値を超えたか否かを判定する。生成した組み合わせの数がテストパターン数の上限値を超えていないときには、ステップＳ３７の処理において、ｎがインクリメントされ、ステップＳ３５からの処理が繰り返される。
【００８９】
生成した組み合わせの数がテストパターン数の上限値を超えたときには、プロセッサ２１は、ｎ−１因子網羅率が１００％になる組み合わせをテストパターンとして、たとえば、コンピュータ２０の外部へ出力させる。
【００９０】
たとえば、前述した試験対象３０に対するテストパターン生成時に、テストパターンの最大数が１００であったとする。図２０から、２因子網羅率１００％のときのテストパターン数は１７、３因子網羅率１００％のときのテストパターン数は７２、４因子網羅率１００％のときのテストパターン数は１８８である。したがって、ｎ＝４のときのテストパターン数は１００を超えるため、３因子網羅率１００％とする組み合わせがテストパターンとして出力される。
【００９１】
なお、図２１に示した各ステップＳ３０〜Ｓ３８の処理の順番は、上記の順番に限定されない。たとえば、真理値表の取得処理の前に、真理値表に含まれない入力因子とその入力因子が取り得る値や、テストパターンの最大値の取得処理が行われるようにしてもよい。
【００９２】
以上のような第３の実施の形態の試験方法及びテストパターン生成方法でも、第２の実施の形態の試験方法及びテストパターン生成方法と同様な効果が得られるとともに、メモリなどのリソースを考慮したテストパターンの生成が可能となる。リソースに余裕があり、テストパターンの最大数を大きく設定できるときには、ｎが大きくなるため、より精度のよい検証が可能となる。
【００９３】
なお、前述のように４因子網羅率１００％以上としてもバグ検出率の上昇が見込めないときには、ｎ＝３を上限とするようにしてもよい。
（第４の実施の形態）
以下、第４の実施の形態の試験方法及びテストパターン生成方法について説明する。試験装置（テストパターン生成装置）については、図３に示したコンピュータ２０が適用可能である。
【００９４】
第４の実施の形態の試験方法及びテストパターン生成方法は、真理値表に含まれていない入力因子間の値の組み合わせに制約がある場合、その制約を考慮して、制約のある入力因子同士を１つの入力因子にまとめるものである。
【００９５】
図２２は、第４の実施の形態のテストパターン生成方法の一例の流れを説明する図である。
コンピュータ２０において、プロセッサ２１は、ＨＤＤ２３に格納されたプログラムを読み出してＲＡＭ２２上に展開して、たとえば、図２１に示すような各ステップの処理を実行する。
【００９６】
ステップＳ４０，Ｓ４１，Ｓ４２，Ｓ４３の処理は、図４に示したステップＳ１０〜Ｓ１３の処理と同じである。
ステップＳ４４の処理では、プロセッサ２１は、たとえば、ユーザによるキーボード２５ａなどの操作により入力された、入力因子の値の組み合わせの制約を取得する。
【００９７】
制約には、たとえば、ある２つの入力因子は常に同じ値である、などの制約がある。上記のような制約は、たとえば、以下に示すような制約式で表される。
ｉｆ（ＩＮ４＝＝０）
ｔｈｅｎ（ＩＮ５＝０）；
ｉｆ（ＩＮ４＝＝１）
ｔｈｅｎ（ＩＮ５＝１）；
上記の式は、入力因子ＩＮ４の値が０ならば、入力因子ＩＮ５の値も０、入力因子ＩＮ４の値が１ならば、入力因子ＩＮ５の値も１であることを示す制約式である。上記のような制約は、たとえば、予め、ＨＤＤ２３に記憶されていてもよい。
【００９８】
ステップＳ４５の処理では、プロセッサ２１は、上記のような制約を参照して図９に示したような入力因子−水準リストＬ１３を圧縮する。
図２３は、入力因子−水準リストの圧縮の一例を示す図である。
【００９９】
図２３では、図９に示した入力因子−水準リストＬ１３の一部を圧縮した例が示されている。上記のように、入力因子ＩＮ４，ＩＮ５が常に同じ値であるという制約がある場合、プロセッサ２１は、たとえば、図２３に示すように、入力因子ＩＮ４，ＩＮ５を、１つの入力因子ＩＮ４−５としてまとめ、その水準として、“００”，“１１”を生成する。このように制約のある入力因子同士を１つの入力因子にまとめることで、入力因子−水準リストＬ１３が圧縮される。
【０１００】
なお、制約は、ある２つの入力因子が常に同じ値である、というものに限定されず、常に異なる値である、という制約であってもよい。また、３つ以上の入力因子間に制約があるときにも、その３つ以上の入力因子を１つの入力因子にまとめ、制約に基づく水準が生成される。
【０１０１】
以降のステップＳ４６，Ｓ４７の処理は、図４に示したステップＳ１４，Ｓ１５の処理と同じである。
以上のような第４の実施の形態の試験方法及びテストパターン生成方法でも、第２の実施の形態の試験方法及びテストパターン生成方法と同様な効果が得られるとともに、制約を考慮することで、入力因子数や考慮すべき値の組み合わせの数を減らせる。たとえば、それぞれ２つの水準をもつ入力因子ＩＮ４，ＩＮ５の組み合わせは、全部で４通りあるが上記のような制約を考慮することで、２通りだけ考慮すればよくなる。これにより、効率よくテストパターンを生成できる。
【０１０２】
なお、図２２に示した各ステップＳ４０〜Ｓ４７の処理の順番は、上記の順番に限定されない。たとえば、真理値表を取得する処理の前に、真理値表に含まれない入力因子とその入力因子が取り得る値や、ｎ因子網羅率、制約を取得する処理が行われるようにしてもよい。
【０１０３】
以上、実施の形態に基づき、本発明の試験方法、テストパターン生成方法、試験装置、テストパターン生成装置及びプログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【０１０４】
たとえば、各実施の形態同士を組み合わせるようにしてもよい。たとえば、第４の実施の形態の試験方法及びテストパターン生成方法においても、第３の実施の形態で説明したようにテストパターン数の上限値を考慮して、テストパターンとして出力する組み合わせを決めるようにしてもよい。
【符号の説明】
【０１０５】
１  試験装置（テストパターン生成装置）
２  プロセッサ
３  記憶部
５  試験対象
Ｉ１〜Ｉｍ  入力因子
Ｏ１  出力
Ｌ１  真理値表
Ｌ２  テーブル
Ｌ３  テストパターン
【図１】
2015121994.tif 000003
【図２】
2015121994.tif 000004
【図３】
2015121994.tif 000005
【図４】
2015121994.tif 000006
【図５】
2015121994.tif 000007
【図６】
2015121994.tif 000008
【図７】
2015121994.tif 000009
【図８】
2015121994.tif 000010
【図９】
2015121994.tif 000011
【図１０】
2015121994.tif 000012
【図１１】
2015121994.tif 000013
【図１２】
2015121994.tif 000014
【図１３】
2015121994.tif 000015
【図１４】
2015121994.tif 000016
【図１５】
2015121994.tif 000017
【図１６】
2015121994.tif 000018
【図１７】
2015121994.tif 000019
【図１８】
2015121994.tif 000020
【図１９】
2015121994.tif 000021
【図２０】
2015121994.tif 000022
【図２１】
2015121994.tif 000023
【図２２】
2015121994.tif 000024
【図２３】
2015121994.tif 000025