1. A method of regression testing a software application in an execution environment, wherein the software application interacts with a data storage, the method comprising: running the software application a first time; while running the software application the first time, monitoring interactions of the software application with the data storage, recording first output data written from the software application to the data storage, and recording input data received by the software application from the data storage; running the software application a second time after running the software application the first time; while running the software application the second time, when the software application calls for data from the data storage, providing at least a portion of the recorded input data to the software application, and, when the software application writes data to the data storage, recording second output data written by the software application; and comparing the second output data with the first output data to evaluate whether the software application has passed the regression test.