

- Главная
- Каталог
- Интернет технологии
- Тестировщик | Вопросы собесов

Тестировщик | Вопросы собесов
Разбираем вопросы с собеседований на QA Тестировщика
Статистика канала
Полная статистикаchevron_right123456
, логин пройдет?
Нефункциональная проверка: Сайт выдержит 1000 пользователей одновременно?
🚩Методы проведения проверок
🟠Ручное тестирование
Проверки выполняются тестировщиком без автоматизированных инструментов. Используются чек-листы, тест-кейсы, exploratory testing.
Проверить, что кнопка "Заказать" работает на всех страницах.
Вручную протестировать корзину в интернет-магазине.
🟠Автоматизированное тестирование
Запуск тестов с помощью кода (Selenium, JUnit, PyTest, Cypress). Подходит для регрессионного тестирования и больших проектов.
@Test
public void testLogin() {
driver.get("https://example.com");
driver.findElement(By.id("username")).sendKeys("user");
driver.findElement(By.id("password")).sendKeys("pass");
driver.findElement(By.id("login")).click();
Assert.assertTrue(driver.getTitle().contains("Dashboard"));
}{}
Ставь 👍 и забирай 📚 Базу знанийOPTIONS
– это один из методов HTTP, который используется для получения информации о возможностях сервера или конкретного ресурса. Он не изменяет данные, а только сообщает, какие методы и заголовки поддерживаются.
🚩Как работает OPTIONS?
Запрос
OPTIONS /api/users HTTP/1.1
Host: example.com{}
Ответ сервера
HTTP/1.1 200 OK
Allow: GET, POST, PUT, DELETE, OPTIONS{}
🚩Где используется OPTIONS?
🟠CORS-запросы (Cross-Origin Resource Sharing)
Когда браузер делает кросс-доменные (cross-origin
) запросы, он сначала отправляет OPTIONS
(Preflight-запрос), чтобы проверить, разрешён ли доступ.
OPTIONS /api/data HTTP/1.1
Origin: https://example.com
Access-Control-Request-Method: POST
Access-Control-Request-Headers: Content-Type{}
Ответ сервера
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Methods: GET, POST
Access-Control-Allow-Headers: Content-Type{}
🟠Проверка API перед использованием
Можно запросить OPTIONS
, чтобы узнать, какие методы поддерживает API.
🟠Используется в REST API
Некоторые API используют OPTIONS
, чтобы сообщить клиенту о доступных ресурсах.
🚩Когда сервер должен обрабатывать OPTIONS?
Если сервер поддерживает кросс-доменные запросы или REST API, он должен отвечать на OPTIONS
, иначе браузер заблокирует запрос.
const express = require("express");
const app = express();
app.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
res.header("Access-Control-Allow-Headers", "Content-Type");
if (req.method === "OPTIONS") {
return res.sendStatus(204);
}
next();
});
app.listen(3000, () => console.log("Server started"));{}
Ставь 👍 и забирай 📚 Базу знанийНормальные формы (НФ) в реляционной базе данных (БД) — это набор правил и принципов, предназначенных для минимизации избыточности данных и предотвращения аномалий при обновлении. Они помогают строить хорошо структурированные и эффективные базы данных.
Требование:
Все атрибуты должны быть атомарными (неделимыми).
В таблице не должно быть повторяющихся строк (каждая строка должна иметь уникальный идентификатор – первичный ключ).
Требование:
Данные должны быть в 1НФ.
Все неключевые атрибуты должны зависеть от всего первичного ключа, а не от его части.
Требование:
Данные должны быть в 2НФ.
Все неключевые атрибуты должны зависеть только от первичного ключа и не зависеть друг от друга.
Это усиленная 3НФ:
Если есть несколько потенциальных ключей, все детерминирующие (определяющие) атрибуты должны быть ключами.
Убирает зависимости, которые не устраняются в 3НФ.
Убирает многозначные зависимости (если одна колонка зависит сразу от нескольких значений другой).
Устраняет зависимости соединения (когда данные логично разделены, но без соединения таблиц теряют смысл).
Ставь 👍 и забирай 📚 Базу знаний
Да, в HTTP-ответе (
response
) может не быть body. Это зависит от кода состояния (status code
) и заголовков ответа. 1xx (информационные)
– например, 100 Continue
, 101 Switching Protocols
(нет тела, так как это технические ответы). 204 No Content
– сервер обработал запрос, но ничего не возвращает. 304 Not Modified
– клиенту не нужно заново загружать ресурс (использует кэш). Если отправить
HEAD
-запрос, сервер должен вернуть только заголовки, без тела. HEAD /index.html HTTP/1.1
Host: example.com
Ответ
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 3456
Например, если API возвращает
202 Accepted
, подтверждая, что задача принята в обработку, но еще нет данных. В случае ошибки сервер может закрыть соединение без тела ответа (например, при
400 Bad Request
или 500 Internal Server Error
).Ставь 👍 и забирай 📚 Базу знаний
Кросс-браузерное тестирование проверяет, как веб-приложение работает в разных браузерах. Однако не только тип браузера важен – есть и другие критичные параметры:
Разные версии одного браузера могут по-разному рендерить элементы. Старые версии могут не поддерживать новые технологии (например, CSS Grid).
В Chrome 49 не поддерживается
ES6
, поэтому сайт с let/const
ломается. IE11 не понимает
flexbox
как современные браузеры. Одна и та же версия Chrome на Windows и macOS может рендерить страницу по-разному. В iOS все браузеры используют WebKit, а на Android – Chromium.
В Safari на macOS тени рендерятся иначе, чем в Windows.
В iOS Safari
position: fixed
ведёт себя нестабильно. На экранах с высокой плотностью пикселей (Retina, 4K) изображения могут быть размытыми.
Некоторые элементы могут обрезаться или неправильно адаптироваться.
Кнопка «Купить» на iPhone 13 (DPI 3x) может быть размыта из-за
src="logo.png"
без srcset
. На*1024×768px (старые ноутбуки) сайт может выглядеть сломанным.
Браузеры используют разные движки рендеринга:
Chromium (Chrome, Edge, Opera)
Gecko (Firefox)
WebKit (Safari, iOS)
В Firefox (Gecko)
:focus-visible
работает иначе, чем в Chrome (Blink). В Safari (WebKit)
backdrop-filter
работает, а в Firefox – нет. Некоторые браузеры не поддерживают современные JS и CSS API.
В IE11
fetch()
не работает без полифилов. В Safari 12
grid-template-areas
работает с багами.Ставь 👍 и забирай 📚 Базу знаний
Это два метода для поиска и выбора элементов на веб-странице, используемые в автоматизации тестирования (например, Selenium). Несмотря на их схожую задачу, они имеют принципиальные различия в синтаксисе, функциональности и применении.
CSS (Cascading Style Sheets Selectors)
CSS-селекторы используют правила, подобные тем, которые применяются в стилях CSS, для поиска элементов в DOM (Document Object Model). Пример:
div#header .menu-item
находит элемент с классом menu-item
, который находится внутри элемента с id header
. XPath (XML Path Language) XPath – это язык для навигации по XML и HTML-документам. Он позволяет находить элементы на основе их местоположения в иерархии. Пример: //div[@id='header']//a[text()='Home']
находит ссылку с текстом "Home", которая находится внутри элемента с id header
.CSS: Использует комбинации идентификаторов (id), классов (class), тегов и других атрибутов. Примеры:
#id
– элемент с определенным id..class
– элемент с определенным классом.div > p
– параграфы, находящиеся непосредственно внутри div.XPath: Более сложный, с поддержкой логических операций и функций.
Примеры:
//input[@type='text']
– находит все текстовые поля.//div[2]
– второй div на странице.//a[contains(@href, 'login')]
– ссылки, содержащие "login" в атрибуте href.CSS: Подходит для большинства сценариев поиска элементов. Не поддерживает переход "назад" по иерархии (например, нельзя найти родителя элемента). Работает быстрее в большинстве браузеров, так как это нативный метод.
XPath: Поддерживает сложные операции, такие как навигация к родителю (
..
) или выбор по тексту. Может перемещаться как вниз, так и вверх по дереву DOM. Не всегда стабилен в браузерах (особенно в старых версиях IE).Найти кнопку с текстом "Login":
CSS:
button.login
– кнопка с классом login
. XPath:
//button[text()='Login']
– кнопка с текстом "Login". Найти поле с определенным атрибутом:
CSS:
input[type='email']
– поле ввода с атрибутом type="email"
. XPath:
//input[@type='email']
– то же самое, но в XPath. Найти ссылку внутри определенного div:
CSS:
div#menu a
– все ссылки внутри div с id menu
. XPath:
//div[@id='menu']//a
– то же самое в XPath. Когда вы хотите быстрый и простой способ выбрать элементы. Для тестирования базовой функциональности и стабильных структур DOM.
Когда структура сложная, и нужно использовать функции (например, искать по тексту или атрибутам). Когда необходимо двигаться по DOM вверх или искать по сложным условиям.
Ставь 👍 и забирай 📚 Базу знаний
Статистика
Отзывы канала
Каталог Телеграм-каналов для нативных размещений
Тестировщик | Вопросы собесов — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 12.2K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 5.3, количество отзывов – 0, со средней оценкой 0.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 9650.34 ₽, а за 21 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий