[論文レビュー] What Do Contribution Guidelines Say About Software Testing?
200のPythonとJavaScriptプロジェクトの実証研究により、78%が寄稿者向けのテスト文書を提供しており、主にCONTRIBUTINGファイルで、テストの実行方法とユニットテストの種類を詳述する一方で、テストの作成や統合/エンドツーエンドテスト、カバレッジ、モックについての焦点は小さいことを示した。
Software testing plays a crucial role in the contribution process of open-source projects. For example, contributions introducing new features are expected to include tests, and contributions with tests are more likely to be accepted. Although most real-world projects require contributors to write tests, the specific testing practices communicated to contributors remain unclear. In this paper, we present an empirical study to understand better how software testing is approached in contribution guidelines. We analyze the guidelines of 200 Python and JavaScript open-source software projects. We find that 78\% of the projects include some form of test documentation for contributors. Test documentation is located in multiple sources, including exttt{CONTRIBUTING} files (58\%), external documentation (24\%), and exttt{README} files (8\%). Furthermore, test documentation commonly explains how to run tests (83.5\%), but less often provides guidance on how to write tests (37\%). It frequently covers unit tests (71\%), but rarely addresses integration (20.5\%) and end-to-end tests (15.5\%). Other key testing aspects are also less frequently discussed: test coverage (25.5\%) and mocking (9.5\%). We conclude by discussing implications and future research.
研究の動機と目的
- 現実世界のガイドラインにおいて、寄稿者に提供されるテスト関連情報の頻度を評価する。
- 寄稿ガイドラインで扱われるテストトピックと、過小評価されているトピックを特定する。
- プロジェクトのメンテナーや研究者がテスト文書を改善するための実務的な示唆を推測する。
提案手法
- GitHub上のスター数でトップ100のPythonプロジェクトとトップ100のJavaScriptプロジェクトを選定する。
- README/CONTRIBUTING/外部ドキュメントを含む寄稿ガイドライン(非標準的な場所を含む)を特定する。
- 寄稿者向けのテスト文書の有無と場所を検出する。
- 内容を「テストの実行/作成」「テストタイプ」「テストカバレッジ」「モック」「ベストプラクティス」に分類する。
- 各プロジェクトで各内容カテゴリの頻度を定量化する。
実験結果
リサーチクエスチョン
- RQ1RQ1: 分析対象プロジェクトにおいて寄稿者向けのテスト文書はどのくらいの頻度で存在するか?
- RQ2RQ2: 寄稿者向けのテスト文書の内容は何で、どのトピックが強調または過小評価されているか?
主な発見
- 分析対象のプロジェクトのうち78%が寄稿者向けの何らかのテスト文書を含んでいる。
- テスト文書は主にCONTRIBUTINGファイル(58%)と外部ドキュメント(24%)に、READMEファイルには8%で配置されている。
- ほとんどの内容は「テストの実行方法」を説明しており(83.5%)、一方で「テストの作成方法」の指針はやや少ない(37%)。
- ユニットテストが最も多く表現されているテストタイプで(71%)、統合テスト(20.5%)とエンドツーエンドテスト(15.5%)は比較的少ない。
- テストカバレッジ(25.5%)、モッキング(9.5%)、ベストプラクティス(9%)は相対的に不足している。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。