ツール
TOP >  ツール >  特集ツール

特集ツール
Qumias - Combination Designer
Pairwise法による組合せテストケース生成ツール
■大阪大学とバルテスによる共同研究プロジェクト
組合せテストケース生成ツール「Qumias」が完成!

大阪大学大学院 情報科学研究科 土屋達弘 教授(以下、大阪大学・土屋教授)と ソフトウェアテスト専門会社 バルテス株式会社(以下、バルテス)による共同研究の 成果として組合せテストケース生成ツール「Qumias」(クミアス)が完成しました。


■従来のツールが持つ問題点を改善、より実用的なツールに

従来の組合せテストケース生成ツールは、禁則が複雑になったり、因子・水準数が増えると、極端に処理が遅くなる、 ハングアップするなどの問題点があり、実業務で使用するには注意が必要でした。

今回の共同研究では、大阪大学・土屋教授が強力な計算アルゴリズムを有する組合せテストケース生成エンジン CIT-BACH(シット・バック)を開発し、従来の問題点を大きく改善しました。バルテスは実際のソフトウェア開発現場で使われた 因子水準や禁則条件を使用してCIT-BACHに対するテストを行い、エンジンが実用に耐えるものであることを確認しました。
また、バルテスは、使いやすいGUIをデザインし、それを多くのIT技術者が使い慣れているExcelで動作するアドインによって 実現しました。これによりシンプルなGUIベースのCIT-BACHの性能を存分に活用できるようにしました。

■Qbookで独占公開

CIT-BACHと、ExcelアドインによるGUIをパッケージにしたものが組合せテストケース生成ツール「Qumias」(クミアス)です。
このツールは、Qbookでのみダウンロード可能です。下からダウンロードできますので、ぜひご活用下さい。
※会員のみダウンロード可能となっています。

■ダウンロード

ツールの名称 表記 Qumias - Combination Designer
よみ クミアス - コンビネーション・デザイナー
ツール説明 Qumiasは組合せテストケース作成支援ツールです。
組合せエンジンには、大阪大学・土屋達弘教授が開発されたペアワイズテスト用テストケース生成エンジン「CIT-BACH」を利用しています。
①入力②ドラッグ③右クリックの簡単3ステップ操作で、Excelシートに入力された項目表(因子水準表)から組合せテストケースを作成します。
必要に応じて禁則関係を設定したり、特定の項目間のみ網羅性を高めたりすることができます。
また、最小テストケースを作成するためのランダムオプション、前回と同じ組合せケースを生成するためのシード値の指定オプションがあります。
動作確認環境 OS Windows 7
Windows 8/8.1
Windows 10
Excel Excel 2010
Excel 2013
Java Java SE 6以降 (32bit版)
バージョン 1.2.0 (2016/9/30)


■共同研究者による対談

ペアワイズテスト用テストケース生成エンジンCIT-BACHを開発された大阪大学・土屋教授と、バルテスで今回の共同研究を担当した石原上席研究員による対談です。


土屋達弘
大阪大学 大学院情報科学研究科 情報システム工学専攻教授。 コンピュータ工学、特に、分散アルゴリズム、モデル検査、ソフトウェアテスト、信頼性評価・最適化を専門とする。 2012年4月に研究室を引き継いだばかり。学生も教員も成長していけるような研究室を目指す。二児の父で休日はもっぱら家族と過ごす。
石原一宏
バルテス株式会社 R&D 部 上席研究員。 ソフトウェアテスト・品質技術の研究開発、社内/社外の技術研修やセミナーの講師、コンサルティングなどを担当する。 座右の銘は『ぶれない軸を持って品質をつくる』。顧客の要求に立脚した品質向上技術の開発と、 現場のエンジニアを元気にする技術研修を目指す。趣味は料理とアンティークの筆記具。


石原: バルテスとは、組合せテストについて共同研究させていただいておりますが、そのほかに土屋教授はどのような研究に取り組んでおられるのでしょうか?

土屋: 研究室の名前は「ディペンダビリティ工学講座」です。 ソフトウェアシステムを中心とした高信頼化技術の研究をしています。
もともと分散システムとか耐故障化の理論研究をしていたのですが、そこから始まって、ソフトウェアテストの理論とか、あとはモデル検査と言っているのですが、いわゆる形式検証、フォーマルメソッドの一種みたいなものについて研究をしています。

石原: なかでも最も熱心に取り組まれているご研究は?

土屋: それはもうCIT-BACHでしょう(笑)

石原: ありがとうございます(笑)
では、CIT-BACHは、土屋教授の研究室の名称でもある「ディペンダビリティ」(高信頼性)では、どのように位置づけられるものなのでしょうか?

土屋: システムをどうやって高信頼化するかというと、故障が起きても大丈夫なようにする耐故障化と、そもそも故障や不具合が入っていないようにしようという、大きく2つの方法があります。 CIT-BACHは後者に役立つ研究になります。

石原: なるほど、私の専門のソフトウェアテストはどうしても故障が入らないようにするという意識に偏りがちなのですが、ディペンダビリティの意識を持ってテストに取り組まないと、本当に高品質なシステムは実現できませんね。

土屋: そうですね、あらゆる信頼の属性を含む大きな概念というのがディペンダビリティですのでとても重要です。

石原: 組合せテストケース生成ツールとしてはすでにPICTがあるのはご存知だったと思うのですが、新たにCIT-BACHを開発しようと思われたのはどうしてなんでしょう?

土屋: 組合せの生成は、禁則処理が大事だと思っています。PICTでも禁則処理はできるんですが、ちょっと問題点がありました。 でも改良しようにも、どうやって実現しているのかが公開されていないんですね。 そこへ最近、ほかの研究者たちが、PICTとは異なるやり方なんですが、方法を明らかにした組合せのやり方を発表したんです。 その方法を見て、それよりもっといい方法があるんじゃないかって思いまして、それを実現しようと開発を始めました。

石原: それはすごいですね。研究成果を発表されたら、大きな話題になるのではないでしょうか。

土屋: いやあ、どうでしょう。そうなるといいのですが。

石原: どういったところが、CIT-BACHの優れているところなのでしょうか?

土屋: 今までの方法ですと、先に禁則を考えずに組合せテストケースを作成してから、一つ一つ禁則を満たしているか調べて、満たしていたら排除するなりしていたんです。 CIT-BACHは、先に禁則情報を持つようにして、いちいち調べなくても、そこを参照したらほぼ一瞬でテストケースが禁則を満たしているか、そうでないかがわかるようにしているんです。

石原: PICTだと水準が増えた時に、禁則処理がものすごく遅くなるのは経験的に知っていたのですが、そういうことだった のですね。でもそうするとCIT-BACHは最初の禁則情報を作成するのに時間がかかるのではないでしょうか?

土屋: そこがどうなのかは、検証しているところです。 ただ、PICTがものすごく遅くなる既に知られている例というのがあるんですけど、それに対しては速いですよ。



※バルテスにおいての実測データです。




石原: 私たちが行ったCIT-BACHに対するテストでも、これまでだと不安のある因子水準と禁則データを入れても安心して使える印象を持ちました。開発はお一人でされたのでしょうか。

土屋: はい、基本的にツールの開発は、自分で全部やりました。本当に速くなるのかの確認は学生にやってもらいました。

石原: 工夫されたところとか、苦労された部分は?

土屋: エンジン部分は意外と早く出来上がったんですよ。 禁則情報を扱うところは、グラフ構造のBDDを扱えるJavaのライブラリを使いました。 苦労したというか、時間がかかったのは、GUIから呼び出されることを考慮するとか、出力ファイルとか、そういうエンジンとは無関係のところですかね。

石原: 私のほうから出したリクエストにも応えていただきましたしね。

土屋: はい、できるかぎり対応しました。石原さんはこのような大学との共同研究というのは、これまでにもされてきたのですか?

石原: これまでは先生方をお招きして講義などをしていただき、いろいろな理論などを教えていただく形で、大学の先生方と関わらせていただいてきました。 今回も土屋教授にはたいへん勉強させていただきましたが、それだけでなく、こちらからもデータをご提供したり、一緒にツールを作り上げたりできるようになったのは、今回の共同研究が初めてです。

土屋: QumiasのGUIは非常にいいですよね。 GUIがあると使いやすいですものね。 実業務で使いやすいものを、みなさん望まれていると思うのですが、GUIの開発というのは大学の研究ではやりにくい部分なんです。 そういう部分を企業様に担っていただけると助かります。Qumiasの開発ではどんなところに苦労されたのでしょうか?


石原: 高機能と簡便さのバランスですね。 私たちもそれなりに組合せテストは使ってきているので、いろいろなことをできるようにしたくなるのですが、そうすると設定画面が増えて、簡便さが損なわれてしまいます。 たんに因子水準表から2因子間網羅の組合せ表をつくりたいだけなのに、さまざまな設定ダイアログを見せられては使いたくなくなりますからね。 ですから、原型シート利用機能などCIT-BACHが持っている機能でも、Qumiasからは使えない機能もあります。

土屋: なるほど。でも、今は原型シートは使えないかもしれませんが、Qumiasで出力されるモデルファイルの機能を拡張すれば、比較的簡単にできるような作りになっているような気がしますが。

石原: はい、簡単に使えるようにということを念頭に入れて作ってますが、原型シートなり、デシジョンテーブルなりという方法を、やっぱりQumias上で使いたいという声が大きければ、次のバージョンで入れられるようには考えてあります。


土屋: すばらしいですね。どうしようCIT-BACHにバグがあったらいやだな(笑)

石原: 私たちもCIT-BACHのテストをさせていただきましたので大丈夫ですよ。 ところで、CIT-BACHという名称についてお聞かせください。

土屋: CITというのはよく使われている略語でして、Combinatorial Interaction Testingのことです。 Pairwiseとか、Three-wayとか、そういうものをまとめてCITと呼んでいます。 それで名称として、“くつろぐ”という意味のsit backに音を似せようと、BACHは無理やりくっつけた感じです。 一応、BDD Assisted Constraint Handlerで、BDDを用いた制約処理装置という意味になります。

石原: CIT-BACHの今後の改良予定などはありますか?

土屋: 禁則や制約処理については工夫したんですが、テストケース生成のアルゴリズムに関しては、よく知られたタイプで作っています。 それを洗練させて、もっと速くて小さなテストセットが出てくるようにしたいと思っています。 アルゴリズムをいくつか用意しておいて、あとは、与えられた因子水準、禁則のパターンを見て、最適なアルゴリズムを推定して、自動的に切り替えるとか、そういう拡張を考えています。

石原: 今後2年間、共同研究を行わせていただくわけですが、私たちからは、実際の現場で使用した結果を、土屋教授にフィードバックさせていただければと思っています。

土屋: 研究室の中にはCIT-BACHがあるから便利、なければ困るという“実際の問題”というものがありません。 ですので、バルテスさんのような実業務のところから上がってきた問題を形式化して、それに対して解法を考えていくようにしないと研究できないんですよね。

石原: バルテスのテストエンジニアに使ってもらうのと同時に、Qbookというソフトウェア品質のポータルサイトでQumiasをダウンロードできるようにします。 私のほうで現場からの声やデータを集約しつつ、QumiasもCIT-BACHもブラッシュアップしていければと。


土屋: そうしていただけるとありがたいです。 こんな条件の時に遅くなったとか、さまざまな要望とか、例えば、もっと速くしろとか、遠慮なく言っていただけるといいかなと思います。

石原: そうして改良したツールや、ツールに限らず研究成果を使って、さらに実業務のテストがより正確になり、効率が上がるといいですね。 私たちにとっても大きなメリットです。 それが共同研究の目指すところでもありますので、今後ともよろしくお願いいたします。

土屋: こちらこそよろしくお願いします。

石原: 本日はありがとうございました。



(この対談は、2012年4月9日に、大阪大学・土屋研究室で行われました。情報は対談当時のものです)