2021年5月26日、第4回目となるAIQVE ONE主催のオンラインセミナー、QA Tech Nightを開催いたしました。この記事では、その中で行われた、株式会社ベリサーブ 研究企画開発部のサービス開発課 岩瀬様の講演内容をお届けいたします。

自己紹介

ベリサーブの岩瀬です。
今日はソフトウェアテストの課題とテストツール、QualityForward(クオリティフォワード)について紹介させていただきます。

まず自己紹介から。
QualityForwardのプロダクトオーナーを務めています、岩瀬です。
プロダクトオーナーというのは、顧客ニーズをもとにプロダクトの方向性や優先順位を決めてプロダクトのビジョンを示す責任者のことです。

経歴としましては、2013年にベリサーブに入社し、主に第三者検証のテストエンジニアとしてスマート家電のシステムテストを担当していました。
100名規模のテストチームでテスト設計・テスト実行を担当していたり、小さなものであれば5~7名のテストチームのリーダーをやっていたりという経歴です。
2020年からベリサーブの開発部門であるQualityForwardのプロダクトオーナーとして活躍しています。

アンケート『テスト管理ツールを使ったことがありますか?』

本題に入る前に軽く皆さんの状況を確認するためにアンケートを行いたいと思います。

テスト管理ツール、みなさん使ったことがありますか?
表計算ツールを除いてあるかどうか確認させてください。

結果を共有します。
実際に半分近くが「使ったことがない」という結果になっていますね。

今なお使っているという方が16%、過去に使っていたけれど今は使っていないという方が36%ですね。

結構多くの方が使っていないという結果になるかと思います。
ありがとうございます。

今日は、テストツール使ったことがない、過去に使っていた、という方にも向けていろいろ機能を説明していきたいと思います。

実際に2018年のSQiPシンポジウムのランチセッションアンケートでもアンケートをとっておりまして、テストマネジメントの実情ということで、『実際にテストマネジメント実施できているか』というアンケートで、「実施しているが課題がある」という方が52%、「実施できていない」「あまり実施できていない」という方が全体の36%、あわせて約90%近くの企業はテストマネジメントに何らかの課題がある状態。そして課題があると答えた方の80%以上が表計算ソフトを利用しているということでした。

他、テスト管理ツールや自社開発ツールを使っているという方が10%ちょっとですね。
さきほどのアンケートとほぼ同じ数値ですね。

この結果をみてもわかる通りテスト管理ツールはまだまだ普及率が低い状況です。
その原因としていろいろありますが、
「費用対効果がかわかりにくい」
「Excelとの違いがわからない」
「そもそもテスト管理ツールってどういうものがあるか分からない」
「テスト管理ツールを知らない」
という声が多く上がってきます。

そこで今回はテスト管理ツールを知ってもらおうということで資料をまとめています。
それでは本日のアジェンダです。

テスト管理ツールとは、というところをまず紹介し、QualityForwardとはどういうものかという話、テストの現場でよくある課題と、それに対してQualityForwardがどのような機能を提供できるのか、そしてこの場でリリース予定の機能なんかも紹介させていただきたいと思います。

テスト管理ツールとは

テスト管理ツールとはいったいなんでしょうか。
テスト分析では要件管理ツールがあったり、テスト設計では、先ほど紹介したテストラクチャーのようなテスト設計支援ツールといったものもあります。

みなさんが一般的に使われているのはインシデント管理ツールですね。
インシデント管理ツールに関してはJIRA・Redmine、最近ではBacklogなんかも名前が挙がってきます。

たとえば自動化が進んでいるチームでは、テスト実行の自動実行ツールも利用しているチームが多いです。

今回テスト管理ツールとは何を指しているのかですが、テスト実装におけるテストケースの管理ツール、そして、モニタリングとコントロールのテスト結果/レポートツール、これらについてテスト管理ツールと表現しています。

表計算ソフトに対するテスト管理ツールの優位性

一般的なテスト管理ツールの表計算ソフトに対する優位性について説明していきたいと思います。

