| A human executes the test cases one by one, without any SOFTWARE assistance. | Tests are executed by a testing tool or framework, without human assistance. |
| Useful for non-repeatable tests that involve human ingenuity, participation, and domain experience. | Useful for repeatable tests where the software feature under test doesn’t change frequently. |
| Good for accessibility and usability testing, as the tester can test the software from an end-user’s perspective. | Good for testing regression issues to make sure that the software didn’t break after introducing new changes. |
| Can be slow and time-consuming, and subject to human errors and misjudgment. | Since it’s run by a computer, automated tests are fast and free from errors, given that we are testing the right thing. |
| It’s possible to test the software in a randomized manner, also known as exploratory testing. | Exploratory testing is not possible in automated testing. |
| UI problems and inconsistencies are easily spotted by a human tester. | Unless it’s programmed for that, the automated testing cannot discover and report the UI problems. |
| It’s very difficult, rather impossible to test the software under extreme load to conduct performance testing. | Performance testing can be easily done with automation testing. |
| The tester doesn’t need prior PROGRAMMING knowledge. | To WRITE automated tests, the tester needs to have prior programming knowledge. |