Скидки до 28% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Код

Тест-дизайн в тестировании: что это такое?

Тестирование Время чтения статьи ~6 минут
Тест-дизайн в тестировании: что это такое? главное изображение

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

Автотестирование на JavaScript c нуля

Попробуйте себя с 5 бесплатных уроков

Что такое тест-дизайн?

Тест-дизайном называют процесс разработки методов и техник тестирования.

Его цель — оптимизировать проверку большого объема функций веб-приложения. Задача — выявить максимальное количество ошибок за минимальное время. Для этого специалисты составляют подробную документацию с уникальными сценариями тестирования.

Тест-дизайн опирается на общие принципы и логику тестирования и учитывает особенности продукта. Он включает в себя:

  • Оценку объема данных.
  • Определение наиболее подходящих способов тестирования.
  • Подбор тестовых данных.
  • Описание критериев успешного прохождения тестов.

Этапы тестирования

Специалисты выделяют три основных этапа тестирования:

  1. Подготовка. Тестировщики работают с имеющейся в документации информацией о веб-приложении и ищут дополнительные данные. На этом этапе им важно максимально точно определить потенциально проблемные области и функции продукта. Цель этапа — понять, в каких условиях будет проводиться тестирование, и корректно оценить необходимое на проверку время.
  2. Тестирование. Разработка тест-дизайна начинается, только когда тестировщик получил все данные о требованиях к работе веб-решения и имеет полное представление о его работе. На первом этапе специалисты составляют тест-кейсы и чек-листы, чтобы по пунктам проверить работу продукта и выяснить, насколько корректно решение работает в разных условиях.
  3. Анализ результатов тестирования. Тестировщики составляют подробную сводку о количестве критичных багов. Для сбора этих метрик эксперты разбивают функциональность на логические блоки, составляют карту для выделения на ней областей с наибольшим количеством ошибок. В будущем эти карты помогут сразу сфокусировать внимание на проблемных блоках.

QA-инженер с нуля до автоматизатора

Рекомендуем начать с бесплатных уроков

Какие техники тест-дизайна существуют?

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

Метод упрощает тестирование за счет деления входных данных на эквивалентные группы с однородными данными. Важное условие: с ними можно выполнить одну и ту же операцию. Способ позволяет минимизировать количество необходимых тестов и увеличивает процент покрытия.

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

  • Не выдавать кредиты клиентам в возрасте до 18 лет.
  • Выдавать кредиты клиентам с 18 до 65 лет.
  • Не выдавать кредиты клиентам от 65 до 100 лет.

Тестировщики проверяют поведение программы только в таких случаях:

  • Отказ в кредитовании при вводе любого значения в диапазоне от 0 до 18.
  • Отказ в предоставлении кредита при вводе любого значения в диапазоне от 65 до 100.
  • Одобрение кредита при вводе любого значения в диапазоне от 18 до 65.

Метод граничных значений

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

Пример: нам необходимо проверить работу поля для ввода возраста, где стоит  ограничение от 18 до 56. Чтобы убедиться в корректной обработке данных, тестировщики исследуют поведение решения при вводе только следующих значений:

Неправильного значения Минимальная величина - 1 17
Неправильного значения Максимальная величина +1 57
Правильного значения Граничных значений 18 и 56
Правильного значения Около граничных значений 19 и 55

Попарное, или комбинаторное, тестирование

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

Пример: нам необходимо проверить работу приложения для заказа автомобиля со следующими условиями:

  • Можно покупать и продавать автомобили в Москве и Петербурге.
  • В приложении должна содержаться информация о действительности или недействительности регистрационных номеров.
  • Через него можно продавать BMW, Audi и Mercedes.
  • Автомобиль можно забронировать онлайн или в магазине.
  • Заказать автомобиль можно только в рабочие часы.

Попарное тестирование включает следующие кейсы:

Марка авто Категория заказа Город Регистрационный номер Тип заказа Время заказа
BMW Покупка Москва Действительный Интернет Рабочие часы
BMW Продажа СПб Недействительный Магазин Нерабочие часы
BMW Покупка Москва Действительный Интернет Нерабочие часы
Audi Покупка СПб Действительный Магазин Рабочие часы
Audi Продажа Москва Недействительный Интернет Нерабочие часы
Audi Продажа СПб Недействительный Магазин Рабочие часы
Mercedes Покупка Москва Недействительный Магазин Рабочие часы
Mercedes Продажа СПб Действительный Интернет Нерабочие часы

Познакомьтесь с тестированием бесплатно

Начать с 5 бесплатных уроков

Таблица принятия решений

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

Пример:

Кейс 1 2 3 4 5 6 7 8
Условие
Пользователь зарегистрирован? Да Да Да Да Нет Нет Нет Нет
Пользователь отправлял сообщение последние 90 секунд? Да Да Нет Нет Да Да Нет Нет
Пользователь — администратор? Да Нет Да Нет Да Нет Да Нет
Действие приложения
Открыть окно для создания новой темы Да Да Да Да Нет Нет Нет Нет
Показать ошибку Нет Да Нет Нет Да Да Да Да

Предугадывание ошибок

Этот способ помогает специалистам выявлять потенциальные ошибки интуитивно. Тестировщик с большим опытом работы и хорошим пониманием функциональности и ожидаемого поведения продукта может успешно предвидеть возможные баги и быстро определять области с высокой вероятностью ошибки.

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

  • Что произойдет, если я введу неправильный код?
  • Что будет, если я не введу код?

На курсе «‎Инженер по тестированию»‎ вы максимально подробно разберете большинство техник тест-дизайна и научитесь эффективно использовать их в тестировании сайтов и веб-приложений.

Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря