Oops, My Tests Broke the Build: An Explorative Analysis of Travis CI with GitHub

被引:120
作者
Beller, Moritz [1 ]
Gousios, Georgios [1 ]
Zaidman, Andy [1 ]
机构
[1] Delft Univ Technol, Delft, Netherlands
来源
2017 IEEE/ACM 14TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2017) | 2017年
关键词
CONTINUOUS INTEGRATION; EFFECT SIZE; LANGUAGES;
D O I
10.1109/MSR.2017.62
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Continuous Integration (CI) has become a best practice of modern software development. Yet, 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 is to the CI process, 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 run time, and proneness to fail. The use of multiple integration environments leads to 10% more failures being caught at build time. However, testing on TRAVIS CI does not seem an adequate surrogate for running tests locally in the IDE. To further research on TRAVIS CI with GITHUB, we introduce TRAVISTORRENT.
引用
收藏
页码:356 / 367
页数:12
相关论文
共 46 条
[1]  
Ablett Ruth, 2007, 16th IEEE International Conference on Robot and Human Interactive Communication, P931
[2]  
[Anonymous], 2014, LINUX J
[3]  
[Anonymous], INTERNET SOC SPORT S
[4]  
[Anonymous], EMPIR SOFTW ENG
[5]  
Beck K., 2000, Extreme Programming eXplained: Embrace Change
[6]  
Beller M., WHAT WE LEARNED ANAL
[7]  
Beller M., 2016, OOPS MY TESTS BROKE
[8]   How to Catch 'Em All: WatchDog, a Family of IDE Plug-Ins to Assess Testing [J].
Beller, Moritz ;
Levaja, Igor ;
Panichella, Annibale ;
Gousios, Georgios ;
Zaidman, Andy .
2016 IEEE/ACM 3RD INTERNATIONAL WORKSHOP ON SOFTWARE ENGINEERING RESEARCH AND INDUSTRIAL PRACTICE (SER&IP), 2016, :53-56
[9]   When, How, and Why Developers (Do Not) Test in Their IDEs [J].
Beller, Moritz ;
Gousios, Georgios ;
Panichella, Annibale ;
Zaidman, Andy .
2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, :179-190
[10]   Analyzing the State of Static Analysis: A Large-Scale Evaluation in Open Source Software [J].
Beller, Moritz ;
Bholanath, Radjino ;
McIntosh, Shane ;
Zaidman, Andy .
2016 IEEE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), VOL 1, 2016, :470-481