1. A method of simulating end user interaction with a user interface of an application installed in a client terminal comprising: identifying a user interaction session during which an end user interacts with an application hosted by a client terminal via a user interface which is displayed by said application on a display of said client terminal; iteratively documenting a plurality of user interface states of said user interface during said user interaction session, said plurality of user interface states are tagged to indicate a runtime presentation timing; iteratively documenting a plurality of user inputs inputted by said user during said user interaction session, said plurality of user inputs are documented with reference to display areas of said user interface at a respective of said plurality of user interface states during said user interaction session; and uploading said plurality of user interface states and said plurality of user inputs to a network connected central unit; wherein said plurality of user interface states and said plurality of user inputs are time synchronized to generate a simulation of said plurality of user inputs during said interaction session with reference to said plurality of user interface states in a sequential manner.