Skip to main content
QUICK REVIEW

[論文レビュー] Automatic Creation of Acceptance Tests by Extracting Conditionals from Requirements: NLP Approach and Case Study

Jannik Fischbach, Julian Frattini|arXiv (Cornell University)|Feb 2, 2022
Software Engineering Techniques and Practices被引用数 6
ひとこと要約

本稿では、非形式的な自然言語要件に含まれる条件文から、最小限の受入テストケースを自動生成するツール支援NLPアプローチであるCiRAを提示する。細粒度の原因-効果関係を抽出し、それらを原因-効果グラフとしてモデル化することで、実世界の事例研究において3つの業界パートナーと共同して、手作業で作成されたテストケースの71.8%を自動生成し、以前に見過ごされていた80件のテストケースを同定した。

ABSTRACT

Acceptance testing is crucial to determine whether a system fulfills end-user requirements. However, the creation of acceptance tests is a laborious task entailing two major challenges: (1) practitioners need to determine the right set of test cases that fully covers a requirement, and (2) they need to create test cases manually due to insufficient tool support. Existing approaches for automatically deriving test cases require semi-formal or even formal notations of requirements, though unrestricted natural language is prevalent in practice. In this paper, we present our tool-supported approach CiRA (Conditionals in Requirements Artifacts) capable of creating the minimal set of required test cases from conditional statements in informal requirements. We demonstrate the feasibility of CiRA in a case study with three industry partners. In our study, out of 578 manually created test cases, 71.8 % can be generated automatically. Additionally, CiRA discovered 80 relevant test cases that were missed in manual test case design. CiRA is publicly available at www.cira.bth.se/demo/.

研究の動機と目的

  • ソフトウェアテストにおける人的に負担が大きく、誤りが生じやすい手作業による受入テストケース作成の課題に対処すること。
  • 非形式的で制限のない自然言語要件からテストケースを自動で導出するためのツール支援の欠如を克服すること。
  • 完全な要件カバレッジを確保しながら、必要なテストケースの最小集合を生成するアプローチを開発すること。
  • 手作業プロセスで見過ごされたテストケースを特定することで、テスト設計の質を向上させること。

提案手法

  • 非形式的な自然言語要件における条件文を検出するためにNLP技術を適用する。
  • サブワードトークン化を用いた系列ラベル付けアプローチを用いて、条件文から細粒度の原因-効果関係を抽出する。
  • 抽出された関係を原因-効果グラフ(CEG)としてモデル化し、条件と結果間の論理的依存関係を表現する。
  • 組合せ的テスト設計の原則を用いて、CEGから必要な最小限のテストケース集合を導出する。
  • 実行可能にするために、既存のテスト自動化ツール(例:Selenium、Robot Framework)と統合する。
  • トランスファー学習とサブワード埋め込みを活用して、未知語や文法的変化に強い耐性を向上させる。

実験結果

リサーチクエスチョン

  • RQ1RQ1: 自然言語要件に含まれる条件文を効果的に抽出し、それらに内在する原因-効果関係を細粒度でモデル化することで、テストケース導出が可能になるか?
  • RQ2RQ2: 自動化されたアプローチは、手作業によるテストケース設計と同一のテストケースを生成できるか?
  • RQ3RQ3: 手作業で作成されたテストケースと自動生成されたテストケースとの間に差異が生じる根本的要因は何か?

主な発見

  • CiRAは、事例研究において578件の手作業で作成されたテストケースのうち71.8%を正しく生成し、手作業によるテスト設計と強い整合性を示した。
  • ツールは、手作業によるテストケース設計段階で完全に見過ごされていた80件の関連テストケースを発見した。これは、テストカバレッジの向上に寄与する能力を示している。
  • サブワードトークン化により、未知語や文法的変化に対処できるため、先行するNLPベースの手法を上回る性能を発揮した。
  • 依存構文解析ではなく系列ラベル付けを採用したことで、現実的で非形式的な要件テキストにおいても、より高い耐性と汎化性能が得られた。
  • 原因-効果グラフモデルは論理的依存関係を効果的に捉えており、必要な最小限のテストケース集合の導出を可能にした。
  • 本ツールは公開されており、ソースコード、アノテーション付きデータセット、ライブデモを提供しており、再現性と産業界への導入を支援している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。