What is manual testing?

In manual testing, tests are performed manually by the tester. This is the classic method for finding bugs in an application.

What is Automated Testing?

In automated testing, testers write code that runs the tests. Special tools can be used to develop test cases and execute them . The goal is to shorten testing time.

A pre-written script with test cases is launched, which executes the tests and compares the actual data with the expected ones.

Automated testing helps reduce the time it takes to run repetitive tests. Especially useful for regression testing – when you need to make sure that new changes do not break existing functionality. Despite the fact that automation saves a lot of time at the stage of test execution, a lot of effort is spent on writing test cases.

Key differences:

  • Manual testing is carried out by a person, autotests are performed using a prewritten script.
  • Manual testing has a human factor and depends on the responsibility and experience of the tester. Automated testing eliminates the human factor when performing tests eliminates.
  • Performing manual tests can be timeconsuming; performing autotests can not.
  • You don’t need to know programming to perform manual testing. It is almost impossible to create autotests without knowing how to write code.

Summary table of differences between manual and automated testing

SignAutomated testingManual testing
DefinitionAutomated testing uses specialized tools to create and run tests.In manual testing, test cases are performed manually by a tester.
TimePerforming autotests takes much less time than manual testing.Manual testing is labor intensive and requires human resources.
Exploratory testingAutomated testing does not allow for random tests.Exploratory testing is possible.
Investments in the creation of test casesThe initial investment of resources in automated testing is higher. Although the ROI can be higher in the long run.The initial investment of resources is comparatively lower. ROI versus automated testing is lower over the long haul.
ReliabilityReliable, does not depend on the human factor.Depends on the human factor, therefore less reliable than automated testing.
Impact of UI changesEven for small changes in functionality, you need to spend time changing the script to work correctly.Changes are not time consuming.
Cash investmentsPurchase of tools, remuneration of automated testers (as a rule, higher than that of manual testers)Remuneration for manual testers.
Investment efficiencyIneffective for small applications.Ineffective for large applications.
Report availabilityAnyone can enter the test management system and see the results.Due to human factors, reports generated by manual testers may not always be available / available with a delay.
Performance testingPerformance testing (like load testing, stress testing, spike testing) is performed using special tools.Rarely done manually.
Parallel execution of testsAutomated testing can be performed in parallel in different environments (operating systems, browsers).It can be carried out in parallel, but it requires more human resources.
Knowledge of programmingKnowledge of programming is required for an automated tester.Not required.
Installation and configurationMore complex (compared to manual) installation and configuration of the environment for running tests.Relatively simple.
InvolvementThis is done automatically.Human error is involved – constantly running the same set of tests can get boring.
Ideal scopeIt is useful when the same set of test cases needs to be performed repeatedly and many times.Useful for infrequently repeated test cases.
Impact on the deadlineZero risk.The risk is higher than with automated testing.
FrameworksData Driven, Keyword Driven and Hybrid frameworks are used for automation.Does not use frameworks, but guidelines, checklists, drafts for writing test cases can be used.
DocumentationAutomated tests themselves can serve as documentation. A new automated tester can look at the unit test code and figure out what it does and what it is used for.It is necessary to write documentation for testing.
When to useRegression testing, Performance testing, Load testing and frequently repeated test cases.Exploratory testing, usability testing, Adhoc testing. In cases where functionality requirements change frequently.

Pros and cons of manual testing


  • Fast and accurate feedback if you need to project a specific scenario.
  • Less expensive in the early stages than automated testing.
  • Human sight and intuition (helps in finding non-obvious bugs)


  • Less reliable because performed by a person. Nobody is perfect, so testing errors are possible.
  • Cannot be reused.
  • Some test cases can be difficult to reproduce (require simulation of certain conditions, input data, etc.)

Pros and cons of automated testing


  • Fast and efficient.
  • Reusable.
  • Performed by a computer that does not get tired or lazy. Can be launched any number of times and at any time (including at night, on weekends and holidays)
  • The coverage of functionality by tests increases, because a program (as opposed to a human) is always guaranteed to run all tests.


  • Without human fate, it is difficult to check the application visually (colors, fonts, sizes, indents, etc.)
  • Automated testing tools can be expensive. (but there are also free ones – here is our selection (LINK))
  • They require constant support – this is a waste of human resources.
  • Has its own limitation that does not allow automating all possible scenarios.

Feature Image Credit