Recent blog entries

Alternatives for NPAPI
Oct 20, 2014, by Alin
As presented in my previous post about NPAPI, this architecture is slowly being phased out by browsers, such as Google Chrome and Mozilla Firefox, so more developers have started looking for more
The legacy of NPAPI
Oct 15, 2014, by Alin
"Netscape plug-in Application Programming Interface" (NPAPI) is a cross-browser plug-in architecture. In its early days, it was used by the Netscape browser (you might not remember, but Netscape was one of the first browsers, popular back in the 1990s), and then it has been adopted by the modern more
Romanian-born scientist receives the Nobel Prize in Chemistry
Oct 08, 2014, by Oana
Today, in Romania, one name is on everyone's lips: Stefan W. Hell. The German biochemist of Romanian origin, Stefan W. Hell, together with his 2 American colleagues Eric Betzig and William E. Moerner, has won the Nobel prize in more

Manual vs. automated testing

When developing rich software applications, a crucial aspect of your work is testing - and some argue that testing should not even be regarded as a separate stage in the process, as it's intimately related to (and chronologically merged with) the development itself. There are many testing levels (such as unit testing, system testing etc.), and also there are more testing methods available (for example: white box testing vs. black box testing vs. grey box testing), making it hard to decide over the testing strategy to be used in one situation or another.
A popular testing methodology is manual testing. This simply means manually testing the software, on various functional paths / scenarios. Contrary to manual testing is test automation, which requires the use of a piece of software to run the tests and validate the results. Practically, the software (and not the tester) compares the resulted outcomes with the predicted ones.

Each approach has its own advantages and disadvantages, but in the end the choice of using one of the methods or the other depends entirely on the type of software you are developing. But let's see below the main differences between manual and automated testing:

Who does the testing

Manual testing requires a tester to play the role of a typical user and to employ all the software functionalities in order to ensure a correct behavior.

In the case of test automation, a tester / developer has to define / write a series of tests, and then have the test automation software running those tests, and comparing the obtained results with the expected ones.

How does the process work

When testing manually (according to a "scripted testing" procedure - meaning that the tester follows a certain test suite), the tester will need to write a series of test cases (which will comprise a test suite), and then run those test cases, one after another. In some cases, the test suites are not written by the tester, but rather by a testing supervisor or quality assurance engineer - or even by a developer.

And besides the scripted testing, there's also the so called "free testing" (formally defined as exploratory testing), which simply means that the tester tries to use the software in any testing scenarios that he can come up with, on the spot, and write down any bugs that might show up on the way.

Automated testing implies almost the same process as the scripted testing, just that the test cases are automated (written for and ran by a machine). Usually the test cases are written by a developer, rather than a tester.

How much time does it take

In the case of automated testing, as the actual tests are ran by a computer, rather than an individual, the time invested in the overal testing process will be reduced (as compared to manual testing). On the other hand, authoring the test suite can be quite time consuming, and the same goes for the time spent interpreting the results.
One caveat here: unless you can reuse the automated tests (for future releases that contain the same features, or for future regression testing), test automation can be just as time consuming (as a percentage from the overall effort) as manual testing.

How much does it cost (apart from the time invested)

Test automation involves higher initial costs than manual testing, as it requires tools, environments, test development etc.. If the automated tests can be reused, then the costs are lowered.

When can it be used

A product needs to be stable 50% - 60% in order to use test automation. On the other hand, manual testing is always there, and can be applied at any stage of the development cycle.

Automated tests are suitable for: regression and confirmation testing, random testing, performance and reliability testing, and when the results can be interpreted quickly.  Manual testing, on the other hand, works best for: installation, setup, and maintenance testing, configuration and compatibility testing, testing for errors, localization testing (only a specialized tester can decide if a translation doesn't has sense, or if it's offensive from a cultural point of view, or inappropriate), usability testing, documentation.

Of course, there are situations when tests can be done either manually or automatically, with certain benefits for each approach. Such situations are: functionality testing, user scenarios, user interface testing, date and time testing etc..

So there is no universal answer, whether to use manual vs. automated testing: you can choose to use one or the other, depending on the software that you are building, also depending on the situation and the stage of the development cycle. When the complexity of the software requires human skills and judgement, then you have no choice but using manual testing - however if you need to repeat a simple testing cycle many times, then automated testing will save you time.

Because software products are dynamic and they tend to change constantly, your testing strategy and the test suites will need to be updated as well, to keep up with the updated functionality - therefore you may even end up going back and forth between manual and automated testing, for the same product, as time goes by.

Also read:

Suite-based testing: a challenging job
Gray-box: the bridge between black-box and white-box testing

Visit our Blog

Contact Us

For more info, please email at or go to the contact page.

Recent articles

Attractive software outsourcing destinations in Eastern Europe
Mar 19, 2014
The Asian region was regarded, for many years, as the only suitable destination for software outsourcing (customers were attracted by affordable hourly rates and smaller development time frames). However in the last decade a new destination has emerged: Eastern Europe. Countries such as: Latvia, Hungary, Czech Republic, Romania, Poland, Ukraine etc. made a name for themselves on the outsourcing market by providing a complete set of services - consulting, development, support, more
Romania - an attractive software outsourcing destination in Eastern Europe
Feb 25, 2014
Today's outsourcing market provides a wide range of outsourcing destinations and a high number of software development companies, so choosing an outsourcing company for your business can be a challenging and complicated more