A human tester tests the software by manually running the test cases and observing and comparing the actual and expected outputs. |
A tester or a programmer uses scripts and tools that execute the software and compares the actual and expected outputs. |
Manual testing is not reproducible and repeatable. |
Since it is programmed, automated testing is consistently reproducible and repeatable. It can be executed as many times as the tester wants. |
For new features, a tester can quickly test the feature manually, without much configuration and setup. |
To set up automated testing, there’s the initial investment required to write the tests and prepare an environment to run those tests on. |
Manual testing is useful for finding bugs in the user interface or accessibility issues. |
Automated testing is more suitable for catching bugs that a human tester would miss, such as programming bugs, business logic errors. |
Manual testing is prone to human errors and is slow. |
As there is no human participation involved (other than writing tests), automated testing is more reliable. It is much faster than manual testing. |