views:

199

answers:

6

Respected all,

As many know testing can be mainly classified into manual and automated testing. With regard to this certain questions come to mind. Hope you can help...

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, kindly specify the way.

  • 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 )

I hope you can share your knowledge in answering these questions..

Thank you for your time..:)

+2  A: 

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.

Donal Fellows
Hi Donal Sir.. thank you for your insights with respect to automated testing..
mgj
For the record, and to point out how often you should run unit tests, every time I compile (well, compile successfully) I rerun my unit tests. Once I have a build that I'm reasonably happy with, I rerun my integration tests (I have a separate program for that as it happens). Other people run the user acceptance tests; after all, the question there isn't whether *I* am happy with them, but whether *they* are.
Donal Fellows
A: 

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.

High Performance Mark
Not any specification can be run by a computer. For example, "make sure that the colors are suitable" is still better checked by a carbon then silicon.
SWeko
@SWeko: 'make sure that the colors are suitable' is not a test, it's more of a beauty pageant but it illustrates one of the details I didn't point out: unless you can make your tests objective, they're not tests.
High Performance Mark
So usability is not an issue in software then? As it is a purely subjective notion? Or we could make some screen beauty index :) There are lots of things that are trivially testable manually, yet untestable automatically. Sometimes the feel of the software itself is just plain wrong.
SWeko
@High Performance Mark: I am sorry but i don't agree to your view on manual testing just "looks" like testing.
mgj
+2  A: 

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

SWeko
+2  A: 

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.

Shane MacLaughlin
Hi Shane.. Thank you for your answer.. I am sorry for replying late to your post.. Also many thanks for the links..:).. they really seem to be useful..
mgj
+1  A: 

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.

JB King
Hi JB King..:) thanks for answering even these set of questions.. Your answers are really useful...Btw your pretty much right that your answer in some ways is not taking care of the question on growth, job prospects and the last question also.. But anyways many thanks for sharing your experience Sir.. I am sorry for replying late to your post..
mgj
A: 

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.

soru