Continuous Testing in Eclipse

  • Authors:
  • David Saff;Michael D. Ernst

  • Affiliations:
  • MIT Computer Science & Artificial Intelligence Lab, Cambridge, MA, USA;MIT Computer Science & Artificial Intelligence Lab, Cambridge, MA, USA

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Continuous testing uses excess cycles on a developer's workstation to continuously run regression tests in the background, providing rapid feedback about test failures as source code is edited. It is intended to reduce the time and energy required to keep code well-tested, and to prevent regression errors from persisting uncaught for long periods of time. This paper reports on the design and implementation of a continuous testing feature for Java de- velopment in the Eclipse development environment. Our challenge was to generate and display a new kind of feedback (asynchronous notification of test failures) in a way that effectively reuses Eclipse's extensible architecture and fits the expectations of Eclipse users without interfering with their current work habits. We present the design principles we pursued in solving this challenge: present and future reuse, consistent experience, minimal distraction, and testability. These prin- ciples, and how our plug-in and Eclipse succeeded and failed in accomplishing them, should be of interest to other Eclipse extenders looking to implement new kinds of developer feedback. The continuous testing plug-in is publicly available at http://pag.csail.mit.edu/~saff/continuoustesting.html.