QA_Bible
  • Введение
  • FAQ для новичков
    • Ответы на самые популярные вопросы новичков в чатах
    • Качества и навыки, которыми нужно обладать тестировщику?
    • Что должен знать и уметь Junior? Что спросят на собеседовании?
    • С чего начать обучение и куда развиваться?
    • Как составить резюме?
    • Где искать работу?
    • Как происходит процесс найма?
    • Как проходить собеседование?
    • Начало работы Junior-тестировщика
    • Ошибки в работе у начинающих тестировщиков
    • Как взаимодействовать с коллегами?
    • Перспективы профессии
  • Полезные ссылки
    • Список полезных ресурсов на разных платформах
    • Список ресурсов по инструментам тестировщика
  • Общее
    • QA/QC/Testing
    • Почему требуется тестирование ПО?
    • Качество ПО (Software Quality)
    • Принципы тестирования
    • Верификация и валидация (Verification and Validation)
    • Дефекты и ошибки
    • Серьезность и приоритет Дефекта (Severity & Priority)
    • Альфа- и бета- тестирование (Alpha Testing and Beta Testing)
    • Процесс тестирования (test process) (draft)
    • Техники оценки тестов/оценка трудозатрат на тестирование (Test Estimation)
    • Экономика тестирования/стоимость качества (Cost of quality)
    • Подход к тестированию (Test Approach)
    • Импакт анализ (анализ влияния, Impact Analysis)
    • Анализ первопричин (RCA - Root Cause Analysis)
    • Тестирование со сдвигом влево (Shift left testing)
    • Модель зрелости возможностей (CMM - Capability Maturity Model)
    • Тестовая среда и тестовый стенд (Test Environment/Test Bed)
    • Бизнес-логика (Business logic)
    • Политика отсутствия багов (ZBP - Zero Bug Policy)
    • Независимое тестирование (Independent testing)
    • Роли/должности в команде
    • Эвристики и мнемоники
  • Виды-методы-уровни тестирования
    • Методы тестирования (White/Black/Grey Box)
    • Тестирование методом черного ящика (Black Box Testing)
    • Тестирование методом белого ящика (White Box Testing)
    • Тестирование методом серого ящика (Grey Box Testing)
    • Статическое и динамическое тестирование (Static Testing, Dynamic Testing)
    • Пирамида / уровни тестирования (Test Pyramid / Testing Levels)
    • Модульное/юнит/компонентное тестирование (Module/Unit/Component testing)
    • Интеграционное тестирование (Integration testing)
    • Системное тестирование (System Testing)
    • Приемочное тестирование (AT - Acceptance testing)
    • Основные виды тестирования ПО
    • Функциональное тестирование (Functional/Behavioral testing)
    • Нефункциональное тестирование (Non-Functional testing)
    • Тестирование производительности (Performance testing)
    • Тестирование емкости (Capacity testing)
    • Нагрузочное тестирование (Load testing)
    • Стрессовое тестирование (Stress testing)
    • Тестирование масштабируемости (Scalability testing)
    • Объемное тестирование (Volume testing)
    • Тестирование выносливости/стабильности (Endurance/Soak/Stability testing)
    • Тестирование устойчивости (Resilience testing)
    • Тестирование надежности (Reliability Testing)
    • Тестирование на отказ и восстановление (Failover and Recovery testing)
    • Эталонное и базовое тестирование (Benchmark and Baseline Testing)
    • Тестирование хранилища (Storage testing)
    • Одновременное / многопользовательское тестирование (Concurrency/Multi-user testing)
    • Тестирование сервиса (Service Testing)
    • Тестирование безопасности (Security and Access Control testing)
    • Оценка уязвимости/защищенности (Vulnerability Assessment)
    • Фаззинг-тестирование (Fuzz testing)
    • Можно ли отнести тестирование безопасности или нагрузочное тестирование к функциональным видам тести
    • Тестирование совместимости/взаимодействия (Compatibility/Interoperability testing)
    • Конфигурационное тестирование (Configuration testing)
    • Инсталляционное тестирование (Installation Testing)
    • Тестирование на соответствие (Conformance/Compliance testing)
    • Тестирование удобства пользования (Usability testing)
    • Тестирование доступности (Accessibility testing)
    • Тестирование локализации, глобализации и интернационализации (Localization/ globalization/internatio
    • Исследовательское тестирование (Exploratory testing)
    • Свободное / Интуитивное тестирование (Adhoc, Ad-hoc Testing)
    • Тестирование поддержки (Maintenance testing)
    • Регрессионные виды тестирования (Regression testing)
    • Тестирование клиентской части и серверной (Frontend testing Vs. Backend testing)
    • Тестирование графического интерфейса/визуальное тестирование (GUI - Graphical User Interface testing
    • Тестирование API (API - Application Programming Interface)
    • A/B тестирование (A/B Testing)
    • Деструктивное и недеструктивное тестирование (DT - Destructive testing and NDT - Non Destructive tes
    • Выборочное/хаотическое тестирование (Random/monkey testing)
    • Тестирование рабочего процесса/воркфлоу (Workflow testing)
    • Тестирование документации (Documentation testing)
    • Как протестировать продукт без требований?
    • Кроссбраузерное тестирование (Cross-browser testing)
    • Тестирование, основанное на рисках (Risk-Based Testing)
    • Разница тестирования ПО и железа (Software Vs. Hardware testing)
    • Тестирование качества данных (Data Quality Testing)
  • Тест дизайн
    • Тест-дизайн и техники тест-дизайна (Test Design and Software Testing Techniques)
    • Static - Reviews
    • Static - Static Analysis
    • Dynamic - White box
    • Dynamic - Black box
    • Dynamic - Experience based
  • Тестовая документация и артефакты (Test Deliverables/test artifacts)
    • Виды тестовой документации
    • Политика качества и политика тестирования (Quality policy and Test policy)
    • Стратегия тестирования (Test strategy)
    • План тестирования (Test plan)
    • Тестовый сценарий (Test scenario)
    • Тест-кейс (Test case)
    • Чек-лист (Check List)
    • Баг-репорт (Defect/bug report)
    • Требования (Requirements)
    • Пользовательские истории (User stories)
    • Критерии приемки (Acceptance Criteria)
    • Виды отчетов (Reports)
    • Базис тестирования (Test basis)
    • Матрица трассируемости (RTM - Requirement Traceability Matrix)
    • Метрики тестирования (Software Test Metrics)
    • Тестовый оракул (Test oracle)
  • Мобильное тестирование
    • Android
      • Архитектура Android OS
      • Архитектура Android Application
      • Тестирование покупок в Android-приложениях
      • Android Developer Settings
      • Android Debug Bridge (ADB)
      • Android Studio для QA
    • iOS
      • Архитектура iOS
      • Архитектура iOS Application
      • Тестирование покупок в iOS-приложениях
      • iOS Developer Settings
    • Особенности в тестировании мобильных приложений
    • Покрытие девайсов
    • Типы мобильных приложений
    • Симуляторы и эмуляторы
    • Основные различия Android/iOS
    • Последнее обновление Android/iOS, что нового?
    • Основные проверки при тестировании мобильного приложения
    • Каким образом тестировщик получает приложение на тест?
    • Как успешно зарелизить продукт в App Store и Google Play
    • Тестирование требований к мобильным приложениям
    • Тестирование push-уведомлений
    • Тестирование дип линков (mobile deep links)
    • Тестирование сохраненных поисков
    • Тестирование рекламы
    • Тестирование просмотренных товаров
    • Middleware
    • Как проверить использование ресурсов на Android
    • Как протестировать приложение для другой страны?
  • Тестирование в разных сферах-областях (testing different domains)
    • Тестирование веб-сайта или веб-приложения (Web application)
    • Тестирование интернет-магазина (eCommerce)
    • Тестирование платежного шлюза (Payment Gateway)
    • Тестирование игр (Game testing)
    • Тестирование VR программного обеспечения
    • Тестирование мессенджера (Messenger)
    • Тестирование чат-бота (Chatbot)
    • Тестирование электронных писем (E-mail)
    • Тестирование интернета вещей (IoT - Internet of Things)
    • Тестирование облачных решений (Cloud testing)
    • Тестирование сервис-ориентированной архитектуры (SOA - Service Oriented Architecture)
    • Тестирование микросервисной архитектуры (MSA/Microservices)
    • Тестирование платформы электронного обучения (E-learning platform)
    • Тестирование систем розничной торговли (POS - Point Of Sale)
    • Тестирование банковского ПО (Banking domain applications/BFSI)
    • Тестирование страхового ПО (Insurance)
    • Тестирование в сфере телекоммуникаций (Telecom)
    • Тестирование планирования ресурсов предприятия (ERP - Enterprise Resource Planning)
    • Тестирование миграции данных (ETL)
    • Тестирование баз данных (Database)
    • Другое
  • SDLC и STLC
    • Жизненный цикл разработки ПО (SDLC - Software Development Lifecycle)
    • Жизненный цикл тестирования ПО (STLC - Software Testing Lifecycle)
    • Модели разработки ПО
    • Agile
    • Scrum
    • Подходы к разработке/тестированию (... - driven development/testing)
  • Сети и около них
    • База по сетям
    • Клиент - серверная архитектура (Client-Server Architecture)
    • Микросервисная архитектура (Microservice Architecture)
    • Эталонные модели OSI и TCP/IP
    • HTTP
    • Идентификация ресурсов в сети (Identifying resources on the Web)
    • Веб-сервис (WS - Web service)
    • REST/SOAP/gRPC
    • Socket / WebSocket
      • Сокет/веб-сокет (socket/websocket)
      • Тестирование WebSocket на клиентах
    • Хранилище на стороне клиента (Client-side storage)
    • Кэш (Cache)
    • Аутентификация и авторизация (Authentication and authorization)
    • Рендеринг в интернете (Rendering on the Web)
  • Практическая часть
    • Логические задачи
    • Тестирование полей и форм
    • Примеры задач на собеседованиях и тестовых заданий
    • Платформы для тренировок и квизы
  • Автоматизация (beta)
    • Общее
    • Полезные ссылки
    • Как стать автоматизатором и вопросы с собеседований
    • Что нужно автоматизировать?
    • Виды и инструменты автоматизации
    • Инфраструктура и пайплайн (CI/CD)
    • Процессы и автоматизация проекта с нуля
    • Лучшие практики автоматизации
    • Что такое flaky tests?
    • Мутационное тестирование (Mutation testing)
    • Параллельное тестирование (Parallel testing)
    • Подкожный тест (Subcutaneous test)
    • Разница между coupling и cohesion
    • Другое (ссылки)
  • Контакты
Powered by GitBook
On this page
  • Можно ли стать автоматизатором без опыта ручного тестирования?
  • Можно ли писать автотесты автоматически? Не хочется учиться программированию.
  • За сколько тестировщик превращается в автотестировщика
  • Карьерный путь автоматизатора
  • Вопросы для подготовки к собеседованию
  • Вопросы по автоматизации:
  • Вопросы по языкам программирования:
  • Вопросы общие:
  • Практические навыки:
  • Пример вопросов от кандидата работодателю:
  • Источники:

Was this helpful?

Edit on GitHub
  1. Автоматизация (beta)

Как стать автоматизатором и вопросы с собеседований

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вопросы для подготовки к собеседованию

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

  • джуна наверняка всё-равно будут спрашивать общую теорию тестирования по мануалу, хотя бы по верхам;

  • всё то, что касается непосредственно автоматизации: какая бывает, инструменты в общем и конкретно под вакансию, представление об инфраструктуре CI/CD, лучшие практики автоматизации и т.п.;

  • core языка программирования, указанного в вакансии и всё, что вокруг этого.

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

  • Что такое автоматизация и зачем она нужна?

  • Когда нужно начинать автоматизацию на проекте?

  • Какая бывает автоматизация (виды, методы, платформы и т.п.)?

  • Характеристики хорошего автотеста;

  • Паттерны автоматизации;

  • Популярные фреймворки и инструменты автоматизации, запуска тестов и генерации отчетности;

  • Инфраструктура CI/CD, пайплайн, место автотестов в нем;

  • Что следует автоматизировать в первую очередь?

  • Какая тестовая документация нужна для автоматизированного тестирования?

  • Есть новая фича. Расскажи, как будешь тестировать и какие автотесты напишешь.

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

Java:

  • дизайн-паттерны;

  • дата-типы;

  • коллекции, Map...;

  • модификаторы доступа. Public, Private, Abstract классы и методы;

  • Что такое Интерфейс?

  • Что такое лямбда функция?

  • дженерики;

  • коллекции;

  • методы класса object;

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;

  • консоль;

  • типовые инструменты для платформы;

  • моки запросов (Swifter/Wiremock);

  • инструменты отчетности (Allure);

  • инструменты CI.

Пример вопросов от кандидата работодателю:

  • Сколько IOS разработчиков в приложении?

  • Сколько Unit Test'ов и сколько UI Test'ов на данный момент?

  • С какой периодичностью запускаются тесты?

  • Какой релизный цикл? Сколько сейчас времени на регресс?

  • Кто добавляет Accebility Identifier'ы в приложение?

  • Какая минимальная версия IOS поддерживается?

  • Сколько времени тратится на сборку приложения локально?

  • Какая система сборки используется на проекте?

  • Автоматизируете ли разрешение конфликтов в project.pbxproj?

Источники:

PreviousПолезные ссылкиNextЧто нужно автоматизировать?

Last updated 2 months ago

Was this helpful?

больше или в гугле.

:

Что учить, чтоб стать автоматизатором тестирования
Карьерный путь автоматизатора
тут
Пример
ТОП-5 вопросов ручных тестировщиков про автоматизацию
ТОП-5 вопросов технического директора про автоматизацию
Чек-лист для начинающего автотестера на Java
39 TOP Automation Testing Interview Questions And Answers
50 Most Popularly Asked Selenium Interview Questions And Answers
Automation Testing Interview Questions And Answers (Updated 2022)
Interview Prep Questions
50 вопросов по Docker, которые задают на собеседованиях, и ответы на них
О чем спрашивают на собеседовании QA Junior: Selenium
Как начать карьеру QA Automation Engineer: один простой совет
Нужно ли знать программирование для qa автоматизатора?
Как стать QA AUTOMATION engineer с нуля самостоятельно
Дмитрий Бормотов - Трансформация из Manual QA в Automation
Как стать автоматизатором тестирования?
Какие вопросы ожидать на позицию автоматизатора и причем тут сортировка?
Что спрашивают на собеседовании у джуна, или как я искала свою вторую работу в ИТ
10 Awesome Tips To Become A Better Automation Tester
Какие ошибки совершает начинающий QA Automation Engineer? Как их избежать?
Три типичных ошибки автоматизатора
QAGuild#54: Что должен знать тестировщик? Топ 3 навыка для QA Automation engineer
Как стать Java разработчиком за 1,5 года
Как я изучал структуры данных и алгоритмы для собеседования в FAANG
Как я готовился к собеседованию в Google