Simple Science

最先端の科学をわかりやすく解説

# コンピューターサイエンス# ソフトウェア工学

マニュアルテストのテストスメルへの対処

手動テストの品質を向上させるための共通の欠陥を特定すること。

― 1 分で読む


手動テストの欠陥を修正する手動テストの欠陥を修正するテストの匂いを見つけて品質を向上させる。
目次

手動テストを自然言語で書くと、その効果に影響を与える欠陥があることがあるんだ。これらの欠陥は「テスト臭」と呼ばれることが多く、プログラミングの「コード臭」と似たようなもんだ。テスト臭は、テストの設計や実装における潜在的な問題を示してる。これらの問題を放置すると、テストのメンテナンスが難しくなったり、カバーするシナリオが減ったり、信頼性のない結果を生むことになる。

手動テストのテスト臭は、記述がうまく書けてない時に現れることがある。たとえば、曖昧だったり、複雑すぎたり、一貫性のないフォーマットを使ってたりすることがある。だから、テスターは何をすべきか理解するのが難しくなって、エラーや繰り返しのミスにつながっちゃう。これは特に心配で、多くのソフトウェアシステムは自動テストを使う予算がないから、手動テストに頼ってるんだよね。

手動テストのドキュメントに明確さが欠けてると、テスト中に何をするべきか分からなくなって、混乱が生じることがある。テスト臭のさまざまなタイプを理解することは、手動テストの質を向上させるために重要なんだけど、このトピックについてはあまり研究が行われていないんだ。だから、今回の探求は、手動テストにおけるこれらのテスト臭をカタログ化して、特定することを目指しているよ。

背景

テスト臭は、テストの設計や実装における潜在的な問題の警告サインだ。たとえば、テストが冗長なステップを含んでいたり、重要な確認アクションを省いていたりすることがある。これらの問題は、コーディング時に直面する問題とも比較できる。たとえば、繰り返しコードがあったり、わかりにくいメソッドがあったりね。ここでの大きなテーマは、手動テストと自動テストの両方が同じような欠陥に苦しむ可能性があるということだ。

手動テストだと、記述が自然言語で書かれてることが多いから、テストの意図が隠れちゃうことがある。翻訳ミスや、一貫性のない言い回し、変な略語なんかがあると、テストが混乱して理解しにくくなる。これが原因で、テスターがミスをしたり、重要なアクションを見落としたりして、テストが失敗することになるんだ。

手動テストにおけるテスト臭の具体的なタイプや影響についてはあまり知られていないから、今回の調査は、発生するさまざまなテスト臭を特定してカタログ化することで、このギャップを埋めようとしているんだ。

目的

私たちの主な目標は、手動テストのテスト臭を包括的にカタログ化することだ。このカタログは、テスト臭の明確な定義と特定のルールを提供することで、これらのテストのメンテナンス性と信頼性を高めることを目指している。

これを達成するために、研究は構造化されたアプローチに従う予定だ:

  1. 探索的研究を行う - さまざまなソフトウェアシステムから実際の手動テストを分析する。
  2. カタログを開発する - 研究の結果に基づいて特定されたテスト臭のカタログを作成する。
  3. NLPベースのツールを作成する - 手動テストにおけるテスト臭の検出を自動化する。

方法論

テスト臭を効果的に特定するために、2つの戦略を採用したよ:

  1. 探索的研究 - オープンソースのオペレーティングシステム、ブラジルで使用される電子投票機、主要なスマートフォンメーカーのユーザーインターフェースの3つの異なるソフトウェアシステムから手動テストを調べた。この調査は、既存のテスト臭を探すことと、どれだけ頻繁に発生しているかを確認することが目的だった。

  2. ツール開発 - 探索的研究の結果に基づいて、テスト臭を検出するためにNatural Language Processing (NLP)を利用したツールを作成した。このツールは、テストエンジニアの助けを借りて、正確性と効果を確認したんだ。

探索的研究

