Тестировщик ПО (Junior)

Целевая аудитория:
- Новички в IT-сфере, желающие освоить профессию тестировщика.
- Специалисты смежных областей (например, разработчики, аналитики), планирующие сменить профиль.
- Студенты технических вузов, стремящиеся получить практические навыки тестирования.
Формат:
- Смешанный : онлайн-лекции (видеоматериалы + живые вебинары) + практические задания + итоговый проект.
- Длительность : 2,5 месяца (3 раза в неделю по 3 академических часа).
- Поддержка : консультации менторов, чат с куратором, доступ к базе тестовых заданий.
Итоговый проект:
«Тестирование веб-приложения»
Студенты получают доступ к учебному веб-проекту (например, интернет-магазин или сервис бронирования) и выполняют:
- Анализ требований и составление чек-листов.
- Разработку тест-кейсов для функционального, регрессионного и smoke-тестирования.
- Ручное тестирование (включая кросс-браузерное и мобильное).
- Автоматизацию базовых сценариев с использованием Selenium или Postman.
- Оформление баг-репортов и итогового отчета.
Примерная структура курса:
Модуль 1: Введение в тестирование
- Что такое QA? Роль тестировщика в IT-проекте.
- Классификация тестирования: черный/белый ящик, ручное/автоматизированное.
- Практика: составление первого тест-кейса.
Модуль 2: Инструменты тестировщика
- Работа с Jira и TestRail.
- Основы SQL для тестировщиков.
- Практика: тестирование базы данных учебного приложения.
Модуль 3: API и автоматизация
- Тестирование API через Postman.
- Введение в Selenium: запись и выполнение скриптов.
- Практика: автоматизация сценария авторизации.
Модуль 4: Agile и командная работа
- Scrum: планирование спринта, участие в груминге.
- Работа с документацией в Confluence.
- Практика: симуляция спринта в команде.
Модуль 5: Итоговый проект
- Защита проекта с разбором ошибок.
- Рекомендации по составлению резюме и подготовке к собеседованиям.
По окончании обучения студент должен знать:
- Основы тестирования ПО :
- Виды тестирования (функциональное, нагрузочное, UI/UX, безопасность и др.).
- Жизненный цикл разработки ПО и этапы тестирования.
- Стандарты документирования (IEEE 829, чек-листы, тест-кейсы).
- Инструменты :
- Баг-трекеры (Jira, YouTrack).
- Тестовые фреймворки (Postman, Selenium, TestRail).
- Основы SQL для проверки баз данных.
- Процессы :
- Agile/Scrum: роль тестировщика в команде.
- CI/CD: интеграция тестирования в pipeline.
По окончании обучения студент должен уметь:
- Практические навыки :
- Составлять тест-кейсы и чек-листы на основе требований.
- Проводить ручное функциональное и регрессионное тестирование.
- Работать с API через Postman (отправка запросов, проверка ответов).
- Писать простые автотесты на Python/Java (Selenium, pytest).
- Работа с инструментами :
- Настраивать тестовые окружения.
- Использовать SQL для проверки данных в БД.
- Документировать баги (шаблоны, приоритизация).
- Soft Skills :
- Взаимодействовать с командой (разработчики, PM).
- Грамотно формулировать ошибки и аргументировать их критичность.
Билет 1
Теория:
- Что такое тестирование программного обеспечения и каковы его основные цели?
- В чем разница между функциональным и нефункциональным тестированием?
Практика:
Напишите тест-кейс для проверки входа пользователя на сайт с использованием корректных данных.
Ответы:
- Тестирование ПО — процесс проверки соответствия продукта требованиям и выявления дефектов. Цели: обеспечение качества, снижение рисков, подтверждение функциональности.
- Функциональное тестирование проверяет соответствие функций требованиям. Нефункциональное — производительность, безопасность, удобство.
- Пример тест-кейса:
- Шаги: открыть страницу входа, ввести логин/password, нажать "Войти".
- Ожидаемый результат: переход в личный кабинет.
Билет 2
Теория:
- Что такое "чёрный ящик" и "белый ящик" в тестировании?
- Как классифицируются дефекты по степени серьезности?
Практика:
Найдите ошибку в требовании: "Пользователь должен иметь возможность зарегистрироваться, указав email и пароль длиной от 8 символов".
Ответы:
- Чёрный ящик — тестирование без доступа к коду. Белый ящик — с анализом внутренней структуры.
- Блокирующие, критические, значительные, незначительные.
- Нет требования к уникальности email или подтверждению пароля.
Билет 3
Теория:
- Что такое регрессионное тестирование?
- Какие существуют уровни тестирования (например, модульное, интеграционное)?
Практика:
Опишите шаги для проверки работы кнопки "Добавить в корзину" на e-commerce сайте.
Ответы:
- Проверка, что изменения в коде не сломали существующую функциональность.
- Модульное, интеграционное, системное, приемочное.
- Шаги: открыть товар, нажать кнопку, проверить счетчик корзины, переход в корзину.
Билет 4
Теория:
- Что такое баг-репорт? Какие обязательные поля он содержит?
- В чем разница между верификацией и валидацией?
Практика:
Составьте баг-репорт для ошибки: при отправке формы с пустым полем "Имя" система не выводит сообщение об ошибке.
Ответы:
- Баг-репорт — документ, описывающий дефект. Поля: ID, шаги, ожидаемый/фактический результат, среда, приоритет.
- Верификация — проверка соответствия этапа разработки требованиям. Валидация — проверка конечного продукта.
- Пример баг-репорта:
- Шаги: отправить форму без заполнения "Имя".
- Фактический результат: форма отправлена.
- Ожидаемый: сообщение "Заполните поле".
Билет 5
Теория:
- Какие существуют типы тестирования производительности?
- Что такое граничные значения и почему их важно проверять?
Практика:
Проверьте, как ведет себя калькулятор при вводе максимального значения (например, 999999 + 1).
Ответы:
- Нагрузочное, стрессовое, тестирование стабильности.
- Граничные значения — пределы допустимых входных данных. Проверка помогает найти ошибки в обработке крайних случаев.
- Ожидаемый результат: вывод ошибки или корректного значения (1000000).
Билет 6
Теория:
- Что такое smoke- и sanity-тестирование?
- Какие инструменты используются для автоматизации тестирования?
Практика:
Проверьте, что поле ввода телефона принимает только цифры и символ "+".
Ответы:
- Smoke-тестирование — проверка базовой работоспособности. Sanity — проверка конкретных изменений.
- Selenium, JUnit, TestNG, Postman, Jira.
- Шаги: ввести буквы, спецсимволы, проверить блокировку ввода.
Билет 7
Теория:
- Что такое тест-сьют?
- В чем разница между ошибкой (error), дефектом (defect) и отказом (failure)?
Практика:
Проверьте, что фильтр товаров по цене работает корректно (например, от 1000 до 5000 руб.).
Ответы:
- Набор тест-кейсов, объединенных по критерию (например, модуль).
- Ошибка — человеческая оплошность. Дефект — ошибка в коде. Отказ — проявление дефекта в работе системы.
- Шаги: задать диапазон, проверить отображение товаров с ценами внутри и вне диапазона.
Билет 8
Теория:
- Что такое тестовая среда?
- Какие бывают стратегии тестирования (например, Big Bang, инкрементальное)?
Практика:
Проверьте, что кнопка "Назад" в браузере возвращает пользователя на предыдущую страницу.
Ответы:
- Тестовая среда — конфигурация оборудования, ПО и данных для тестирования.
- Big Bang (тестирование всего сразу), инкрементальное (поэтапное).
- Шаги: перейти на страницу A → перейти на B → нажать "Назад" → проверить, что открылась A.
Билет 9
Теория:
- Что такое трекер ошибок? Приведите примеры.
- Какие существуют методы анализа рисков в тестировании?
Практика:
Напишите тест-кейс для проверки сортировки товаров по рейтингу.
Ответы:
- Система учета дефектов (Jira, Bugzilla).
- Анализ вероятности и последствий рисков, матрица рисков.
- Шаги: выбрать сортировку "По рейтингу", проверить порядок от высшего к низшему.
Билет 10
Теория:
- Что такое энд-ту-энд тестирование?
- Какие существуют виды документации в тестировании?
Практика:
Проверьте, что приложение корректно обрабатывает прерывание интернет-соединения при загрузке данных.
Ответы:
- Проверка работы системы в целом, имитируя реальные сценарии.
- Тест-план, тест-кейсы, чек-листы, баг-репорты.
- Шаги: отключить интернет → запустить загрузку → проверить уведомление об ошибке.
Билет 11
Теория:
- Что такое Agile-тестирование? Чем оно отличается от тестирования в Waterfall?
- Какие существуют методы тест-дизайна (например, анализ граничных значений)?
Практика:
Напишите тест-кейс для проверки работы поиска по сайту (ввод ключевого слова и отображение результатов).
Ответы:
- Agile-тестирование — итеративный процесс, интегрированный в разработку. В Waterfall тестирование — отдельная фаза.
- Методы: эквивалентное разбиение, граничные значения, таблицы решений, state transition.
- Пример тест-кейса:
- Шаги: ввести "ноутбук" в поиск → нажать "Найти".
- Ожидаемый результат: отображение товаров, связанных с ноутбуками.
Билет 12
Теория:
- Что такое тестирование безопасности? Приведите примеры уязвимостей.
- В чем разница между нагрузочным и стрессовым тестированием?
Практика:
Проверьте, что приложение корректно обрабатывает ввод SQL-инъекции в поле логина.
Ответы:
- Проверка защиты системы от атак. Примеры: SQL-инъекции, XSS, утечки данных.
- Нагрузочное — проверка под нагрузкой. Стрессовое — проверка за пределами допустимой нагрузки.
- Шаги: ввести
' OR 1=1--
→ проверить блокировку входа или ошибку.
Билет 13
Теория:
- Что такое юзабилити-тестирование? Какие критерии оценки используются?
- Как классифицируются тесты по степени автоматизации?
Практика:
Проверьте, что меню сайта корректно отображается на мобильных устройствах (адаптивность).
Ответы:
- Оценка удобства интерфейса. Критерии: время выполнения задач, количество ошибок пользователей.
- Ручные, автоматизированные, гибридные.
- Шаги: открыть сайт на мобильном → проверить расположение элементов меню.
Билет 14
Теория:
- Что такое тестирование совместимости? Приведите примеры.
- Какие существуют уровни приоритета дефектов?
Практика:
Составьте чек-лист для проверки корзины интернет-магазина.
Ответы:
- Проверка работы ПО в разных средах (браузеры, ОС, устройства). Пример: сайт в Chrome и Safari.
- Критический, высокий, средний, низкий.
- Чек-лист: добавление товара, изменение количества, удаление, расчет суммы, оформление заказа.
Билет 15
Теория:
- Что такое API-тестирование? Какие инструменты для этого используются?
- В чем разница между положительным и отрицательным тестированием?
Практика:
Проверьте, что API возвращает статус 404 при запросе несуществующего ресурса.
Ответы:
- Проверка взаимодействия между компонентами через API. Инструменты: Postman, Swagger.
- Положительное — проверка корректных сценариев. Отрицательное — проверка обработки ошибок.
- Шаги: отправить GET-запрос к
/api/unknown
→ проверить статус-код 404.
Билет 16
Теория:
- Что такое тестирование локализации?
- Какие бывают виды тестирования в мобильных приложениях?
Практика:
Проверьте, что приложение корректно переключается между языками интерфейса.
Ответы:
- Проверка адаптации ПО под язык и региональные стандарты.
- Функциональное, UI, производительности, установки/удаления.
- Шаги: сменить язык в настройках → проверить перевод всех элементов.
Билет 17
Теория:
- Что такое тестирование доступности?
- Какие существуют стандарты для документирования тестов (ISO/IEC/IEEE)?
Практика:
Проверьте, что сайт соответствует требованиям WCAG (например, контраст текста).
Ответы:
- Проверка доступности ПО для людей с ограниченными возможностями.
- ISO/IEC/IEEE 29119.
- Шаги: использовать инструмент проверки контраста → убедиться, что соотношение ≥4.5:1.
Билет 18
Теория:
- Что такое канбан-методология в тестировании?
- Какие метрики используются для оценки качества ПО?
Практика:
Проверьте, что уведомления об ошибках в форме регистрации понятны пользователю.
Ответы:
- Визуализация процессов на доске Kanban для управления задачами.
- Количество дефектов, процент пройденных тестов, время исправления багов.
- Шаги: оставить поле "Email" пустым → проверить сообщение "Введите корректный email".
Билет 19
Теория:
- Что такое тестирование производительности "под нагрузкой"?
- Какие существуют подходы к тестированию в DevOps?
Практика:
Проверьте, что сервер обрабатывает 1000 одновременных запросов без падения.
Ответы:
- Проверка работы системы при ожидаемой нагрузке.
- CI/CD, интеграция тестирования в pipeline, использование инструментов вроде Jenkins.
- Шаги: запустить нагрузочный тест (например, JMeter) → отследить падение производительности.
Билет 20
Теория:
- Что такое тестирование восстановления (recovery testing)?
- В чем разница между статическим и динамическим тестированием?
Практика:
Проверьте, что приложение восстанавливает данные после внезапного закрытия.
Ответы:
- Проверка способности системы восстановиться после сбоев.
- Статическое — анализ кода/документации. Динамическое — тестирование в работающей системе.
- Шаги: ввести данные → закрыть приложение принудительно → перезапустить → проверить сохранение.
Билет 21
Теория:
- Что такое тестирование удобства использования (usability testing)? Какие методы применяются для его проведения?
- В чем разница между unit-тестированием и интеграционным тестированием?
Практика:
Напишите тест-кейс для проверки экспорта данных в формате PDF.
Ответы:
- Оценка удобства интерфейса для конечного пользователя. Методы: опросы, наблюдение за пользователями, A/B-тестирование.
- Unit-тестирование проверяет отдельные модули, интеграционное — взаимодействие между ними.
- Пример тест-кейса:
- Шаги: сформировать отчет → выбрать экспорт в PDF → открыть файл.
- Ожидаемый результат: PDF содержит актуальные данные.
Билет 22
Теория:
- Что такое тестирование баз данных? Какие аспекты проверяются?
- Какие существуют подходы к тестированию веб-приложений?
Практика:
Проверьте, что при удалении товара из корзины общая сумма пересчитывается корректно.
Ответы:
- Проверка целостности, производительности, безопасности данных. Аспекты: структура БД, SQL-запросы, транзакции.
- Функциональное, нагрузочное, кросс-браузерное, тестирование безопасности.
- Шаги: добавить товары → удалить один → проверить итоговую сумму.
Билет 23
Теория:
- Что такое тестирование документации? Приведите примеры проверяемых документов.
- Какие бывают виды тестирования мобильных приложений (например, установки/удаления)?
Практика:
Проверьте, что приложение корректно устанавливается на устройство с Android 12.
Ответы:
- Проверка полноты и ясности технических документов (SRS, чек-листы, инструкции).
- Тестирование установки, обновления, совместимости с ОС, работы в фоновом режиме.
- Шаги: скачать APK → установить → запустить → проверить отсутствие крашей.
Билет 24
Теория:
- Что такое нагрузочное тестирование? Какие инструменты для него используются?
- В чем разница между smoke- и sanity-тестированием?
Практика:
Проверьте, что сайт выдерживает 500 одновременных пользователей.
Ответы:
- Проверка системы под ожидаемой нагрузкой. Инструменты: JMeter, LoadRunner.
- Smoke-тестирование — проверка базовой работоспособности. Sanity — проверка конкретных изменений.
- Шаги: запустить нагрузочный тест → отследить падение производительности или ошибки.
Билет 25
Теория:
- Что такое тестирование безопасности? Как проверить уязвимость к XSS-атакам?
- Какие существуют типы тестирования в CI/CD?
Практика:
Проверьте, что пароль хранится в зашифрованном виде в базе данных.
Ответы:
- Проверка защиты от атак. Для XSS: ввести скрипт в форму и проверить фильтрацию.
- Unit-тесты, интеграционные тесты, тесты производительности.
- Шаги: зарегистрировать пользователя → проверить хэш пароля в БД.
Билет 26
Теория:
- Что такое тестирование совместимости? Приведите примеры тестов.
- Какие метрики используются для оценки качества тестирования?
Практика:
Проверьте, что сайт корректно отображается в браузерах Chrome, Firefox и Safari.
Ответы:
- Проверка работы в разных средах. Примеры: тестирование на разных ОС, разрешениях экрана.
- Покрытие кода тестами, количество обнаруженных дефектов, время выполнения тестов.
- Шаги: открыть сайт в каждом браузере → проверить элементы интерфейса.
Билет 27
Теория:
- Что такое тестирование резервного копирования и восстановления данных?
- В чем разница между чек-листом и тест-кейсом?
Практика:
Проверьте, что резервная копия данных восстанавливается без потерь.
Ответы:
- Проверка корректности создания и восстановления бэкапов.
- Чек-лист — перечень проверок. Тест-кейс — детализированный сценарий с шагами.
- Шаги: создать бэкап → удалить данные → восстановить → проверить целостность.
Билет 28
Теория:
- Что такое эталонное тестирование (benchmark testing)?
- Какие существуют виды тестирования API?
Практика:
Проверьте, что API возвращает данные в формате JSON при успешном запросе.
Ответы:
- Сравнение производительности системы с эталонными показателями.
- Функциональное, нагрузочное, тестирование безопасности API.
- Шаги: отправить GET-запрос → проверить Content-Type: application/json.
Билет 29
Теория:
- Что такое тестирование обновлений (migration testing)?
- Как классифицируются тесты по уровню знаний о системе (чёрный/белый/серый ящик)?
Практика:
Проверьте, что обновление приложения не приводит к потере пользовательских данных.
Ответы:
- Проверка корректности миграции данных при обновлении версии.
- Чёрный ящик (без доступа к коду), белый (полный доступ), серый (частичный доступ).
- Шаги: обновить приложение → проверить сохранность данных в профиле.
Билет 30
Теория:
- Что такое тестирование ролей и прав доступа?
- Какие существуют стандарты для тестирования доступности (например, WCAG)?
Практика:
Проверьте, что пользователь с ролью "Гость" не может получить доступ к админ-панели.
Ответы:
- Проверка корректности работы системы RBAC (Role-Based Access Control).
- WCAG 2.1, Section 508.
- Шаги: войти как гость → попытаться открыть URL админ-панели → проверить редирект или ошибку 403.
Билет 31
Теория:
- Что такое тестирование кэширования? Как проверить его эффективность?
- В чем разница между ручным и автоматизированным тестированием?
Практика:
Проверьте, что данные загружаются из кэша при повторном открытии страницы.
Ответы:
- Проверка работы механизма кэширования. Эффективность оценивается по времени загрузки и нагрузке на сервер.
- Ручное — выполнение тестов человеком. Автоматизированное — с использованием скриптов и инструментов.
- Шаги: открыть страницу → закрыть → повторно открыть → проверить скорость загрузки и отсутствие запросов к серверу.
Билет 32
Теория:
- Что такое тестирование офлайн-функционала?
- Какие существуют инструменты для тестирования мобильных приложений?
Практика:
Проверьте, что приложение сохраняет данные, введенные в офлайн-режиме, после восстановления соединения.
Ответы:
- Проверка работы приложения при отсутствии интернета.
- Appium, Espresso, XCUITest, Firebase Test Lab.
- Шаги: отключить интернет → ввести данные → включить интернет → проверить их синхронизацию.
Билет 33
Теория:
- Что такое тестирование взаимодействия с внешними системами (например, платежными шлюзами)?
- Какие существуют подходы к тестированию микросервисов?
Практика:
Проверьте, что платеж через интегрированный шлюз (например, PayPal) завершается успешно.
Ответы:
- Проверка корректности интеграции с внешними сервисами.
- Тестирование каждого микросервиса отдельно, проверка API, использование контракт-тестирования.
- Шаги: оформить заказ → выбрать PayPal → провести оплату → проверить статус "Оплачен".
Билет 34
Теория:
- Что такое тестирование аудита и логирования?
- Какие метрики используются для оценки качества тест-кейсов?
Практика:
Проверьте, что система записывает логи при ошибках авторизации.
Ответы:
- Проверка полноты и корректности логов для анализа инцидентов.
- Покрытие требований, детализация шагов, воспроизводимость.
- Шаги: ввести неверный пароль → проверить наличие записи в логах с меткой ошибки.
Билет 35
Теория:
- Что такое тестирование валидации данных? Приведите примеры проверок.
- Какие существуют виды тестирования в Agile?
Практика:
Проверьте, что поле "Email" не принимает значения без символа "@".
Ответы:
- Проверка корректности вводимых данных. Примеры: проверка формата email, длины пароля.
- Sprint-тестирование, пользовательские истории, приемочное тестирование.
- Шаги: ввести "example.com" → проверить сообщение "Введите корректный email".
Билет 36
Теория:
- Что такое тестирование уведомлений (email, SMS)?
- Какие бывают виды тестирования производительности баз данных?
Практика:
Проверьте, что пользователь получает email после регистрации.
Ответы:
- Проверка доставки и содержания уведомлений.
- Проверка времени ответа на запросы, нагрузки при множественных операциях чтения/записи.
- Шаги: зарегистрировать аккаунт → проверить почту → убедиться, что письмо пришло.
Билет 37
Теория:
- Что такое тестирование мультиязычности?
- Какие существуют инструменты для автоматизации UI-тестирования?
Практика:
Проверьте, что перевод всех кнопок на странице соответствует выбранному языку.
Ответы:
- Проверка корректности отображения контента на разных языках.
- Selenium, Cypress, Ranorex.
- Шаги: выбрать язык → проверить текст кнопок, меню, уведомлений.
Билет 38
Теория:
- Что такое тестирование резервного копирования?
- Какие существуют виды тестирования в CI/CD?
Практика:
Проверьте, что резервная копия базы данных создается ежедневно.
Ответы:
- Проверка регулярности и целостности бэкапов.
- Unit-тесты, интеграционные тесты, smoke-тесты после деплоя.
- Шаги: проверить наличие файла бэкапа с сегодняшней датой в названии.
Билет 39
Теория:
- Что такое тестирование ролей и прав доступа?
- Какие существуют методы тестирования безопасности?
Практика:
Проверьте, что менеджер не может редактировать финансовые отчеты.
Ответы:
- Проверка ограничений доступа в зависимости от роли.
- Сканирование на уязвимости, penetration testing, анализ кода.
- Шаги: войти как менеджер → попытаться открыть редактирование отчета → проверить блокировку.
Билет 40
Теория:
- Что такое тестирование интеграции с API внешних сервисов?
- Какие существуют виды тестирования веб-приложений?
Практика:
Проверьте, что API возвращает ошибку 401 при запросе без авторизации.
Ответы:
- Проверка корректности взаимодействия с внешними API.
- Функциональное, нагрузочное, кросс-браузерное, тестирование безопасности.
- Шаги: отправить запрос без токена → проверить статус-код 401.
Билет 41
Теория:
- Что такое тестирование облачных приложений? Какие особенности их проверки?
- В чем разница между нагрузочным и стрессовым тестированием?
Практика:
Проверьте, что облачное приложение автоматически масштабируется при увеличении нагрузки.
Ответы:
- Проверка работы приложений в облачной инфраструктуре. Особенности: проверка масштабируемости, безопасности данных, интеграции с облачными сервисами.
- Нагрузочное — проверка под ожидаемой нагрузкой. Стрессовое — проверка за пределами допустимой нагрузки.
- Шаги: запустить нагрузочный тест → отследить добавление серверов в кластер.
Билет 42
Теория:
- Что такое тестирование IoT-устройств?
- Какие существуют методы тестирования искусственного интеллекта (AI)?
Практика:
Проверьте, что умная лампа корректно реагирует на команды из мобильного приложения.
Ответы:
- Проверка взаимодействия устройств, датчиков, ПО и сетей в IoT-экосистеме.
- Тестирование на основе данных, проверка алгоритмов, тестирование этических аспектов.
- Шаги: отправить команду "Включить свет" → проверить срабатывание лампы.
Билет 43
Теория:
- Что такое контрактное тестирование (contract testing)?
- Какие существуют виды тестирования требований?
Практика:
Проверьте, что микросервис "Пользователи" соответствует контракту API (например, возвращает код 200 для GET /users).
Ответы:
- Проверка соответствия взаимодействия сервисов описанным контрактам (например, OpenAPI).
- Проверка полноты, непротиворечивости, тестопригодности требований.
- Шаги: отправить GET-запрос → проверить статус 200 и структуру ответа.
Билет 44
Теория:
- Что такое тестирование производительности UI?
- Какие метрики используются для оценки удобства интерфейса?
Практика:
Проверьте, что время загрузки страницы не превышает 2 секунд.
Ответы:
- Оценка скорости отклика интерфейса на действия пользователя.
- Время выполнения задач, количество кликов, уровень удовлетворенности (NPS).
- Шаги: открыть страницу → измерить время загрузки с помощью инструментов (Lighthouse).
Билет 45
Теория:
- Что такое тестирование обновлений (regression testing)?
- Какие существуют подходы к тестированию документации?
Практика:
Проверьте, что после обновления приложения старые настройки пользователя сохраняются.
Ответы:
- Проверка, что изменения в коде не сломали существующую функциональность.
- Проверка ясности, полноты, отсутствия противоречий в документах.
- Шаги: обновить приложение → проверить сохранение настроек языка/темы.
Билет 46
Теория:
- Что такое тестирование требований (requirements testing)?
- Какие существуют виды тестирования в DevOps?
Практика:
Найдите ошибку в требовании: "Система должна поддерживать 10 000 пользователей".
Ответы:
- Проверка требований на ясность, выполнимость, тестопригодность.
- Тестирование инфраструктуры, конфигураций, CI/CD-пайплайнов.
- Нет указания на условия (одновременно, в день, сценарий использования).
Билет 47
Теория:
- Что такое тестирование восстановления после сбоев (failover testing)?
- Какие существуют стандарты для тестирования безопасности (например, OWASP)?
Практика:
Проверьте, что при падении основного сервера система переключается на резервный.
Ответы:
- Проверка корректности работы системы при отказе компонентов.
- OWASP Top 10, ISO 27001.
- Шаги: отключить основной сервер → проверить доступность приложения через резервный.
Билет 48
Теория:
- Что такое тестирование резервного копирования данных?
- Какие существуют виды тестирования в CI/CD?
Практика:
Проверьте, что резервная копия базы данных восстанавливается без ошибок.
Ответы:
- Проверка регулярности и целостности бэкапов.
- Unit-тесты, интеграционные тесты, smoke-тесты после деплоя.
- Шаги: восстановить бэкап → проверить доступность всех таблиц и данных.
Билет 49
Теория:
- Что такое тестирование доступности (a11y)?
- Какие инструменты используются для автоматизации тестирования безопасности?
Практика:
Проверьте, что сайт соответствует требованиям WCAG 2.1 (например, альтернативный текст для изображений).
Ответы:
- Проверка доступности ПО для людей с инвалидностью.
- OWASP ZAP, Burp Suite, Nessus.
- Шаги: использовать сканер доступности (axe) → проверить отсутствие критических ошибок.
Билет 50
Теория:
- Что такое тестирование локализации?
- Какие существуют виды тестирования мобильных приложений?
Практика:
Проверьте, что перевод приложения на испанский язык не содержит опечаток.
Ответы:
- Проверка корректности перевода и адаптации под регион.
- Функциональное, UI, производительности, тестирование обновлений.
- Шаги: выбрать язык → проверить тексты на предмет грамматических ошибок.
Билет 51
Теория:
- Что такое тестирование совместимости версий?
- Какие существуют методы тестирования в Agile?
Практика:
Проверьте, что новая версия приложения совместима с данными из предыдущей версии.
Ответы:
- Проверка работы новой версии с данными/функционалом старой.
- Exploratory testing, ATDD (Acceptance Test-Driven Development), scrum-тестирование.
- Шаги: установить новую версию → импортировать данные из бэкапа → проверить их отображение.
Билет 52
Теория:
- Что такое тестирование документации?
- Какие существуют виды тестирования API?
Практика:
Проверьте, что документация API соответствует его реальному функционалу.
Ответы:
- Проверка полноты и точности технической документации.
- Функциональное, нагрузочное, тестирование безопасности, валидация ответов.
- Шаги: сравнить описание метода в документации с фактическим ответом API.
Билет 53
Теория:
- Что такое тестирование требований к производительности?
- Какие метрики используются для оценки качества тестирования?
Практика:
Проверьте, что время ответа сервера не превышает 500 мс при 100 запросах/сек.
Ответы:
- Проверка соответствия системы заданным критериям производительности.
- Покрытие кода тестами, количество обнаруженных дефектов, время выполнения тестов.
- Шаги: запустить нагрузочный тест → измерить среднее время ответа.
Билет 54
Теория:
- Что такое тестирование пользовательского опыта (UX)?
- Какие существуют виды тестирования веб-приложений?
Практика:
Проверьте, что пользователь может выполнить покупку за 3 шага.
Ответы:
- Оценка удобства и интуитивности интерфейса.
- Функциональное, кросс-браузерное, нагрузочное, тестирование безопасности.
- Шаги: добавить товар в корзину → оформить заказ → проверить подтверждение.
Билет 55
Теория:
- Что такое тестирование интеграции с платежными системами?
- Какие инструменты используются для тестирования API?
Практика:
Проверьте, что платеж через Stripe завершается успешно.
Ответы:
- Проверка корректности работы платежных шлюзов.
- Postman, Swagger, SoapUI.
- Шаги: провести тестовый платеж → проверить статус "Успешно".
Билет 56
Теория:
- Что такое тестирование ролей и прав доступа?
- Какие существуют методы тестирования безопасности?
Практика:
Проверьте, что администратор может блокировать пользователей, а обычный — нет.
Ответы:
- Проверка ограничений доступа в зависимости от роли.
- Сканирование уязвимостей, penetration testing, анализ кода.
- Шаги: войти как обычный пользователь → попытаться заблокировать аккаунт → проверить блокировку.
Билет 57
Теория:
- Что такое тестирование миграции данных?
- Какие существуют виды тестирования в CI/CD?
Практика:
Проверьте, что данные из старой системы корректно переносятся в новую.
Ответы:
- Проверка целостности данных при переходе на новую систему.
- Unit-тесты, интеграционные тесты, smoke-тесты после деплоя.
- Шаги: выполнить миграцию → сравнить выборки данных до и после.
Билет 58
Теория:
- Что такое тестирование контрактов (contract testing)?
- Какие существуют виды тестирования мобильных приложений?
Практика:
Проверьте, что API возвращает данные в формате, указанном в контракте.
Ответы:
- Проверка соответствия взаимодействия сервисов описанным контрактам.
- Функциональное, UI, тестирование обновлений, производительности.
- Шаги: отправить запрос → проверить структуру JSON по контракту.
Билет 59
Теория:
- Что такое тестирование требований к безопасности?
- Какие существуют методы тестирования искусственного интеллекта?
Практика:
Проверьте, что система распознавания лиц не принимает фотографии вместо реального лица.
Ответы:
- Проверка защиты системы от угроз и уязвимостей.
- Тестирование на основе данных, проверка алгоритмов, тестирование этических аспектов.
- Шаги: попытаться авторизоваться с фото → проверить блокировку.
Билет 60
Теория:
- Что такое тестирование производительности баз данных?
- Какие инструменты используются для тестирования нагрузки?
Практика:
Проверьте, что база данных обрабатывает 1000 запросов в секунду без ошибок.
Ответы:
- Проверка скорости выполнения запросов и обработки данных.
- JMeter, LoadRunner, Gatling.
- Шаги: запустить нагрузочный тест → отследить ошибки и время ответа.
Билет 61
Теория:
- Что такое хаос-тестирование? Какие цели оно преследует?
- В чем разница между позитивным и негативным тестированием?
Практика:
Проверьте, что система корректно обрабатывает отключение одного из микросервисов.
Ответы:
- Имитация сбоев в инфраструктуре для проверки устойчивости системы. Цель: выявление слабых мест.
- Позитивное — проверка корректных сценариев. Негативное — проверка обработки ошибок.
- Шаги: отключить микросервис → проверить, что система использует резервный или возвращает понятную ошибку.
Билет 62
Теория:
- Что такое тестирование виртуализации?
- Какие существуют виды тестирования веб-сокетов?
Практика:
Проверьте, что веб-сокет корректно передает сообщения между клиентом и сервером.
Ответы:
- Проверка работы ПО в виртуальных средах (гипервизоры, контейнеры).
- Функциональное, нагрузочное, тестирование безопасности соединения.
- Шаги: отправить сообщение через сокет → проверить его получение и отображение.
Билет 63
Теория:
- Что такое попарное тестирование (pairwise testing)?
- Какие существуют подходы к тестированию микросервисной архитектуры?
Практика:
Составьте набор тест-кейсов для попарного тестирования формы регистрации с полями "Имя", "Email", "Пароль".
Ответы:
- Метод сокращения комбинаций входных данных для выявления большинства дефектов.
- Тестирование отдельных сервисов, интеграции, контрактное тестирование, тестирование отказоустойчивости.
- Пример:
- Имя: корректное / некорректное
- Email: корректный / без @
- Пароль: 8 символов / 7 символов
Билет 64
Теория:
- Что такое тестирование требований к масштабируемости?
- Какие инструменты используются для тестирования веб-сокетов?
Практика:
Проверьте, что система поддерживает 10 000 одновременных веб-сокет соединений.
Ответы:
- Проверка способности системы масштабироваться при росте нагрузки.
- Artillery, WebSocket King, JMeter.
- Шаги: запустить нагрузочный тест → отследить падение производительности или ошибки.
Билет 65
Теория:
- Что такое тестирование конфигураций?
- Какие существуют методы тестирования требований?
Практика:
Проверьте, что приложение корректно работает при изменении настроек локализации (например, формат даты).
Ответы:
- Проверка работы системы при разных конфигурациях (ОС, версии ПО, настройки).
- Анализ на полноту, непротиворечивость, проверка на тестопригодность.
- Шаги: сменить локаль на "en-US" → проверить формат даты "MM/DD/YYYY".
Билет 66
Теория:
- Что такое тестирование отказоустойчивости (fault tolerance testing)?
- Какие существуют виды тестирования облачных приложений?
Практика:
Проверьте, что приложение продолжает работать при отключении одного из серверов в кластере.
Ответы:
- Проверка способности системы продолжать работу при частичных сбоях.
- Тестирование масштабируемости, безопасности, интеграции с облачными сервисами.
- Шаги: отключить сервер → проверить доступность приложения и распределение нагрузки.
Билет 67
Теория:
- Что такое тестирование требований к удобству поддержки (maintainability testing)?
- Какие метрики используются для оценки качества кода?
Практика:
Проверьте, что документация для разработчиков содержит описание всех API-методов.
Ответы:
- Проверка простоты внесения изменений и исправления дефектов.
- Cyclomatic complexity, code coverage, количество дублирования кода.
- Шаги: открыть документацию → проверить наличие описаний для всех эндпоинтов.
Билет 68
Теория:
- Что такое тестирование требований к совместимости?
- Какие существуют виды тестирования веб-приложений на безопасность?
Практика:
Проверьте, что приложение корректно работает в браузере Safari на iOS.
Ответы:
- Проверка работы системы в разных средах (ОС, устройствах, браузерах).
- Проверка на SQL-инъекции, XSS, CSRF, утечки данных.
- Шаги: открыть сайт в Safari на iPhone → проверить функциональность всех элементов.
Билет 69
Теория:
- Что такое тестирование требований к удобству инсталляции?
- Какие существуют методы тестирования требований к производительности?
Практика:
Проверьте, что установка приложения занимает не более 2 минут на стандартном ПК.
Ответы:
- Проверка простоты и корректности процесса установки/удаления.
- Load testing, stress testing, endurance testing.
- Шаги: запустить установку → засечь время до завершения.
Билет 70
Теория:
- Что такое тестирование требований к документированию?
- Какие инструменты используются для тестирования микросервисов?
Практика:
Проверьте, что документация пользователя содержит инструкцию по восстановлению пароля.
Ответы:
- Проверка полноты и ясности пользовательской и технической документации.
- Postman, Pact, WireMock.
- Шаги: открыть документацию → найти раздел "Восстановление пароля" → проверить шаги.
Билет 71
Теория:
- Что такое тестирование требований к интернационализации (i18n)?
- Какие существуют виды тестирования мобильных приложений на производительность?
Практика:
Проверьте, что приложение корректно отображает даты в формате "ДД.ММ.ГГГГ" для немецкой локали.
Ответы:
- Проверка поддержки разных языков и региональных настроек.
- Тестирование времени отклика, потребления памяти, работы в фоновом режиме.
- Шаги: сменить локаль на "de-DE" → проверить формат даты.
Билет 72
Теория:
- Что такое тестирование требований к локализации (l10n)?
- Какие существуют методы тестирования требований к безопасности?
Практика:
Проверьте, что перевод приложения на французский язык не нарушает расположение элементов интерфейса.
Ответы:
- Проверка корректности адаптации ПО под конкретный регион.
- Анализ уязвимостей, penetration testing, проверка аутентификации.
- Шаги: выбрать французский язык → проверить отсутствие наложений текста.
Билет 73
Теория:
- Что такое тестирование требований к удобству обновления?
- Какие существуют виды тестирования API на безопасность?
Практика:
Проверьте, что обновление приложения до версии 2.0 не требует ручного ввода настроек.
Ответы:
- Проверка простоты и безопасности процесса обновления.
- Проверка аутентификации, валидации входных данных, защиты от DoS-атак.
- Шаги: установить обновление → проверить автоматический перенос настроек.
Билет 74
Теория:
- Что такое тестирование требований к интеграции с внешними системами?
- Какие инструменты используются для тестирования веб-приложений на безопасность?
Практика:
Проверьте, что интеграция с CRM-системой корректно синхронизирует данные клиентов.
Ответы:
- Проверка корректности взаимодействия с внешними сервисами и системами.
- OWASP ZAP, Burp Suite, Nessus.
- Шаги: создать клиента в CRM → проверить его отображение в приложении.
Билет 75
Теория:
- Что такое тестирование требований к удобству администрирования?
- Какие существуют виды тестирования веб-приложений на производительность?
Практика:
Проверьте, что панель администратора позволяет блокировать пользователей за 2 клика.
Ответы:
- Проверка удобства управления и настройки системы для администраторов.
- Load testing, stress testing, проверка времени отклика.
- Шаги: зайти в админку → выбрать пользователя → заблокировать → проверить статус.
Билет 76
Теория:
- Что такое тестирование требований к удобству мониторинга?
- Какие существуют методы тестирования требований к надежности?
Практика:
Проверьте, что система отправляет уведомления администратору при падении сервера.
Ответы:
- Проверка наличия и полноты инструментов для мониторинга системы.
- Тестирование на отказоустойчивость, восстановление после сбоев, проверка резервных копий.
- Шаги: остановить сервер → проверить получение email/SMS уведомления.
Билет 77
Теория:
- Что такое тестирование требований к удобству аудита?
- Какие существуют виды тестирования мобильных приложений на безопасность?
Практика:
Проверьте, что система логирует все действия администратора.
Ответы:
- Проверка полноты и доступности данных для аудита.
- Проверка шифрования данных, защиты от реверс-инжиниринга, безопасной авторизации.
- Шаги: выполнить действие в админке → проверить запись в логах.
Билет 78
Теория:
- Что такое тестирование требований к удобству взаимодействия с API?
- Какие инструменты используются для тестирования нагрузки баз данных?
Практика:
Проверьте, что документация API содержит примеры запросов и ответов.
Ответы:
- Проверка простоты и логичности работы с API для разработчиков.
- JMeter, LoadRunner, HammerDB.
- Шаги: открыть документацию → проверить наличие примеров для каждого метода.
Билет 79
Теория:
- Что такое тестирование требований к удобству интеграции?
- Какие существуют виды тестирования веб-приложений на совместимость?
Практика:
Проверьте, что API поддерживает версии v1 и v2 одновременно.
Ответы:
- Проверка простоты подключения внешних систем к ПО.
- Кросс-браузерное, кросс-платформенное, тестирование на разных разрешениях экрана.
- Шаги: отправить запросы к /api/v1 и /api/v2 → проверить корректность ответов.
Билет 80
Теория:
- Что такое тестирование требований к удобству масштабирования?
- Какие существуют методы тестирования требований к безопасности данных?
Практика:
Проверьте, что добавление сервера в кластер занимает менее 5 минут.
Ответы:
- Проверка простоты наращивания ресурсов (вертикальное/горизонтальное масштабирование).
- Проверка шифрования, аудита доступа, защиты от утечек.
- Шаги: добавить сервер → засечь время до его интеграции в кластер.
Билет 81
Теория:
- Что такое тестирование требований к удобству резервного копирования?
- Какие существуют виды тестирования мобильных приложений на производительность?
Практика:
Проверьте, что резервная копия создается автоматически ежедневно в 00:00.
Ответы:
- Проверка регулярности и простоты восстановления данных из бэкапов.
- Тестирование времени отклика, потребления батареи, работы в фоне.
- Шаги: проверить наличие файла бэкапа с текущей датой в папке backups.
Билет 82
Теория:
- Что такое тестирование требований к удобству восстановления данных?
- Какие инструменты используются для тестирования безопасности мобильных приложений?
Практика:
Проверьте, что восстановление данных из бэкапа занимает менее 10 минут.
Ответы:
- Проверка скорости и корректности восстановления системы после сбоев.
- MobSF, OWASP Mobile Security Testing Guide.
- Шаги: запустить восстановление → засечь время до завершения.
Билет 83
Теория:
- Что такое тестирование требований к удобству миграции данных?
- Какие существуют виды тестирования веб-приложений на доступность?
Практика:
Проверьте, что данные из CSV-файла корректно импортируются в систему.
Ответы:
- Проверка простоты и безопасности переноса данных между системами.
- Проверка контраста, навигации с клавиатуры, поддержки скринридеров.
- Шаги: загрузить CSV → проверить отображение данных в интерфейсе.
Билет 84
Теория:
- Что такое тестирование требований к удобству интеграции с платежными системами?
- Какие существуют методы тестирования требований к производительности баз данных?
Практика:
Проверьте, что платеж через Google Pay обрабатывается без ошибок.
Ответы:
- Проверка корректности и безопасности взаимодействия с платежными шлюзами.
- Тестирование нагрузки, индексов, транзакций.
- Шаги: провести тестовый платеж → проверить статус "Успешно".
Билет 85
Теория:
- Что такое тестирование требований к удобству работы с кэшем?
- Какие инструменты используются для тестирования производительности мобильных приложений?
Практика:
Проверьте, что очистка кэша не приводит к потере пользовательских данных.
Ответы:
- Проверка эффективности и безопасности механизма кэширования.
- Firebase Performance Monitoring, Appium, LoadRunner.
- Шаги: очистить кэш → проверить сохранность данных в профиле.
Билет 86
Теория:
- Что такое тестирование требований к удобству работы с логами?
- Какие существуют виды тестирования API на производительность?
Практика:
Проверьте, что логи хранятся в зашифрованном виде.
Ответы:
- Проверка полноты, структуры и безопасности логов.
- Load testing, stress testing, проверка времени ответа.
- Шаги: проверить расширение файлов логов (например, .enc).
Билет 87
Теория:
- Что такое тестирование требований к удобству работы с очередями сообщений (например, RabbitMQ)?
- Какие существуют методы тестирования требований к безопасности API?
Практика:
Проверьте, что сообщение из очереди обрабатывается даже при перезагрузке сервера.
Ответы:
- Проверка корректности обработки сообщений и отказоустойчивости очередей.
- Проверка аутентификации, валидации данных, защиты от инъекций.
- Шаги: отправить сообщение → перезагрузить сервер → проверить обработку.
Билет 88
Теория:
- Что такое тестирование требований к удобству работы с контейнерами (Docker)?
- Какие инструменты используются для тестирования безопасности API?
Практика:
Проверьте, что контейнер приложения запускается без ошибок на чистой ОС.
Ответы:
- Проверка корректности сборки, развертывания и масштабирования контейнеров.
- OWASP ZAP, Postman (тесты безопасности), Swagger.
- Шаги: запустить
docker-compose up
→ проверить статус контейнера.
Билет 89
Теория:
- Что такое тестирование требований к удобству работы с серверами (например, Nginx)?
- Какие существуют виды тестирования веб-приложений на совместимость с браузерами?
Практика:
Проверьте, что конфигурация Nginx корректно перенаправляет HTTP на HTTPS.
Ответы:
- Проверка настройки, производительности и безопасности серверов.
- Проверка в Chrome, Firefox, Safari, Edge.
- Шаги: открыть HTTP://site.com → убедиться, что произошел редирект на HTTPS.
Билет 90
Теория:
- Что такое тестирование требований к удобству работы с облачными хранилищами (AWS S3)?
- Какие существуют методы тестирования требований к безопасности облачных приложений?
Практика:
Проверьте, что файлы в AWS S3 доступны только авторизованным пользователям.
Ответы:
- Проверка корректности настройки прав доступа, шифрования, резервного копирования.
- Проверка IAM-политик, шифрования данных, защиты от утечек.
- Шаги: попытаться скачать файл без авторизации → проверить блокировку.
Билет 91
Теория:
- Что такое тестирование требований к удобству работы с CI/CD-пайплайнами?
- Какие инструменты используются для тестирования производительности веб-сокетов?
Практика:
Проверьте, что пайплайн автоматически деплоит приложение при пуше в ветку main.
Ответы:
- Проверка скорости, надежности и безопасности процессов CI/CD.
- Artillery, JMeter, Gatling.
- Шаги: сделать коммит в main → проверить статус деплоя в production.
Билет 92
Теория:
- Что такое тестирование требований к удобству работы с мониторингом (Prometheus/Grafana)?
- Какие существуют виды тестирования мобильных приложений на совместимость с устройствами?
Практика:
Проверьте, что дашборд Grafana отображает метрики CPU в реальном времени.
Ответы:
- Проверка корректности сбора и визуализации метрик.
- Проверка на разных моделях устройств, разрешениях экрана, версиях ОС.
- Шаги: открыть дашборд → убедиться, что график обновляется каждые 5 секунд.
Билет 93
Теория:
- Что такое тестирование требований к удобству работы с системами алертинга (например, PagerDuty)?
- Какие существуют методы тестирования требований к безопасности контейнеров?
Практика:
Проверьте, что алерт отправляется в Slack при падении базы данных.
Ответы:
- Проверка своевременности и релевантности уведомлений о сбоях.
- Проверка образов на уязвимости, настройки прав контейнеров, изоляции.
- Шаги: остановить БД → проверить получение сообщения в Slack.
Билет 94
Теория:
- Что такое тестирование требований к удобству работы с системами логирования (ELK-стек)?
- Какие инструменты используются для тестирования безопасности контейнеров?
Практика:
Проверьте, что логи из приложения отображаются в Kibana.
Ответы:
- Проверка полноты и доступности логов для анализа.
- Clair, Anchore, Trivy.
- Шаги: выполнить действие в приложении → найти запись в Kibana.
Билет 95
Теория:
- Что такое тестирование требований к удобству работы с системами очередей (Kafka)?
- Какие существуют виды тестирования API на совместимость версий?
Практика:
Проверьте, что сообщение из Kafka обрабатывается даже при отключении потребителя.
Ответы:
- Проверка надежности доставки сообщений и обработки сбоев.
- Backward compatibility, forward compatibility.
- Шаги: отправить сообщение → отключить потребителя → включить → проверить обработку.
Билет 96
Теория:
- Что такое тестирование требований к удобству работы с системами кэширования (Redis)?
- Какие существуют методы тестирования требований к безопасности веб-сокетов?
Практика:
Проверьте, что данные в Redis автоматически удаляются через 24 часа.
Ответы:
- Проверка корректности настройки TTL, производительности, отказоустойчивости.
- Проверка аутентификации, шифрования трафика, защиты от переполнения буфера.
- Шаги: добавить ключ с TTL 86400 → проверить его отсутствие через 24 часа.
Билет 97
Теория:
- Что такое тестирование требований к удобству работы с системами мониторинга баз данных (например, pgAdmin)?
- Какие инструменты используются для тестирования безопасности веб-сокетов?
Практика:
Проверьте, что pgAdmin отображает актуальные метрики PostgreSQL.
Ответы:
- Проверка корректности отображения статистики и уведомлений о сбоях.
- OWASP ZAP, Burp Suite, Wireshark.
- Шаги: открыть pgAdmin → проверить данные о CPU и памяти БД.
Билет 98
Теория:
- Что такое тестирование требований к удобству работы с системами бэкапов (Veeam)?
- Какие существуют виды тестирования API на отказоустойчивость?
Практика:
Проверьте, что бэкап восстанавливается даже при повреждении одного из файлов.
Ответы:
- Проверка корректности создания, хранения и восстановления бэкапов.
- Проверка обработки сетевых сбоев, потери пакетов, таймаутов.
- Шаги: удалить файл из бэкапа → запустить восстановление → проверить ошибки.
Билет 99
Теория:
- Что такое тестирование требований к удобству работы с системами виртуализации (VMware)?
- Какие существуют методы тестирования требований к безопасности облачных хранилищ?
Практика:
Проверьте, что виртуальная машина автоматически запускается при перезагрузке хоста.
Ответы:
- Проверка производительности, ресурсов и надежности виртуальных машин.
- Проверка шифрования, IAM-политик, защиты от несанкционированного доступа.
- Шаги: перезагрузить хост → проверить статус ВМ через vSphere.
Билет 100
Теория:
- Что такое тестирование требований к удобству работы с системами оркестрации (Kubernetes)?
- Какие инструменты используются для тестирования безопасности микросервисов?
Практика:
Проверьте, что Kubernetes автоматически перезапускает упавший под.
Ответы:
- Проверка корректности деплоя, масштабирования и самовосстановления сервисов.
- Kubesec, Aqua Security, Twistlock.
- Шаги: удалить под → убедиться, что новый под стартует в течение 30 секунд.
Основы тестирования и безопасности
-
Что такое SQL-инъекция?
a) Уязвимость, позволяющая выполнить произвольный SQL-код
b) Ошибка в дизайне интерфейса
c) Проблема с производительностью
d) Некорректная работа API
Ответ: a) -
Какой тип тестирования фокусируется на поиске уязвимостей безопасности?
a) Функциональное
b) Тестирование на проникновение
c) Регрессионное
d) Smoke-тестирование
Ответ: b) -
Что такое XSS?
a) Атака, использующая уязвимости в обработке ввода данных
b) Уязвимость в шифровании данных
c) Ошибка в логике приложения
d) Проблема с загрузкой страницы
Ответ: a) -
Какой инструмент используется для тестирования безопасности веб-приложений?
a) Jira
b) OWASP ZAP
c) Postman
d) Trello
Ответ: b) -
Что такое CSRF?
a) Атака, основанная на подделке межсайтовых запросов
b) Уязвимость в базе данных
c) Ошибка в верстке
d) Проблема с кэшированием
Ответ: a)
Инструменты и процессы
-
Какой инструмент используется для автоматизации тестирования API?
a) Selenium
b) Postman
c) Excel
d) Figma
Ответ: b) -
В каком формате обычно передаются данные в REST API?
a) XML
b) JSON
c) CSV
d) TXT
Ответ: b) -
Что такое баг-трекер?
a) Инструмент для управления задачами
b) Система документирования ошибок
c) Программа для автоматизации тестов
d) Тестовый фреймворк
Ответ: b) -
Какой статус в Jira указывает на завершение исправления бага?
a) Open
b) In Progress
c) Done
d) Reopened
Ответ: c) -
Что такое CI/CD?
a) Методология управления проектами
b) Процесс непрерывной интеграции и доставки
c) Тип тестирования
d) Инструмент для анализа кода
Ответ: b)
Документация и тест-кейсы
-
Что такое чек-лист?
a) Список требований к продукту
b) Перечень шагов для проверки функционала
c) Документ с описанием багов
d) План тестирования
Ответ: b) -
Что включает тест-кейс?
a) Шаги, ожидаемый результат, предусловия
b) Описание дизайна
c) Код для автоматизации
d) Инструкция по установке
Ответ: a) -
Какая документация используется для описания уязвимостей?
a) Техническое задание
b) Баг-репорт
c) Чек-лист
d) Руководство пользователя
Ответ: b) -
Что такое Severity в баг-репорте?
a) Приоритет исправления
b) Тяжесть ошибки
c) Категория бага
d) Время обнаружения
Ответ: b) -
Какой раздел обязателен в баг-репорте?
a) Шаги для воспроизведения
b) Имя разработчика
c) Дата релиза
d) Версия браузера
Ответ: a)
Безопасность и уязвимости
-
Какая уязвимость связана с небезопасным хранением паролей?
a) XSS
b) SQL-инъекция
c) Некорректная аутентификация
d) CSRF
Ответ: c) -
Как защититься от SQL-инъекций?
a) Использовать параметризованные запросы
b) Увеличить таймаут запроса
c) Добавить индексы в базу данных
d) Упростить интерфейс
Ответ: a) -
Что такое MITM-атака?
a) Атака «человек посередине»
b) Атака с подбором паролей
c) Атака на сервер баз данных
d) Атака с использованием XSS
Ответ: a) -
Какая уязвимость позволяет получить доступ к конфиденциальным данным через URL?
a) IDOR (Insecure Direct Object References)
b) CSRF
c) XSS
d) SQL-инъекция
Ответ: a) -
Что такое «брутфорс»?
a) Атака с подбором паролей
b) Атака на SSL-сертификат
c) Уязвимость в логике приложения
d) Ошибка в коде
Ответ: a)
API и веб-тестирование
-
Какой метод HTTP используется для обновления данных?
a) GET
b) POST
c) PUT
d) DELETE
Ответ: c) -
Что проверяет тестирование API?
a) Корректность обработки запросов/ответов
b) Скорость загрузки страницы
c) Дизайн интерфейса
d) Совместимость с браузерами
Ответ: a) -
Какой код статуса HTTP указывает на успешное выполнение запроса?
a) 200
b) 404
c) 500
d) 301
Ответ: a) -
Что такое эндпоинт в API?
a) URL для отправки запросов
b) Тип данных в JSON
c) Инструмент для тестирования
d) Ошибка в коде
Ответ: a) -
Как проверить, что API возвращает корректный JSON?
a) Проверить структуру и данные в ответе
b) Измерить время ответа
c) Проверить заголовки запроса
d) Сравнить с дизайном макета
Ответ: a)
Автоматизация и инструменты
-
Какой язык чаще используется для написания автотестов?
a) Python
b) HTML
c) CSS
d) PHP
Ответ: a) -
Для чего используется Selenium?
a) Тестирование веб-интерфейсов
b) Тестирование мобильных приложений
c) Анализ безопасности
d) Работа с базами данных
Ответ: a) -
Что такое Pytest?
a) Фреймворк для автоматизации тестов
b) Инструмент для нагрузочного тестирования
c) Баг-трекер
d) Тестовый чек-лист
Ответ: a) -
Какой инструмент используется для нагрузочного тестирования?
a) JMeter
b) Postman
c) OWASP ZAP
d) Excel
Ответ: a) -
Что такое CI-пайплайн?
a) Процесс автоматической сборки и тестирования
b) Документация по проекту
c) План тестирования
d) Инструмент для управления задачами
Ответ: a)
Agile и командная работа
-
Что такое Sprint в Scrum?
a) Итерация разработки длительностью 2-4 недели
b) Встреча по планированию
c) Тестовый сценарий
d) Баг-репорт
Ответ: a) -
Кто отвечает за приоритизацию задач в Agile?
a) Product Owner
b) QA-инженер
c) Разработчик
d) Дизайнер
Ответ: a) -
Что такое Daily Standup?
a) Ежедневная встреча команды
b) Тестовый прогон
c) Отчет по безопасности
d) Обновление документации
Ответ: a) -
Как называется этап завершения спринта в Scrum?
a) Ретроспектива
b) Груминг
c) Планирование
d) Демо
Ответ: a) -
Что такое Backlog в Agile?
a) Список задач для разработки
b) Архив баг-репортов
c) Документация по тестированию
d) Отчет о тест-кейсах
Ответ: a)
SQL и базы данных
-
Как выбрать все записи из таблицы
users
?
a)SELECT * FROM users
b)GET ALL users
c)SELECT users WHERE id=1
d)FIND users
Ответ: a) -
Что делает оператор
WHERE
в SQL?
a) Фильтрует записи по условию
b) Обновляет данные
c) Удаляет таблицу
d) Создает индекс
Ответ: a) -
Как обновить данные в таблице?
a)UPDATE users SET name='John' WHERE id=1
b)MODIFY users SET name='John'
c)CHANGE users name='John'
d)ALTER users SET name='John'
Ответ: a) -
Что такое Primary Key?
a) Уникальный идентификатор записи
b) Внешний ключ
c) Индекс для ускорения запросов
d) Поле с текстовыми данными
Ответ: a) -
Как проверить, есть ли дубликаты в таблице?
a)SELECT COUNT(*) FROM users GROUP BY email HAVING COUNT(*) > 1
b)SELECT * FROM users WHERE duplicate=1
c)FIND DUPLICATES IN users
d)CHECK users FOR duplicates
Ответ: a)
Уязвимости и их устранение
-
Какая уязвимость возникает при неправильной настройке CORS?
a) Несанкционированный доступ к данным
b) XSS
c) SQL-инъекция
d) CSRF
Ответ: a) -
Что такое «жесткое кодирование» паролей?
a) Хранение паролей в открытом виде в коде
b) Шифрование паролей
c) Использование двухфакторной аутентификации
d) Генерация случайных паролей
Ответ: a) -
Как защититься от XSS?
a) Экранировать пользовательский ввод
b) Использовать HTTPS
c) Увеличить таймаут сессии
d) Добавить CAPTCHA
Ответ: a) -
Что такое «Broken Authentication»?
a) Уязвимость в системе аутентификации
b) Ошибка в базе данных
c) Проблема с производительностью
d) Некорректный дизайн
Ответ: a) -
Какая уязвимость связана с открытым доступом к S3-бакетам AWS?
a) Несанкционированный доступ к данным
b) CSRF
c) SQL-инъекция
d) XSS
Ответ: a)
Тестирование веб-приложений
-
Как проверить кросс-браузерную совместимость?
a) Запустить тесты в разных браузерах
b) Проверить скорость загрузки
c) Провести нагрузочное тестирование
d) Проверить дизайн в Figma
Ответ: a) -
Что такое «регрессионное тестирование»?
a) Проверка, что изменения не сломали существующий функционал
b) Тестирование безопасности
c) Тестирование производительности
d) Проверка UI/UX
Ответ: a) -
Как тестировать веб-форму?
a) Проверить валидацию полей и отправку данных
b) Измерить время загрузки
c) Проверить цвет шрифта
d) Убедиться, что форма соответствует макету
Ответ: a) -
Что такое «smoke-тестирование»?
a) Проверка базового функционала перед полноценным тестированием
b) Тестирование на нагрузку
c) Поиск уязвимостей
d) Ручное тестирование интерфейса
Ответ: a) -
Как проверить, что кнопка «Отправить» работает?
a) Нажать кнопку и убедиться, что данные отправлены
b) Проверить цвет кнопки
c) Измерить время отклика
d) Проверить текст на кнопке
Ответ: a)
Продолжение вопросов (51-100)
-
Что такое «фаззинг»?
a) Тестирование с использованием случайных данных
b) Тестирование производительности
c) Проверка безопасности
d) Ручное тестирование
Ответ: a) -
Какой инструмент используется для сканирования уязвимостей?
a) Nessus
b) Jira
c) Postman
d) Selenium
Ответ: a) -
Что такое «харденинг»?
a) Укрепление системы для снижения рисков
b) Ускорение работы приложения
c) Упрощение интерфейса
d) Тестирование нагрузки
Ответ: a) -
Какая уязвимость связана с открытым доступом к админке?
a) Некорректная аутентификация
b) XSS
c) SQL-инъекция
d) CSRF
Ответ: a) -
Что такое «заглушка» (mock) в тестировании?
a) Имитация объекта для тестирования
b) Ошибка в коде
c) Тестовый сценарий
d) Инструмент для нагрузки
Ответ: a) -
Как проверить, что файл загружается корректно?
a) Проверить расширение, размер и содержимое
b) Убедиться, что кнопка «Загрузить» видна
c) Измерить время загрузки
d) Проверить дизайн страницы
Ответ: a) -
Что такое «тестирование доступности»?
a) Проверка удобства для людей с ограниченными возможностями
b) Тестирование производительности
c) Проверка безопасности
d) Тестирование кросс-браузерности
Ответ: a) -
Какой метод HTTP используется для удаления данных?
a) DELETE
b) POST
c) PUT
d) GET
Ответ: a) -
Что такое «токенизация» в безопасности?
a) Замена конфиденциальных данных на токены
b) Шифрование паролей
c) Генерация OTP
d) Проверка CAPTCHA
Ответ: a) -
Какая уязвимость связана с отсутствием ограничений на количество запросов?
a) DoS (Denial of Service)
b) XSS
c) CSRF
d) SQL-инъекция
Ответ: a)
Продолжение вопросов (61-100)
-
Что такое «сессионный хайджекинг»?
a) Перехват сессии пользователя
b) Удаление данных из базы
c) Подмена DNS-записей
d) Атака на SSL-сертификат
Ответ: a) -
Как проверить, что HTTPS настроен корректно?
a) Проверить сертификат и отсутствие mixed content
b) Убедиться, что сайт открывается в Chrome
c) Измерить скорость загрузки
d) Проверить дизайн
Ответ: a) -
Что такое «заголовки безопасности»?
a) HTTP-заголовки для защиты от атак
b) Метатеги для SEO
c) Заголовки таблиц в базе данных
d) Заголовки в тест-кейсах
Ответ: a) -
Какая уязвимость связана с отсутствием резервного копирования?
a) Потеря данных
b) XSS
c) CSRF
d) SQL-инъекция
Ответ: a) -
Что такое «песочница» (sandbox) в тестировании?
a) Изолированная среда для безопасного выполнения кода
b) Тестовый сервер
c) Инструмент для нагрузки
d) Тип баг-репорта
Ответ: a) -
Как проверить, что пароль хранится в зашифрованном виде?
a) Проверить хэширование в базе данных
b) Посмотреть исходный код страницы
c) Убедиться, что пароль не отображается на экране
d) Спросить разработчика
Ответ: a) -
Что такое «виртуальный патч»?
a) Временное решение для устранения уязвимости
b) Обновление ПО
c) Тестовый сценарий
d) Инструмент для сканирования
Ответ: a) -
Какая уязвимость связана с отсутствием логирования?
a) Невозможность отследить атаки
b) XSS
c) CSRF
d) SQL-инъекция
Ответ: a) -
Что такое «фазз-тестирование»?
a) Тестирование с использованием некорректных данных
b) Проверка нагрузки
c) Тестирование безопасности
d) Ручное тестирование
Ответ: a) -
Как проверить, что CAPTCHA работает?
a) Попытаться отправить форму без ввода CAPTCHA
b) Проверить дизайн CAPTCHA
c) Измерить время генерации
d) Убедиться, что CAPTCHA отображается
Ответ: a)
Продолжение вопросов (71-100)
-
Что такое «логический бомб»?
a) Код, выполняющий вредные действия при определенных условиях
b) Уязвимость в базе данных
c) Ошибка в интерфейсе
d) Тип нагрузочного тестирования
Ответ: a) -
Какая уязвимость связана с отсутствием обновлений ПО?
a) Устаревшие зависимости с известными уязвимостями
b) XSS
c) CSRF
d) SQL-инъекция
Ответ: a) -
Что такое «белый ящик» тестирование?
a) Тестирование с доступом к исходному коду
b) Тестирование без доступа к коду
c) Тестирование безопасности
d) Тестирование производительности
Ответ: a) -
Как проверить, что файл конфигурации не содержит паролей?
a) Проверить файл на наличие секретов
b) Спросить у разработчика
c) Удалить файл и перезагрузить приложение
d) Проверить права доступа
Ответ: a) -
Что такое «межсайтовый скриптинг»?
a) XSS
b) CSRF
c) SQL-инъекция
d) IDOR
Ответ: a) -
Какая уязвимость связана с отсутствием ограничений на права доступа?
a) Broken Access Control
b) XSS
c) CSRF
d) SQL-инъекция
Ответ: a) -
Что такое «тестирование на проникновение»?
a) Поиск уязвимостей путем симуляции атак
b) Тестирование производительности
c) Ручное тестирование интерфейса
d) Проверка документации
Ответ: a) -
Как проверить, что кэширование не сохраняет конфиденциальные данные?
a) Проверить заголовки Cache-Control и содержимое кэша
b) Удалить кэш браузера
c) Перезагрузить сервер
d) Проверить дизайн страницы
Ответ: a) -
Что такое «злоумышленник в середине»?
a) MITM-атака
b) CSRF
c) XSS
d) SQL-инъекция
Ответ: a) -
Как проверить, что загружаемый файл не содержит вредоносного кода?
a) Использовать антивирусный сканер
b) Проверить расширение файла
c) Убедиться, что файл не превышает 1 МБ
d) Спросить пользователя
Ответ: a)
Продолжение вопросов (81-100)
-
Что такое «безопасное хэширование»?
a) Использование алгоритмов вроде bcrypt для хранения паролей
b) Шифрование данных AES
c) Генерация токенов
d) Проверка сертификатов
Ответ: a) -
Какая уязвимость связана с отсутствием валидации ввода?
a) SQL-инъекция, XSS
b) CSRF
c) IDOR
d) Broken Authentication
Ответ: a) -
Что такое «рекомендации OWASP»?
a) Список лучших практик для безопасности веб-приложений
b) Инструкция по тестированию API
c) Документация по Agile
d) Руководство по SQL
Ответ: a) -
Как проверить, что CORS настроен правильно?
a) Убедиться, что домены в заголовках соответствуют разрешенным
b) Проверить скорость ответа сервера
c) Измерить время загрузки страницы
d) Проверить дизайн интерфейса
Ответ: a) -
Что такое «заголовок X-Content-Type-Options»?
a) Защита от MIME-тип атак
b) Блокировка XSS
c) Предотвращение кликджекинга
d) Защита от CSRF
Ответ: a) -
Какая уязвимость связана с отсутствием резервирования DNS?
a) Подмена DNS-записей
b) XSS
c) CSRF
d) SQL-инъекция
Ответ: a) -
Что такое «тестирование на отказ»?
a) Проверка работы системы при отказе компонентов
b) Тестирование безопасности
c) Проверка UI/UX
d) Тестирование производительности
Ответ: a) -
Как проверить, что сессия завершается после выхода?
a) Проверить, что куки удаляются или инвалидируются
b) Убедиться, что кнопка «Выйти» видна
c) Перезагрузить сервер
d) Проверить логи
Ответ: a) -
Что такое «шифрование на стороне клиента»?
a) Данные шифруются до отправки на сервер
b) Шифрование в базе данных
c) Использование HTTPS
d) Генерация токенов
Ответ: a) -
Какая уязвимость связана с отсутствием ограничений на API-ключи?
a) Неограниченный доступ к данным
b) XSS
c) CSRF
d) SQL-инъекция
Ответ: a)
Продолжение вопросов (91-100)
-
Что такое «политика паролей»?
a) Требования к сложности и сроку действия паролей
b) Документация по тестированию
c) Инструкция по установке ПО
d) План нагрузочного тестирования
Ответ: a) -
Как проверить, что двухфакторная аутентификация работает?
a) Попытаться войти без второго фактора
b) Убедиться, что QR-код отображается
c) Проверить время отправки кода
d) Спросить пользователя
Ответ: a) -
Что такое «сброс пароля»?
a) Процедура восстановления доступа через email/SMS
b) Удаление пользователя из базы данных
c) Блокировка аккаунта
d) Изменение пароля администратором
Ответ: a) -
Какая уязвимость связана с открытым доступом к логам?
a) Утечка конфиденциальных данных
b) XSS
c) CSRF
d) SQL-инъекция
Ответ: a) -
Что такое «токен доступа»?
a) Краткосрочный ключ для авторизации
b) Пароль пользователя
c) API-ключ
d) Хэш пароля
Ответ: a) -
Как проверить, что загружаемые файлы не выполняются как скрипты?
a) Проверить MIME-типы и права доступа
b) Убедиться, что файл не превышает 10 МБ
c) Проверить расширение файла
d) Спросить разработчика
Ответ: a) -
Что такое «заголовок Content-Security-Policy»?
a) Защита от внедрения вредоносных скриптов
b) Блокировка XSS
c) Предотвращение кликджекинга
d) Защита от CSRF
Ответ: a) -
Какая уязвимость связана с отсутствием проверки прав доступа к файлам?
a) Несанкционированный доступ к файлам
b) XSS
c) CSRF
d) SQL-инъекция
Ответ: a) -
Что такое «тестирование на соответствие стандартам»?
a) Проверка соблюдения GDPR, PCI DSS и других норм
b) Тестирование производительности
c) Проверка UI/UX
d) Ручное тестирование
Ответ: a) -
Как проверить, что данные передаются только по HTTPS?
a) Проверить заголовки и сертификаты
b) Измерить скорость загрузки
c) Убедиться, что сайт открывается в Chrome
d) Проверить дизайн страницы
Ответ: a)
Основы тестирования
-
Что такое тестирование ПО?
Ответ: Процесс проверки соответствия продукта требованиям и выявления дефектов. -
В чем разница между верификацией и валидацией?
Ответ:- Верификация — проверка, что продукт соответствует спецификациям.
- Валидация — проверка, что продукт удовлетворяет потребностям пользователя.
-
Что такое регрессионное тестирование?
Ответ: Проверка, что изменения в коде не сломали существующий функционал. -
Какие существуют уровни тестирования?
Ответ:- Модульное (Unit)
- Интеграционное
- Системное
- Приемочное (User Acceptance Testing, UAT)
-
Что такое smoke-тестирование?
Ответ: Базовая проверка ключевых функций перед полноценным тестированием.
Типы тестирования
-
Что проверяет нагрузочное тестирование?
Ответ: Поведение системы под высокой нагрузкой (например, 1000 пользователей). -
В чем разница между black-box и white-box тестированием?
Ответ:- Black-box — тестирование без доступа к коду.
- White-box — тестирование с анализом исходного кода.
-
Что такое тестирование безопасности?
Ответ: Поиск уязвимостей (например, SQL-инъекций, XSS). -
Что такое тестирование удобства использования (Usability Testing)?
Ответ: Проверка интуитивности интерфейса для пользователей. -
Что такое адаптивное тестирование?
Ответ: Проверка отображения сайта на разных устройствах и разрешениях.
Документация и процессы
-
Что такое тест-кейс?
Ответ: Документ с шагами, входными данными и ожидаемым результатом для проверки функционала. -
Что такое чек-лист?
Ответ: Список проверок для быстрого тестирования без детальных шагов. -
Что такое баг-репорт?
Ответ: Документ, описывающий ошибку: шаги, ожидаемый и фактический результат, приоритет. -
Что такое Severity и Priority в баг-репорте?
Ответ:- Severity — влияние бага на систему (Blocker, Critical, Major, Minor).
- Priority — срочность исправления (Urgent, High, Medium, Low).
-
Что такое RTM (Requirement Traceability Matrix)?
Ответ: Таблица, связывающая требования с тест-кейсами для проверки покрытия.
Инструменты
-
Какие инструменты используются для автоматизации тестирования?
Ответ: Selenium, Appium, Cypress, Postman, JMeter. -
Для чего нужен Jira?
Ответ: Для управления задачами, баг-трекинга и планирования спринтов. -
Что такое Postman?
Ответ: Инструмент для тестирования API (отправка запросов, проверка ответов). -
Какие инструменты используются для нагрузочного тестирования?
Ответ: JMeter, LoadRunner, Gatling. -
Что такое OWASP ZAP?
Ответ: Инструмент для поиска уязвимостей безопасности в веб-приложениях.
Автоматизация
-
Что такое CI/CD?
Ответ: Непрерывная интеграция (CI) и доставка (CD) — автоматизация сборки, тестирования и деплоя. -
Какие языки программирования популярны для автоматизации тестов?
Ответ: Python, Java, JavaScript, C#. -
Что такое Selenium?
Ответ: Фреймворк для автоматизации тестирования веб-интерфейсов. -
Что такое BDD (Behavior-Driven Development)?
Ответ: Подход, где тесты пишутся на естественном языке (например, с использованием Cucumber). -
Что такое Page Object Model (POM)?
Ответ: Паттерн для организации автотестов, где каждый элемент интерфейса описывается как объект.
Agile и команда
-
Как тестировщик участвует в Agile?
Ответ: Пишет тесты для user story, участвует в планировании спринта, проверяет задачи на соответствие критериям. -
Что такое Definition of Done (DoD)?
Ответ: Критерии, которые должны быть выполнены для завершения задачи (например, "пройдены все тесты"). -
Что такое Sprint Retrospective?
Ответ: Встреча команды для анализа итогов спринта и улучшения процессов. -
Кто такой Product Owner в Scrum?
Ответ: Представитель заказчика, отвечающий за приоритизацию задач. -
Как тестировщик взаимодействует с разработчиками?
Ответ: Сообщает об ошибках, уточняет требования, проверяет исправления.
Безопасность
-
Что такое SQL-инъекция?
Ответ: Атака, где злоумышленник внедряет SQL-код через форму ввода. -
Как защититься от XSS?
Ответ: Экранирование пользовательского ввода, использование Content Security Policy (CSP). -
Что такое CSRF?
Ответ: Атака, при которой пользователь выполняет нежелательные действия на сайте без его ведома. -
Что такое OWASP Top 10?
Ответ: Список наиболее критичных уязвимостей веб-приложений. -
Как проверить SSL-сертификат сайта?
Ответ: Использовать инструменты вроде SSL Labs' SSL Test или проверить дату истечения.
API и базы данных
-
Что такое REST API?
Ответ: Архитектура обмена данными через HTTP-запросы (GET, POST, PUT, DELETE). -
Как проверить ответ API в Postman?
Ответ: Проверить статус-код (200, 404, 500), структуру JSON/XML, время ответа. -
Что такое SQL-запрос SELECT?
Ответ: Команда для выборки данных из таблицы базы данных. -
Как проверить целостность данных в БД?
Ответ: Написать запросы для проверки связей между таблицами и отсутствия дубликатов. -
Что такое NoSQL-инъекция?
Ответ: Атака на базы данных NoSQL через уязвимости в запросах.
Продвинутые темы
-
Что такое тестирование на проникновение (Penetration Testing)?
Ответ: Симуляция атаки на систему для выявления уязвимостей. -
Что такое тестирование доступности?
Ответ: Проверка, что приложение удобно для людей с ограниченными возможностями. -
Что такое Shift Left Testing?
Ответ: Подход, при котором тестирование начинается на ранних этапах разработки. -
Что такое тестирование микросервисов?
Ответ: Проверка взаимодействия сервисов в распределенной системе. -
Что такое тестирование AI/ML-систем?
Ответ: Проверка точности моделей, обработки граничных случаев, устойчивости к шуму.
Soft Skills
-
Как тестировщику общаться с разработчиками при конфликтах?
Ответ: Артикулировать проблемы фактами, предлагать решения, а не критиковать. -
Как приоритизировать тест-кейсы?
Ответ: По критичности функционала, частоте использования, бизнес-риску. -
Что делать, если сроки тестирования сжаты?
Ответ: Сфокусироваться на критичных сценариях, использовать рискованный подход. -
Как доказать, что баг требует исправления?
Ответ: Привести примеры влияния на пользователя, бизнес-процессы или безопасность. -
Как тестировщику развивать карьеру?
Ответ: Изучать автоматизацию, углубляться в security/performance-тестирование, брать на себя роль лидера.
Кейс для тестировщика ПО: "Тестирование интернет-магазина 'ShopEasy'"
Уровень сложности: Junior/Middle/Senior (задания адаптируются под уровень)
Описание проекта:
Интернет-магазин «ShopEasy» позволяет пользователям:
- Регистрироваться и авторизоваться.
- Просматривать каталог товаров с фильтрами.
- Добавлять товары в корзину и оформлять заказ.
- Оплачивать заказы через платежный шлюз.
- Оставлять отзывы о товарах.
Цель кейса:
Проверить функциональность, безопасность и производительность системы.
Задачи для тестировщика
1. Функциональное тестирование (Junior)
- Задача: Проверить процесс оформления заказа.
- Шаги:
- Добавить товар в корзину.
- Указать невалидные данные (например, отрицательное количество товара).
- Проверить обработку ошибок.
- Успешно оформить заказ с валидными данными.
- Ожидаемый результат:
- Система блокирует невалидные действия, корректно завершает успешный заказ.
- Шаги:
2. Тестирование безопасности (Middle)
- Задача: Проверить уязвимости в форме авторизации.
- Действия:
- Попытаться войти с неверным паролем 10 раз.
- Проверить наличие CAPTCHA после 3 неудачных попыток.
- Проверить защиту от SQL-инъекций (например, ввести
' OR 1=1--
).
- Ожидаемый результат:
- CAPTCHA активируется, SQL-инъекции блокируются.
- Действия:
3. Автоматизация тестирования (Middle/Senior)
- Задача: Написать автотест для проверки добавления товара в корзину.
- Инструменты: Selenium, Python/Pytest.
- Ожидаемый результат:
- Скрипт автоматически добавляет товар, проверяет его наличие в корзине.
4. Нагрузочное тестирование (Senior)
- Задача: Проверить производительность при одновременной оплате 1000 заказов.
- Инструменты: JMeter.
- Ожидаемый результат:
- Система обрабатывает нагрузку без ошибок, время ответа < 2 сек.
5. Тестирование API (Middle)
- Задача: Проверить эндпоинт
/api/orders
(метод GET).- Действия:
- Отправить запрос без токена авторизации.
- Проверить структуру ответа (JSON) для авторизованного пользователя.
- Ожидаемый результат:
- Без токена возвращается
401 Unauthorized
, данные корректны.
- Без токена возвращается
- Действия:
Дополнительные задания (для Senior):
- Тестирование на проникновение:
- Проверить, можно ли получить доступ к чужому заказу через ID в URL (уязвимость IDOR).
- Анализ логов:
- Найти утечку данных в логах при ошибке оплаты.
Итоговый отчет должен включать:
- Список обнаруженных багов с приоритетами (например, Critical: уязвимость SQL-инъекции).
- Рекомендации по улучшению безопасности (например, добавить ограничение на количество запросов).
- Автотесты с отчетом о покрытии.
Пример баг-репорта (для Junior):
- Название: Невозможно оформить заказ с пустой корзиной.
- Шаги:
- Перейти в корзину.
- Удалить все товары.
- Нажать «Оформить заказ».
- Фактический результат: Кнопка «Оформить» неактивна.
- Ожидаемый результат: Кнопка заблокирована, отображается сообщение «Корзина пуста».
Этот кейс позволяет оценить навыки тестировщика на разных уровнях:
- Junior: Ручное тестирование, документирование.
- Middle: Автоматизация, API, безопасность.
- Senior: Нагрузочное тестирование, глубокий анализ уязвимостей.
Junior-роли (базовые навыки, работа под руководством)
-
Тестировщик функционала регистрации
Задача: Проверить корректность работы формы регистрации (валидация полей, обработка ошибок).
Требования: Умение писать тест-кейсы, работать с баг-трекером (Jira). -
Специалист по тестированию UI
Задача: Проверить отображение элементов интерфейса в разных браузерах.
Требования: Знание инструментов вроде BrowserStack, понимание кросс-браузерного тестирования. -
Аналитик требований
Задача: Составить чек-лист для тестирования на основе технического задания.
Требования: Умение анализировать документацию. -
Тестировщик мобильных приложений
Задача: Проверить базовые функции приложения (например, авторизация, переходы между экранами).
Требования: Работа с эмуляторами (Android Studio/Xcode). -
Специалист по ручному тестированию
Задача: Выполнить smoke-тестирование новой версии приложения.
Требования: Понимание жизненного цикла разработки ПО. -
Тестировщик API (базовый уровень)
Задача: Проверить GET-запросы в Postman (статусы ответов, структура JSON).
Требования: Знание основ REST API. -
Документатор
Задача: Оформить баг-репорты с приоритезацией и скриншотами.
Требования: Умение работать с шаблонами баг-репортов. -
Тестировщик безопасности (начальный уровень)
Задача: Проверить наличие базовых уязвимостей (например, XSS в форме ввода).
Требования: Знание OWASP Top 10. -
Специалист по регрессионному тестированию
Задача: Проверить, что обновление не сломало старый функционал.
Требования: Умение работать с чек-листами. -
Тестировщик баз данных
Задача: Проверить корректность сохранения данных в SQL-таблицах.
Требования: Базовые знания SQL.
Middle-роли (самостоятельная работа, углубленные навыки)
-
Автоматизатор тестирования
Задача: Написать автотесты для критичных сценариев (например, оплата заказа).
Требования: Знание Selenium/Pytest, Python/Java. -
Специалист по нагрузочному тестированию
Задача: Настроить сценарий в JMeter для проверки работы системы под нагрузкой.
Требования: Понимание метрик (TPS, latency). -
Тестировщик API (продвинутый уровень)
Задача: Проверить аутентификацию через OAuth 2.0 и обработку ошибок.
Требования: Умение работать с токенами, Postman. -
Специалист по безопасности
Задача: Провести анализ уязвимостей (SQL-инъекции, CSRF).
Требования: Знание инструментов OWASP ZAP/Burp Suite. -
Интеграционный тестировщик
Задача: Проверить взаимодействие микросервисов в системе.
Требования: Понимание архитектуры клиент-сервер. -
Тестировщик в Agile-команде
Задача: Участвовать в планировании спринта, писать тесты для user story.
Требования: Знание Scrum/Kanban. -
Специалист по тестированию мобильных приложений (продвинутый)
Задача: Проверить работу приложения в условиях слабого интернета.
Требования: Инструменты вроде Charles Proxy для эмуляции сетевых условий. -
Тестировщик производительности
Задача: Проанализировать время ответа сервера и оптимизировать запросы.
Требования: Умение работать с профилировщиками (например, YourKit). -
Специалист по тестированию IoT-устройств
Задача: Проверить синхронизацию данных между устройством и приложением.
Требования: Знание протоколов MQTT/CoAP. -
Тестировщик AI/ML-систем
Задача: Проверить корректность работы алгоритмов рекомендаций.
Требования: Понимание метрик качества моделей (precision, recall).
Senior-роли (стратегия, управление, экспертиза)
-
Главный тестировщик (QA Lead)
Задача: Разработать стратегию тестирования для проекта, распределить задачи в команде.
Требования: Опыт управления командами, знание рисков. -
Специалист по тестированию безопасности (эксперт)
Задача: Провести аудит системы на соответствие стандартам (ISO 27001, GDPR).
Требования: Сертификации (CEH, OSCP). -
Архитектор тестирования
Задача: Спроектировать фреймворк для автоматизации тестирования.
Требования: Глубокое знание CI/CD (Jenkins/GitLab CI). -
Консультант по DevOps-тестированию
Задача: Интегрировать тесты в CI/CD-пайплайн.
Требования: Знание Docker, Kubernetes. -
Специалист по тестированию блокчейн-систем
Задача: Проверить уязвимости смарт-контрактов.
Требования: Понимание Solidity, инструментов вроде Mythril. -
Эксперт по тестированию embedded-систем
Задача: Проверить работу ПО на аппаратных устройствах (например, роботы).
Требования: Знание C/C++, работы с железом. -
Тестировщик высоконагруженных систем
Задача: Провести стресс-тестирование для системы с миллионом пользователей.
Требования: Опыт с инструментами вроде Gatling/LoadRunner. -
Специалист по тестированию игр
Задача: Проверить балансировку игровой экономики и работу мультиплеера.
Требования: Знание игровых движков (Unity, Unreal Engine). -
Руководитель QA-отдела
Задача: Выстроить процессы тестирования в компании, внедрить стандарты.
Требования: Управленческие навыки, знание ISO/IEC 25010. -
Эксперт по тестированию AI-систем (Highload)
Задача: Проверить отказоустойчивость нейросети при обработке больших данных.
Требования: Знание TensorFlow/PyTorch, Big Data.
Нет элементов для просмотра