作者: Pengyu Nie , Ahmet Celik , Matthew Coley , Aleksandar Milicevic , Jonathan Bell
关键词:
摘要: Testing is the most common approach used in industry for checking software correctness. Developers frequently practice reliable testing-executing individual tests isolation from each other-to avoid test failures caused by test-order dependencies and shared state pollution (e.g., when mutate static fields). A way of doing this running as a separate process. Unfortunately, known to introduce substantial overhead. This experience report describes our efforts better understand sources overhead create system confirm minimal possible. We found that different build systems use mechanisms communicating between these multiple processes, because design decision, with some could be faster than others. Through inquiry we discovered significant performance bug Apache Maven’s code, which slowed down execution on average 350 milliseconds per-test compared competing system, Ant. When testing real projects, can result reduction time. submitted patch has been integrated into Maven describe ongoing improve tooling.