1. A method for generating dynamically configurable test doubles for software testing and validation, the method comprising: detecting functions or methods invocations in a source code under test; collecting information about parameters and return types of one or more of original functions and original methods that are invoked by the source code under test, generating test doubles using source code with alternative definitions based on collected information, wherein the generated test doubles do not include test-specific logic for testing the source code, and wherein the generated test doubles contain code to retrieve associated trigger objects that encapsulate test-specific logic from a trigger objects pool and execute the associated trigger objects; instrumenting the source code under test to replace the calls to original functions and methods with calls to the generated test doubles; and dynamically configuring runtime behavior of the generated test doubles, wherein all input parameters and return values of the one or more of original functions and original methods are provided to respective retrieved trigger objects by passing said input parameters and return values as arguments to function calls.