Technical Information

「テスト観点データベース」とテキスト分類手法を活用したテスト設計支援

asset_approach_column_advanced-tech-crops_hero01.jpg

当社が開発したCROPS(クロップス)という、テスト設計時にテスト観点をレコメンドしてくれるツールについてご紹介します。

はじめに

テスト設計において「良いテスト」を実施するための重要な要素の一つとして、適切なテスト観点を抽出できるかが挙げられます。テスト観点を抽出する時、熟練したテスト設計者であれば、過去の経験や経験を基にした「ひらめき」を使えますが、経験が浅いテスト設計者に「ひらめき」を求めるのは難しいでしょう。
ご紹介するツールは、当社で蓄積している「テスト観点データベース(以下、テスト観点DB)」を、より活用するために開発されました。テスト設計において、ソフトウェア要求仕様書などのテストベースの一部から、必要なテスト観点をレコメンドするツールです。
当社の実際のプロジェクトにおいて、同ツールの活用が進んでおり効果も出ていることから、今回ご紹介することになりました。

株式会社ベリサーブ
オートモーティブ事業本部
須原 秀敏

1.会社としての背景

テスト観点DBの活用の難しさ

当社は「品質を創造する」企業として、車載・エンタープライズ・組込み・Webなど多種多様な業種・サービスでテスト業務を担ってきました。そのテスト業務の経験を活かして、高品質なテストを提供できることが当社の強みの一つです。

テスト設計業務の経験を通じて得られるものに、テスト観点があります。特に、抽象化された製品横断のテスト観点をGeneric test aspectと言います(製品固有のテスト観点は、Specific test aspectと言います)。(※1)

Specific test aspectは特定のテスト対象に対する関心事を抽出したものであり、Generic test aspectはそこから他のテスト対象にも使えるように一般化したものです。Generic test aspectは熟練したテスト設計者の頭の中にある暗黙知であることが多いですが、経験が浅いテスト設計者でも適切なテスト設計ができるよう当社では数年前からGeneric test aspectを形式知化するという活動を継続してきました。その結果として蓄積されているものがテスト観点DBであり、TREESという社内向けWebサービスを通じて全社員が活用できる状態になっています。現在では、テスト観点DBを利用して、テスト対象の品質目標に到達するために必要なテストを設計できるよう業務を進めています。

テスト観点データベース「TREES」イメージ

しかし、Generic test aspectが蓄積されればされるほど、狙った知識にたどり着くことが難しくなります。今ではテスト観点として登録されている機能群が200を超えており、気になる単語で検索すると、場合によっては数十の検索結果となり、その中から取捨選択する必要が出てくるためです。取捨選択する作業においても、熟練したテスト設計者の「経験」や「ひらめき」が必要になります。このことからテスト観点DBの検索時、特定のテスト対象に対して使えそうなGeneric test aspectをレコメンドしてほしい、という要望が出てきました。

TESTRUCTUREの存在

当社には、テスト設計支援ツール「TESTRUCTURE(テストラクチャー)」という製品があります。

JSTQBが定義するテストプロセスで言うと、テスト分析からテスト設計までを支援するツールです。具体的には、テストベースからフィーチャー(機能)を整理し、特定分野のテスト観点であるSpecific test aspectを抽出、整理し、テスト分析・設計活動を支援します。

テスト設計者はTESTRUCTUREを利用する中でSpecific test aspectを抽出しますが、Specific test aspectはテストベースから純粋に抽出されることもあれば、テスト設計者の「経験」などから新たに生まれることもあります。 この新たなSpecific test aspectを発見する流れは、多くの場合、テスト設計者の頭の中に蓄積されているGeneric test aspectから特定のテスト対象に使えそうなものを抜き出す活動となります。 この、「特定のテスト対象に使えそう」なGeneric test aspectをTESTRUCTUREでレコメンドしてほしい、という要望も出てきました。

テスト設計支援ツールTESTRUCTURE概要

2.技術的な背景

当社で開発を行っているツールの中に、課題管理システムの類似チケット検索機能があります。この機能の開発では、自然言語処理技術の一つであり、2017年に発表されたSCDV(Sparse Composite Document Vector)という手法(※2)を要素技術として使っています。SCDVは文書間の類似度を測る指標の一つであり、類似チケット検索機能においてはSCDVを使ってチケット間の類似度を数値化しています。

