Random input generation

PreviousNext

AutoTest uses a random strategy to generate input data (target object and arguments) for routine calls performed during testing. This strategy treats basic (primitive) and non-basic types differently:

Objects used in tests are accummulated during the testing process: while running the tests, we keep a pool of objects. This pool is enriched and diversified as testing proceeds. Whenever we have to call a certain routine under test, we will either newly create the necessary objects (target and arguments) or reuse existing ones from the pool. The choice between these 2 options is regulated by a heuristics. Objects used for running a routine are returned to the pool (in the new state) after execution of the test case is finished. Furthermore, in order to diversify the pool, we regularly call modifiers (routines which don't return a value) on random objects in the pool.


HomeTocPreviousNext