[논문 리뷰] 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가 만들고, 인간 에디터가 검토했습니다.