I am happy to say, that this is the first question that came through the mentoring form on my blog. It has been a while before someone “takes the courage” to ask a question 🙂 So, once again people, if you have any questions – ask, I don’t bite, I am only trying to help. As I promised, I won’t use real names, so I will replace them with any that I made up. Here it is:
I have some questions for you. Manual or automation tester? And if I want to change manual testing with automation, how to do that. Is there good practise for that.
Thanks in advance
Thanks for asking a question via the mentoring form on my blog. I greatly appreciate the fact that you ask for my opinion in your question.
Now, from the way that your question is structured I can assume, that you are considering to move from “manual” to “automation” testing. Why I put these in quotes, well it’s a long story… Anyway, I don’t believe in the devision of automation and manual, but many people do.
So, back to your question, which one of both?
First, it’s a good idea to mention what do these two mean to non-testers involved in SDLC and, unfortunately, sometimes even to testers. “Manual” tester normally is translated as “someone banging on keys mindlessly”, no expertise is taken into account, no technical knowledge, he or she is just someone “looking for bugs”.
On the other hand, “automation tester” means someone smart enough to automate the “boring job” that “clicking monkeys” will normally do by hand. Now, I don’t agree with both these claims, but if you listen to people while they talk of testing, they mention these, implicitly or explicitly. That’s why automation testing seems to be that dream career that everyone looks after and manual testing is considered deprecated and everyone tries to get rid of it.
The facts – you are more likely to get better salary as automation tester, rather than as manual, it’s just the market. Also, people get more excited when you say you are doing automation, without any regards to how actually you are doing it, you just say “I am an automation tester” and you are considered a demi-God or something.
How to move from manual to automation?
You have to be comfortable with programming. If you are not, get comfortable with it. If you can’t, forget about it. Yes, I know all these recorders and other tools that produce tests, but they are silly, if you want to do some real stuff you need to know at least one Object oriented language like C#, Java, Python, Ruby, Perl etc.
There’s plenty of courses to do that, a lot of tutorials, books and webinars, you just have to go there and practice. Also, you need to be familiar with the automation tools and frameworks there is, in order to show some relevant knowledge in the domain. In general, this is Selenium, but it wont be a bad idea to add some variety to your skill set by looking at tools for mobile automation like Appium and Robotioum or some BDD tools like Calabash. Also, it is strongly recommended to be familiar with certain design patterns in automation, that will help you write more concise code, avoid repetition of logic and will make your job easier in general. You will have to also be aware, that moving in automation, what you will be doing 8 to 6 is development. This is what it is, you will be writing code that tests, doesn’t matter if it tests UI, service or database. So, if you find this boring in a way, you might want to think about it.
If you are asking how to do that from a career shift point of view, I’d say, just make some good looking examples of automated testing in GutHub and start going to interviews. This will be the best way to make yourself aware of what companies are looking for, what skills and frameworks and also, to benchmark you skills.
My personal opinion on testing manually vs. automatically is – look for a company that can offer you both and let you choose how to approach testing. Getting in any of the directions too deep, in my humble opinion, downgrades your testing expertise. Testing, after all, is something we do with our brains, our experience and our personal perspective, not something that depends on tools or manual techniques.
Thanks for your time!
If you like to ask a question and get it answered by me, please don’t be shy, you can do it in my mentoring form here.
Thanks for reading! Good luck! 🙂
8 thoughts on “Automation or manual testing – mentoring question.”
Great answer Viktor.
I’ve always maintained that an automated tester is first a manual tester. If you can’t manually test, how can you hope to discover what checks you can automate. If an automation engineer is not taking time to actually explore and test the application that they are writing automated checks for, they are doing a disservice to their team. Manual testing will never go away. Manual testing can be augmented with some scripted checks. The checks will never discover something that hasn’t been specifically scripted. So, if you get rid of manual testing, your app will be plagued by new issues.
So, learn to manual test first. Become a testing professional and great at the craft. Then learn how to code and translate your knowledge of manual testing to coding automated checks. There isn’t much difference from a “clicking monkey” and a “code monkey”, learning as much as you can about both test and code will make you much more valuable to a team.
Thanks for the comment.
Yes, I see that a lot. Many testers seem to believe automation is solely based on technical knowledge and has nothing to do with analytical thinking and investigation.
I love the way how you expressed it – automation checking should augment testing, not to try to replace it, both just don’t mix, they are testing at different levels.
Thanks for the feedback.
Thanks for the references, Michael. They are useful indeed, I also share the philosophy that testing could not and should not be labeled as “automation” or “manual”.
Thanks for your comment.
Thanks for sharing this article. Its really helpful for me. 🙂
Glad to hear that, Swapnil. Good luck. 🙂