Тестовые данные должны быть похожи на данные
Набор из Тест Тестов 1 прячет целый класс ошибок. Настоящие имена приносят
апострофы, дефисы, двойные фамилии и нелатинские символы — и всё это доходит до
валидации, сортировки, ширины колонок и почтовых шаблонов.
Чаще всего ломаются две вещи:
- Ширина. Кириллическое ФИО обычно на 20–30% длиннее английского аналога. Колонки таблиц и карточки фиксированной ширины падают здесь первыми.
- Сортировка.
Ёвстаёт непредсказуемо, если не задать сортировку явно.
Согласование по роду
Русские фамилии склоняются. Оба варианта ниже неверны так, что носитель языка замечает это за секунду:
| Неверно | Верно | | --- | --- | | Анна Иванов | Анна Иванова | | Сергей Смирнова | Сергей Смирнов |
Генератор ставит фамилию в женскую форму при женском имени, поэтому данные выглядят так, будто их вводил человек.
Настоящие имена — честное использование
Каждое имя здесь кому-то принадлежит. Наполнить базу, собрать макет, нагрузить форму — нормально. Подписать таким именем цитату, которой никто не говорил, — нет.
Вопросы
Откуда взяты эти имена?+
Английский список — имена из истории вычислительной техники: Лавлейс, Хоппер, Дейкстра, Лисков. Русский — самые распространённые имена и фамилии. И те и другие принадлежат реальным людям, и именно поэтому им место в тестовых данных, а не в том, что выдаёт несуществующего человека за существующего.
Почему русские фамилии меняются?+
Потому что в русском они согласуются по роду: Иванов — Иванова. Генератор, который выдаёт «Анна Иванов», порождает текст, на котором носитель языка спотыкается сразу, а это лишает тестовые данные смысла.
Можно использовать в публичной демонстрации?+
Для скриншотов и заполненной базы — да. Не выдавайте их за отзывы, рецензии или реальных клиентов: это фальсификация независимо от происхождения имени, и именно с такого начинаются жалобы в надзорные органы.
Нужна ли уникальность?+
Повторы возможны и обычно полезны: в реальных данных дубликаты есть, и код, молча полагающийся на уникальность имён, должен падать на тестах, а не в продакшене.