During test execution the tests are conducted on the product. Each of the test conditions and test environments are used to conduct the defined tests. Sometimes there will be spontaneous testing conducted, that is not one that was born out of the scope, plan or test analysis, but from what is learned in the process of conducting the test. Test execution will also be responsible for re-testing as perhaps the results of the test were some anomaly based upon the test configuration, or to learn more about the failure to be able to accurately report the details of the conditions that caused the failure. These are clues the developers will use to find the reason for the failure (hardware or software). Test execution address regression testing, that is testing of old parts of the product that have not changed, but require testing since the product has changes – this is largely associated with software.