Это лучшая практика? Да, абсолютно.
Что мне делать, если приложение размещено снаружи? Могу ли я загрузить его? Должен ли я?
Да, вы можете, и да, вы должны.
Как?
За последние несколько лет это стало намного проще благодаря наличию дешевой почасовой аренды компьютеров (то есть поставщиков облачных вычислений, таких как EC2). Ищите инструменты, которые поддерживают генерирование нагрузки из облака. Если у вас есть внутренняя система для тестирования, вам следует начать с нее, и в этом случае вы захотите выбрать инструмент тестирования, который позволяет проводить как внутреннее, так и внешнее тестирование (как правило, сервисы нагрузочного тестирования только в облаке не позволяют).
Я собираюсь противоречить одному из других ответов, а также традиционному ответу, говоря, что вы абсолютно ДОЛЖНЫ проверять свою производственную систему всякий раз, когда это возможно. В идеальном мире у вас была бы идентичная система для тестирования, поэтому производственный тест будет проводиться только после того, как тестовая система полностью удовлетворит требования к производительности - на данный момент это в основном формальность - чтобы гарантировать, что все в производственной среде настроен правильно (и вы будете удивлены, как часто «идентичные» тестовые / производственные системы НЕ идентичны!). Но в реальном мире полностью дублированная тестовая система не всегда возможна или практична. Мы регулярно тестируем производственные сайты наших клиентов - фактически, очень немногие из наших клиентов имеют тестовые системы, помимо односерверной системы, используемой во время разработки и функционального тестирования. Это не идеально, но вполне выполнимо.
Что касается общей процедуры - начните с нескольких наиболее важных пользовательских сценариев (тестовых случаев), а затем:
- Сборка и проверка тестовых случаев
- Запустите тест и проанализируйте результаты
- Оптимизация / настройка системы до достижения целей производительности
- Расширьте область действия и повторите 1-3, как позволяет ваш график / бюджет.
Постарайтесь не увязнуть в деталях симуляции тестовых сценариев "совершенно верно" - особенно в начале. Любой нагрузочный тест является лишь приближением к реальному использованию - каждый день (или час) реального использования уникален по сравнению с любым другим. Время, потраченное на получение одного «правильного» теста, - это НЕ время, потраченное на тестирование остальных 15 тестов, которые также должны быть протестированы. У нас есть другие статьи на нашем блоге , которые могут помочь вам начать работу.
Удачи!