Furthering test automation career


(Andrew) #1

Good afternoon,

I have a question …once you have worked in the test automation field for a while, as a result would you say this almost makes you “developer-like” in your coding skills?

The reason I ask is that, longer term, I’m wondering how much time I should commit to more in-depth courses, books etc which are probably more specific to developers(e.g. a book on c# design patterns) or whether as a test automation engineer whether we even need to be concerned about this more low-level detail, and instead should focus more on the automation aspect.

Also, I’ve found that with consulting now I could be on one assignment where I’m implementing an automation framework with Java and Selenium, the next assignment could be writing API tests using Rest Assured.
It’s an almost impossibility(for me anyway!) to remember how each implementation works, given that it may be a few weeks/months before using that particular framework. As a result I’ve started putting everything on GitHub so I can refer back to these frameworks later on. I just wanted to ask whether this is normal that you can sometimes get a bit rusty with a certain language, tool, approach etc?

As ever, thanks a lot!

Andy


(Musaffir) #2

Hello Andy @tilston1001,

My current designation is Senior test automation engineer and I have 5 years of expereince in automation, before that, for about 4 years I was more in to manual testing .
And from my expereince to answer your question, I would say - it depends .
It all depends to the kind of projects or environment where you are put in to…
I don’t feel like I have ‘developer-like’ coding skills, but I do have coding skills, and others usual ‘Dev skills’ which helps me to stay in the test automation path with out much issues. And that what I wanted to maintain and stay relevant…

I came from a non-computer science background, so I had to learn almost all the stuffs .
When I decided to switch from manual testing to automation, I started with learning JAVA, where I stressed more in to core-java and very limited to all those web app development apis like servlets,jsp etc because I knew they were not required for an automation engineer.
And like most of the people out there, I too started with Selenium. Initially worked with standalone scripts, then got inspired from different sources to start looking at framework etc.
I also tried developing my skills in certain tools like ANT,Maven, then in to CI integration tool like Jenkins etc
So the objective was to setup entire framework, automation eco system etc.

Later I got oppurtunity to work with api automations, there I explored different tools,methods etc
Same thing with performance test automation as well.

I also started exploring java script,Node.js,NPM,HTML,CSS etc…all mainly to deliver some of the requirements in my automation project
So I may not feel like I have ‘developer-like’ skills, but what I definitely have is I have the confidence of start exploring,learning,and pick up stuffs and the confidence of finishing them.
I think that is what is more important and coding skill is something any one can improve once thrown into such situation

Warm Regards
Musaffir


(Andrew) #3

Hi Musaffir, many thanks for your reply, really appreciate you taking the time out to help.

I’m particularly interested in hearing more about how you got into API automation? Which tools would you recommend? And, linked to that, would you recommend any particular training courses?

Andy


(Glenn) #4

Hi Andy,

I’ve been a test automation specialist for many years. In my opinion it’s necessary to understand development principles and continually build your development skills. I share your experience that, in test automation, we don’t spend all our time on one language / tool and consequently I feel that my development skills are less sharp than a full time developer specialising on one language but I’m OK with that.
It’s normal to become less sharp with the tools / languages you’re not currently using. The skill is to be able (and willing) to pick them up again quickly. A test automation professional needs to be able to quickly learn / recall whatever tool or language is appropriate for the current project.
Your technique of keeping working examples in git is a good way to get a quick reminder of how you’ve got things working in previous projects, taking care not to put client code / info on github.

regards
Glenn


(Dhvanil) #5

great inspiring and always keep learning!


(Joe) #6

Greetings!

I applaud all of you and your desire to continue to learn and to maintain a certain level of proficiency with tools and languages. I believe its important to be prepared!

At the same time, I encourage you to also maintain and improve your testing skills. Regardless of how we implement a test (automated or manual), our primary goal is to help provide prompt feedback on product behaviors.
In my experience, testing skills have aided in determining what is valuable to test and what I might learn from a test. They also help to interact with team members so that everyone understands a decision around the use of automation over manual testing.
If you are looking for training in testing, which is still very valuable even in an automation role, I highly recommend the BBST courses.

Joe


(Vishal Dutt) #7

I would like to share my thoughts based on my experience in Automation. There are few points:

Design Patterns: Doing automation for a quite long term and on different framework/projects definitely makes your coding skills good or enhance your skills. Learning is important even you are developer or automation engineer. A high level, robust framework needs expertise in Design pattern, which come through in-depth knowledge. Automation engineers in most of the Software testing companies do have skills in coding, different framework, UI automation knowledge, Mobile automation knowledge or API automation knowledge. So, knowledge in different projects or platforms definitely enhance your career opportunities in the industry.

Documenting the code: You want to keep your work saved on Github is a good thing. You don’t know when any of the approach followed in a project can be useful after years in different project. As per my experience, we used to document such things in our in-house repository and will recommend you to do same. Because software companies don’t allow you to upload there code in Github.

Moving to Development and DevOps: Automation engineers having good technical, coding skills are now moving to Development. There may be many reasons, based on person to person, company to company etc. Engineer have more option to explore in development instead of testing. By the time you are working on Automation framework, you may be repeating same code. And on other side, developer has the opportunity to work on different scenarios every other day. Also, with experiecec in automation, you can also get your skill updated in field of DevOps as this is getting famous day by day and DevOps is playing a very important role in the release for a product for an organization. Knowledgeg on Tools like GitHub, Jenkins, Cobertura,Jaccoco are very important for CI/CD/CM process.

Hope this information is helpful for you.