This article will describe the process of attending an interview for the position of automated test developer.
To be ready for the questions you may be asked during an interview for this position, you need to understand the everyday tasks of an automation specialist.Since an interviewer prepares the questions on their basis only.
Therefore, if you have already decided to pass such an interview, you need to have the following skills:
- Be familiar with software testing basics. Otherwise, you won’t be able to develop working tests, that check right what is needed ;
- Learn the development basics. For sure, the tests may seem quite easy to be implemented at first sight. You simply need to call methods of clicking, data entering in a particular sequence and that’s it. But this method works properly only on few parts of tests and only when software is small and works properly. The bigger the number of tests is and the more complex software functionality is, the more skills (experience) an automated tester needs to have in order to deliver a qualitative work.
- Be able to deploy software on a server. In other words, you need to be familiar with system administration or DevOps. Since most automated tests are launched in CI systems that are connected with Pull Request.
Further, we’ll analyze each topic in detail and also define a list of questions you should be ready for.
Usually, the questions in the testing field include theory and practice.
Theory may cover testing techniques and test design.
You will likely be asked about a product that you will test.
For example, if you perform web testing, you will need to understand the way it functions: understand the structure of HTTP protocol, be familiar with HTML/CSS/JS.
To automate web testing, you will need to know automation stacks (configuring Selenium/Selendroid, the browsers you need to use, the ways to select CSS locators).
To automate mobile testing, you will need to be familiar with the functionality of Espresso drivers, XCUITest, or know Appium.
Such skills as the configuration of the devices and installation of necessary emulators and also simulators will be an advantage.
As for practice, you may be asked to test certain software, try to make a list of exhaustive test cases, analyze the peculiarities of certain software.
Not everyone who passes such an interview likes to write test code when they are asked to, saying that it’s not needed for work.
Yes, it’s true in some way but it’s done to know what frameworks a job applicant can work with and what he/she is not familiar with.
In most cases, if a person is able and likes to write code, he/she will easily do a test task. Especially if he/she is proficient at executing specific tasks (using cycles, branches, work with massifs, and hash maps).
Of course, there will be a few questions on OOP — the concept of class and class example, the term of encapsulation, types of access modifiers, and so on.
You may also be asked about your skills in development patterns. Here you need to have a good knowledge PageFactory, Factory, Builder, and PageObject. You may learn the principles of developing SRP, KISS, SOLID, and DRY beforehand.
Working with software and tools
Here questions may be be regarding the work with the CI system, namely what you prefer to work with. You may be asked about experience with bash: if you know such commands as mv, cd, ps, ls.
You may be asked about Docker — the concept of the image, how we should launch a container, how to mount, directories of host machines, and so on.
The last question will be likely about your skills in version controlling — from principles of git work to the ways to solve conflicts during a Merge Request.
Of course, it’s not a complete list of questions on such job interviews.You should be always prepared for any type of questions.
You also need to understand that interviewers can have different work experience.
Some of them have been conducting such job interviews for many years and have their own approach to this type of work.
But some of them just started doing the interviews.