Pull to refresh

Технические задания на собеседовании QA Junior+

Level of difficultyEasy
Reading time6 min
Views22K

Привет, Хабр! Меня зовут Иван, я в тестировании более 2-х лет. Начинал свой путь с курса Яндекс Практикума (подробнее в тг канале). Продолжаем разбирать вопросы и технические задания на собеседовании QA manual. Перед прочтением этой статьи рекомендую ознакомиться с моей предыдущей работой Какие вопросы я задаю на собеседовании QA Junior+

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

Хекслет - Как пройти собеседование на тестировщика: все этапы и вопросы.

Telegra.ph - Собеседование с QA. 250+ вопросов для Junior, Middle, Senior.

Test, Test, Test - Test-engineer Interview или QA_Bible

Практические задания

1. Написать чек-лист для функционала корзины в интернет-магазине.

Минимальный интерфейс корзины для реалистичности и погружения в сырой проект
Минимальный интерфейс корзины для реалистичности и погружения в сырой проект

Добавление товара в корзину

1

При нажатии на кнопку "Добавить в корзину" товар успешно добавляется в корзину

2

Количество выбранных товаров в корзине обновляется при изменении

3

Информация о товаре (название, цена, изображение) отображается корректно в корзине

Управление количеством товаров в корзине

4

Пользователь может изменять количество товаров в корзине (увеличивать или уменьшать)

5

Общая стоимость товаров в корзине автоматически пересчитывается при изменении количества

6

При уменьшении количества товаров до нуля, товар удаляется из корзины (проверка окна подтверждения "Удалить товар из корзины?")

Удаление товара из корзины

7

Пользователь может удалить товар из корзины

8

После удаления товара, общая стоимость товаров в корзине автоматически пересчитывается

Отображение информации о корзине

9

Корзина отображается на всех страницах сайта, где это необходимо

10

Информация о количестве товаров в корзине видна пользователю

11

Пользователь может перейти в корзину для просмотра и оформления заказа

Оформление заказа

12

Пользователь может перейти к оформлению заказа из корзины

13

При оформлении заказа, пользователь должен указать необходимую информацию (адрес доставки, контактные данные и т.д.)

14

Пользователь получает подтверждение о размещении заказа после успешного оформления

Отсутствие товара

15

При возникновении ошибок (например, отсутствие товара в наличии), пользователь получает соответствующее сообщение

16

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

2. Написать тестовые наборы данных для поля ввода даты, которое отсеивает пользователей в возрасте до 18 лет.

Для решения этого задания необходимо использовать технику тест-дизайна "Граничные значения" и сервис Калькулятор возраста

Дата проверки поля ввода на 04.01.2024

Дата

Возраст

Комментарий

05.03.2006

17 лет 10 месяцев 0 дней

За два месяца

04.02.2006

17 лет 11 месяцев 0 дней

За месяц

05.01.2006

17 лет 11 месяцев 30 дней

Значение около границы за пределами класса

04.01.2006

18 лет 0 месяцев 0 дней

Значение на самой границе

03.01.2006

18 лет 0 месяцев 1 день

Значение около границы за пределами класса

02.12.2005

18 лет 1 месяц 2 дня

Далеко за пределами значения

Можно добавить проверки на логику сравнения даты и месяца:

Дата

Возраст

Комментарии

04.01.2007

Проверяем дату рождения, но 17-летие

Дата рождения позже даты проверки

04.01.2005

Проверяем дату рождения, но 19-летие

Дата рождения раньше даты проверки

04.01.2024

Проверяем текущую дату рождения

Дата рождения совпадает с датой проверки

3. Протестировать «предмет» для различных видов тестирования. (Предмет — лифт, карандаш, калькулятор и т.д.)

Для начала необходимо спросить "Есть ли требования к карандашу?" Если вы пропустите этот вопрос и приступите к тестированию, то считай вы провалили задание.

- Требований нет.

1 шаг. Исследовательское тестирование на основе косвенных требований.

Мы знаем что должен делать карандаш - писать по бумаге, но с возможностью стереть данные ластиком. Карандаш может быть разной формы, цвета и жесткости:

✏️ Форма влияет на функционал и на удобство использования. Круглый скатится со стола, с гранями не должен "резать" руку, три грани слишком крупно и подойдет не для всех пользователей. Есть ли ластик на карандаше и выполняет он свою прямую функцию?

✏️ Цвет не влияет на функционал (говорим не про цвет графита, а про визуальную часть). Цвет не должен нести лишнюю информацию, кроме как визуального акцента или бренда компании;

✏️ Запах не должен быть специфичным;

✏️ Степень жесткости стержня влияет на функционал. Для художников, писателей и просто для конспектирования информации необходимы разные уровни жесткости.

2 шаг. Позитивное тестирование проверяет все функции, которые должен выполнять продукт:

✏️ Писать на разных видах бумаги;

✏️ Чертить под наклоном;

✏️ Растушевать набросок.

3 шаг. Негативное тестирование проверяет поведение функционала при нестандартных действиях:

✏️ Письмо на мокрой поверхности;

✏️ Письмо на лакированной бумаге;

✏️ Письмо на твердых предметах; В школе любят рисовать на партах и будет супер, если это сотрется с ДСП.

4 шаг. Тестирование локализации:

✏️ Писать на морозе! Я еще со студенческих времен помню, что ручка на морозе не пишет, а карандаш - пожалуйста :) В космосе...

✏️ Писать на жирных пятнах в тетради.

✏️ Писать справа налево. Письмо можно смазать рукой, если стержень карандаша мягкий.

✏️ Писать мелким шрифтом арабские, китайские символы. Мягкий карандаш с этим не справится.

5 шаг. Нагрузочное тестирование. Проверка в пределах допустимого:

✏️ Падение со стола;

