バルテス株式会社では、2021年3月10日に、組み合わせテストの効率化に役立つツールとして、Webアプリ「Qumias Plus(クミアス・プラス)」をリリースしました。これは、DL版「Qumias(クミアス)」をWebアプリ化し、より便利にご利用いただけるよう機能追加したものです。今回は、「Qumias Plus」の開発推進者であるバルテスの江添に、アプリの概要やDL版からの機能追加、開発秘話などについてインタビューしました。
Qumias Plusのご利用はこちら(無料)
プロフィール
- 江添 智之
バルテス株式会社 第3ソフトウェアテスト事業部 R&C部 マネージャー
テスト業務に関する研究開発および人材育成を担当。Scrum Alliance認定スクラムマスター、ディープラーニング検定(G資格)、ネットワークスペシャリスト、データベーススペシャリスト、JSTQB Advanced Level(テストマネージャ、テストアナリスト)など、ソフトウェアの開発およびテストに関する資格を多数取得。JaSST Kansai 実行委員長。現在の関心は機械学習のテスト分野への応用と効率的なテスト自動化。
https://www.qbook.jp/column/tomoyuki-ezoe.html
誰でも簡単、確実にテストケースを生成できるWebアプリ
「Qumias Plus」とは、どのようなツールなのでしょうか?
「Qumias Plus」は、ソフトウェアのテストの効率化に役立つWebアプリで、組み合わせテストを対象としています。もともと、Microsoft ExcelにアドオンできるDL版の「Qumias」を無償提供していましたが、Webアプリ化することでプラットフォームを選ばず、ユニバーサルにご利用いただけるようになりました。もちろん、DL版同様、どなたでも無料でお使いいただけます。
「Qumias Plus」で効率化できる組み合わせテストとは、どういったものでしょう?
例えば、ソフトウェアのテストを行う際、こんな種類のOSで、こんなブラウザで試したい、といったように、様々な条件で行いたいことがありますよね?それらのさまざまな条件を組み合わせてテストするのが、「組み合わせテスト」です。
組み合わせテストの際は、組み合わせのテストケースを生成します。そのとき、テスト項目を「因子」、その項目が取りうる値を「水準」と呼びます。先ほどの例なら、因子「OS」の水準は「Windows」「MacOS」「Linux」、因子「ブラウザ」の水準は「IE」「Chrome」「Safari」などになります。テストケースはこれらを組み合わせて生成されます。「Qumias Plus」は、そのテストケースを機械的に生成できます。
テストケース数を、9割削減。テストの質を担保しつつ効率化
テストケースの生成に、「Qumias Plus」を利用する利点について教えてください。
まずは、機械的に生成できるので、人の手によってテストケースをつくった場合の「ヌケ」「モレ」といったリスクが発生しないのが大前提としてあります。
さらに「Qumias Plus」なら、テストケースの数を圧縮し、最適な数で生成できます。仮にすべての因子と水準の組み合わせを網羅すると、テストケースは膨大な数になります。たとえば、ECサイトで、OSとブラウザの組み合わせでユーザがどんなふうに使うのかテストしたいとき、想定するユーザ環境としてOS×4種類、ブラウザ×3種類と想定したとします。そして、ECサイトのサービスの仕様として、プレゼント包装×2種類、宅配方法×2種類、決済×4種類、領収書×2種類を選べる場合、全部のパターンをテストしようとすると、4×3×2×4×2×2=384通りになります。
しかし、「Qumias Plus」を利用すれば、不具合の発生しやすい部分を残して、最小限の組み合わせを残すことができます。実際、「Qumias Plus」がこの条件で生成したテストケースは、わずか18通り。でした。約95%のテストケースを削減できたことになります。
そのように大幅に削減できるのはどうしてでしょうか?
実はシステムの不具合は、大部分が1~2因子で起こっているからです。アプリケーションの場合は、因子が2つまでのケースが全体の93%以上、Webシステムなら2つまでが75%以上、3つまで含めると95%以上となっています。このため、2因子間、もしくは3因子間を網羅したテストケースがあれば、完全ではありませんが、多くの不具合を検出できるのです。このように因子を絞って、そのなかで組み合わせを網羅する技法を、ペアワイズ法(オールペア法)と言い、「Qumias Plus」はこの技法を用いています。これによって組み合わせの抜けや漏れがなく、誰でも安心で簡単にテストケースを生成できるというわけです。
もちろん、「Qumias Plus」で生成したテストケースだけで、100%のシステム不具合を拾い上げられるわけではありません。しかし、一通りの機能テストが終わっているので最終確認したい、デグレを修正したので確認したい、といった補完的な確認のとき、その都度すべてのテストケースを再び確認するのは時間がかかりすぎてしまいます。そのようなときに、「Qumias Plus」は大きな力を発揮します。
「Qumias Plus」は、設定値を組み合わせれば、誰でも簡単に適切な数でテストケースを生成できます。そのため、使うシーンを選びません。たとえば、開発現場のプログラマが自分でテストしたいけれど、パラメータが多くなってしまったときなど、適切な数でテストケースを間引けます。また、ノーコード開発やローコード開発の場合もパラメータが多くなりがちなので、活用することでシステムの安心を担保しつつ、開発効率も上げられるでしょう。
なお、「Qumias Plus」のコアとなるエンジンは、DL版から継承した、大阪大学大学院情報科学研究科の情報システム工学専攻教授・土屋達弘氏が開発した「CIT-BACH」が元になっています。
Qbookのリンクからすぐ利用でき、テストケースを約10秒で生成
「Qumias Plus」の基本的な使い方を教えてください。
「Qumias Plus」は、Qbookのサイトのリンクから、Webアプリで提供しています。簡便なUIになっており、表計算ソフトのような表に、因子と水準を直接入力することができます。このほか、お手持ちのExcelなどの表計算ソフトで作成したファイルをアップロードすることも可能です。このように登録が終わると、自動でテストケースを生成し、ファイル(XSLX、ODS)としてダウンロードできる仕様となっています。
なお、テストケースの生成ツールで欠かせないのが、制約条件を付ける機能です。機械的に因子と水準を組み合わせたテストケースには、ありえないものも存在します。たとえば因子「OS」の水準がiOSだった場合、因子「ブラウザ」の水準がIEになる組み合わせは存在しません。このようにありえない組み合わせを、予め排除したいときに制約条件を加えます。一般に、テストケース生成ツールは、制約条件を加えると生成が遅くなってしまうのですが、「Qumias Plus」は、制約条件を加えたとしても、わずか10秒ほどでテストケースを生成できます。
機能を追加し、UIも強化。より現場で使えるツールに
今回、Webアプリ化するにあたり、DL版と機能面での違いはありますか?
ご要望の多かった新たな機能を追加しました。生成したテストケースのファイルを読み込んで、テストケースを再生成することができます。仕様変更などで因子や水準が増えたときに便利な機能です。DL版は再生性の際、中間ファイルを利用する必要があり、わかりづらいという声に応えました。
また、再生成のときに、新たな組み合わせ結果を、もともと生成したテストケースの表の下にまとめて追加することも可能になりました。追加分がわかるようにしたい、前につくったテストケースを履歴として残したい、というときに役立ちます。
別名生成という機能も、現場の実情に合わせて実装しています。たとえば、因子がPCタイプで、水準がノートPCとデスクトップの場合、テストケースはノートPCとデスクトップの2種類でよいのですが、現場でテストするときに、使用するノートPCが、エンジニアによって標準ノートPCとゲーミングノートPCというように、さまざまなバリエーションがある場合もあります。Webアプリ版の「Qumias Plus」では、開発現場の状況に合わせて、指定した「ノートPC」という値を、別名で割り振って出力できます。
今回の開発で、特に力を入れた点なども教えてください。
機能面だけでなく、UIに関しても使いやすさを追求しました。リリース前に、社内のテストエンジニアに試用してもらい、使い勝手をフィードバックしてもらい、それらに一つひとつ対応。レイアウトのわかりやすさ、ボタンの視認性、ヘルプ内容など、細かな改善に3ヶ月ほど掛けています。
特に、トップページの印象はガラリと変わりました。当初は殺風景な業務ツールのようでした。機能的な不自由はないのですが、社内の評判は芳しくありませんでした。広く一般のユーザに扱っていただくことを考えると、もっよわかりやすいUIにする必要があると考え、大幅に改善しています。よりユーザフレンドリーなアプリになったのではないかと期待しています。
今後はユーザと育てていくアプリに。高機能版も期待してほしい
リリースされたことで、ユーザからの反響も気になりますね。
そうですね。できれば、どういったところがわかりにくいのか、使いにくい点はどこかなど、いろいろなご意見やご感想をいただきたいと思っています。そのためのアンケートも実施予定です。現場で求められる機能を収集して、より便利なツールへとアップデートしていきます。ユーザの声をスピーディに取り入れられるのもWebアプリならではの利点。みなさまとともに「Qumias Plus」を育てていければと思います。
「Qumias Plus」の今後の展望などを教えてください。
予定としては、大規模なプロジェクトでより便利に使える高機能版のリリースを構想しています。たとえば、現在はテストケースの同時生成は10本までとなっていますが、現場によっては、テストケースを複数試したいなど、より多くの生成が必要な場合もあります。このようなさまざまな現場の声を取り入れつつ、機能拡張していく予定です。同時に、大量のテストケースを作成する場合の処理速度の高速化など、高性能化にも努めます。今後の「Qumias Plus」の展開にご期待ください。