In short, the answer to this question is a resounding ‘no’. However, far too many companies implement automation with the expectation that they’ll never have to perform manual testing again. Unfortunately, that’s just not a realistic expectation.
Manual testing will always have a place in testing because automation just can’t take the place of human behavior. Depending on the application, a great deal of it can be automated, but some tests will always need to be manual and some types of testing will always need to be manual.
Take for instance, exploratory testing. An extremely valuable form of testing, exploratory testing utilizes the random, human aspect of exploration and discovery. As a rule, there aren’t any rules in exploratory testing and as such, it can’t be automated. It requires that the tester delve into the application and let his or her experience and intuition take them where it will.
Usability testing would also be fairly difficult to automate. This type of testing is based entirely on the ‘look and feel’ of the application and how easy it is to use. An automated test can’t tell us that, only users can. In addition, the definition of it changes from application to application, company to company, and even year to year depending on the target audience, delivery method, and access methods.
Testers may also find that certain parts of an application aren’t compatible with any automation tools, or would be so difficult to automate or maintain that it’s easier, faster, and cheaper to do it manually.
While automation is here to stay, and it’s highly recommended that testers and developers invest in some form of automation, they should do so with the understanding that some types of testing and certain parts of the application will always need to be done manually.