Теперь я слышу на собраниях, что нам нужно создать 10 миллионов записей, чтобы протестировать производительность и запустить сценарии с 5000 пользователями, и я просто не думаю, что это осуществимо.
Почему ты так думаешь?
Конечно, вы можете (и должны) проводить тестирование с ограниченным количеством данных, но вам также действительно действительно нужно тестировать с реалистичной нагрузкой, что означает тестирование с количеством (и типом) данных. что вы будете использовать в производстве.
Это всего лишь частный случай общего правила: для системного или интеграционного тестирования вам необходимо выполнить тестирование в сценарии, максимально приближенном к производственному; в идеале вы просто копируете / клонируете живую производственную систему, данные, конфигурацию и все остальное и используете это для тестирования. Это именно то, что мы делаем (если мы технически можем, и клиент соглашается). Мы просто запускаем несколько сценариев SQL, чтобы рандомизировать личные данные в наборе тестовых данных, чтобы избежать проблем с конфиденциальностью.
Есть всегда проблемы, которые возникают, потому что производственные данные каким-то образом отличаются от того, что вы тестировали, и это единственный способ предотвратить (или хотя бы ограничить) эти проблемы.
Я планировал и реализовывал отчеты и импорт, и они неизменно ломаются или плохо себя ведут в первый раз, когда подвергаются действительным данным, потому что всегда есть особые случаи или проблемы с масштабированием, которые вы не ожидали. Вы хотите, чтобы эта поломка произошла во время разработки, а не производства: -).
Короче говоря:
Укусите пулю и ( после , выполнив все тесты с «игрушечными данными»), получите реалистичный набор данных для тестирования. Если у вас нет оборудования, чтобы справиться с этим, то у вас нет подходящего оборудования для ваших тестов: -).