Marathon is a simple, flexible and extendable tool that assists in developing automated test suites for Java/Swing applications. Marathon provides an integrated environment in which you can create test suites. Marathon consists of a recorder, player, debugger and an editor. Marathon records test scripts in a language of your choice - either python or ruby. The power of whole script runtime is at the disposal of the testing professionals. Marathon is used mainly for automating functional tests (also called as acceptance tests, end user tests or customer tests), though it can also be used to create developer test suites. Marathon, by itself, adds only a few well defined c onstructs to the script runtime. It is possible to develop Marathon tests even before an application is fully developed.