24.06.2015 Views

ソフトウェアテスト向けの直交表自動構成に関する一考察

ソフトウェアテスト向けの直交表自動構成に関する一考察

ソフトウェアテスト向けの直交表自動構成に関する一考察

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

FIT2009( 第 8 回 情 報 科 学 技 術 フォーラム)<br />

B-026<br />

ソフトウェアテスト 向 けの 直 交 表 自 動 構 成 に 関 する 一 考 察<br />

Some Ideas for Computer Construction of Orthogonal Array Used for Application to<br />

Software Testing<br />

須 田 健 二 †<br />

Kenji Suda<br />

1. まえがき<br />

直 交 表 は、 実 験 計 画 法 で 培 われた 技 術 であるが、 最 近 は<br />

プログラムのバグを 効 率 よく 取 り 除 くための 技 法 であるソ<br />

フトウェアテストにも 応 用 が 広 がりつつある。しかしなが<br />

ら、 実 験 計 画 向 けの 直 交 表 とソフトウェアテスト 向 けの 直<br />

交 表 では、その 大 きさ、 因 子 数 や 水 準 数 、また 強 さなどに<br />

要 求 される 条 件 が 異 なっている。 我 々は、すでに 主 として<br />

実 験 計 画 向 けの 直 交 表 を 自 動 構 成 できる 万 能 型 のソフトを<br />

[1]<br />

開 発 しており、ソフトウェアテスト 向 けにも 一 部 応 用 可<br />

能 である。 今 回 、ソフトウェアテスト 向 けの 直 交 表 に 要 求<br />

される 項 目 等 について 考 察 を 加 え、これを 基 にソフトウェ<br />

アテスト 向 けの 直 交 表 自 動 構 成 ソフトを 開 発 中 であるので<br />

報 告 する。<br />

2. ソフトウェアテストと 直 交 表<br />

2.1 ソフトウェアテスト<br />

実 験 計 画 法 やソフトウェアテストにおいて、 図 1 に 示 す<br />

ように、 特 性 値 や 結 果 に 影 響 を 及 ぼすと 考 えられる 因 子 の<br />

水 準 組 合 せについて 実 験 やテストを 行 う。しかし、すべて<br />

の 水 準 組 合 せについて 実 験 やテストを 行 うと、その 回 数 は<br />

膨 大 となり 不 可 能 となってしまう。そこで 全 部 の 組 合 せ 実<br />

験 を 行 うのではなく、その 一 部 のみの 実 験 で、 全 部 の 実 験<br />

を 行 ったのと 同 等 の 情 報 を 得 るために 直 交 表 と 呼 ばれる 組<br />

合 せ 表 を 用 いる 方 法 が 広 く 行 なわれている。<br />

ソフトウェアテストとは<br />

与 えられたテスト 目 的 に 対 して<br />

どのようなテストをすれば 最 も 効 率 よく 結 果 が 得 られるか<br />

を 考 える 方 法<br />

水 準 ( 項 目 や 機 能 などのとる 値 )<br />

因 子<br />

( 項 目 、 機 能 、<br />

パラメータなど)<br />

:<br />

テスト<br />

( 水 準 組 合 せ)<br />

結 果<br />

(バグがあるかないか)<br />

1 機 能 テスト:ある 因 子 のある 水 準 が、 結 果 に 及 ぼす 影 響 を 調 べる<br />

2 機 能 間 テスト:2つの 因 子 の 水 準 組 合 せが、 結 果 に 及 ぼす 影 響 を<br />

調 べる<br />

t 機 能 間 テスト:t 個 の 因 子 の 水 準 組 合 せが、 結 果 に 及 ぼす 影 響 を<br />

調 べる<br />

図 1 実 験 やテストのモデル<br />

2.2 直 交 表 とは<br />

S ={0,1,・・・,q-1}とする。 強 さtの 直 交 表 は、m×N 行<br />

列 A で、 次 の 条 件 を 満 たすとき、A は 大 きさ N、 制 約 数<br />

m、シンボル 数 q、インデックスλの 直 交 表 であるといい、<br />

OA(N, m, q, t)と 書 く。<br />

† 群 馬 工 業 高 等 専 門 学 校 電 子 情 報 工 学 科<br />

条 件 ;A の 任 意 の t 行 に 対 し、すべての S t の 順 序 対 が<br />

ちょうどλ 個 の 列 に 現 れる。<br />

なお、この 直 交 表 をソフトウェアテストで 使 用 する<br />

ときには、N はテスト 回 数 、m は 因 子 数 、q は 水 準 数 、t<br />

は 強 さとなる。 我 が 国 で 良 く 使 用 されている 記 法 LN (q m )<br />

は、OA(N, m, q, 2)に 相 当 する。<br />

2.3 ソフトウェアテストで 必 要 な 直 交 表<br />

ソフトウェアテストで 必 要 な 直 交 表 は、まず 多 因 子 、 多<br />

