Post on 09-Feb-2017
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