Q&Aで読むソフトウエアテスト「オールペア法、直交表の基本」現場で使うためのオールペア法、直交表の基本(5)(3/3 ページ)

» 2015年06月11日 05時00分 公開
[五味弘OKI(沖電気工業)]
前のページへ 1|2|3       

(4)直交表

 本連載で紹介した「直交表」については、第二回で基本的な考え方と組み合わせ生成ツールを解説しています。

(4-1)直交表とは何ですか?

Ans.

 直交表とは実験計画法やソフトウエアテストで使われる表で、「強さ n」の直交表といったときは、任意のn行に現れる要素(水準)の組み合わせが同一個数になっている表のことを指します。この表により、実験やテストが均等に行えます。

 実際の組み合わせの例や、組み合わせ生成ツールの紹介は第二回で言及しています。



(4-2)直交表の例にはどんなものがありますか?

Ans.

 直交表には因子数や水準数、強さ、そしてサイズの異なるものがいろいろとあります。実は、直交表を専門に研究している人たちは、「なるべく小さなサイズで、なるべく大きな因子と水準を見つけること」に腐心していたりします。

 例えば、筆者が見つけたものの中では「『20因子』『3水準』『強さ3』で『大きさ243』の直交表」や、「『16水準7個』『8水準12個』『4水準20個』『2水準6個』で『強さ2』の『大きさ256』の直交表」などがあります。

 本連載では一つの例として、第二回で4因子2水準で「強さ3」の直交表を紹介しています。

連載第二回の表5 強さ3の直交表の例
No.1 No.2 No.3 No.4 No.5 No.6 No.7 No.8
因子1 0 0 0 0 1 1 1 1
因子2 0 0 1 1 0 0 1 1
因子3 0 1 0 1 0 1 0 1
因子4 0 1 1 0 1 0 0 1


(4-3)直交表とオールペア法の違いは何ですか?

Ans.

 直交表は、水準の組み合わせが同一個現れるのに対して、オールペア法では1回以上現れることしか保証しないところが違いです。直交表はオールペア法の「1回以上の出現」という性質も満たしていますので、オールペア法の特殊なものといえます。

 「水準の組み合わせが同一個現れる」という直交表の性質により、テストは均等に実施できますが、一方で生成されるテストケース数はオールペア法よりも増加する傾向にあります。また因子数や水準数に制限があります。

 基本的な違いは第二回を、現場での適用指針は第四回を参照ください。



(4-4)直交表のツールにはどんなものがありますか?

Ans.

 直交表のツールには、富士ゼロックスが提供する「HAYST法」や群馬工業高等専門学校(群馬高専)の須田健二教授(開発当時)らによる「GaloisSoftTest」などがあります。ツールの紹介は、第二回で行っています。



(4-5)直交表とオールペア法はどちらを選べばいいのですか?

Ans.

 オールペア法であれば、テストケース数は少なく、因子数や水準数に制限はありません。直交表は因子に依存せずに均等にテストができ、より強い組み合わせのときでも、網羅率は高くなります。これらのトレードオフを考えて選択することになります。

 逆に生成されるテストケース数から、直交表とオールペア法でそれほど差がないときは直交表を選び、差が大きいときは上記のトレードオフを判断して、選択するようにします。

 選択の指針は、第四回を参照ください。



(5)ツールと職人

 職人技に依存したテストは、ときに高い品質を得られることがあります。一方で、ともすると経験則のみに依存してしまい、品質レベルを保証するのが難しいという問題もはらんでいます。職人技とツールのバランスについては、第三回第四回を通読してみましょう。双方のバランスを取るために意識すべき事柄を紹介しています。

(5-1)オールペア法や直交表のツールとはどのように付き合えばいいのですか?

Ans.

 これらのツールは因子や水準、禁則を発見し、強さを決めれば、自動的にテストケースを生成してくれますが、因子や水準の発見の妥当性がないとテストの意味がありません。ツールは「銀の弾丸」ではありませんが、便利な道具です。道具に振り回されず、道具を使いこなすようにしてください。



(5-2)職人を目指すべきでしょうか、それともツールの習熟に努めるべきでしょうか?

Ans.

 第四回で示したように、例えば探索的テストと機械的な組み合わせテストを相互補完して使うのが望ましいので、ソフトウエアテストの品質を求める技術者ならば、両方とも目指す必要があるといえます。とはいえ、職人的な技能はごく限られた人たちだけのものです。まずはツールに習熟し、品質を高める中で経験を積む方が効率が良いでしょう。



 最終回の今回は、連載を通じて紹介してきた「組み合わせテストの品質を科学的に保証する手法」とその判断指針のエッセンスを、FAQ形式でまとめてみました。連載を通読してもよいですし、実践する中で何かにつまずいたら、このFAQをたどって必要な情報を再確認してみてもいいでしょう。

 皆さんが開発・テスト工程で、より効率よく品質を高められるようになることを期待いたします。


著者プロフィール

五味弘(ごみひろし)

OKI(沖電気工業) シニアスペシャリスト、エバンジェリスト。博士(工学)。

ソフトウエアの開発支援・教育に従事。電子情報振興協会(JEITA)専門委員会の委員長や情報処理振興機構(IPA/SEC)などの委員多数。三重大学などの非常勤講師も務める。エンタープライズ系と組み込み系におけるソフトウエア開発の知見融合が関心事。

共著書に『定量的品質予測のススメ』(オーム社、2008年)、『プログラミング言語論』(コロナ社、2008年)などがある。


現場で使うためのオールペア法、直交表の基本

現場で使うためのオールペア法、直交表の基本(5):

今回は連載の総集編として、ここまでで解説してきたポイントをFAQ形式でまとめてみました。本稿を、ソフトウエアテストで「考え過ぎた」ときに、リファレンスとして使ってみてください。詳細を確認したい場合は連載各回の解説を確認してみましょう。

(2015年06月11日)
現場で使うためのオールペア法、直交表の基本(4):

組み合わせテスト実施時の判断のコツは分かったけれど、どのくらいの「強さ」で、どの手法を組み合わせればいい? 筆者の経験から、判断基準やテストのPDCAにおける「トレードオフ」の正しい悩み方、賢い対策の考え方を紹介します。

(2015年05月29日)
現場で使うためのオールペア法、直交表の基本(3):

オールペア法や直交表は組み合わせテストの品質を一定に保ち、テストケースを合理的に削減できる利点を持ちます。しかし、ツールでやみくもにテストケースを削減してはいけません。そこには勘も経験則もコツも必要です。筆者がコツを伝授します。

(2015年04月28日)
現場で使うためのオールペア法、直交表の基本(2):

あらゆる条件を網羅したテストを実行することは現実的ではありません。しかし、職人技と勘、あるいは闇雲にテストツールに頼っても、科学的に品質を保証できません。最小のコストで品質を保証するための手法と、その考え方、制約がどのようなものかをじっくり見ていきましょう。

(2015年03月20日)
現場で使うためのオールペア法、直交表の基本(1):

手法やツールだけでなく、そもそもテストとは何か、トレードオフを適切に判断するために必要な知識は何かをじっくり考えてみましょう。

(2015年02月18日)
前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。