(他の手法と比較した際のSCDVの優位性などについてはこの場では省略します。ご興味ある方は論文※2などをご参照ください)

Generic test aspectのレコメンドという要望に関して、テストベースを一つの文書、Generic test aspectに関連する単語や説明などをもう一つの文書と考えて、SCDVを使うことで適切なテスト観点が抽出できるのではないかと考え、CROPSの開発が始まりました。

3.CROPSの開発

テストベースの文書を自然言語で与えることで、テストすべきGeneric test aspectをレコメンドしてくれる機能を提供するツールがCROPSです。CROPS(作物)という名前は、テスト観点DBを収集・閲覧するWebサービスであるTREES(木々)から、価値のあるテスト観点を収穫するという意味で名付けました。

CROPSを使うことにより、熟練のテスト設計者は「経験」の活用や「ひらめき」を加速させることができますし、経験が浅いテスト設計者は自らが持たない「経験」を補完することができます。

テスト観点レコメンドの全体イメージ

CROPS自体は特定のテストベースの文書とGeneric test aspectを紐づける機能の提供を行いますが、社内向けの提供方法としては、前述の
TESTRUCTUREとの相性が良いためTESTRUCTUREの拡張機能として提供しています。

TESTRUCTUREを使用してテストベースを分析する際に、テストベースの文書をマーキングしてフィーチャーの整理を行いますが、そのタイミングでCROPSを呼び出して関連しそうなGeneric test aspectをレコメンドしています。

テスト設計者はレコメンドされたGeneric test aspectを見て、テスト設計で使用するSpecific test aspectに組み入れるかどうかを判断します。

TESTRUCTUREの画面で、
レコメンドされたテスト観点を確認

現状はTESTRUCTUREの拡張機能としての提供ですが、CROPSの仕組み自体は汎用的に適用できるので、例えばWordの文章を読みながら気になる箇所に印を付けるとGeneric test aspectを表示するアドオンを作ることも可能です。

今後、仕様書全部を一気に与えて、そのテスト対象のテスト観点モデル全体を作ることもできるかもしれません。

4.考察

CROPSを実際のパイロットプロジェクトで試用したところ、車載分野など当社が強みとしている業種については、Generic test aspectを高い精度でレコメンドできました。このような結果になる理由は、テスト観点DBにテスト対象に関連した知識が十分蓄積されているためです。

逆にテスト観点DBに知識が十分蓄積されていない分野の場合は、レコメンドすべきGeneric test aspectが見つからず、的外れなレコメンドとなる結果が散見されています。これについては、今後も継続的にGeneric test aspectを収集していくことで解決していくと考えています。また、テストベースが文章ではなくモデルで書かれているケースなども現在、CROPSが苦手とする分野です。社内としての需要が多いのであれば、モデルに対応したCROPSを開発することも検討します。

5.今後の課題

現時点ではまず需要が多いTESTRUCTUREの拡張機能から開発し、現状のテスト観点DBに入っている知識を前提に運用しています。

「4.考察」で記載した通り、テスト観点DBを増強していくことが次のステップだと考えています。 CROPS自体の課題としては、使えそうな
Generic test aspectのヒット率を上げるためのロジックの改善を進めることです。自然言語処理の技術は日進月歩ですので、最新の技術をキャッチアップしつつ必要があれば改善を進めていきます。 ただ、熟練したテスト設計者が「経験」で導くSpecific test aspectの中には文字面だけでは判断ができないものも含まれることがあります。そのため、自然言語処理のアプローチだけでは、ヒット率を100%に近づけることは難しいと考えています。ですが、まずは自然言語処理でできる限界を目指して更に高いヒット率を目指して、研究を進めたいと考えています。



※1 A. Satoh et al., "Designing Fulfilling Test Cases with Test Aspect Model", Verification and Validation Workshops (ICSTW 2019), April 2019.
※2 D. Mekala et al., "SCDV : Sparse Composite Document Vectors using soft clustering over distributional representations", Association for
Computational Linguistics, September 2017


【関連情報】 テスト設計支援ツール「TESTRUCTURE」のご紹介