Oops, my tests broke the build: An analysis of Travis CI builds with GitHub
Authors:
Preprint
- 22 April 2016
- preprint
- Published by PeerJ in PeerJ Preprints
Abstract
Continuous Integration (CI) has become a best practice of modern software development. At present, we have a shortfall of insight into the testing practices that are common in CI-based software development. In particular, we seek quantifiable evidence on how central testing really is in CI, how strongly the project language influences testing, whether different integration environments are valuable and if testing on the CI can serve as a surrogate to local testing in the IDE. In an analysis of 2,640,825 Java and Ruby builds on Travis CI, we find that testing is the single most important reason why builds fail. Moreover, the programming language has a strong influence on both the number of executed tests, their test run time and proneness to fail. The use of multiple integration environments leads to 10% more failures being caught at build time. However, testing in the CI does not seem to be a good surrogate for running tests in the IDE. To facilitate further research on Travis CI with GitHub, we introduce TravisTorrent.Keywords
All Related Versions
This publication has 11 references indexed in Scilit:
- An in-depth study of the promises and perils of mining GitHubEmpirical Software Engineering, 2015
- SQA-Mashup: A mashup framework for continuous integrationInformation and Software Technology, 2015
- A Large-Scale Empirical Study of the Relationship between Build Technology and Build MaintenanceEmpirical Software Engineering, 2014
- Modeling continuous integration practice differences in industry software developmentJournal of Systems and Software, 2014
- A systematic review of effect size in software engineering experimentsInformation and Software Technology, 2007
- Guest Editors' Introduction: Dynamically Typed LanguagesIEEE Software, 2007
- A survey of unit testing practicesIEEE Software, 2006
- Test-driven development concepts, taxonomy, and future directionComputer, 2005
- An empirical comparison of seven programming languagesComputer, 2000
- An analysis of variance test for normality (complete samples)Biometrika, 1965