Logo
TGCATALOG
Каталог Подборки Блог
Тестировщик | Вопросы собесов

Тестировщик | Вопросы собесов

Вопросы собеседований для тестировщиков.

Нет оценок
427
31.10.2026
427
31.10.2026
Нет оценок
427
31.10.2026
Безопасный переход через бот
О канале

Вопросы собеседований для тестировщиков.

Подписчиков 12,093
Тематика Технологии
Язык Русский
Ссылка t.me/easy_qa_ru

Также рекомендуем

Kekaton AI | Озвучка и клон голоса
Kekaton AI | Озвучка и клон голоса
Бот

AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.

Описание

Вопросы по тестированию: ISTQB, Selenium, API. С примерами.

Последние посты

Тестировщик | Вопросы собесов
Тестировщик | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Как бы провел автоматизацию валидации имейла (кейса)? Автоматизация валидации email-адреса — это важная задача в тестировании, так как неправильный ввод email может привести к проблемам с регистрацией, авторизацией или отправкой уведомлений. Я бы провел автоматизацию следующим образом: 🟠Определение требований и правил валидации Прежде чем писать тесты, нужно понять, какие требования предъявляются к email. Обычно email должен: Содержать "@" и "." Иметь корректную структуру ([email protected]) Не содержать запрещенные символы (например, пробелы, кириллицу) Не быть слишком коротким ([email protected] — невалидно) Не быть слишком длинным (например, > 320 символов) Соответствовать формату регулярного выражения (RFC 5322) Пример регулярного выражения для валидации email: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ 🟠Написание автоматических тестов Я бы реализовал тестирование с помощью Selenium + Pytest или JUnit/TestNG в Java. import pytest from selenium import webdriver from selenium.webdriver.common.by import By @pytest.fixture def driver(): driver = webdriver.Chrome() driver.get("Ссылка скрыта # Открываем страницу регистрации yield driver driver.quit() @pytest.mark.parametrize("email, expected", [ ("[email protected]", True), # Валидный email ("invalid-email.com", False), # Нет "@" ("@nodomain.com", False), # Нет имени ("[email protected]", False), # Нет домена ("[email protected]", False), # Двойная точка ("[email protected]", False), # Слишком короткое доменное расширение ]) def test_email_validation(driver, email, expected): email_input = driver.find_element(By.NAME, "email") submit_button = driver.find_element(By.NAME, "submit") email_input.clear() email_input.send_keys(email) submit_button.click() error_message = driver.find_element(By.ID, "email-error") if expected: assert error_message.is_displayed() is False, f"Ошибка для валидного email: {email}" else: assert error_message.is_displayed() is True, f"Нет ошибки для невалидного email: {email}" 🟠Проверка на сервере (API-тестирование) Помимо UI, нужно проверять валидацию на сервере через API-запросы. Пример API-теста с Postman + Newman или RestAssured в Java import pytest import requests BASE_URL = "Ссылка скрыта @pytest.mark.parametrize("email, expected_status", [ ("[email protected]", 200), ("invalid-email.com", 400), ("[email protected]", 400), ]) def test_email_validation_api(email, expected_status): response = requests.post(BASE_URL, json={"email": email}) assert response.status_code == expected_status 🟠Интеграция тестов в CI/CD Чтобы автоматические тесты запускались регулярно, их можно интегрировать в Jenkins, GitHub Actions, GitLab CI. name: Run Email Validation Tests on: push: branches: - main jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v3 with: python-version: '3.9' - name: Install dependencies run: pip install -r requirements.txt - name: Run tests run: pytest tests/ Ставь 👍 и забирай 📚 Базу знаний
Тестировщик | Вопросы собесов
Тестировщик | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Какие направления данных используются у REST? В REST (Representational State Transfer) используются три основных направления передачи данных между клиентом и сервером. Эти направления определяют, как данные передаются и используются в процессе взаимодействия. 🚩Передача данных от клиента к серверу (Request Data) Клиент отправляет данные серверу для выполнения определенных операций, таких как создание, обновление или удаление ресурсов. GET /products?category=electronics&sort=price_asc 🟠Пути запроса (Path Parameters) - Данные передаются как часть URL. - Используются для указания конкретного ресурса. GET /products/123 🟠Тело запроса (Request Body) - Данные передаются в основном для POST, PUT, PATCH запросов. - Используются для передачи сложных структур данных. - Форматы: JSON, XML, форматы форм (form-data, x-www-form-urlencoded). POST /users { "name": "John Doe", "email": "[email protected]" } 🚩Передача данных от сервера к клиенту (Response Data) Сервер возвращает данные клиенту в ответ на его запрос. 🟠Способы передачи данных - Тело ответа (Response Body): - Основной способ передачи данных. - Формат обычно JSON или XML. { "id": 123, "name": "Smartphone", "price": 499.99 } 🟠Заголовки ответа (Response Headers): - Передают метаинформацию о запросе или ответе. - Примеры: Content-Type, Authorization, Cache-Control. Content-Type: application/json 🟠Статус ответа (Response Status) - HTTP-коды состояния указывают результат операции. - Примеры: - 200 OK — успешный запрос. - 201 Created — ресурс успешно создан. - 404 Not Found — ресурс не найден. - 500 Internal Server Error — внутренняя ошибка сервера. 🚩Двусторонняя передача данных (Real-time Communication) В REST взаимодействие обычно происходит по запросу-ответу, но в некоторых случаях требуется поддерживать двустороннюю связь между клиентом и сервером. 🟠Long Polling Клиент отправляет запрос и ожидает ответа от сервера. Сервер отвечает только при наличии новых данных. Используется для чатов, уведомлений. 🟠WebSockets (не REST, но часто совместно используется): Устанавливается постоянное соединение между клиентом и сервером. Сервер может отправлять данные клиенту без явного запроса. Пример: уведомления, онлайн-игры. 🟠Server-Sent Events (SSE): Сервер отправляет данные клиенту в режиме реального времени через HTTP. Ставь 👍 и забирай 📚 Базу знаний
Тестировщик | Вопросы собесов
Тестировщик | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Что будет в билде на альфа-тестировании? Альфа-тестирование – это первая фаза тестирования перед бета-релизом, которая проводится внутри компании. Билд на этом этапе может быть нестабильным, но уже включает основные функции для тестирования. 🚩Что включает билд на альфа-тестировании? Основной функционал – ключевые функции уже работают, но могут быть недочёты. Отладочная информация – логирование, дебаг-панели, метрики для диагностики багов. Известные баги – разработчики могут оставить список проблем, которые ещё не исправлены. Тестовые данные – могут быть заглушки вместо реальных данных (фейковые платежи, тестовые аккаунты). Функции в разработке – некоторые части могут быть недоделаны или отключены. Инструменты отладки – иногда включаются специальные команды для тестирования. 🚩Что тестируется на альфа-версии? Критические баги – краши, зависания, ошибки работы системы. Основной функционал – соответствие требованиям, корректность логики. Производительность – скорость работы, потребление памяти, нагрузка. Интеграции – взаимодействие с API, базами данных, сторонними сервисами. UI/UX – базовая проверка интерфейса, удобство использования. 🚩Кто тестирует альфа-билд? QA-инженеры – проводят основное тестирование. Разработчики – могут тестировать функции перед передачей QA. Менеджеры, аналитики – проверяют соответствие требованиям. Ставь 👍 и забирай 📚 Базу знаний
Тестировщик | Вопросы собесов
Тестировщик | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Чем отличается тестирование монолитного бэкенда и тестирование схемы веб сервисов? Тестирование монолитного бэкенда и сети веб-сервисов (микросервисной архитектуры) сильно различается из-за их архитектурных особенностей. 🚩Тестирование монолитного бэкенда Монолит – это единое приложение, где вся логика, база данных и API находятся в одном коде. 🟠Фокус на функциональном тестировании Проверяем, работает ли бэкенд как единое целое (API, БД, бизнес-логика). 🟠Юнит-тестирование (Unit Tests) Проверяем отдельные функции и классы (обычно через pytest, JUnit). 🟠Интеграционные тесты (Integration Tests) Проверяем связь между слоями (БД, API, бизнес-логика). 🟠Проще дебажить Весь код в одном месте, можно легко найти ошибку. def test_login(api_client): response = api_client.post("/login", json={"user": "admin", "pass": "123"}) assert response.status_code == 200 🚩Тестирование схемы веб-сервисов (микросервисов) В микросервисной архитектуре каждый сервис – отдельное приложение, взаимодействующее через API. 🟠Тестирование API-коммуникаций Проверяем REST или gRPC-запросы между сервисами. 🟠Контрактное тестирование (Contract Testing, Pact) Проверяем, что микросервисы обмениваются данными по заданному контракту. 🟠End-to-End (E2E) тестирование Проверяем, что все сервисы вместе работают корректно. 🟠Мониторинг и логирование Используем Jaeger, Prometheus для отслеживания ошибок между сервисами. 🟠Тестирование отказоустойчивости Проверяем, что система работает при сбоях (Chaos Monkey). import requests def test_order_service(): response = requests.get("Ссылка скрыта assert response.status_code == 200 Ставь 👍 и забирай 📚 Базу знаний
Тестировщик | Вопросы собесов
Тестировщик | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Как составлять traceability matrix? Матрица трассируемости — таблица, показывающая связь требований и тестов: - строки: требования; - столбцы: тест-кейсы; - на пересечениях — метки (покрыто/не покрыто); Она помогает убедиться, что все требования протестированы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Тестировщик | Вопросы собесов
Тестировщик | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Сгенерируй тесты тестирования поля ввода телефона 🚩Позитивные тесты (валидные данные) TC-01 Ввод корректного номера в формате +7 999 123-45-67 → Должен приниматься TC-02 Ввод номера без пробелов и дефисов +79991234567 → Должен приниматься TC-03 Ввод номера в международном формате +1 650-555-1234 → Должен приниматься TC-04 Ввод номера с кодом страны без + (например, 79991234567) → Должен приниматься 🚩Негативные тесты (невалидные данные) TC-05 Ввод букв (+7 ABC DEFGHIJ) → Должно быть сообщение об ошибке TC-06 Ввод специальных символов (+7 999 @#$%^&*()) → Ошибка валидации TC-07 Ввод номера без кода страны (9991234567) → Ошибка валидации TC-08 Ввод слишком короткого номера (+7 999 12) → Ошибка "недостаточно символов" TC-09 Ввод слишком длинного номера (+7 999 123-45-6789) → Ошибка "слишком много символов" TC-10 Ввод только пробелов (" ") → Ошибка "номер обязателен" TC-11 Ввод пустого значения → Ошибка "номер обязателен" 🚩Граничные значения (Boundary Value Analysis) TC-12 Ввод номера с минимально допустимой длиной (+7 999 1) → Ошибка "слишком короткий" TC-13 Ввод номера с максимально допустимой длиной (+7 999 123-45-67) → Должен приниматься TC-14 Ввод номера на 1 символ длиннее допустимого (+7 999 123-45-678) → Ошибка "слишком длинный" 🚩Проверка локализации TC-15 Ввод номера в другом национальном формате (например, UK +44 20 7946 0958) → Должно приниматься или отклоняться (в зависимости от требований) TC-16 Ошибка должна отображаться на языке интерфейса ("Некорректный номер" для RU, "Invalid phone number" для EN) Ставь 👍 и забирай 📚 Базу знаний
Тестировщик | Вопросы собесов
Тестировщик | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Что лежит под доменным именем? Под доменным именем находится IP-адрес сервера, на котором размещён сайт или приложение. DNS-система преобразует доменное имя в IP-адрес, чтобы браузер мог установить соединение с нужным хостом. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Тестировщик | Вопросы собесов
Тестировщик | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Какая вместимость SringBuilder? В классе StringBuilder есть понятие вместимости (capacity) — это количество символов, которые объект StringBuilder может вместить без необходимости выделения новой памяти. 🟠Как работает `capacity`? Когда создается объект StringBuilder, у него есть внутренняя буферная строка, которая может расти по мере добавления новых символов. Однако, чтобы не выделять память слишком часто, StringBuilder создает буфер с запасом. 🟠Как посмотреть текущую вместимость? Для этого есть метод StringBuilder sb = new StringBuilder("Hello"); System.out.println(sb.capacity()); // 21 (16 + 5) 🟠Как увеличить `capacity` вручную? Можно задать вместимость заранее через конструктор: StringBuilder sb = new StringBuilder(50); System.out.println(sb.capacity()); // 50 А если нужно увеличить уже существующий StringBuilder, можно использовать: sb.ensureCapacity(100); // Гарантирует вместимость 100 🟠Что происходит при превышении `capacity`? Когда длина строки превышает текущую вместимость, StringBuilder автоматически увеличивает размер буфера. Новая вместимость рассчитывается так: новая_вместимость = (текущая_вместимость * 2) + 2 Пример StringBuilder sb = new StringBuilder(10); sb.append("12345678901"); // 11 символов → превышает 10 System.out.println(sb.capacity()); // (10 * 2) + 2 = 22 Ставь 👍 и забирай 📚 Базу знаний
Тестировщик | Вопросы собесов
Тестировщик | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Как открыть гибридное приложение? Гибридные приложения открываются как обычные нативные, но содержат внутри WebView. Тестировать можно через инструменты, совместимые с веб и мобильной средой — например, Appium. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Тестировщик | Вопросы собесов
Динамика подписчиков
+-0.6% за 30 дней
Текущие
12,093
Месяц назад
12,168
Средний рост
+-3 / день
Обновлено
18 часов назад

Отзывы о канале Тестировщик | Вопросы собесов

Авторизуйтесь, чтобы оставить отзыв

Только зарегистрированные пользователи могут делиться своим мнением.

Пока нет отзывов

Станьте первым, кто поделится своим впечатлением об этом ресурсе!

Похожие ресурсы

Loading
Переход на светлую тему
Главная Каталог Подборки Блог Вход