Собеседование на должность Automation QA Engineer

image

Вот и у меня нашлась тема, которой я могу поделиться с Хабр сообществом. Надеюсь, данная статья получится не только познавательной, но и интересной.

Входные данные:
Локейшн: Днепропетровск.
Позиция: Junior Automation QA Engineer.
Технологии: C#, Selenium, MSTest, TeamCity, Hibernate.


Так получилось, что пару месяцев назад я оказался на лавке запасных в одной большой компании. Клиент решил поделить нашу команду автотестеров на 2 (хорошо, что не на ноль) и так как у меня на этом проекте срок работы был невелик, то я попал в резерв. Внутренних проектов не ожидалось, а в резерве обычно сидеть скучно и невыгодно в денежном плане. Так я начал ходить на интервью.

Перед тем, как пойти в первый раз, хорошенько погуглив, я не нашел ни одной хорошей статьи, которая бы описывала вопросы собеседования именно по автотестированию, поэтому пришлось учиться на своих ошибках. Это и есть основная причина написания данного материала.

Перед тем как передать структуру собеседований, нужно понимать типы проектов, которые ищут автомейшенов. В основном это веб используя Джаву, Селениум, ТестНГ и Мавен (это как раз то, что я искал). По популярности дальше идет си шарп, а потом питон и руби (все с Селениумом). По десктопным был проект на СилкТест и на Ранорекс.

Я сходил на несколько интервью. Где-то не понравилось мне, где-то не понравили меня — это не особо важно.
Вот в таком порядке это было:

1. Первая контора в которой я побывал, была не аутсорсинговая, что довольно редко в Днепре, особенно если считать только те, которые ищут Автомейшенов. В плане интервью, это удобно, так как все решается за один этап. Но само интервью меня немного удивило. Сто процентов вопросов были по мануальному тестированию. В компании также поинтересовались, сколько процентов времени я готов заниматься мануальным тестированием. Для меня стало понятно, что они ищут мануала, который будет ради экономия времени автоматизировать свои тест кейсы.

2. Вторая контора, наверное задавала самые подходящие для должности автомейшена вопросы. Почти все вопросы были по Селениуму, парочку по SQL запросам и ООП. Объясняется это тем, что собеседование проводило два автотестера.

3. Тут было все очень структурировано. Автотестер, который недавно перешел в девелопмент пришел с листочком, на котором был список вопросов и начал задавать по порядку. Вопросов 15 на джаву, 10 на мануальное тестирование и 10 на авто. С вопросами по джаве, как мне показалось, немного перегнули палку.

4. В этой конторе, у меня было собеседование на два разных проекта. На обоих проектах дали задание. В первом попросили протестировать сайт их клиента, это было задание на дом. Сами тесты были не сложные, около 5 штук. Нужно было сделать проект в эклипсе, используя мавен, ТестНГ, Селениум, а также Пейдж обджект паттерн. На интервью был разбор задания и параллельно вопросы по джаве мануал и автотестированию.
Второй проект мне дал задание на самом интервью. Там было около 7 задач чисто на программирование: метод который разворачивает массив (первый элемент заменяет на последний и так далее), метод который проверяет есть ли в двух массивах одинаковые элементы, метод который узнает сколько цифр в числе и тому подобное. Само интервью было в основном просто общение и нужно было прочитать код их автотеста.

Вот общий список основных вопросов, которые звучали на этих интервью:

По девелопменту:
1. Три принципа ООП.
2. Коллекции java.
3. Иерархия исключений java.
4. Методы .hashcode() и .equals(), их реализация.
5. Реализация HashMap.
6. Разница интерфейса и абстрактного класса.
7. Методы класса Object в java.
8. Паттерны (обычно перечислить с какими работал).
9. Слово статик.
10. Внутренние классы.

По мануальному тестированию:
1. Разница приорити и северити.
2. Структура тест плана.
3. Структура тест кейса.
4. Дизайн техники тестирования.
5. Типы тестирования.
6. Уровни тестирования.
7. Баг репорт.

По автотестированию:
1. Виды селекторов.
2. Недостатки, приемущества xpath и почему.
3. Паттерны для тестирования.
4. Имплисит и эксплисит wait в вебдрайвере.
5. Разница junit и testNG.
6. Как работает мавен.
7. TDD и BDD (JBehave).

Почти в каждом месте давали такие маленькие задания:
1. Существует две таблички в базе данных. Нужно составить SQL запрос. Запрос обязательно имел join.
2. Показывали html и просили написать несколько xpath или других селекторов.
3. Давали форму регистрации или подобную и просили протестировать (то есть озвучить, все мануальные тест кейсы).