まずは、テスト管理に求められる必要な集計、グラフが一式そろっている点です。

テスト管理ツールを使うことにより、テスト結果を登録すれば、さまざまなグラフをリアルタイムに表示できます。

そしてテスト、開発エンジニアなど複数人同時に利用可能ということで、一般的なテスト管理ツールであれば、サーバーにおいていたり、クラウドサービスで提供されているのが一般的です。

ツールにアクセスすることにより、複数人での同時・並列の作業が可能ですし、開発チームでも現在の進捗状況を把握できます。

次にテストケース資産・テスト結果資産の効率的な管理が可能ということで、素早くテストの進捗状況を把握し、さらにグラフで俯瞰的にみながら詳細な情報へアクセスできます。

またテストケースの資産、テスト結果資産を管理するということは、現在の品質を把握し、次のプロジェクトを効率化できますよ、というような優位性をあげています。

ツールによって強み、弱みがありますので、これらは一般的に言われるテスト管理ツールの強みということで、一般的には、プロジェクトでテスト運用しながらツールの特徴をとらえてリスク管理とか調査をする必要があります。

テスト管理ツール『QualityForward』について

一般的にはいろいろありますが、QualityForwardとはどんなツールなのか、というのを今日はより掘り下げてみていきたいと思います。
こちらがテストの実行画面です。

表計算ソフトを使っている方でしたら慣れ親しんだUIになっています。
スプレッドシート形式で、テストケースを管理することができます。

また下の方で、現在の進捗状況を帯グラフで表示することができます。

今見えているのが一部分ですが、テストケースが何件あって、何件終了しているのか、どれくらいの割合でpassになっているのか、failになっているのかというのを即座に見ることが可能です。

これは私がテスト実行者だったときに、こういうものを見ようとすると、だいたいテスト結果に空欄があるものをフィルターして行選択してというふうにカウントしていたのですが、
ツールを使うことでこういう手間をなくして画面を見ながらリアルタイムに進捗状況を確認することが可能です。

QualityForwardは主にスクリプトテストの手動テストを管理するツールです。
テスト結果を投入することで様々な自動入力をサポートしています。

たとえばテスト結果を入れることで実施日や実施者が登録されます。
また、オプション機能では、テスト環境などデフォルトでいれたい値を登録することにより、テスト結果をいれたタイミングで自動入力することが可能です。

こういった自動入力をすることにより、たとえばテスト実行日のコピペミスだったりとか、
そういったものを未然に防ぐこともできます。

QualityForwardでできること

いろいろ機能がありますが、細かく説明し過ぎると時間が足りなくなってしまうので、主要な以下4つの機能をまとめています。

1.テストスイート管理

まず1つ目、テストスイート管理ですね。バージョン管理だったりとか様々な管理を行うことができます。
テストスイートというのはテストケースの塊ですね、それをバージョン管理したりステータス管理することができます。

2.テスト結果の集計分析

2つ目、テスト結果の集計分析ということで、様々なグラフ表示ができます。
またプロジェクトの開始日、終了日を設定することで予定の実績値を自動で入力してグラフに反映させることも可能です。

3.BTS連携/REST API完備

3つ目、BTS連携/REST API完備ということで、RedMineやJIRAとの連携ができたりAPIを経由してテストケースの追加や登録も可能です。

4.テスト活動の総合管理

4つ目、テスト活動の総合管理ということで、テストを行った結果の知識・ナレッジをチームWikiなどにまとめて共有できたりとか、ワークフロー機能ですね、これはレビュー依頼をする機能もついています。

テスト現場でよくある課題とそれに対する機能

大きな機能群としてはこの4つになるのですが、さらに掘り下げて、テストの現場でよくある課題に対してQualityForwardはどんな機能を提供できるのかというところを紹介していきます。

まず大きなトピックとして3つ挙げています。

1つ目はテストケースの資産管理、2つ目はテストの進捗管理、3つ目にツールの管理という3つのトピックを紹介しています。

テストケースの資産管理

