Date Added: Sep 2011
Software engineering comprehends several disciplines devoted to prevent and remedy malfunctions and to warrant adequate behavior. Testing is a widespread validation approach in industry, but it is still largely ad hoc, expensive, and unpredictably effective. In today's industry, the design of software tests is mostly based on the testers' expertise, while test automation tools are limited to execution of pre-planned tests only. Evaluation of test outputs is also associated with a considerable effort by human testers who often have improper knowledge of the requirements specification.