As can be seen, for testing web-based application has all the necessary factual set of tests can not be said about the windows-application. To test the windows-only applications are available and modular manual tests, and that's not enough for the normal functional testing. First, unit testing provides verification of individual modules in the source code level, and cover the entire functional unit tests very difficult. Secondly, manual testing to verify all the scenarios for using the software product time-consuming, and there is the human factor (overlooked, skipped, etc.), which could adversely affect the general result. Exit out of this situation is an automated functional testing, which provides: Automatic execution of functional tests, as the application interface, as well as services, applications, client / server, etc. As shown in the figures below (see Figure 1 and Figure 2) and temporary financial costs of manual testing far exceed the costs of automated testing. Figure 1.
Time spent on manual and automated testing of Figure 2. The cost of automation and manual testing Regression testing – that all the automated tests, which were formed earlier. In the development of the project accumulating a large number of functional tests (see Figure 3) and ensure their hand is almost impossible. Of course, one can say if and when the test was successfully passed, then why perform it again? But sometimes it happens that the implementation of new functionality or error correction can affect the already long running part of the program. So that all the test cases simply vital for developing the project.