[論文レビュー] What we know about software testability: a survey.
本論文は、ソフトウェアのテスト可能性に関する208件の研究を系統的文献マッピングとして提示し、特に可観測性と制御可能性を含む、テスト可能性に影響を与える主要なメトリクス、技術、要因を同定している。本研究は、現在のテスト可能性の測定および向上に関する実践を統合し、実務家および研究者がソフトウェアプロジェクトにおけるテストの効率性と有効性を向上させるための実行可能なインサイトを提供する。
Software testability is the degree to which a software system or a unit under test supports its own testing. To predict and improve software testability, a large number of techniques and metrics have been proposed by both practitioners and researchers in the last several decades. Reviewing and getting an overview of the entire state-of-the-art and -practice in this area is often challenging for a practitioner or a new researcher. Our objective is to summarize the state-of-the-art and -practice in this area and to benefit the readers (both practitioners and researchers) in preparing, measuring and improving software testability. To address the above need, we conducted a survey in the form of a systematic literature mapping (classification) in this area. After compiling an initial pool of 303 papers, a systematic voting was conducted among the authors, and our final pool included 208 papers. The area of software testability has been comprehensively studied by researchers and practitioners. Approaches for measurement of testability and improvement of testability are the most-frequently addressed in the papers. The two most often mentioned factors affecting testability are observability and controllability. Common ways to improve testability are testability transformation, improving observability, adding assertions, and improving controllability. The results could help practitioners measure and improve software testability in their projects. To assess potential benefits of this review paper, we shared its draft version with two of our industrial collaborators. They mentioned that they found the review useful and beneficial in their testing activities. Our results can also benefit researchers in observing the trends in this area and identify the topics which need further investigations.
研究の動機と目的
- 研究者および実務家向けに、ソフトウェアのテスト可能性分野における現在の最先端技術(state-of-the-art)および実務的実践(state-of-practice)の包括的概要を提供すること。
- ソフトウェアシステムにおけるテスト可能性の測定および向上に関して、最も頻繁に取り上げられているアプローチを同定すること。
- 実証的文献に基づき、可観測性や制御可能性といったテスト可能性に最も顕著に影響を与える要因を強調すること。
- 実証的技術を用いた手法を通じて、実務家が実世界のソフトウェアプロジェクトにおけるテスト可能性の測定および向上を支援すること。
- 今後の調査のためのギャップや新たなトレンドを特定する手がかりを提供し、研究者を導くこと。
提案手法
- ソフトウェアのテスト可能性に関する研究を分類および分析するため、系統的文献マッピング(SLM)を実施した。
- 関連する学術データベースおよび出典から初期の論文プールを303件収集した。
- 著者間の系統的投票プロセスを用いて、208件の高品質で関連性の高い論文をフィルタリング・選定した。
- テスト可能性の測定、改善技術、影響要因といったテーマに基づいて論文を分類した。
- 一般的に用いられるメトリクス、変換技術、および主要なテスト可能性要因に関する発見を統合した。
- 実務家との共同作業を通じてレビューの有用性を検証し、実務的関連性を確保した。
実験結果
リサーチクエスチョン
- RQ1文献において、ソフトウェアのテスト可能性を測定するために最も頻繁に研究されているアプローチは何か?
- RQ2ソフトウェアのテスト可能性に最も顕著に影響を与える要因は何か? また、それらの要因は既存の研究でどのように扱われているか?
- RQ3実務で最も一般的に用いられるソフトウェアのテスト可能性を向上させる技術は何か?
- RQ4現在のテスト可能性分野における研究トレンドは、産業界のニーズおよび実務とどのように一致しているか?
- RQ5ソフトウェアのテスト可能性分野における今後の研究のギャップと機会は何か?
主な発見
- テスト可能性に影響を与える要因として、最も頻繁に言及されたのは可観測性と制御可能性の2つである。
- テスト可能性の変換、可観測性の向上、アサーションの追加、制御可能性の強化が、最も一般的な改善戦略である。
- テスト可能性の測定とテスト可能性の向上が、文献で最も頻繁に取り上げられているトピックである。
- 産業界の共同研究者から、本レビューは有用で有益であると評価され、実務的関連性が強く裏付けられた。
- 本研究の結果は、実務家がテスト可能性技術を適用するための統合的基盤を提供するとともに、研究者が未開拓の研究分野を特定する手がかりを提供する。
- 系統的マッピングプロセスにより、208件の関連論文が効果的に同定および分類され、分野全体の包括的かつ信頼性の高い概要が得られた。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。