久しぶりに直交表/HAYST法関連のブログ記事~。
==
以前ご紹介したブログで直交表やHAYST法についての考察が出された。
マイリストに「ソフトウェアテストにおける直交表(HAYST法、All-pair法)の利用」をアップ by つれづれなる技術屋日記
・ソフトウェアテスト開発技術者やソフトウェアテスト技術者にとって未知の世界
・タグチメソッド自体が賛否両論
・直交表自体の学習の難しさ
・実験計画法の記述のほとんどが、数式と表
・ベースとなる統計や代数・幾何
直交表とかタグチメソッドとかいう名前を会社の上司に話したとしても、知ってる程度で実際に直交表の書かれた紙や画面を見せると、苦笑い、といったことが多い。これは指摘の通り、未知の世界だということが大きいかも。今や大学在籍時の専攻が理学系だったとしても、なかなか数学って敬遠されがちな分野。行列とかベクトル空間とかあんまり記憶にないのが現実。だから、「直交(orthogonalかな?)」という概念もすぅ~っと頭に入りにくい。
僕はちなみに数学を主専攻にしていたので、大学時代ぶりの数式を見るとけっこう楽しい。ツボだね。それは同僚からすると意外に稀有な存在に映るらしい。
・タグチメソッド(品質工学)との間隙
(中略)
・SN比など重要な概念が、電気・機械・化学等の計測した数値の場合が多い
・体系が、電気・機械・化学等の事例をベースに確立されている
タグチメソッドについて浅学すぎて議論についていっていないかもしれないが、ここで僕の考えは少し違う。そもそもタグチメソッドを利用したソフトウェアテストという体系と、直交表を使ったソフトウェアテストという体系は別物だと考えてます。どういう理屈からかというと、、、
# 以下、浅学なため見当違いの意見を含むかもしれませんので、ご指摘を。。
タグチメソッドとはいかに分散を抑えるかが目的
タグチメソッドを説明するサイトで多く見られるのが、平均値が正確な技術と分散が小さい技術、どちらを優秀と評価するか、といった例が挙げられている。このメソッドによって、例えばどういった環境とどういったデータでソフトウェアは想定した動作をするかを評価はできる。あるいは、サーバのCPU性能、メモリ搭載量、ディスク性能といったパラメータがどのように処理性能に影響するかを評価するときに利用できる。
直交表の性質から、効率的な組み合せパターンを作成できる
直交表は任意の2列が直交という性質を持っていて、それをテスト条件の因子に当てはめると、効率的なテストケースのパターン作成に役立つ。例えば、ON/OFFの2種類の条件が7つあった場合、組み合せ数は2の7乗=128通りが想定できるが、任意の2条件についてすべて網羅できるという制約をつければたった8通りのテストケースで網羅できる。また、ソフトウェアによっては3条件以上の網羅を必要とする場合があるが、それも田口博士の工夫によって網羅率を高める方法が存在する。
以上のように、ソフトウェアテストへの応用について言えば、タグチメソッドと直交表とは区別したほうがいいのではないか。と、私見ではあるが考える。
少ない利用事例
・タグチメソッド自体、ソフトウェアでの利用事例発表が少ない
・HAYST法利用での発表も同様
・All-pair法利用での発表は皆無(特に日本。参考文献5は貴重)
ほんっとに、少ない。ソフトウェアテスト全般に活用できるとは思っていないが、局所的にはすごく便利なツールなのでもっと文献や資料、事例がないと、なあ。タグチメソッド(というかSN比)の活用については、負荷分析に利用できる、といった示唆はあったが、それくらい。
・ソフトウェアテストのイメージ(困難な直交表経験者の流用)
(中略)
・従来のタグチメソッド用ツールが使えない(HAYST法のツールはソフトウェア専用。たぶんAll-pairも)
・逆にソフトウェア直交表ツールを、ハードウェアのタグチメソッドに使えない
お互いのツールがお互いを意識していないから、だろうか。
・ホワイトボックステストへの利用
(中略)
function funcA(a1, a2:integer)
:
:
function funcA(b1, b2, b3:integer)
:
:
function funcA(c1, c2:integer)
:
:
funcA~funcCを因子へ
a1~c2を水準へ
なるほど。この考え方は僕にとっては新鮮でした。単体テストケースで直交表を利用するというのはやってみたいな。ただし、関数I/Fが変更された場合はおそらくゼロから単体テストケースを作り直す必要はありそうだ。
==
いや~、PDF76ページの大作。読みごたえあり。すべてについて感想や意見を書く時間はなかったけれど、何かアクションしたかったので記事にしてみました。直交表って魔法に見えたり、難解なパズルに見えたり、いろんな顔を持ってるので、感じ方も千差万別かな。
最近のコメント