Automation is the key to testing software. When you’re testing something manually, the first question that you should ask yourself is “is it possible for this to be automated?” If it can, it’s best to think of how you could automate it. If not, it’s best to start thinking harder.
Imagine you’re on a Quality Assurance team that tests web applications and you don’t have any automated tests written for them. Result: every time you go to test your apps, you manually click all of the buttons and links, write data to input fields, verify that the inputs and outputs are handled correctly, etc. After you’re done testing the application, you document any errors you encountered and notify the developers to go fix the problems, all of which are steps taken to process just a single application. Rinse, and repeat.
What’s wrong with this?
First off, just consider how cumbersome and inconsistent this method is. If there is more than one person testing the software, the process is totally relative to the individual doing the testing. For the sake of argument- even if you are the only person testing it, your process is likely to change to varying degrees each time you go through it. Now, you could object and say that the problem can be solved simply by creating a standard that everyone has to follow when testing the application. That’s all fine and dandy, but who’s to say that everyone is actually following the standard?
Second- even if you do have a standard, and everyone is actually following it to a tee, this method is also highly inefficient. Why? Because it takes too long. You could be implementing significantly better ways to test the application (stress tests, perhaps?). Not only does it use up too much time, it’s boring. Who wants to be performing the same dull “click here, type this, press this button…” over and over again? It’s as if you’re a machine.
How can you fix this problem?
If you feel like you’re doing the job of a machine, then a machine should probably be doing your job. Your time would be better spent implementing an automated test that can be run quickly, consistently, and without troublesome human interaction.
Automated testing provides you with consistency, reliability and speed and, as a result, a much improved allocation of time. If programed correctly, the tasks will be consistently performed in identical manners. Automation, although not the ultimate answer, certainly allows your tasks to run faster, at pre-specified occurrences, and as a result: save you loads time, effort and savings.
very valid points mentioned about manual and automation testing. I believe the best approach is combination of both manual and automation testing. ratio depends on several factors. discussed all those points in my blog.. kualitatem.com/manual-vs-automation-testing
Hello, there has always been a buzz on which is better automation or manual testing. I’ve tried to put down my thoughts on it here – http://milinpatel17.wordpress.com/2014/07/life-is-too-short-for-manual-testing-or-is-it
good manual test has ever been automated, nor ever will be, unless and until the technology to duplicate human brains becomes available.