English

On Extracting Unit Tests from Interactive Programming Sessions

Software Engineering 2012-12-11 v1

Abstract

Software engineering methodologies propose that developers should capture their efforts in ensuring that programs run correctly in repeatable and automated artifacts, such as unit tests. However, when looking at developer activities on a spectrum from exploratory testing to scripted testing we find that many engineering activities include bursts of exploratory testing. In this paper we propose to leverage these exploratory testing bursts by automatically extracting scripted tests from a recording of these sessions. In order to do so, we wiretap the development environment so we can record all program input, all user-issued functions calls, and all program output of an exploratory testing session. We propose to then use machine learning (i.e. clustering) to extract scripted test cases from these recordings in real-time. We outline two early-stage prototypes, one for a static and one for a dynamic language. And we outline how this idea fits into the bigger research direction of programming by example.

Keywords

Cite

@article{arxiv.1212.1796,
  title  = {On Extracting Unit Tests from Interactive Programming Sessions},
  author = {Adrian Kuhn},
  journal= {arXiv preprint arXiv:1212.1796},
  year   = {2012}
}

Comments

Submitted to ICSE 2012, New Ideas track

R2 v1 2026-06-21T22:50:49.796Z