Thursday, December 3, 2015

Manual or Automation testing?

This is a very interesting topic which has been debated endlessly ever since the evolution of Software Testing and more so in recent times, as Software QA has gained more prominence.
Let me first start by demystifying the myth about Automation testing. Many people have the misconception that Automation gets the work done faster than manual testing, hence it is better. Why break your head testing the same old application when you can run a nice ol' script and get the task done in a jiffy? While Automation definitely has its advantages and can reduce time and improve productivity, it is in no way an effective replacement for manual testing.
Any Software, big or small has to go through one round of manual testing as a minimum (or more as the situation demands). Manual testing requires domain knowledge, thorough technical grounding and good testing instincts with creativity to spot bugs early on as a minimum. Only after the functionality has been ascertained and the application stable can we proceed with automation. There are also certain areas which cannot be effectively tested by Automation.

That said and done, in todays’ testing scenario, given the complex nature and strict timelines needed to deliver top quality applications, we cannot afford to ignore automation at all. We would be doing so at our own peril. Automation can help us perform repetitive and complex tasks faster and safer leading to greater productivity. Automation also helps to reduce the load on manual testing giving testers more time to do some exploratory testing on the product, in turn leading to higher product quality. Automation has been used extensively and effectively in tasks involving high degree of repetition and complexity such as regression testing, cross browser testing, loads and stress testing etc. To put it in Industrial terms, manual testing can be compared to the initial design and testing of any product in a factory such as an automobile where the number of unknown factors are high. Automation can come later and can help in performing tasks repetitive and time consuming tasks faster such as assembly, spray painting etc.

In a nutshell a complete tester / test manager / lead would be one who has a good understanding of automation tools as well as emphasizes the importance of manual testing. Manual testing would be like laying the basic platform for good and robust software of excellent quality and Automation can help us build on that and improve our delivery timelines and overall product quality by leaps and bounds. As the complexity and size of software grows, the more intermingled and important both will become.

No comments:

Post a Comment