まず1つ目、テストケースの資産管理ということで、ファイルの増殖、テスト実装状況の把握、そして二重メンテナンス、これがどういうものか詳しくご説明します。

テストケースの資産管理、ファイルの増殖、どういったケースがあるかですが、主にバージョン管理ですね。たとえば1回リリースしたあとに、次のリリースに向けて、テスト設計をしましょうとなったときに、ファイルを複製して、ファイルの名前に新しいバージョン名を書いて、その新しいバージョンで新しいテストケースを作成する、という工程が、ファイル管理だとよくあるかと思います。
そうした場合に、ファイルの数がふえてしまい、バージョンによってはフォルダに分けていてフォルダごとにファイルが分散してしまうということもよくあります。

次にテスト実装の状況が見えにくいということで、完了するまでテストリーダーが、進捗状況、テストの実装状況を把握するのが難しいです。これはテスト設計者がローカルで作業している場合もあればファイルはおいてあるけれどそれが完了しているのかまだまだ途中なのかというところが見えづらかったりします。

そして二重メンテナンス、バージョン管理しているチームによくあるのが、テストの実行フェーズになったときにですね、もともとテストケースとして作っていたものをマスターとしてテストの実行中に新しいファイルを作って、そのファイルにテスト実行者が入力していく。そういったときにテストケースに修正が入った場合、テスト設計者はマスターになるテストケースをまずメンテナンスします。その上で実行ファイル側も修正していく必要があるため、二重でメンテナンスしなければならなくなります。運用方法によってはテストの実行をいったん止めて、実行ファイルに差し替えて、途中まで進んでいたテストの結果をコピーして貼り付けて、というような作業が発生するわけです。

ではQualityForwardではどういった機能が提供できるかというと、先ほどもお伝えした通り、テストスイート管理というものがあります。

プロジェクトに紐づくテストスイート、テストケースというのはこの画面で全て把握することが可能です。

では、テストスイート管理で何ができるのかをさらに掘り下げていきます。

テストスイートのバージョン管理ができるということで、そのテストスイートでどれだけバージョンが作られているのかを一画面で確認できますし、さらにテストバージョンが編集中なのか利用可なのかが確認できます。そして編集してほしくなければロックすることもできます。

またバージョンごとに、テスト担当者・テスト設計者が違うこともありますよね。その場合も、誰がどのバージョンを管理しているのかというのもすぐに見ることができます。

そしてもう1つタグ設定ですね、これによりテストスイートに複数の属性を持たせることができます。

こういったように全体を見ることもできますし、タグごとに紐づいているテストスイート、テストスイートバージョンをみることができます。これにより多次元にテストを管理することが可能です。

またテストボリュームというのもリアルタイムに見ることもできます。
クラウド上にテスト設計者がテストケースを追加していけば、ここにカウントが増えていきます。

テストリーダーはわざわざテスト設計者の進捗状況を確認しに行かなくても、まずここを見れば、現在の状況、また利用可なのか、それとも編集中なのか見ることもできます。

その上でテストスイート管理には様々な検索機能がそろっています。任意のキーワードによりテストケースをフィルターしたり、先ほどのタグ検索ですね、タグにより特定のテストスイートを探すと、またテスト担当者ごとに絞り込むことも可能です。さらに「このテストスイートは使わない」となったときには検索から外すこともできます。

そして二重メンテナンスに関して、これは構造も含めて紹介したいと思います。

QualityForwardはテストスイート管理・テスト実行管理、それぞれでデータベースを持っています。
なので、テスト設計者がメンテナンスしなければいけないのはこのテストスイート管理に紐づいているテストケースのみです。

実行者からみえているテストケース画面、テストの実行画面というのはあくまでテストスイートの元データを参照しているものとなりますので、テスト設計者が対象となるテストケースをメンテナンスした場合、テスト実行者はリロードすることで最新の状況を見ることができます。

これは問合せが結構来るところで、ファイル管理をしていると二重で管理しなければならないという認識でいる方が多くて、テスト実行画面で編集したいという問い合わせが多いのですが、QualityForwardはテストスイート管理側を修正すれば、テスト実行画面にも反映する仕組みになります。