水 準 で、 因 子 間 で 水 準 数 が 異 なる 場 合 が 多 いなど、 実 験 計<br />

画 で 使 われているものと 異 なる。 図 1に 示 すように 実 際 の<br />

テストでは、 全 ての 因 子 の 2 機 能 間 テストの 他 に、 一 部 因<br />

子 の 3 機 能 間 テスト、 一 部 因 子 の 4 機 能 間 テストも 要 求 さ<br />

れ、これらに 対 応 するためには、 強 さ 2 の 直 交 表 OA(N,<br />

m, q, 2)で、 部 分 的 に 強 さ 3 と 強 さ 4 を 持 つ 直 交 表 が 必 要<br />

となる。<br />

3. 直 交 表 の 構 成 法<br />

3.1 G 行 列 から 直 交 表 を 生 成<br />

このような 直 交 表 を 構 成 する 方 法 は、ある 条 件 を 満 たす<br />

ような 行 列 G が 作 れれば 簡 単 であることが 知 られている [2] 。<br />

今 、 想 定 される 因 子 を F 1 , F 2 ,・・・, F m とし、すべて 同 じ 水 準<br />

を 持 つとする。 次 に 想 定 される 一 部 強 さ 3 を 要 求 される 因<br />

子 を F i1 ,F i2 ,・・・,F iw とする。 次 に 想 定 される 一 部 強 さ 4<br />

を 要 求 される 因 子 を F j1 ,F j2 ,・・・,F jz とする。これをイン<br />

デックスの 集 合 で 簡 略 化 して 次 のように 書 く。<br />

M = {1,2,・・・,m}<br />

I={i 1, i 2, ・・・, iw}⊆M<br />

J ={j 1, j 2, ・・・, jz}⊆M<br />

ただし、I∩J =φ<br />

すなわち、 水 準 数 q が 一 定 で、しかも 素 数 べきであるな<br />

ら、 有 限 体 GF(q) 上 、 次 のような 性 質 を 持 つm×n 行 列 G<br />

を 考 える。<br />

(1) G の 任 意 の 2 行 は、 線 形 独 立 である。<br />

(2) {i, j, k }∈I,のとき、Gの 第 i, j, k の3 行 は 線 形 独 立 で<br />

ある。<br />

(3) {i, j, k, l }∈J, のとき、Gの 第 i, j,k, l の4 行 は 線 形 独 立<br />

である。<br />

この 条 件 を 満 たす G 行 列 から、 直 交 表 は 次 式 で 得 られ<br />

る。<br />

A = {r = Gθ; θ∈ GF(q) n }<br />

415<br />

( 第 1 分 冊 )


FIT2009( 第 8 回 情 報 科 学 技 術 フォーラム)<br />

3.2 G 行 列 の 構 成 に 有 限 射 影 幾 何 を 利 用<br />

このような G 行 列 を 構 成 する 方 法 として、 因 子 F1,<br />

F2,・・・,Fm を 有 限 射 影 幾 何 PG(n,q)の 点 に 割 りつける 方 法<br />

が 知 られている [3] 。すなわち、<br />

(1)PG(n-1,q)の 点 は、GF(q) 上 の n 次 元 ベクトルで 表 現 で<br />

きる。<br />

(2) PG(n-1,q)のすべての 点 (ベクトル 表 現 )から G 行 列<br />

を 作 ると、 因 子 数 m=(q n -1)/(q-1)なる 強 さ 2 の 直 交 表<br />

が 構 成 できる。<br />

(3) 強 さ 3 の 直 交 表 を 作 るには、 直 線 上 の 3 点 にのらない 点<br />

の 集 合 を 集 める 必 要 がある。<br />

(4) 強 さ 4 の 直 交 表 を 作 るには、 平 面 上 の 4 点 にのらない 点<br />

の 集 合 を 集 める 必 要 がある。<br />

図 2 GaloisSoftTest のメニュー 画 面<br />

4. ソフトウェアテスト 向 けの 直 交 表 自 動 構 成 ソ<br />

フトの 開 発<br />

我 々がすでに 開 発 した 実 験 計 画 法 向 けの 直 交 表 構 成 ソフ<br />

ト Galois は、 多 因 子 ・ 多 水 準 (2・3・4・5・7・8・9)、 強<br />

さ 2,3,4 に 対 応 した 万 能 型 直 交 表 自 動 構 成 ソフトである。<br />

従 って、この Galois をソフトウェアテストに 応 用 すること<br />

も 可 能 であるが、 今 回 、ソフトウェアテスト 専 用 のシステ<br />

ムの 開 発 を 思 い 立 った。その 理 由 は、システムの 操 作 性 の<br />

向 上 やソフトウェアテストシンポジウム JaSST [4][5] で 発 表<br />

されたソフトウェアテスト 向 けの 直 交 表 に 望 まれる 機 能 な<br />

