When the test scripts are executed there is chance that more than one test scripts require the same resource to operate on. Moreover as the test scripts are executed in parallel they will try to modify or make use of the same resource.
If a certain test script is written to make use of a particular environment and will only pass if that environment is available. Some other script which is executing before this script changes the environment will surely fail the former script.
Also if the scripts are not properly cleaning up the environment they changed it becomes difficult for other test scripts to expect the environment in a shape.
Preconditions are used for individual test scripts to set up the environment required for a particular test script. Post conditions are used to cleanup the environment modified by the test script. Preconditions and Post conditions can itself be separate test scripts. So there can be quite high dependency between the test scripts. One test script is expecting to setup the environment for itself and some other test script changing the environment set for it.
Such test automation will lead to chaos and will not provide the correct results even though the product is flawless and code for test script is correct.
a) Execute each test script individually.
b) Sequencing of the test scripts which will be executed in parallel
c) Locking of shared resources which act as an environment for the test scripts.
d) Cleaning up the environment.