✏️ Проверка степени давления на корпус;

✏️ Проверка степени давления на стержень;

✏️ Проверка давления на стержень под углом.

6 Шаг. Стресс-тестирование. Проверка за пределами допустимого:

✏️ Погрызть зубами. Крошится ли дерево и слезает краска.

✏️ Удар по карандашу с давлением. Например падение в пенале и в портфеле.

7 шаг. Тестирование совместимости:

✏️ Помещается ли в пенал;

✏️ Подходит ли по толщине под отверстия точилок;

✏️ Походит ли для большинства ластиков.

4. Есть веб-страница с полями: e-mail, password и кнопкой submit. Необходимо привести примеры отрицательных тест-кейсов, по которым можно проверить эту страницу.

Негативные проверки:

📂 Нажать на submit с пустыми полями
📂 Неверный формат e-mail
📂 Превышено кол-во символов e-mail
📂 Неверный формат password
📂 Превышено кол-во символов password
📂 Ввести верный e-mail, но неверный password
📂 Ввести верный password, но неверный e-mail
📂 Обновить страницу при заполнении полей

5. Предположим, что после нажатия кнопки submit страница перезагружается и ранее введенные данные исчезают. Как проверить, что информация отправлена ​​в базу данных?

Проверка запроса в сетевом журнале Network
Проверка запроса в сетевом журнале Network

Как проверить, что данные отправились на сервер, если у нас нет доступа к бэкенду?

Открываем Devtools; Cmd+Option+I | F12
Вкладка Network;
🔴 Стираем данные в сетевом журнале;
Нажимаем на submit повторно;
🔵 Проверяем, что в сетевом журнале появился запрос со статусом 200 ОК 🟢;
Payload, Preview, Respones

Второй вариант смотреть запись в БД:

SELECT * 
FROM table_name
ORDER BY id DESC
LIMIT 1
SELECT e-mail
FROM table_name 
WHERE e-mail = 'QAtoDev@gmail.com';
ORDER BY id DESC
LIMIT 1

6. Привести примеры тест-кейсов для функционала, находящегося на нескольких страницах проекта (например, поле поиска).

Проверка отображения Бургер-меню на странице Публикации;
Проверка нажатия на Профиль со страницы результатов поиска;
Проверка ввода данных в поле поиска на странице Профиля;
Проверка счетчика на кнопке Уведомления (Недавние действия);
Отображение окна "Позвоните нам" в правом нижнем углу веб-страницы.

Поле поиска

Проверить поиск со страницы 1 2 3 4 5

Проверить поиск находясь в профиле

Проверить поиск находясь в корзине

Проверить результаты поиска на странице 1 2 3 4 5

Отображение истории поиска на странице 1 2 3 4 5

Переход со страницы 1 2 3 4 5 на результат поиска

Возвращение из результата поиска на страницу 1 2 3 4 5

7. Поле username должно быть обязательным, но оно не обязательно. Приведите пример баг-репорта, созданного для этой ошибки.

Название
(Что? Где? Когда?)

Отсутствие обязательного ввода данных в поле username при регистрации.

ID

777

Приоритет

Средний

Прелусловие

Перейти на t.me/QAtoDev

Шаги:

Нажать "Войти"

Нажать "Еще нет акаунта"

Ввести email

Пропустить поле username

Ввести password

Нажать "Регистрация"

ОР

Уведомление об ошибке "Введите username"

ФР

Переход на страницу профиля...

Приложение

Скрин с веб-сайта, скрин из БД, скрин каст...

Исполнитель 1

Backend - сделать поле обязательным на уровне БД

Исполнитель 2

Frontend - отобразить маркер обязательного поля для заполнения + окно с предупреждением

8. Есть таблица books с полями: name, price, page_count. Нужно выбрать все имена книг, в которых price более 10 единиц и количество страниц от 20 до 100.

SELECT name 
FROM books 
WHERE price > 10 AND page_count BETWEEN 20 AND 100;

9. Задание на работу по SQL.

Извлечь номер телефона и адрес пользователя Ivan.

SELECT phone_number, address 
FROM users 
WHERE name = 'Ivan';

Вытащить данные о пользователях, имеющих сумму заказа более 2000.

SELECT * 
FROM users 
WHERE user_id IN ( 
  SELECT user_id 
  FROM orders 
  GROUP BY user_id 
  HAVING SUM(order_amount) > 2000 
);

Подсчитать количество заказов в таблице и общую сумму заказов.

SELECT COUNT(*) AS total_orders, SUM(order_amount) AS total_order_amount 
FROM orders;

10. На сайте dzodzo отображается эссе на тему "Будьте внимательны к своим мыслям – они начало поступков". Скопируй первый абзац эссе, используя Devtools.

Данным знанием мы проверяем знания вкладки Elements в Devtools. Скопировать обычным способом, путем выделения текста курсором не получиться.

Открываем Devtools; Cmd+Option+I | F12
Вкладка Elements;
🟢 Выбираем прицел и кликаем на первый абзац;
🟠 Раскрываем тег <p> и копируем текст.

11. На сайте dzodzo необходимо протестировать локализацию. Замени текст на английский и проверь отображение шрифта.

Повторяем шаги из задания 10;
Выделяем текст и заменяем его на другой;
Увеличиваем кол-во символов для проверки отображения верстки.

Итог

Решения технических задач точно пригодятся на собеседовании и для тех, кто их будет задавать:) Лично я задаю на собеседованиях тех.задания под номером 4, 5, 9, 10, 11.
Спасибо за изучение материала и заглядывайте в QAtoDev - там мы обсуждаем материалы из статей заранее и голосуем за темы следующих статей на Хабре.

Tags:
Hubs:
Total votes 16: ↑15 and ↓1+14
Comments24

Articles