when to do auomated testing and when manual
1. Explain me when to do manual testing and when to do automated testing for web based applications.
Re: when to do auomated testing and when manual
Also a very broad question that is the subject of many books (or at least a few chapters of some of them). But this one may be easier to answer directly.
Automated testing takes time and effort to create scripts. This can be realatively little effort - turn on "Record" while you do manual testing and you end up with a bunch of scripts that exactly duplicate what you tested. Or this can be a whole lot of effort - build in robustness through advanced scripting techniques.
The more effort you put into developing automated scripts, the more time you take away from actual testing.
If done correctly, that time is an investment toward the future. Well-written scripts can drastically reduce the time of future testing cycles as you continuously test the same application each time it undergoes any future development (enhancements, bug fix patches, etc.).
So, automation will usually only pay off on your investment if the application you plan to test with automated test scripts will undergo enough future testing cycles that the time you spend now creating those scripts can be saved in getting future test cycles completed faster.
Also consider the monetary cost of creating automation. You need to buy the automation tools. This cost should also be absorbed in future testing cycles in terms of money saved by spending less time testing.
However, there is an argument that creating good automation scripts might enhance the accuracy of your quality department. Good scripts can often catch bugs that a human might overlook. If this is true, then some of your investment may be recoverd by providing extraordinarily accurate future testing by reducing the chance of human error among your manual testers. It's hard to quatify such an assumption in actual monetary values, but it can be argued that this enhanced accuracy may compensate, at least in part, the cost of the initial investment.
Note that if you are up against a looming deadline and must hurry to get the app tested and shipped as fast as possible, starting to automate the testing will slow you down - maybe hold off on it until the next round of development.
In short, you should probably automate any application that you know will be fully tested at least a few more times in the future, as long as you have time and resources in the current test cycle to spare. You should probably not automate any applicaction that you assume is unlikely to undergo many revisions and therefore will have little future testing.
Of course, there can be many other factors that can influence this decision.
A long answer for a short question, and it really only scratches the surface of the topic, but I hope it gets you thinking along useful lines so you can assess your own situation.