Nowadays, testing is a crucial element of quality software development.In many cases, testing and implementation at the same time results a better quality of tests. However, at present, unfortunately there are few tools available that could facilitate the production of good quality and effective tests.
During my dissertation, I briefly discuss the place of testing in the software development cycle. Then, I will explain the test approaches in more details. In addition, I note that creating an effective test generation tool could essentially change software development, as it could automate the testing process so that the potential for human failures could also be reduced.
I aimed at helping the testing to support an automated isolation device. To accomplish this, I have implemented a device that can modify the units modified by the substitute objects according to the conditions without isolation. This can not be accomplished by an automated isolation device because it can not control the test generation tool that works with it. However, this is neccessary because during testing, the object we want to isolate may modify a units state, and output of the test depends on it. The device I have implemented can find the state modifier methods for an object and determine which states are modified. Knowing these state modifier methods, it can generate call sequences that can be used to move objects to the desired state. At the end of my thesis, I will describe the operation of the developed device using some examples.