Тестовые данные: откуда берутся и как готовить

В прошлом уроке тестовые данные прозвучали как один из результатов активности «Реализация» — просто одна строчка в списке. Но с тестовыми данными тестировщик работает практически на каждой проверке, и именно здесь легко допустить серьёзную ошибку — использовать что-то, что использовать нельзя. Разберём тестовые данные отдельно: откуда они берутся, что с ними категорически нельзя делать и что делает их хорошими.

Чему научишься за этот урок:
— назвать три источника тестовых данных;
— объяснить, почему в тестовой среде нельзя использовать настоящие персональные данные;
— подготовить набор тестовых данных под сценарий, не используя ни одного реального персонального данного.

Откуда берутся тестовые данные

Есть три основных источника тестовых данных.

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

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

Даже если под рукой есть готовая база настоящих пользователей и взять её кажется быстрее, чем что-то придумывать, — в тестовой среде использовать настоящие персональные данные НЕЛЬЗЯ. Реальные имена, телефоны, email, паспортные данные — всё это нельзя вводить, копировать или хранить в тестах, даже «по-быстрому» и даже если тестировщик уверен, что никому не покажет результат.

Вместо этого используют вымышленные, но правдоподобные данные: тестовые email вида test1@example.com, вымышленные имена вроде «Иван Тестовый», тестовые номера банковских карт, которые банк или платёжная система специально выделяют для тестовой среды, — такие карты по формату похожи на настоящие, но ими нельзя реально расплатиться, и они существуют именно для того, чтобы их использовали в проверках.

Что делает тестовые данные хорошими

Просто «что-то вымышленное» — недостаточно. У хороших тестовых данных есть три обязательных свойства.

  • Правдоподобность. Данные похожи на то, что ввёл бы настоящий человек: «Мария Примерова», а не «ааа»; «15.03.1990», а не «00.00.0000».
  • Воспроизводимость. Один и тот же набор данных можно использовать повторно и получить тот же результат — это не одноразовый случайный набор, а что-то, на что можно опереться в следующий раз.
  • Покрытие нужных случаев. Нужны не только «нормальные» данные, но и пустые, некорректные и граничные — сам факт, что такие случаи должны быть, мы фиксируем здесь; тому, как именно их продумывать до мелочей, посвящена отдельная более поздняя глава курса.
  Плохие тестовые данные              Хорошие тестовые данные
  ------------------------------      ------------------------------
  Имя: "ааа", "1111", "qqq"            Имя: "Иван Тестовый", "Мария Примерова"
  Email: пустая строка, "asd"          Email: "test1@example.com",
                                       "qa-user2@example.com"
  Дата рождения: "00.00.0000"          Дата рождения: "15.03.1990"
                                       (реалистичная, правдоподобная)
  Карта: настоящий номер карты         Карта: тестовый номер, который
  реального человека                   банк выделил именно для тестов
  Один и тот же набор данных           Набор из разных случаев: обычный,
  на все случаи проверки                пустой, некорректный, граничный

Практика: данные для регистрации на курс

Возьмём форму регистрации на нашей учебной платформе: она просит email, имя и дату рождения. Под такой сценарий нужен не один набор данных, а несколько — каждый закрывает свой случай: один обычный корректный вариант (реалистичные email, имя и дата), и хотя бы один нестандартный — например, email без символа «@», пустое поле имени или дата рождения в будущем. Все значения — вымышленные, но правдоподобные, ни одно не совпадает с данными реального человека.

Итог:
— тестовые данные берутся из трёх источников: придуманы вручную, сгенерированы автоматически или получены как обезличенная копия реальных данных;
— настоящие персональные данные (имена, телефоны, email, паспортные данные реальных людей) в тестовой среде использовать нельзя никогда — только вымышленные, но правдоподобные;
— хорошие тестовые данные правдоподобны, воспроизводимы и покрывают не только нормальные, но и пустые/некорректные/граничные случаи.

Контрольный вопрос. Какой из трёх источников тестовых данных предполагает, что тестировщик сам придумывает конкретные значения под сценарий?

АСгенерированные вручную
БСгенерированные автоматически
ВОбезличенные копии реальных данных

Подсказка: Речь о работе самого тестировщика, а не об инструменте и не о заимствовании чужой базы.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Какой источник тестовых данных требует специальных инструментов или скриптов, создающих много однотипных записей за один раз?

