12 manual versus automated testing

manual testing can be boring
(especially REPEATING manual testing)
But...you have a computer!

Manual testing:GOOD
It’s simple and straightforward. 
It’s cheap. 
It’s easy to set up. 
There is no additional software to learn, purchase, and/or write. 
It’s extremely flexible. 
You are more likely to test things that users care about. 
Humans can catch issues that automated testing does not. 

Manual testing: BAD
It’s boring. 
It’s often not repeatable. 
Some tasks are difficult or impossible to test manually.
(e.g. response time;any measurements)
Human error is a possibility. 
It is extremely time- and resource-intensive. 
It limits you to black-box and grey-box testing. 

Automated testing GOOD:
There is no chance of human error during test execution. 
Test execution is extremely fast. 
It is easy to execute, once the system is set up. 
It is easily repeatable. 
It is simple to analyze the process. 
It is less resource-intensive. 
It is ideal for testing some aspects of the system which manual testing is bad at testing. 
(internal variables, data in database).
It scales very well.

Automated testing BAD:
It requires extra setup time up-front. 
It may not be able to catch some user-facing defects. 
(e.g. what the user sees)
It requires learning how to write automated tests, as well as additional tools and frameworks.
It requires more skilled staff. 
Automated tests only test what they are looking for. 
Tautological tests and other bad tests may creep in. 
(e.g. no longer needed tests)
relevant factors:
How important are the tests?
How much of an impact does interface or “intangible” aspects have on the product?
How often will the tests be run?
How experienced is the test team?
What is the schedule for testing?
How difficult is it to automate the tests?

Many organizations use a mix of manual and automatic, but most substantial projects use more automated testing. But, few release software without having a person try it our like a user would.