どを 取 り 入 れるためである。<br />

以 上 の 観 点 から、 我 々はソフトウェアテスト 向 けの 直 交<br />

表 自 動 構 成 ソフト GaloisSoftTest を 開 発 中 である。 概 要 は<br />

次 の 通 りで、3 つの 機 能 に 絞 り 開 発 を 進 めている。<br />

1. 基 本 形 すべての 因 子 が 同 じ 水 準 数 をもつタイプで、<br />

因 子 数 、 水 準 数 、 強 さ(2、3 か 4)を 与 えると、<br />

テスト 回 数 最 小 の 直 交 表 を 生 成 してくれる。<br />

2. 応 用 系 一 部 因 子 間 で 強 さが 異 なるタイプで、<br />

基 本 は 強 さ 2 だが、 一 部 の 因 子 間 は 強 さ 3 また<br />

一 部 の 因 子 間 は 強 さ 4 の 直 交 表 を 生 成 してくれ<br />

る。ここでもすべての 因 子 が 同 じ 水 準 数 をもつ<br />

と 仮 定 している。<br />

3. 混 合 形 因 子 間 で 一 部 水 準 数 が 異 なる 混 合 系 のタイプで、<br />

HAYST 法 [4] などで 使 用 の 2 n 型 だけでなく、<br />

3 n 型 などの 混 合 系 の 直 交 表 を 生 成 してくれる。<br />

ただし、 強 さは 2 だけである。<br />

図 2 に GaloisSoftTest を 起 動 したときのメニュー 画 面 を 示<br />

す。 現 在 までのところ 基 本 形 はほぼ 完 成 しており、そのボ<br />

タンをクリックすると、 図 3 に 示 すダイアログボックスが<br />

表 示 されるので、 自 動 構 成 に 必 要 なデータである、 因 子 数 、<br />

水 準 数 、 強 さの 入 力 を 行 ない、 直 交 表 作 成 ボタンをクリッ<br />

クするだけで 最 適 な 直 交 表 を 構 成 してくれる。<br />

応 用 系 や 混 合 形 については、すでにそのアルゴリズムはで<br />

きており、プログラムを 作 成 中 である。<br />

5. まとめ<br />

ソフトウェアテスト 向 けの 直 交 表 について 考 察 し、 新 た<br />

に 直 交 表 自 動 構 成 ソフト GaloisSoftTest を 開 発 している。<br />

これが 完 成 すれば、 多 因 子 (3~50 因 子 )・ 多 水 準 (2・<br />

3・4・5・7・8・9 水 準 )で、2~4 機 能 間 の 全 部 の 組 合 せ<br />

図 3 基 本 形 の 入 力 画 面<br />

のチェックはもちろん、 一 部 は 3 機 能 間 や 4 機 能 間 のチェ<br />

ックも 可 能 である。また、ソフトウェアテストにとって 重<br />

要 な、 因 子 間 で 一 部 水 準 数 の 異 なる 2 n 型 の 混 合 型 の 直 交<br />

表 も 簡 単 に 構 成 できるようになる。そうすればテスト 技 術<br />

者 は、 直 交 表 やその 設 計 に 煩 ずらわせられることなく、テストに<br />

専 念 できるようになると 思 われる。<br />

今 後 の 課 題 として、GaloisSoftTest をできるだけ 早 く 完<br />

成 させること。また、さらに 大 きい 水 準 数 (11,13,16 な<br />

ど)に 対 応 するなど 機 能 拡 充 のためには、 原 始 既 約 多 項 式<br />

や 有 限 射 影 幾 何 の 初 期 直 線 の 入 力 が 必 要 となる。<br />

文 献<br />

[1] 須 田 健 二 、パソコンによる 直 交 表 の 自 動 構 成 とソフト<br />

ウェアテストへの 応 用 、ソフトウェアテストシンポジ<br />

ウム 2007 東 京 予 稿 集 、pp.91-97, 2007.<br />

[2] 高 橋 磐 郎 、 組 合 せ 理 論 とその 応 用 、 岩 波 全 書 、1979<br />

[3] 須 田 健 二 、 宮 崎 晴 夫 , 直 交 配 列 を 用 いた 実 験 計 画 におけ<br />

る 要 因 割 りつけのコンピュータ・アルゴリズムについ<br />

て、 日 本 経 営 工 学 会 誌 、Vol.37、No.6, pp.345-352,<br />

1987.<br />

[4] 山 本 、 秋 山 、 直 交 表 を 利 用 したソフトウェアテスト-<br />

HAYST 法 -、ソフトウェアテストシンポジウム<br />

2007 東 京 予 稿 集 、2004.<br />

[5] 居 駒 幹 夫 、10 年 後 のソフトウェア 技 術 , ソフトウェ<br />

アテストシンポジウム 2009 東 京 予 稿 集 、pp.114-<br />

121, 2009.<br />

416<br />

( 第 1 分 冊 )

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!