I'm a QA Manager - Needs ideas to test Selenium candidates thoroughly
I recently took up a QA Manager role and do not have much experience in selenium myself (I do have lot of QTP, LoadRunner experience). I need to hire a Selenium automation engineer on my team now. I already asked them basic questions in phone interviews and shortlisted a few candidates. I am looking for some ideas as to how test them in-person so I know if they can improve our automation framework, implement best practices, make scripts more reusable, and automate efficiently as a whole.
Any help would be appreciated.
I want to clarify that I only have one selenium automation engineer on my team right now (off-shore) and he will not be involved in the interview process.
There are few things that you need to conc on and the easiest way is use ur QTP exp and try to ask those situations to handle using selenium. Below are some eg.
1. Basics - to identify the diff object using css/xpath or any and the way they can handle a webtable, weblist
2. Handling browser pop-ups, windows pop-up and simulating events(like qtp fireevent or shell object way)
3. approach and the frameworks that he could develop given a situation and the candidates best framework worked
4. any hypothetical situations and his approach to handle it
5. Reporting frameworks - probably testNG which is quite common and what all he knows -->u also need to see how he is has implemented various annonations, parallel execution, factory(pagefactory, dataprovider etc)
I take it you want a very Sr. candidate, since he'll be the one that you're going to trust to start things from the ground up. Or at very least, build up the knowledge base of best practices.
Originally Posted by it_phani
Here are some things to consider. I have my ideas, but you'll want to research these yourself so you have some basic knowledge to dig in deeper when interviewing.
* Selenium Basics - Element Selection, Waiting, Performing actions, handling of exceptions.
* Programming patterns - stuff like PageObjects, Factories, Singletons, and Dependency related patterns should be a good corner stone of an automation engineer's tool-set.
* Framework design - basic test architecture patters, configure-ability, deploy-ability.
* Workflows - Probably a rarer skill set. But one that knows best practices in developer workflows and can integrate tests into it will do wonders.
* Ability to debug - The ability to debug ad troubleshoot an issue is more important than writing the script. When a test fails, you often times will need to figure out if it's the test that's wrong or there is actually a bug. You'll see this a lot with subtle bugs or sporadic bugs. And the opposite is also true, you often times find tests that fail but works when tried manually. Debugging skills are very valuable.
* General learning and adaptability - Automation engineers rarely have the luxury of starting out fresh. There's usually some things that are already there and they need to learn those things in and out very quickly.
Hope that helps.
I think person should in generally know how automation tools work. And about selenium API's. But selenium will just be the tool and person should be able to make use of it at its best. So I think one should know importance of automation at first, then the tool to be used and most important is programming skill. Person should be comfortable writing code and design the framework for re-usability and high return. Consider programming skill on the language you are going to use for automation and his designing and implementation skills as well. If design and implementation of automation framework works well then of course automation scripts work well.
I think you should look into Selenium WebDriver to start with, How Does WebDriver Works,
check this blog page and article "WebDriver Protocol Vs Selenium WebDriver" at STL BLOG | SoftTechLabs
Last edited by m_bansal10; 09-22-2015 at 08:40 PM.
As per my understanding, you must test his
Originally Posted by m_bansal10
1. Selenium Grid level knowledge
2. Parallel execution concepts
3. Framework design concept using selenium, where this will help in parallel execution
4. Basic OOPs concepts as this is very useful
5. Also ask him if page object model is useful or suggestions of other model and why?
Thank you all for your help. This is really useful.
You could try asking to see examples of work they have produced, the danger is they might try to use work produced by someone else so you would need to get them to take you through it to show they understand it fully.
Generally I'll not hire someone if they showed me work they did for a previous employer unless open source. That would indicate a high likelyhood of someone who's moral standards include stealing proprietary code.
Originally Posted by Bill42x
A good alternative is look at their github or other public repo to see how they contributed to open source. I think someone who has very high passion for open source project would have contributed or forked a project or two. For example, someone who has done deep work customizing Selenium would have forked the repo and have their version of selenium with their contributions. In lieu of seeing actual code, you can ask about higher level ideas like their test architecture and programming patterns, those generally require a higher understanding than coding, so people who understand programming patterns will generally know how to code.