For those of you thinking about moving into the test automation field

Thinking about changing your career by moving into the test automation field? This post might be just for you…

So, you decided to become a test automation engineer / SDET / test automagician / … Excellent. Test automation is an important part of the software testing field. But if you’re thinking about taking this route just because you fear that your employer is planning to cancel all manual testing effort, maybe you just need to become a better tester. Show them what value you’re adding to your company and to its products and services as a tester. Either that or leave as soon as possible, because your employer clearly doesn’t know what testing is about and you’re better off at a place that values both automation and actual testing and testers.

What I’m trying to say is that you should first and foremost ask yourself ‘why?’. Why do you want to move into test automation? Is it because you’ve seen other people work on automating checks, test data generation or any other activity related to testing and thought ‘hey, that’s interesting, I want to know more!’ or ‘Hey, that’s nice and all, but I’m sure I could do this better / faster / fancier!’? Marvelous. The test automation field eagerly awaits your arrival. However, if all you’re doing is moving towards test automation because ‘it’s a trend’, ‘I’m afraid to lose my job’ or ‘the pay is better’ (actually, I can understand that last one to some extent..) then please do the field a favor and get better at what you’re currently doing. We need motivated individuals willing to learn, teach and share, not opportunists just looking for the next fad or pay raise.

Still interested? Here’s some more things to consider before making the switch:

Test automation is a craft (not in this way, though)
Using test automation well in your project and organization requires knowledge and skills. It’s just like a real job like that: you need to be willing and able to constantly learn and improve. How can you do that? Read and listen. A lot. Read blogs (the links in my blogroll should provide a nice start), listen to podcasts, go to conferences. Also, following the 10,000 hour rule, do a lot. Tinker with tools, repeat instructions presented in tutorials and then try and expand upon what you’ve learned and maybe most importantly: have your work reviewed. Nothing better than having someone more experienced look at your code and give tips on how to improve. I’ve been in the field for 10 years now and I still do this on a daily basis. Why? Because I know it will make me better at my job.

Test automation is software development
I’ve repeated this a lot of times now (yes, repeated, someone probably much smarter than myself said it long before): test automation is software development. Please treat it like that by:

  • Testing your tests. If you rely on the outcome of your automated checks when deciding to take something into production, you better make sure that your tests do what they promise, and that they fail when required.
  • Applying good design practices and patterns. They’ll make your test code better maintainable, readable and transferable to others.
  • Version controlling your stuff. Check in your test code in just the same way as you check in your production code. It makes it easier to share and review code and to revert any changes if necessary.

Don’t believe tool vendors and fanboys
Don’t get me wrong, I’ve got nothing against tool vendors. I even have a very good professional and personal relationship with some of them (you know who you are). I don’t take everything they say for granted, though. Even though the test automation field has long left behind the era of automation by record and playback and the miracles of codeless test automation solutions (it has, hasn’t it?), there are still tools and vendors that claim that everybody and their dog can use their solution and save millions of hours / dollars on testing. While some tools are indeed easy to use (a good UX design and / or a clear API go a long way) they’re forgetting that probably not everybody can use their solution AND do it successfully. Success for the project or organization that is, not for the tool vendors themselves.

Pretty much the same thing goes for tool fanboys. They’ll do anything to convince you to use their favourite tool, because all the alternatives suck / are too expensive / somehow insulted their family members. While they might have a point sometimes (in those cases where their favourite tool IS the right solution in your case) but make sure to investigate alternatives, or build your own tool if that’s a viable option. Try not to fall into the ‘if all you have is a hammer … ‘ trap.

Think beyond simulating user interaction
As Richard Bradshaw explained much more eloquently in his talk at this year’s Test Automation Day, test automation is much more than simulating the interaction between an end user and your application under test. A script that generates test data for testers is test automation. A routine that checks log files for exceptions during exploratory testing is test automation. In short, every tool and piece of code that is used to support or automate activities related to testing in some way, shape of form is a part of your test automation efforts. Broaden your scope.

