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)
Does automation replace manual testing? Not quite. The difference between manual and automation testing can easily be compared to driving versus walking. Driving a car to a destination in many instances is the faster, more efficient option.
Manual Testing is a time-consuming process whereas Automation Testing is very fast. Manual Testing is possible without programming knowledge whereas Automation Testing is not possible without programming knowledge. Manual Testing allows random Testing whereas Automation Testing doesn't allow random Testing.
Manual testing isn't dying, but it is evolving. We have seen, and will continue to see, a shift toward more social-based and exploratory testing. That translates into less working on your own and more working in groups, as well as fewer repeatable test cases and more testing in uncharted territory.
Manual and Automation testing are the two high-level aspects through which we can test an application. Overall automation testing gives us quick results. It requires less human effort once the automated test cases are written. Automation testing is incomplete without manual testing.
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.
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 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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With