テストケースの資産管理、まとめるとこういったかたちになります。

ファイルの増殖-様々なファイルがいろいろなところに散らばってしまった場合には、バージョン管理機能で一元管理ができますし、不要になったらアーカイブすることが可能です。

テスト実装状況の把握に関しては担当者とステータスを管理することもできます。またクラウド上にテストケースを登録していけば、どんどんテストケースのカウントもリアルタイムで可視化できます。

二重メンテナンスについてもさきほど説明した通り修正はテストスイートのみです。
テスト実行と並列してテストスイート側も修正してください、ということになります。

テストの進捗管理

2つ目のテストの進捗管理について、ファイルマージや集計作業、突発的な進捗報告、これも掘り下げて説明していきたいと思います。

テストの進捗管理について、毎日の進捗報告の集計作業に時間がとられてしまう、多拠点でテストを実施・マージするのに時間がかかってしまう。お客様から突発的な進捗報告依頼が頻発するといった話もあがりますね。

これらの作業は主にテストリーダーが取られる工数になります。

2つ目の突発的な進捗報告依頼、これはどういうケースのときに発生するかというと、テストが遅れているときですね、夕方に進捗報告を出すんですけれど、昼にも確認したい、すぐにでも確認したいというような依頼がくるとテストリーダーはその場で集計作業をする必要があって、1日に何度も修正しないといけないというケースがあります。

QualityForwardはどういった機能を提供できるか、ですが、これはもっとも効果が出やすい課題ですね。

テストケースを登録することによりリアルタイムにいろいろなグラフをみることができます。また予測値を投入することにより、予測と実績の乖離を即座に把握することもできます。これにより、誰もが共通のテスト状況をみることができます。

ここにアクセスしてもらえば最新の状況を見れるので、テストリーダーはいちいち集計作業をせずに、「この画面を見てください」と言えば終わりですね。

その他にもさまざまなグラフを用意しています。

テストの実行画面でもお見せしましたが、帯グラフでテストの結果の状況を一目でみれるグラフがたくさん載っています。

先ほどはテストの実行画面にフォーカスをあててみてきましたが、たとえばテストフェーズの単位で紐づいているテストケースを全て集約して、現在の進捗状況がどうなのか予定通りに進んでいるのが表示され見ることができます。

また全体でみたら予定通り、部分的にみたら実は1個のテストケース・テスト単位が遅れていた、この機能に関して遅れていて他の部分でリカバリしていたというのもツールを触っていくことで見ることができます。

次にカバレッジパネルというものも搭載しています。これはテスト観点や目的ごとに、テストケースどれくらい定義されているか割合を表示した上で、テスト結果を入力することでパス率を色分けして表示できます。

観点ベースでパス率がどうなっているか進捗率がどうなっているか、を可視化できる仕組みになっています。

このように様々な視点でリアルタイムにテストの進捗状況を把握することが可能です。

実際にQualityForwardを導入したときの結果が以下の通りです。

Aプロジェクトでは、1拠点25名規模でどのくらいの工数が削減されたかというと33%削減がみられた

Bプロジェクトは3拠点・大きな60名規模でもっていて、テストマネジメントを図った結果、50%の削減がみられました。

主にテストリーダーの雑務に関わる集計作業を軽減している結果となります。
こういった工数の削減は近年よく言われることだと思うのですが、もう1点注目して頂きたいのは、工数を削減したとは主に雑務にとられていたテストリーダーの工数を削減できていたということになります。

今まで雑務にとられていた時間をテストリーダーはテスト分析に費やすことができるようになった、削減された工数を使ってよりテストを円滑するための作業に使えるようになった、というメリットもあります。
工数を削減した、というだけでなく誰の工数を削減できたか、というところも見ていただきたいと思います。

テストの進捗管理についてですね、ファイルマージと集計作業については、自動集計でリアルタイムに状況を可視化できます。

また様々なグラフをサポートし、多面的に進捗の把握ができますよ、ということですね。

