Question

Testing can be mainly classified into manual and automated testing. With regard to this certain questions come to mind.

They include:

  • What is the basic difference between the two types of testing?

  • What are the elements of challenges involved in both manual and automated testing?

  • What are the different skill sets required by a software tester for manual and automated testing respectively?

  • What are the different job prospects and growth opportunities among software testers who do manual testing automated testing respectively?

  • Is manual testing under rated to automated testing in anyway(s)? If yes, how?

  • How differently are the manual testers treated in comparison to automated testers in the corporate world? (If they truly are differentiated in any terms as such)

Was it helpful?

Solution

Automated testing is any type of testing where you are using one piece of code / program to test another piece of code / program. This can be unit testing as described above, or it can be via a specific automation tool, such as TestComplete, QTP, Selenium, etc.. Unit tests tend to be created and executed by the developer of the code in question, whereas GUI automation will more probably be carried out by a software QA specialist. Certain types of testing, such as performance and regression testing, are well suited to automation, whereas others, such as usability testing, are not.

Manual testing is a process where a person directly tests a piece of software, often by carrying out the type of actions and end user might carry out. Many professional testers, such as those involved in exploratory testing, would suggest that you while unit testing is cost effective, manual testing is similarly important and cost effective.

For some wonderful insight into the pitfalls of automated testing, you should read Linda Wilkinsons recent blog. Other good resources to read include discussions from the software testing club, and the automated testing part of SQAForums.

If you haven't already done so, SQAforums is well worth joining to ask any questions relating to what's involved in testing, as well as for job prospects.

OTHER TIPS

Well, I can only speak of my opinions and experiences, and I'm just a developer who has worked quite a bit with testers and QA engineers. Anyway, my 2c:

The most basic difference manual is done by hand, and automatic is done by computer :) As a consequence, the manual test process can be orders of magnitude slower than an fully automated one. On the other hand, automated tests can only detect issues they were meant to detect, and cannot detect fundamentally new behaviour of a system. That basically means that automated tests are ideal for regression testing, when it is well known what should be done, how, and what the outputs should be.

As to the skill sets, manual tests can be basically made by anyone in the right mindset, while automated tests must be made by someone with at least some developer experience. There are frameworks that enable easy recording of a automated web tests, for example, but, it's often necessary to tweak the recorded scenarios to better suit the needs of the testing. Of course, the necessary basic skills for testing must also be present in anyone wanting a work in QA, like patience, attention to detail, great organizational abilities, great communication abilities, etc...

And last, I don't thinks manual testing is underrated, if anything, I think automated testing is underused in most corporate environments I've seen. But, yes, some people (mostly managers, to be honest) do interpret my previous paragraph as "anyone can do manual tests".

Automated testing (especially automated unit testing) is good because it means that you can test earlier in the development cycle and you can keep testing regularly; it allows the developers to identify where they have made errors before involving the QA team. But that doesn't mean that QA is unnecessary. Apart from the matter of ensuring that the automated tests are themselves suitable, there's also the matter of working out whether the application is doing what it should; it's pretty rare for that to be understood entirely.

It's also difficult to automatically test user interfaces. For example, assessing whether an icon is suitably meaningful and positioned nicely is a matter for people not computers, because the computer doesn't care but the user does.

  • The Main Advantage with Automated Testing is that you can do regression testing quickly.. Developer can verify previous functionality, if it is working fine or not after adding new functionalities into the System.
  • So when you are working with a tight deadline then by using Automation tools you can reduce you testing effort.. so at that time you have to check only those functionality for which you haven't created automated test scripts. ( Like Email/SMS notifications Testing, Browser Compatibility/UI etc etc.)
  • Today many companies are using Open Source Automation Tools (Like Selenium, OpenSTA, JMeter etc) for their normal testing efforts. So it's better if you know how to test an application using these freeware tools instead of paid tools.

The most basic difference is how the test is verified. Is it done via a programatic check or is there a human inspection done?

The big challenge with automated testing is getting the manual tests to be automated and ensuring that there isn't the need for a human interpretation of the result,e.g. if a program involves an audio or video output this may be very hard to verify exactly.

Both require an attention to detail, patience and organization skills to have credibility in saying, "Yes, this is a high quality product/service." The differences can come where automated testing uses special software usually.

Manual testing can be costly as there is someone watching the tests being run while the automated tests can generally be run without someone watching it. However, manual testing can be underrated when it comes to those areas where things can be very subjective such as styling of web pages or how well does this song sound if we make these changes to it? Those would be where I'd see a human being preferred over a machine.

As for career paths and job opportunities, this is to some degree an open question. As not every place hires testers and sometimes testers are just brought in as needed for projects, there are different perspectives on testing. This is without getting into the question of how much should developers write their own tests and does this make a developer a tester as well? I suppose this isn't answering your question because I'm looking at this in the bigger scale of just who is doing the testing as that is something else to consider here.

The only way to write all tests objectively is to leave out a significant fraction of the details required to actually ensure the software is fit for purpose. The result is pretty much always software that you have to pay someone an hourly rate to use.

This may not always be a problem, but the set of cases where it is is a pretty large chunk of the software industry.

To answer just the first of your questions: the basic difference is that manual testing just looks like testing, whereas automated testing (usually) is testing. If you can't write a complete and detailed specification of the tests to be run then you aren't really testing. And if you can you can do automated testing. This is true whether your test script is executed by a program or a carbon-based life form following it rigidly.

I'll leave you to divine my answers to the rest of the questions from the basic premise I have set out.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top