Adoption of Software Testing in Open Source Projects A Preliminary Study on 50,000 Projects Pavneet Singh Kochhar, Tegawendé F. Bissyandé, David Lo, Lingxiao Jiang
Adoption of Software Testing in Open Source ProjectsA Preliminary Study on 50,000 Projects
Pavneet Singh Kochhar, Tegawendé F. Bissyandé, David Lo, Lingxiao Jiang
2
Importance of Software Testing
Functionality -- Requirements
Debugging – Software complexity
Costs – $59 billions for inadequate testing
Is Software testing part of the process of open source project development?
3
Objective & Contributions
Popularity of test cases
Presence of test cases – project characteristics
Influence of software development artifacts
Large Scale Study on 50,000 GitHub projects
4
Dataset & Statistical computations
Lines of code Real LOC – By programming languages
Number of test cases Count of test files
Developer contributions Project team size
5
RQ1– Popularity of Test Cases
Projects % of ProjectsWithout Test Cases 57.34%
With Test Cases 42.66%
90% of the projects < 100 test cases7% of the projects have >100 & < 500 cases2.57% of the projects >500 test cases
Distribution of Test Cases
6
RQ1– Popularity of Test CasesLOC & Test Cases
Statistically significant medians
7
RQ1– Popularity of Test CasesLOC & Test Cases
Positive correlation between #LOC and #Test Cases (ρ=0.334)
8
RQ1– Popularity of Test CasesTest cases/LOC & LOC
Inverse correlation between #LOC and #Test Cases ρ=-0.665
9
RQ1– Developers & Test CasesDevelopers and Test cases
Négative correlation between #LOC and #Test Cases ρ=-0.665
10
RQ1– Developers & Test CasesDevelopers and Test cases
Weak correlation between #Developers and #Test Cases ρ=-0.207
11
RQ1– Developers & Test CasesDevelopers and Test cases/developer
Inverse correlation between Team size and #Test Cases per developer ρ=-0.445
12
Conclusion
Preliminary results of a large scale surveyAdoption of Test cases in Open Source projectsGitHub datasets
Findings:o Test cases are often present in larger projectso # of test cases per LOC decreases with increasing LOC.o The more developers, the more test caseso The more developers, the less ratio of test cases/developer
Future agenda:-- Exploration of the influence of more development artifacts- - Check with other open source datasets