1. A system for providing testing for software applications, said system comprising: a tangible medium containing processor executable software testing code adapted to cause one or more processors to: at least partially isolate from within a given software application, during runtime, a software component which performs a given function by modifying data within metadata tables associated with the component of the given software application, such that a call to the component is redirected to alternate testing code of the testing application adapted to override behavior of the component; and test, by use of the processors running the testing code, the given software application, by imposing a fake behavior on the software component, wherein imposing a fake behavior includes removing or replacing an expected behavior of the coupled software component, during runtime.