1. A method of testing a system, the method comprising: determining one or more entities to be manipulated during execution of a test of the system, the test being executed by one or more processors of the system; generating an instance of each of the entities using a plurality of entity templates and a plurality of value generators; and executing the test using the generated instances; wherein at least one of the generated instances includes a first value generated randomly.