5

I'm a manual tester that has started to work on appium and selenium automation work, but I have not architect a framework nor can I write code to work with an api to integrate lets say Testrails and Jenkins together. Is this required to be a QA automation engineer? What level of coding is required and how is this tested at an interview? How do I get there to be a more experienced coder and be able to read and write code to work with an api? I am very comfortable with appium and selenium, but is this enough to qualify to be an automation engineer? Any advice would much be appreciated.

8

I think the right answer is it depends.

It depends on where you work and what you are going to do as QA engineer.

  • At some places it is just manual testing.
  • At some places it is manual testing + UI automation.
  • At some places it is manual, automation, API ,database testing.
  • At some places it is just another software engineer position and same coding skills are expected as a developer.
  • At many places it is bit combination of all of the above...

Interview:While taking an interview of an automation engineer, I expect at least one should be able to code simple programs and be able to test it as well.

Example:Write an program to remove duplicate characters from a given string.

Test: How would you test it? With what data inputs?

Advice: Before learning automation , learn programming.

Learn how to code & solve simple programming problems.

Ability to do good automation is just an byproduct of doing programming well.

Top Programming problems Sites:

https://projecteuler.net/archives

https://www.topcoder.com/challenges?tab=details

https://www.hackerrank.com/dashboard

https://www.codingame.com/start

https://www.codewars.com/

https://www.codechef.com/problems/school

https://www.freecodecamp.org/

  • Thanks for your response. I think you are right, I should focus on practicing my coding skills first by practicing solving more problems. – seleniumappiumnewbie Mar 2 at 20:04
  • You are welcome. I get surprised & frustrated at same time when I see number of automation engineer candidates fail in solving problems like 'reverse a string' in code. – Vishal Aggarwal Mar 2 at 21:22
  • 1
    Thanks for the coding site links. I will practice more and improve my coding so one day I can complete those coding quizzes quickly and correctly. – seleniumappiumnewbie Mar 4 at 1:34
  • I admire your spirit to learn & grow! – Vishal Aggarwal Mar 9 at 13:40
4

To be a webdriver and appium autommation engineer you should:

  • Know at least one programming language fairly well.
    This can easily take a year or longer. That time commitment is usually the hardest lesson to learn, truth to know. Only once past this are many folks able to look back and see how this was true. Bootcamp graduates that use one set of statements in one language are basically copy and paste engineers at the 3 month mark.

  • Know HTML and CSS. You are going to be spending a fair amount of time working with the DOM and using good element locator strategies. This takes education and practice

  • Know web architecture concept such as client server. You're going to need to have a sense of how browsers, servers, rendering, javascript and other pieces of the web work together.

  • Understand Agile and Waterfall development. This is not about code (your question) but know that most likely you will be working in an Agile environment. You will need to understand Agile, the true meaning behind the Agile Manifest, Scrum, Kanban, DSU, retro and backlog refinement

  • Understand development and test environments. You will need to be familiar with coding and working on different operating systems, logging into servers, setting configuration files, etc. In AWS shops you'll need AWS knowledge (increasingly common)

These are the topics you should be talking about in interviews. Unfortunately many interviews are still using the application engineer 'quizzes' of travelling salesperson, recursion, etc. which is getting really old (they are testing the wrong thing - as a tester you know that).

For the original 'level of coding', I don't think there is a canonical ('one right') answer to that. There are so many factors at each place. Just like for application development. Some shops will have relatively simple code to maintain while others will have either very complicated or very abstract (or both!) code that needs a senior engineer. The same is true of application code. The only general remark I can make is that automation is usually an order of magnitude 'simpler' in many shops. But that is super general and so not really useful. Obviously junior positions don't require programming depth but they do require basic programming proficiency (in a stressful situation) which takes time and practice.

  • Michael the good thing about 'quizzes' is they objectively evaluate the coding skills of an candidate irrespective of position applied which is an initial filter in most of the companies like Google,Amazon,Microsoft etc. – Vishal Aggarwal Mar 2 at 12:55
  • Many candidates don't get to see other topics in interviews if they lack fundamentals. – Vishal Aggarwal Mar 2 at 13:53
  • +1 for other topics to provide the holistic picture of what candidate should be looking at overall. – Vishal Aggarwal Mar 2 at 14:00
  • Thanks for your response. Is there a place I can get a practice quiz to test my knowledge? – seleniumappiumnewbie Mar 2 at 20:05
0

There are two different aspects of Automation Testing Frameworks (Frontend/Backend)

1. Framework design. 
2. Test Script creation.

Framework Design - In designing framework from scratch, off course you need to have good programming skills as well as knowledge about the core concepts of the language (C#, Java, Python, etc), framework (Datadriven/Keyword/Hybrid) you have chosen to develop and Design patterns (Page object, Singleton) use in frameworks to increase readability and maintainability.

Test Script creation - Depending on Framework this step may or may need less programming skills. If framework base is Cucumber or SpecFlow wherein you write Test Script in plain English language (or any other), you may not need to worry about backend programming stuff. And even though if your framework is not based on these, the level required for Test Script creation is very low. You need good knowledge of base framework (Selenium Webdriver, etc.) and basic programming concepts.

Hope this helps.

  • Thanks for your response. I'm hoping to land the test script creation type of QA positions, but the market seem to be moving towards more developer doing QA mode which is framework design type roles. – seleniumappiumnewbie Mar 2 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.