私たちの探索的研究では、3つのシステムからさまざまな手動テストの記述を分析した。この選択は、オープンソースプロジェクト、政府システム、業界製品など、異なるドメインを表すことを目指しているよ。

データ収集

これらのシステムから手動テストを収集したんだけど、英語かポルトガル語で書かれてた。テストの形式はさまざまで、XMLやHTML、スプレッドシート形式のものもあった。私たちの調査は、これらのテストがどのように構造化されているか、そして特定可能なテスト臭が含まれているかに焦点を当てた。

曖昧な言葉や、テストを理解しにくくする条件付きロジック、不明瞭なアクションステップなどの問題を探した。これらのシステム全体でテストの重要なサンプルを見直すことで、一般的なテスト臭とその特徴のリストをまとめることを目指したんだ。

テスト臭の特定

分析を通じて、手動テストにおける問題のあるテスト臭のいくつかの形態を観察したよ。これには以下が含まれる:

  • 曖昧なテスト: これらのテストは不明瞭で、解釈の余地が多すぎて、テストの実行における不一致を招くことがある。
  • 条件付きテスト: 条件文を含むテストは、特定の条件を満たす必要があるため、理解と実行を複雑にすることがある。
  • 焦るアクション: 単一のアクションステップに複数のアクションが含まれると、混乱しちゃって重要な実装の詳細が隠れちゃうことがある。
  • 誤った場所のアクション: アクションが結果として誤って定義されることがあり、テストの論理的な流れを妨げる。
  • 未確認のアクション: 確認ステップが欠けてるアクションステップは、テスターが機能性の重要なチェックを見逃すことになる。
  • 暗黙の知識: 説明のない専門用語や略語を使っていて、テスターがそれを理解していると仮定してることが、誤解を生む。

これらの観察は、テスト臭のカタログの基礎を提供したんだ。

ツール開発

探索的研究の後、私たちは「Manual Test Sensei」というツールを開発して、特定されたテスト臭の検出を自動化した。このツールは、テストの記述を効率的に分析するためにNatural Language Processingの技術を利用してるよ。

ツールの特徴

Manual Test Senseiツールは、カタログに定義されたテスト臭に基づいて自動的に特定するために、さまざまなNLP手法を使用している。このツールは、テキストを処理することで、文の構造を調べたり、特定のキーワードを特定したり、テスト臭の存在を示す文法パターンを判断したりできるんだ。

検証

ツールの正確性を確保するために、同じ3つのシステムからのテストのサンプルを使って評価を行った。それぞれのテストの出力を手動で確認して、ツールの結果が正しいかどうかを判断した。この検証プロセスでは、偽陽性や偽陰性を分析して、ツールのパフォーマンスをさらに向上させることを目指したよ。

結果

探索的研究とツール開発から、いくつかの重要な発見を得たんだ:

  1. テスト臭のカタログ: 自然言語のテスト臭の包括的なカタログを作成し、定義、例、特定ルールを含めた。
  2. 自動検出ツール: Manual Test Senseiツールは、テスト臭の特定において高い正確性を示し、精度、リコール、全体的な効果に関して優れた指標を記録した。
  3. テスト臭の頻度: 分析によれば、特定のテスト臭は分析したすべてのシステムに広く存在することが分かって、手動テストの記述における問題の広がりを示している。

プロフェッショナルによる受け入れ

私たちの発見をさらに検証するために、ソフトウェアテストの専門家を対象としたオンライン調査を実施したんだ。そこで私たちの提案するテスト臭、定義、例を提示した。そのフィードバックは非常に好意的で、回答者の多くが私たちの提案したテスト臭が手動テスト設計における一般的な問題を正確に表現していると同意した。

調査結果は、明確でメンテナンス可能、かつ効果的なテスト記述の重要性を強調している。専門家は、テストの再現性や手動テストの高品質なドキュメントを維持するのが難しいという懸念を指摘したよ。

議論

この研究の結果は、手動テストの領域で直面する重要な課題を明らかにしている。一般的なテスト臭を特定することは、テスト記述の質におけるギャップを明らかにし、ソフトウェアテストにおける非効率性やエラーを招く可能性がある。