АСгенерированные автоматически
БСгенерированные вручную
ВОбезличенные копии реальных данных

Подсказка: Ключевое здесь — «много однотипных записей сразу», без ручного набора каждой по отдельности.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Обезличенные копии реальных данных — это:

АРеальные данные, из которых убрали идентифицирующую информацию
БПолностью выдуманные данные, никак не связанные с реальными
ВДанные, автоматически сгенерированные скриптом с нуля

Подсказка: Слово «обезличенные» указывает, что исходно данные были настоящими, но их специально изменили.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

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

АНет, нельзя — нужно использовать вымышленные, но правдоподобные данные
БДа, можно, если тестировщик никому не покажет эти данные
ВМожно, если это данные только одного человека, а не целой базы

Подсказка: Правило безопасности из урока не делает исключений ни по количеству людей, ни по намерениям тестировщика.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Что из перечисленного — пример правильного тестового email по правилам урока?

Аtest1@example.com
Бivan.petrov.real@gmail.com (реальный email коллеги)
Впустое поле вместо email

Подсказка: Ищи адрес, который явно выглядит как специально подготовленный для тестов, а не как чей-то настоящий почтовый ящик.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. «Воспроизводимость» тестовых данных означает, что:

АОдни и те же данные можно использовать повторно и получить тот же результат
БДанные выглядят максимально похожими на настоящие
ВДанные охватывают и нормальные, и некорректные случаи

Подсказка: Речь про повторное использование одного и того же набора данных, а не про его правдоподобие или разнообразие случаев.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Какие из перечисленных требований урок называет признаками хороших тестовых данных (выбери все подходящие)?

Выберите все верные варианты.

АПравдоподобность
БВоспроизводимость
ВПокрытие нужных случаев, включая некорректные и граничные
ГОбязательно реальные персональные данные настоящих пользователей

Подсказка: Четвёртый вариант противоречит правилу безопасности урока — это не требование, а то, что прямо запрещено.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Тестировщик для проверки формы регистрации использовал имя «ааа» и дату рождения «00.00.0000». Какому требованию к хорошим тестовым данным это НЕ соответствует? Ответь одним словом.

Подсказка: Такие значения совсем не похожи на то, что ввёл бы настоящий живой человек.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

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

Подсказка: Вспомни правило безопасности про реальные персональные данные — оно не делает исключений ради экономии времени.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Подготовь набор тестовых данных для сценария «регистрация на курс» на учебной платформе: нужны email, имя и дата рождения. Перечисли 3-4 варианта, которые покрывают разные случаи (обычный корректный случай и хотя бы один пустой/некорректный/граничный), не используя ни одного настоящего email, имени или даты рождения реального человека.

Принято, если приведено минимум 3 варианта данных; среди email нет ни одного похожего на реальный (используются домены вида example.com/test.ru или явно тестовые адреса); среди вариантов есть хотя бы один нестандартный случай (пустое поле, некорректный формат или граничное значение вроде очень старой или будущей даты); ни одно значение не выглядит как данные настоящего человека.

Подсказка: Не забудь: помимо одного «обычного» правильного варианта нужен хотя бы один пустой, некорректный или граничный.

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

Онлайн-проверка ответа появится позже

Задание. В тестовой базе для сценария оплаты курса тестировщик использовал номер банковской карты, который по формату похож на настоящую карту платёжной системы, но явно выделен банком для тестовой среды и помечен в документации «только для тестов». Каким термином из таблицы урока правильно назвать такую карту (в отличие от «настоящего номера карты реального человека»)? Ответь одним словосочетанием.

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

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Что дальше

Глава «Основы тестирования» закончена. За шесть уроков мы разобрали: что такое тестирование и чем оно отличается от разработки; разницу между ошибкой, дефектом и отказом; верификацию, валидацию, QA и QC; семь принципов тестирования; тест-процесс и общее слово для его результатов — testware; и, наконец, тестовые данные — откуда они берутся и как готовить их без реальных персональных данных.

Дальше курс переходит к тому, как устроено само программное обеспечение, которое вы будете тестировать: клиент и сервер, сеть, HTTP, DevTools и другие технические инструменты. Это следующая глава курса.

Назад к уроку 1.5  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева