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. |