Я бы хотел остановиться на нескольких предложениях, поскольку я часто этим занимаюсь.
Осада - отличная проверка на здравомыслие, и она имеет очень низкий барьер для входа. Это стандартный пакет в Ubuntu и других, и для его работы требуются только параметры командной строки. Таким образом, вы можете захлопнуть свой сайт так сильно, как вы хотите (или осмелитесь), чтобы увидеть, где переломный момент. Мой опыт показывает, что несколько веб-серверов деградируют линейно. По мере увеличения нагрузки они становятся немного медленнее, затем немного медленнее, а затем BAM ваше время загрузки увеличивается до 20 секунд. Знание того, когда это произойдет, даст вам представление о том, сколько нужно волноваться и нужно ли что-то делать. Если вы не попали в стену до 500+ одновременных пользователей, то у вас есть некоторая свобода действий.
Но учтите, что осада действительно больше связана с тестированием вашего веб-сервера, чем вашего веб-сайта.
Поскольку тот же плакат, о котором упоминалось ранее, Selenium является отличным инструментом для этого, тем не менее, стоит потратить некоторое время. На самом деле вы можете запустить несколько тестов, просто используя Selenium IDE и запустив их либо в своем браузере под Selenium RC в виде набора HTTP, но не переходя в сценарии (хотя вы захотите это сделать). Плюсом и минусом этого подхода является то, что он работает на реальном браузере, поэтому запуск теста только на одной машине не даст вам реальных результатов, потому что ваша машина просто не успевает за ней. Вам нужно запустить и настроить SRC и Selenium Grid, это может быть сложной задачей, но она того стоит, если вы будете заниматься этим снова и снова, особенно если у вас есть немного знаний о виртуальных машинах.
Ребята, которые создали Selenium, теперь предлагают коммерческий облачный RC, который запускает все стандартные браузеры и записывает видео сеанса (которое вы можете отключить для теста производительности). Это в http://saucelabs.com и для нагрузочного тестирования, или для быстрых бесплатных тестов во всех браузерах, это здорово. (Я все еще выполняю функциональные тесты локально). Опять же, это стоит, но это разумно.
Я говорю об этом подробнее, потому что ваша первая задача - энергичное тестирование вашего сайта, и я предполагаю, что это означает тестирование всей функциональности, а не просто тестирование с большим количеством энергии.
Я не знаю никакой магической пули для этого, за исключением написания подробных тестов (в которых вы обычно занимаетесь сценариями, поскольку многие вещи можно использовать повторно, например, заполняя форму).
Последнее, что перед запуском, если у вас нет программы юзабилити, позвольте некоторым непрограммистам / веб-пользователям использовать ее, наблюдать за ними и просить их выполнять различные «задачи» (зарегистрироваться найди что-нибудь, не "нажимай") Это звучит как юзабилити-тестирование, но для этого уже слишком поздно, но вы будете удивлены, как быстро люди, которые не думают, как вы, находят ошибки в своем коде. Надеемся, что это откроет новые горизонты областей, которые вы еще не тестировали.
Я не нашел инструмента "покрытия" для веб-приложений. Если есть, но я бы хотел услышать об этом.