実践への影響

テスト臭のカタログは、テスト設計者やエンジニアにとって有用なリソースとなり、テスト記述の改善に向けたガイドラインを提供する。明確な言語、一貫したフォーマット、曖昧さの排除に焦点を当てることで、チームは手動テストの質を向上させることができる。

さらに、Manual Test Senseiツールの開発は、これらのテスト臭を特定するプロセスを自動化する実践的なアプローチを確立し、時間を節約し、テストプロセスにおける人的エラーを減らすことに貢献する。

今後の研究方向

この研究は分野に大きな貢献をしたけれど、まだ探求すべきことがたくさんある。今後の研究では以下を考慮することができる:

  • カタログの拡張: 現在の研究で特定されていない可能性のある追加のテスト臭を発見するためのさらなる研究が必要だ。これには、より多くのソフトウェアシステムを分析したり、幅広いテスト専門家からの意見を求めたりすることが含まれる。
  • ツールの改善: Manual Test Senseiツールのパフォーマンスをさらに向上させ、特により複雑なテスト臭を特定するための改良が可能だ。
  • トレーニングとベストプラクティス: この研究の結果に基づいて、効果的なテスト記述を書く方法をチームが理解できるように、トレーニング資料やベストプラクティスガイドラインを開発することができる。

結論

自然言語で書かれた手動テストの調査は、テスト臭がその効果に悪影響を及ぼす普及度を浮き彫りにしている。私たちの努力によって、これらのテスト臭を成功裏にカタログ化し、検出を自動化するツールを作成することができた。

これらの問題に対処することで、チームは手動テストプロセスの質と信頼性を向上させることに取り組むことができる。ソフトウェアシステムがますます複雑になる中で、手動テストが明確で、しっかり構成され、一般的な落とし穴から自由であることを保証することは、成功するソフトウェア開発と提供において重要だよ。

オリジナルソース

タイトル: Manual Tests Do Smell! Cataloging and Identifying Natural Language Test Smells

概要: Background: Test smells indicate potential problems in the design and implementation of automated software tests that may negatively impact test code maintainability, coverage, and reliability. When poorly described, manual tests written in natural language may suffer from related problems, which enable their analysis from the point of view of test smells. Despite the possible prejudice to manually tested software products, little is known about test smells in manual tests, which results in many open questions regarding their types, frequency, and harm to tests written in natural language. Aims: Therefore, this study aims to contribute to a catalog of test smells for manual tests. Method: We perform a two-fold empirical strategy. First, an exploratory study in manual tests of three systems: the Ubuntu Operational System, the Brazilian Electronic Voting Machine, and the User Interface of a large smartphone manufacturer. We use our findings to propose a catalog of eight test smells and identification rules based on syntactical and morphological text analysis, validating our catalog with 24 in-company test engineers. Second, using our proposals, we create a tool based on Natural Language Processing (NLP) to analyze the subject systems' tests, validating the results. Results: We observed the occurrence of eight test smells. A survey of 24 in-company test professionals showed that 80.7% agreed with our catalog definitions and examples. Our NLP-based tool achieved a precision of 92%, recall of 95%, and f-measure of 93.5%, and its execution evidenced 13,169 occurrences of our cataloged test smells in the analyzed systems. Conclusion: We contribute with a catalog of natural language test smells and novel detection strategies that better explore the capabilities of current NLP mechanisms with promising results and reduced effort to analyze tests written in different idioms.

著者: Elvys Soares, Manoel Aranda, Naelson Oliveira, Márcio Ribeiro, Rohit Gheyi, Emerson Souza, Ivan Machado, André Santos, Baldoino Fonseca, Rodrigo Bonifácio

最終更新: 2023-08-02 00:00:00

言語: English

ソースURL: https://arxiv.org/abs/2308.01386

ソースPDF: https://arxiv.org/pdf/2308.01386

ライセンス: https://creativecommons.org/licenses/by/4.0/

変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。

オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。

著者たちからもっと読む

類似の記事