Всегда спрашивали про опыт работы с:
1. Базами данных (MS SQL server, Oracle, MySQL...).
2. CI(TeamCity, Jenkins...).
3. Системами контроля версий (Git, mercurial...).
4. Баг трекинговыми системами (jira, tfs...).

Как вы наверно заметили, общих правил по собеседованиям нет, для автотестеров — в особенности. В данной професии это сильно зависит от специализации самих интервьюверов. Поэтому советую вам готовиться по всем пунктам. Я такой тип человека, который пообещает меньше, а выполнит больше. И это плохое качество на интервью. Поэтому когда у вас спрашивают вопросы по опыту работы с чем-то, твердо отвечайте «да» (даже если опыт самый минимальный — из статьи на Хабре, например), а потом после интервью идите и зубрите эту технологию. Замечания, которые вам сделали на собеседовании, необязательно оправданные, не воспринимайте их как 100% истину, старайтесь отстоять свое мнение. Часто задают вопросы, что лучше — А или Б? Не выбирайте один вариант, а расскажите ситуации в каких вы бы выбрали первый вариант, а в каких второй. И помните: все лишнее, что вы скажете, может быть (и скорее всего будет) использовано против вас.

Забросать вопросами проще простого, куда труднее попасть в цель. Поэтому для интервьюверов советую грузить кандидатов, по основным технологиям с которыми он работал в прошлой компании. Если он хорошо знает их, то и ваши сможет быстро осилить. А удивляться и отказывать кандидату из-за того, что он не знает простейших вещей, которые вы используете в своем проекте — это не разумно, в работе он скорее всего разберется с этим за несколько минут. Помимо этого учитывайте тот факт, с кем вы хотите работать — с тем, кто вызубрил информацию, но при этом не осознает что он делает и зачем; либо с тем, кто хранит меньше знаний в голове, но более сообразителен и обучаем. Ведь тот, кто обучаем, сможет с легкостью перестроиться, зубрилке же понадобится значительно больше времени чтобы «заучить» новые технологии и работать и далее по принципу «monkey business».

Выходные данные:
Локейшн: Днепропетровск.
Позиция: Middle Automation QA Engineer.
Технологии: Java, Selenium, Junit, DBunit, Jenkins.


Желаю вам успешных интервью и достижения новых высот! Не забывайте: «Лёгким делается всё то, к чему приложишь старание».
Share post

Similar posts

Comments 10

    0
    Какие у вас там примерно зп предлагают?
      0
      Для миддлов 1 — 1.5к $.
      0
      Помимо Web+Selenium у автоматизаторов есть еще один «лагерь» — тестирование Web-сервисов. Достаточно специфическая область, со своими правилами. Мне более интересна, так как framework'и менее типовые, и часто требуют недурных архитектурных решений. К примеру, сделать так чтоб один и тот же набор тестов и валидаций работал с двумя версиями API, к примеру REST-JSON и SOAP. И с любым другим новым API ;)

      Не совсем понял, чем в итоге закончилось? Можно поздравить с офером? :)
        +1
        Пост долго находился в песочнице. Можете поздравить, уже почти два месяца работаю в новой компании, очень доволен. Вы правы, одно из этих интервью было именно по тестированию сервисов. Странно, но задание они мне дали на селениум и не спрашивали по сервисам, так как знали, что я не имею опыта в этом.
          0
          Мои поздравления!
            0
            Пост долго находился в песочнице.

            А я то думаю, откуда у меня такое острое ощущение дежавю?
          +2
          Зачем писать по-русски англоязычные термины и технологии?
          Автомейшен, джава, маген, силктест, мануал, девелопмент, пейдж обджект паттерн и т.д. — как же это ужасно читать на русском.
            –1
            «В русском языке есть собственный алфавит и фонетика.» ©
            «У нас крутой, сложный, красивый язык и прекрасный алфавит, которым мы можем выразить все, что нужно.» ©

            Почему-то все используют «Айфон», «Виндовс», «Андроид», «Виндоуз Фон», «Ап стор», «Эпл», «Мак», «Фломастер», «Комильфо», «Кофе» и тысячи других заимствованных слов.
            Так почему же не написать «Джава», «Девелопмент», «Мануал» и т.п.?
            Если это можно сказать с русским акцентом, то это можно написать русскими буквами.
            0
            В чем отличие QA Automain Engineer от Automation Engineer?
            Учусь на профессию Инженера по автоматизации процессов, входит химическая, нефтяная, промышленная.
            Но у нас пока что не преподавали языки программирования.
              0

              Некропост:
              QA Automain Engineer это только тестирование и связанные с этим штуки. Automation Engineer это все такие нечто другое.

            Only users with full accounts can post comments. Log in, please.