Journal Title
Title of Journal: Int J Softw Tools Technol Transfer
|
Abbravation: International Journal on Software Tools for Technology Transfer
|
Publisher
Springer-Verlag
|
|
|
|
Authors: Benny Pasternak Shmuel Tyszberowicz Amiram Yehudai
Publish Date: 2009/09/03
Volume: 11, Issue: 4, Pages: 273-
Abstract
Unit testing plays a major role in the software development process What started as an ad hoc approach is becoming a common practice among developers It enables the immediate detection of bugs introduced into a unit whenever code changes occur Hence unit tests provide a safety net of regression tests and validation tests which encourage developers to refactor existing code with greater confidence One of the major corner stones of the agile development approach is unit testing Agile methods require all software classes to have unit tests that can be executed by an automated unittesting framework However not all software systems have unit tests When changes to such software are needed writing unit tests from scratch which is hard and tedious might not be cost effective In this paper we propose a technique which automatically generates unit tests for software that does not have such tests We have implemented GenUTest a prototype tool which captures and logs interobject interactions occurring during the execution of Java programs using the aspectoriented language AspectJ These interactions are used to generate JUnit tests They also serve in generating mock aspects—mock objectlike entities which enable testing units in isolation The generated JUnit tests and mock aspects are independent of the tool and can be used by developers to perform unit tests on the software Comprehensiveness of the unit tests depends on the software execution We applied GenUTest to several open source projects such as NanoXML and JODE We present the results explain the limitations of the tool and point out direction to future work to improve the code coverage provided by GenUTest and its scalability
Keywords:
.
|
Other Papers In This Journal:
|