Still thinking about moving into test automation?
Excellent. This post wasn’t meant to make you refrain from doing so. All I wanted to do (and what I’ll continue to do in the future) is create a view of the test automation field that’s a little more realistic than some of the pictures painted in other places on the Internet. Did I succeed? I don’t know, I’ll let you decide. As always, please do let me know. Leave a comment or send me an email, I’m always happy to talk to fellow test automation engineers and any of you thinking of becoming one.

15 thoughts on “For those of you thinking about moving into the test automation field

  1. Hi Bas ,nice posting on automation , can you tell me what are the skills required to move into automation ,like what key skills required for manual tester to jump into automation and must possess & how to improve skills for a newbie tester to exist in automation field ; can you brief me on that ?

    • Hi Kotla, I don’t think that there’s a specific set of skills that defines a good test automation engineer/consultant. Some things that come in very handy though are analytical skills (to truly understand the problem that needs to be solved and to be able to see past the urge to ‘automate all the things’), teaching/presenting skills (to demonstrate your solution to others and to transfer knowledge about it) and development skills (to implement the solution and do it properly).

      I wish I could recommend a single book that teaches you all this but I’m afraid such a book doesn’t exist (yet).

      ‘Experiences in test automation’ by Dorothy Graham and the testing pathways on Katrina Clokie’s web site are two useful resources for further reading. But in general: read a lot and experiment a lot more. See what works, then improve that.

    • Thanks TJ! This one was a bit different from the more technical pieces I normally write but I felt that this needed to be said.

  2. Pingback: Java Web Weekly, Issue 133 | Baeldung

  3. Pingback: Weekly Links #23 | Useful Links For Developers

  4. Great read Bas, thanks a lot. I start a new job as a software tester later this year and automation is definitely something I want to learn about. As Saïd before, Well written and enjoyavle to read

  5. Thanks for sharing your thoughts with us. I completly agree with your understanding. I don’t want to be become a testautomation engineer, I just would like to expandmy horizon. Can you give me some hints where I can find some information.

    • Hey Pierre, Dorothy Graham’s book in Experiences in test automation would be a good start I think. It consists of a bunch of case studies that tell success and failure stories of test automation in a number of organizations. Lots of insight and lessons to be learned.

      I am also thinking about writing something bigger myself both for those new to test automation as well as to set some things straight. Nothing tool specific, but there’s still a lot of misunderstanding with regards to test automation that I think needs clearing up.

      But such a thing does not yet exist I think, so that’s probably of no use to you at the moment..

      If you’re looking for more specific recommendations let me know.

  6. Hi Bas , i came to know that automation is done for some scenarios while testing an application and some part is done manually , so what is the percentage of automation is done for testing an application & what percentage is manual testing is done ?

    • Hi Kotla,

      there is no one golden ratio for automation. It depends on a lot of variables that differ between applications and organizations. Sometimes it’s 100% (for unit testing), sometimes it’s 0% (exploratory testing), often it’s something in between. One thing that I do know for sure: don’t go for 100% automation on all levels. Just. Don’t.

  7. Hey Bas,

    Thanks for this article. Its certainly informative and eye-opening at the very least.

    I recently joined a company as an SDET and was working as an SDE before. The concept of testing fascinated me and its a different world altogether.
    I have come to the understanding that I have to think beyond the product itself and go about finding new ways to test stuff.

    The learning curve is very high at the start as there are a lot of things which I have no idea about but is very good to learn.

    I had never worked on RestAssured or TestNG and a search for them brought me here. Its a very challenging atmosphere here and trying to find a simple project which goes through step by step on building a project, build the test cases, integrate the cases in correct locations of the IDE or project and finally running the tests.

    Its very hard to find a place which explains what I need above and am now going from site to site searching for answers. I am reading each of them and getting ideas slowly but its a challenge in itself.

    I wandered off there. Keep up with the articles. You are making a valid contribution.

    • Hey Birdy,

      Thanks for those lovely words. It’s comments like yours that keep me writing! If there’s anything more specific I can help you with at any time in your journey, please let me know.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.