If you’ve been asked to interview for a position as an automation test engineer, who is usually tasked with building and testing automation solutions, chances are good that you’ve already passed a series of phone screens. But how you answer technical questions in person will ultimately determine whether or not you’re hired. Jack Martin, CEO and founder of technologyjobs.nyc, is most concerned with an engineer’s understanding of when to automate, and when to test manually. When you’re interviewing for an automation-engineer position, he cautioned, make sure you can discuss the best ways to manually test things, as well. Kevin Fealey, principal consultant of Automation & Integration Services at Aspect Security, interviews all of his company’s candidates for automation-related positions. While your answers to the following questions will give the interviewer some confidence that you know about automating processes, he added, any candidate should be ready to read (if not write) test cases. Chances are good that your in-person interview will include a whiteboarding session of some kind. What types of testing should be carried out against a system to ensure end-to-end coverage?
- What Most People Say: “Performance testing, load testing, functional testing and/or regression testing.”
- What You Should Say: “I would start with smoke testing, so we could make sure the environment is fit to run tests, and then proceed to check development (unit testing, integration testing), quality (performance testing, load testing, stress testing, sanity testing, functional testing, regression testing, compatibility testing), and security (integrated into the other test phases). I would also include some non-functional testing, system testing and user acceptance testing, as well.”
- Why You Should Say It: This kind of thoroughness illustrates that you understand the end-to-end lifecycle of producing an application. The more you understand the full process, the better your ability to write tests for each part and assess overall coverage. Your comprehension of the testing process will reduce redundant tests, resulting in increased efficiency, as well as make sure there are no major gaps.
What types of tools would you use to automate testing?
- What Most People Say: “Bash, Powershell, Python, and other common scripting languages.”
- What You Should Say: “I’d work with Selenium, BDD-Security, OWASP ZAP, Apache JMeter, Junit, Jenkins and QTP to start. These particular tools provide a lot of functionality for scheduling and running a variety of functional, security and performance tests. They can also be customized or modified to run many other types of tests, too.”
- Why You Should Say It: This answer shows that you’re not looking to re-invent the wheel. It can also highlight knowledge and preference of open-source tools, which can be as powerful as commercial tools and have the added value of saving the business money.
Is automation testing a complete replacement for manual software testing?
- What Most People Say: “No. Sometimes manual testing is the better option for the project’s environment.”
- What You Should Say: “While it may seem initially that automation can accomplish huge workloads in only a small amount of time, there are many limitations of software, including bugs, cost, time and resources. It’s important to first assess the scope of the project, tool limitations, cost, compatibility and even the testing environment. As convenient as it is, automation should not be a complete replacement for manual testing, which can provide a more flexible option under certain circumstances.”
- Why You Should Say It: During a whiteboard test, the interviewer may ask you a specific question about manual testing versus automated testing; employers are always on the lookout for someone who can use common sense when parsing the macro-goals of a project. You must show that you can take into account everything from project size to the quality of testing tools when deciding on an automation strategy.