さらに突発的な進捗報告については、ブラウザからいつでも閲覧が可能です。
メンバー全員が同じ情報を正しく共有できます。

コメントに、スプレッドシートやCSVを使ったテストケースのインポートはできますか、という質問があったのですが、エクセルインポートはできます。CSVはやり方はあるのですが、ツールを用意することは可能ですね。

ツールの管理

次にツールの管理について紹介していきたいと思います。

どういった課題が挙げられるかということですが、これはインシデント管理もそうですが、さきほどもあったテストの自動実行ですね、自動化がすすむと自動実行ツールというのも導入されますね。

そういった各ツールがそれぞれでテストデータを持ってしまうので、テストデータが分散してテストの全体像が見えづらい状況になるというのが課題に挙げられると思います。

さっきの2つのトピックから一歩踏み込んだ課題になるかと思います。

QualityForwardではどういった機能を提供できるかということで、まずBTS連携ですね。

これにより連携したBTSのチケット状況を把握・集計して収束曲線グラフにマージすることが可能です。これによりテストの進捗状況とあわせて不具合の検出率がどうなっているかというのを把握することができます。

またオプション機能に、テストの実行画面から右クリックで起票という機能もついています。

これなかなか好評なのでこの場で紹介させていただきました。

そして次にWebAPI連携として、テストケースの自動生成やテスト結果の登録といったところがAPIを経由して行えます。

これによりQualityForward以外のツールのテスト結果だったりテスト状況をマージしてQualityForwardで一元管理する仕組みというのがカスタマイズできます。

これについて、ブログでもいくつか紹介しています。

https://qf-support.hatenablog.com/

手動テストと自動テストを一元管理するためにどうすればいいのかアーキテクチャも含めてスクリプトを公開していたりだとか、APIを利用してテスト結果を取得する方法、結果を投入する方法とか、はてなブログでスクリプトを含めて公開しています。

こういったサンプルスクリプトをみることで、各チームにあわせたカスタマイズを行うことが可能です。

まとめると、テストツールの連携管理について、テストの情報が分散してしまう件については、BTS連携でバグ検出情報を一元可視化できるとか、API連携でさまざまなツールとの連携が可能ですとか、サンプルスクリプトを利用して、チームごとにカスタマイズ可能なので確認してみてください。

最後にまとめですが、テストケースの資産管理では、バージョンとタグで一元管理ができます。不要になったらアーカイブして下さい。テストケースの作成状況も可視化が可能です。テスト実行と並行してメンテナンスもできますので、そういったところもメリットとしてあげられます。

またテストの進捗管理についてはリアルタイムで状況を可視化できたり、様々なグラフをサポートしているとか、より多面的に進捗の把握ができたり、ブラウザからいつでも閲覧が可能だったり、メンバーが全員で同じ情報を正しく共有することが可能です。

ツールの管理についてはBTS連携でバグ検出情報を一元可視化可能です。
API連携を使えばカスタマイズも可能です。

それらのスクリプトは、はてなブログにも公開しているのでぜひご参照ください。

ということで課題に紐づけたクオリティフォワードの紹介は以上になります。

リリース予定の機能

最後に、もうすぐリリース予定の機能を紹介していきます。

テスト要求ツリーです。

今までお話しした内容でテスト実装にも状況を把握するための機能が載っていたとお話ししましたが、さらに上で、テスト要求というのを管理する機能というのがもうすぐリリースされます。

これにより、テスト要求をツリー形式で表示して管理することができます。

さらにテスト要求ツリーにテストケースをひもづけることで、テスト要求がちゃんと実装されているのかというのを右のカバレッジパネルからみることができます。

テスト要求が定義されている上で実装が済んでいるのは青色の部分、赤色はまだ定義が済んでいない部分、作成が済んでいない部分というのを、俯瞰して確認することができます。

これはきっととても便利な機能になるのでぜひ使って欲しい機能です。

ということでQualityForwardの紹介については以上となります。
30日間の無料トライアルというのも行っていますので、是非公式ページからお申し込みください。

QualityForwardの詳細はこちら