-
[ ] методологии разработки и место QA в этом процессе
- [ ] методологии разработки
- [ ] этапы тестирования ПО:
- [ ] в каких этапах вступает тестировщик
- [ ] что такое shift-left testing
- [ ] принимаете ли вы участие в тестировании требований
- [ ] критерии начала и окончания процесса тестирования, готовность задачи к тестированию
-
[ ] теория тестирования
- [ ] QA, QC, тестирование
- [ ] качество и какие бывают критерии качества
- [ ] верификации и валидация
- [ ] виды тестирования
- [ ] тест-дизайн,
- [ ] техники тест-дизайна
- [ ] классы эквивалентности
- [ ] проверка граничных значений
- [ ] таблица принятия решений
- [ ] pairwise
- [ ] диаграммы изменения состояний
- [ ] прочие
- [ ] в каких случаях применять ту или иную технику
- [ ] задача на тест-дизайн: например, создайте список проверок на данное поле
- [ ] практика pair-wise
- [ ] тестовая документация
- [ ] виды тестовой документации
- [ ] содержание полей
- [ ] отличие тест-кейса от чек-листа
- [ ] баг-репорт: жизненный цикл, критичность и приоритет, назовите пример бага с высокой серьезностью, но низким приоритетом
-
[ ] специфика области: веб/мобилки/десктоп
(приведу примеры только для веб, так как прохожу и провожу собеседования в данном направлении)
- [ ] модели OSI и TCP/IP: что такое, из каких уровней состоят, популярные протоколы
- [ ] клиент-серверная архитектура
- [ ] HTTP: структура ,методы, коды ответов,идемпотенотность
- [ ] разница HTTP/HTTPS
- [ ] разница get/post, put/patch
- [ ] кэш и куки
- [ ] разница между Идентификацией, Аутентификацией, Авторизацией
- [ ] REST/SOAP/GraphQL/gRPC: разница, особенности тестирования
- [ ] форматы данных: JSON, XML
- [ ] AJAX
- [ ] инструменты работы: cURL, devTools, Swagger, Postman/SoapUI/Insomnia (как у вас был практическая область применения)
- [ ] монолиты vs микросервисы: что такое, в чем особенность тестирования
- [ ] очереди, кафка, как это тестировать
-
[ ] автоматизация
- [ ] автоматизация тестов
- [ ] когда необходимо начинать автоматизацию тестирования
- [ ] какие тесты не целесообразно автоматизировать,
- [ ] как внедрять автоматизацию на проекте
- [ ] что такое пирамида тестирования
- [ ] что такое принцип трех А
- [ ] ООП
- [ ] три (четыре) принципа
- [ ] вопросы по построению ООП и основных особенностях
- [ ] класс/объект
- [ ] разница перегрузки и переопределения
- [ ] абстрактный класс/интерфейс
- [ ] база языка программирования
- [ ] типы данных
- [ ] основные конструкции языка
- [ ] популярные библиотеки
- [ ] SOLID, KISS, DRY и прочее
- [ ] работа с Selenium/selenide, локаторы XPATH/CSS и их написание
- [ ] паттерны протектирования и автоматизации
- [ ] flacky тесты: что такое, какие причины, как избавляться
- [ ] TDD/BDD
- [ ] решение алгоритмической задачи (сложность разная)
Пример простой задачи: найти количество вхождений числа n в массив чисел
-
[ ] CI/CD
- [ ] что это такое, зачем нужно
- [ ] какие этапы выстраивания quality gate
- [ ] внедрение и поддержка на проекте
- [ ] особенности работы с инструментами
- [ ] docker
- [ ] что такое контейнер
- [ ] состав docker
- [ ] основные сущности
- [ ] основные команды для Dockerfile
-
[ ] база данных
- [ ] реляционные/нереляционные БД
- [ ] виды связей между таблицами
- [ ] первичный/внешний ключи
- [ ] нормализация
- [ ] основные операции и их синтаксис: create, select, intsert into, delete
- [ ] подробный синтаксис select: join (виды и их отличия), where, group by, distinct
- [ ] какая разница между LEFT, RIGHT, INNER, OUTER JOIN?
- [ ] задача на join/group by
-
[ ] локализация багов: порядок действий при обнаружении бага
- [ ] работа с логами: инструмент, подход к поиску логов, где они лежат
- [ ] работа с БД: поиск созданной сущности
- [ ] работа с devTools: как применяете для локализации
- [ ] как понять: ошибка на стороне сервера или клиента
Типичная задача:
Есть форма входа, которая состоит из логина и пароля. Ты вводишь корректные значения, нажимаешь на кнопку войти и ничего не происходит. Твои действия?
-
[ ] командная строка
- [ ] основные команды: ls / grep / cat / top / atop / free / lsof / netstat
- [ ] перенаправление вызовов
-
[ ] GIT
- [ ] основные понятия: репозиторий, индекс, коммит, указатели, ветка, рабочая копия.
- [ ] основные команды: add, commit, status, diff, branch, checkout, reset, merge, pull, push
- [ ] специфические команды: cherry-pick, stash, revert, rebase
-
[ ] популярные “опытные” вопросы
- [ ] Как тестировать продукт с большим количеством фичей, задач и сложным функционалом
- [ ] Как убедиться, что тесты покрывают все необходимые сценарии
- [ ] Что делать, если вам не хватает ресурса для выполнения задач в срок
- [ ] Как вы гарантируете, что ваши автотесты расширяемы и легко поддерживаемые
- [ ] Кто принимает решение, что все проверено и можно выпускаться?
- [ ] как вы влияете на скорость исправление бага
- [ ] Вот у нас новые фичи, 3 часа до окончания рабочего времени, надо все проверить - с чего начнешь?