Skip to content

Commit

Permalink
kak-stat-avtomatizatorom-i-voprosy-s-sobesedovanii.md updated with se…
Browse files Browse the repository at this point in the history
…veral style and example improvements (#57)
  • Loading branch information
iampopovich authored Feb 27, 2025
1 parent 51b05bd commit 3d1407d
Showing 1 changed file with 60 additions and 23 deletions.
Original file line number Diff line number Diff line change
@@ -1,43 +1,45 @@
# Как стать автоматизатором и вопросы с собеседований

**Можно ли стать автоматизатором без опыта ручного тестирования?**
## Можно ли стать автоматизатором без опыта ручного тестирования?

Можно, если у вас есть опыт в программировании. В каких-то компаниях это действительно так и работает. Ручные тестировщики пишут тест-кейсы (шаги + ожидаемый результат), автоматизатор их берет и переносит в код. В принципе, такой подход вполне валиден и работает, но я вижу в нем некоторые недостатки.

Во-первых, когда сам пишешь автотесты на функционал, который хорошо знаешь, ты можешь по ходу добавлять какие-то проверки, которые мог пропустить во время написания тест-кейсов. Плюс знаешь другие автотесты, которые можно дополнить. Соответственно, тебе легче поддерживать актуальность автотестов.

Во-вторых, автоматизация тестирования - это интересно и полезно. Ты начинаешь изучать код, расширяешь свои знания о продукте, понимаешь, как всё работает изнутри. Это полезно и для ручного тестирования в том числе. Начинаешь чуть лучше понимать разработчиков.

**Можно ли писать автотесты автоматически? Не хочется учиться программированию.**
## Можно ли писать автотесты автоматически? Не хочется учиться программированию.

Попробовать можно. Мы пробовали. Для таких дел существуют рекордеры. Но те тесты, которые ими создаются - это монструозные и неподдерживаемые куски кода.

Возможно, это будет работать, если, допустим, в приложении есть какая-то кнопка, которая никогда не будет меняться. Не изменится ни путь до нее, ни ее функциональность и положение. Тогда код этого теста никогда не нужно будет менять, и пусть этот тест будет жить. Но увы, на практике так не работает. Тесты должны быть легко поддерживаемыми, понятными, читаемыми. Рекордером такого не добьешься.

Можно использовать рекордеры в каких-нибудь сложных местах приложения, чтобы посмотреть, как можно повзаимодействовать с каким-нибудь труднонаходимым элементом. То есть использовать его как помощника, как вспомогательный инструмент, но не как основное средство автоматизации.

**За сколько тестировщик превращается в автотестировщика**
## За сколько тестировщик превращается в автотестировщика

Опять же, по нашему опыту, мы нанимаем человека без опыта автоматизации и на испытательный срок (3 месяца) ему ставится задача - написать свой первый автотест на любую из платформ, которая ему понравится больше или покажется проще. И у нас еще никто не провалил испытательный срок.

Естественно, большую роль играет то, что человек пишет автотесты не совсем с нуля. У нас уже есть и готовые автотесты, которые можно смотреть и писать по аналогии, и люди, которые готовы помогать и отвечать на вопросы.

По итогу за 3 месяца мы получаем человека, который уже понимает, как писать автотесты минимум для одной из платформ. Следующим шагом будет написать такой же тест для второй платформы. Еще через 3-4 месяца мы получим самостоятельного автоматизатора мобильных приложений под обе платформы, которому еще какое-то время, возможно, нужна будет помощь с какими-то сложными вещами. Но вот свободно писать легкие автотесты под обе платформы он будет уже через полгода.

**Карьерный путь автоматизатора**
## Карьерный путь автоматизатора

* [Что учить, чтоб стать автоматизатором тестирования](https://www.youtube.com/watch?v=d5yCDe0\_ddE)
* [Карьерный путь автоматизатора](https://software-testing.ru/library/around-testing/job/3626-test-automation-career-path)

Роадмапы в основном включают и мануал и авто, их можно посмотреть в теме Что должен знать и уметь Junior? Что спросят на собеседовании?.
Роадмапы в основном включают и мануал и авто, их можно посмотреть в теме "Что должен знать и уметь Junior? Что спросят на собеседовании?".

**Вопросы для подготовки к собеседованию** можно условно поделить на 3 большие группы:
## Вопросы для подготовки к собеседованию

Вопросы можно условно поделить на 3 большие группы:

* джуна наверняка всё-равно будут спрашивать общую теорию тестирования по мануалу, хотя бы по верхам;
* всё то, что касается непосредственно автоматизации: какая бывает, инструменты в общем и конкретно под вакансию, представление об инфраструктуре CI/CD, лучшие практики автоматизации и т.п.;
* core языка программирования, указанного в вакансии и всё, что вокруг этого.

**Вопросы по автоматизации**:
### Вопросы по автоматизации:

* Что такое автоматизация и зачем она нужна?
* Когда нужно начинать автоматизацию на проекте?
Expand All @@ -50,9 +52,9 @@
* Какая тестовая документация нужна для автоматизированного тестирования?
* Есть новая фича. Расскажи, как будешь тестировать и какие автотесты напишешь.

**Вопросы по языкам программирования**:
### Вопросы по языкам программирования:

Java:
#### Java:

* дизайн-паттерны;
* дата-типы;
Expand All @@ -65,13 +67,49 @@ Java:
* методы класса object;
* больше [тут](https://github.com/enhorse/java-interview) или в гугле.

**Вопросы общие** по типу:
#### Python:

* Какие типы данных существуют в Python?
* В чем разница между списком (list) и кортежем (tuple)?
* Что такое словарь (dict) и как с ним работать?
* Что такое генераторы и итераторы?
* Как работает GIL (Global Interpreter Lock)?
* Что такое декораторы и как их использовать?
* Как работает сборщик мусора в Python?
* Что такое list comprehension?
* Как работает наследование в Python?
* Что такое контекстный менеджер и как его использовать?
* Как работают области видимости (scopes) в Python?
* Что такое модули и пакеты?
* Как использовать виртуальные окружения?
* Что такое PEP 8?
* Разница между `__str__` и `__repr__`?

#### JavaScript:

* Что такое замыкания (closures)?
* Разница между `var`, `let` и `const`?
* Что такое hoisting?
* Как работает прототипное наследование?
* Что такое промисы (Promises) и как с ними работать?
* Что такое async/await?
* Что такое Event Loop?
* Разница между `==` и `===`?
* Что такое стрелочные функции и чем они отличаются от обычных?
* Что такое деструктуризация?
* Что такое замыкания и как они работают?
* Что такое DOM и как с ним взаимодействовать?
* Что такое AJAX?
* Как работает this в JavaScript?
* Что такое модули ES6?

### Вопросы общие:

* Разница между библиотекой и фреймворком?
* Что означает слово SNAPSHOT в версии библиотеки?
* Что такое SDK?

**Практические навыки**:
### Практические навыки:

* уметь писать код и решать простые задачки (переборы массивов и т.п.);
* Git;
Expand All @@ -81,30 +119,29 @@ Java:
* инструменты отчетности (Allure);
* инструменты CI.

[Пример](https://t.me/qa\_interviews/64422) вопросов от кандидата работодателю:
## Пример вопросов от кандидата работодателю:

[Пример](https://t.me/qa\_interviews/64422):

* Сколько IOS разработчиков в приложении?
* Сколько Unit Testов и сколько UI Testов на данный момент?
* Сколько Unit Test'ов и сколько UI Test'ов на данный момент?
* С какой периодичностью запускаются тесты?
* Какой релизный цикл? Сколько сейчас времени на регресс?
* Кто добавляет Accebility Identifierы в приложение?
* Кто добавляет Accebility Identifier'ы в приложение?
* Какая минимальная версия IOS поддерживается?
* Сколько времени тратится на сборку приложения локально?
* Какая система сборки используется на проекте?
* Автоматизируете ли разрешение конфликтов в project.pbxproj ?
* Автоматизируете ли разрешение конфликтов в project.pbxproj?

Источники:
## Источники:

* [ТОП-5 вопросов ручных тестировщиков про автоматизацию](https://habr.com/ru/company/hh/blog/575390/)
* [ТОП-5 вопросов технического директора про автоматизацию](https://habr.com/ru/company/hh/blog/582968/)

Доп. материал:

* [Чек-лист для начинающего автотестера на Java](https://testit.software/blog/post/chek-list-dlya-nachinayushchego-avtotestera-na-java)
* [**39 TOP Automation Testing Interview Questions And Answers**](https://www.softwaretestinghelp.com/test-automation-interview-questions/)
* [**50 Most Popularly Asked Selenium Interview Questions And Answers**](https://www.softwaretestinghelp.com/selenium-interview-questions-answers/)
* [**Automation Testing Interview Questions And Answers (Updated 2022**](https://www.softwaretestingmaterial.com/automation-testing-interview-questions/)**)**
* [**Interview Prep Questions**](https://docs.google.com/document/d/1UQR1Zvwyrgyuo600qEVAWt4d25LWo5B5KLGe-c09aU4/edit#heading=h.tu27eqwwcawn)
* [39 TOP Automation Testing Interview Questions And Answers](https://www.softwaretestinghelp.com/test-automation-interview-questions/)
* [50 Most Popularly Asked Selenium Interview Questions And Answers](https://www.softwaretestinghelp.com/selenium-interview-questions-answers/)
* [Automation Testing Interview Questions And Answers (Updated 2022)](https://www.softwaretestingmaterial.com/automation-testing-interview-questions/)
* [Interview Prep Questions](https://docs.google.com/document/d/1UQR1Zvwyrgyuo600qEVAWt4d25LWo5B5KLGe-c09aU4/edit#heading=h.tu27eqwwcawn)
* [50 вопросов по Docker, которые задают на собеседованиях, и ответы на них](https://habr.com/ru/company/southbridge/blog/528206/)
* [О чем спрашивают на собеседовании QA Junior: Selenium](https://testengineer.ru/sobesedovanie-selenium-o-chem-sprashivajut/)
* [Как начать карьеру QA Automation Engineer: один простой совет](https://vc.ru/hr/350932-kak-nachat-kareru-qa-automation-engineer-odin-prostoy-sovet)
Expand Down

0 comments on commit 3d1407d

Please sign in to comment.