Thursday, 28 March 2013

Will automated testing ever replace manual testing?

Manual testing is a core function in any software development lifecycle, but with automated tests, will there ever come a time when there is no manual testing done on a product?

Automated testing is extremely powerful when used in the right way (see Testing Automated Tests blog post), and when used in the right tests (see How to decide what and when to automate). So, obviously, the next big question would be, if I can automate tests, do I really need to spend time and money running manual tests? As manual testing is often one of the biggest overheads at a company in terms of releasing a product to live.


An automated test, no matter how robust and how good you might think it is, will never replace that of a truly awesome manual test. By a truly awesome manual test, I am not necessarily talking about the steps in the test case, but about the testers knowledge of the system, as that will never be replaced by an automated test. 


Another thing that I dont think automated tests will ever replace is that of cross browser testing, whilst functionality can be tested cross browser, UI changes will obviously be missed by that of an automated tests, if a button is in the wrong place for instance, would most probably never get picked up by an automated test, however, a manual tester would notice this straight off, and raise a bug appropriately.


I recently read an article (blog postby Joel Spolsky here) around the development of Vista (admittedly based on rumours - but it makes perfect sense to me), and how the testing of Vista was radically different to how previous versions of Windows were developed. Whether it's true or not, it definitely makes sense, and I'll explain more about it.


We'll use a generic piece of software as an example... If the testers on previous versions tested a number of things manually, things like the location of controls and how easy the software was to navigate around and use, spelling and grammar of error messages along with testing the UI of the overall range of products. This meant that the software had a pretty good user experience and issues were raised around the above and fixed.


However, the development of this new piece of software, involved none of the above, as it was decided to remove all manual testers and replace them with Software Engineers in Test, testers who wrote automated tests. 

So instead of performing manual tests on things like the UI and the flow of the software, these were replaced by automated tests, but, and this is a big but, automated tests will never be able to tell you if the software flows nicely together, or if the location of controls is intuitive, and so, this new piece of software was released with not necessarily what you would classify as a true bug, it's just that it was considered essentially a downgrade on previous versions as it had a terrible user experience.


So, I think you can understand my point that automated tests will not replace manual testers, however, they will change the role of a manual tester. The manual tester will have more time to focus on other aspects, as most of the functional testing will be completed by automated tests. This means that as they won't necessarily be running all the functional tests anymore, this will allo them more time to perform user journeys, exploratory testing and become user experience testers, people who test the flow of software and the UI etc. This is essential testing, as user experience is extremely important in software today with so much competition around. 


I will now leave you with the following quote from here which I think sums up the above..

"Automated tests ensure the software is working as designed. Human tests ensure the design is working."



15 comments:

  1. I am happy to found such helpful and fascinating post that is written in well manner.
    Regards..
    QTP Training in Chennai | Software Testing Training in Chennai

    ReplyDelete
  2. Most popular, industries-recognize certification that required complete Selenium training course & hand-on experience in Selenium Training in Chennai

    ReplyDelete
  3. Testing now a days has become as importnant as developing of an application. With the help of testing, we can find out the potential bugs which would affect the application. Fixing this at a very early stage would help the application to run without any problem.
    Software testing training in Chennai | Software testing training institute in Chennai | Software testing courses in Chennai

    ReplyDelete

  4. Thanks for sharing with us that awesome article you have amazing blog....
    http://hadooptraininginhyderabad.co.in/salesforce-training-in-hyderabad/

    ReplyDelete
  5. I get a lot of great information from this blog. Thank you for your sharing this informative blog. keep sharing this kind of interesting blog. Software Testing Training in Chennai Software Testing Training in Chennai

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
  7. Automated testing can't be replace Manual, but measuring performance of the application manual testing will not helps us.

    Regards
    www.orangetechnomind.com

    Software Testing Training in Chennai | Selenium Training in Chennai | Load Runner Training in Chennai | JMeter Training in Chennai

    ReplyDelete
  8. hi!!!
    Thank you so much for sharing this worth able content with us. The concept taken here will be useful for my future programs and i will surely implement them in my study. Keep blogging article like this.


    software testing Training in chennai

    ReplyDelete
  9. really you have been posted an interesting article. it will be really helpful to many peoples. thank you for sharing this blog.
    android training in chennai

    ReplyDelete
  10. ted on this technology helpThe strategy you have posed me to get into the next level and had lot of information in it.Software Testing Training in Bangalore

    ReplyDelete
  11. Nice information about the software testing My sincere thanks for sharing this post Please Continue to share this post
    Software Testing Training in Chennai

    ReplyDelete
  12. nice blog has been shared by you. before i read this blog i didn't have any knowledge about this but now i got some knowledge. so keep on sharing such kind of an interesting blogs.
    software testing training in chennai

    ReplyDelete
  13. Good and nice information, thanks for sharing your views and ideas.. keep rocks and updating...

    Software Testing Training in chennai

    ReplyDelete
  14. Really cool post, highly informative and professionally written and I am glad to be a visitor of this perfect blog, thank you for this rare info!

    Software Testing Training in Marathahalli|
    Software Testing Training in Bangalore|

    ReplyDelete
  15. Thanks for your informative article on software testing. Your post helped me to understand the future and career prospects in software testing. Keep on updating your blog with such awesome article. Software Testing Training in Chennai | Selenium Training in Chennai

    ReplyDelete