Как строго протестировать сайт?

Как каждый строго тестирует сайт и на безопасность и на скорость?

Каковы пути и инструменты для этого?

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

9
задан Félix Gagnon-Grenier 2 November 2016 в 05:19
поделиться

8 ответов

Если это должен быть просто стресс-тест, попробуйте http://freshmeat.net/projects/siege/

Siege - это утилита для регрессионного тестирования и бенчмарка. Она может проводить стресс-тест одного URL-адреса с заданным пользователем количеством симулированных пользователей или считывать в память множество URL-адресов и проводить стресс-тест одновременно. Программа сообщает об общем количестве зарегистрированных обращений, переданных байтах, времени ответа, параллелизме и статусе возврата. Siege поддерживает протоколы HTTP/1.0 и 1.1, директивы GET и POST, cookies, протоколирование транзакций и базовую аутентификацию. Его функции настраиваются для каждого пользователя.

или http://httpd.apache.org/docs/1.3/programs/ab.html

ab - это инструмент для оценки производительности вашего Apache. HyperText Transfer Protocol (HTTP) сервера. Для этого он дает вам представление о том, сколько запросов в секунду может обслуживать ваша установка Apache.

Для тестирования PHP-кода используйте PHPUnit. Для тестирования фронтенда используйте Selenium.

Для тестирования безопасности я настоятельно рекомендую купить аудит и доверить это специальным экспертам. Существует слишком много возможных векторов атак, которые выходят за рамки кода вашего приложения.

5
ответ дан 4 December 2019 в 08:51
поделиться

Вы можете попробовать Skipfish от Google. Это сканер безопасности, но он, кстати, будет генерировать довольно много запросов к вашему сайту.

1
ответ дан 4 December 2019 в 08:51
поделиться

вы можете использовать WEBLOAD . Это инструмент для нагрузочного тестирования.. гото www.webload.com

2
ответ дан 4 December 2019 в 08:51
поделиться

http://seleniumhq.org/ - технология, которую нужно искать.

Цитаты с их сайта:

Selenium - это надежный набор инструментов, который поддерживает быструю разработку автоматизации тестирования для веб-приложений. Selenium предоставляет богатые возможности набор функций тестирования, специально предназначенных для нужд тестирования веб-приложения . Эти операции очень гибкие, что позволяет использовать множество опций для поиска элементов пользовательского интерфейса и сравнения ожидаемых результатов тестирования с фактическим поведением приложения.

Одной из ключевых функций Selenium является поддержка выполнения тестов на нескольких браузерных платформах.

Наиболее важной частью, вероятно, является: Selenium-RC (Remote Control)

Selenium-RC позволяет разработчику автоматизации тестирования использовать программирование язык для максимальной гибкости и расширяемости при разработке логики тестирования . Например, если тестируемое приложение возвращает набор результатов , и если программе автоматического тестирования необходимо выполнить тесты для каждого элемента в наборе результатов , поддержку итерации языка программирования можно использовать для итерации набора результатов, вызывая команды Selenium для запуска тестов для каждого элемента.

Selenium-RC предоставляет API (интерфейс прикладного программирования) и библиотеку для каждого из поддерживаемых языков: HTML, Java, C #, Perl, PHP, {{ 1}} Python и Ruby.Эта возможность использовать Selenium-RC с языком программирования высокого уровня для разработки тестовых случаев также позволяет интегрировать автоматизированное тестирование с {{ 1}} автоматизированная среда сборки проекта.

1
ответ дан 4 December 2019 в 08:51
поделиться

Предлагаю вам прочитать этот пост, это очень полезно. Я проверяю свой динамический веб-сайт. сайты каждый раз, когда я создаю один.

https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site#answer-305381

Изменить:

http: //jmeter.apache.org/

Apache JMeter - это программное обеспечение с открытым исходным кодом, настольное приложение на 100% чистом Java, предназначенное для тестирования функционального поведения и измерения производительности. Первоначально он был разработан для тестирования веб-приложений, но с тех пор расширился до других функций тестирования.

6
ответ дан 4 December 2019 в 08:51
поделиться

проверяли ли вы apachebenchmark?

http://httpd.apache.org/docs/1.3/programs/ab.html

это полезен для проверки того, как вы можете обрабатывать нагрузку и одновременные соединения

2
ответ дан 4 December 2019 в 08:51
поделиться

Также я бы упомянул Цунга .

Рединг из их введения:

Tsung - это многопротокольный инструмент распределенного нагрузочного тестирования с открытым исходным кодом.

Его можно использовать для проверки HTTP, WebDAV, SOAP, PostgreSQL , Серверы MySQL, LDAP и Jabber / XMPP. Tsung (ранее известное как IDX-Tsunami) - бесплатное программное обеспечение, выпущенное под лицензией GPLv2 .

Целью Tsung является моделирование пользователей для проверки масштабируемости и производительности клиент-серверных приложений на базе IP. Вы можете использовать его для нагрузочного и стресс-тестирования своих серверов. Многие протоколы были реализованы и протестированы, и его можно легко расширить. Поддержка WebDAV, LDAP и MySQL была добавлена ​​ недавно (экспериментально).

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

Tsung разработан на Erlang, языке с открытым исходным кодом от Ericsson для создания надежных отказоустойчивых распределенных приложений.

Tsung поддерживается Process-One

3
ответ дан 4 December 2019 в 08:51
поделиться

Я хотел бы просто расширить пару предложений, так как я часто этим занимаюсь.

Осада - отличный инструмент для проверки здравомыслия, и у нее очень низкий барьер для входа. Это стандартный пакет в Ubuntu и других, для запуска требуются только параметры командной строки. Таким образом, вы можете хлопать по своему сайту так сильно, как хотите (или осмеливаться), чтобы увидеть, где находится предел. Мой опыт показывает, что несколько веб-серверов деградируют линейно. По мере увеличения нагрузки они становятся немного медленнее, затем немного медленнее, а затем BAM ваше время загрузки увеличивается до 20 секунд.Зная, когда это произойдет, вы сможете понять, о чем нужно беспокоиться и нужно ли что-то делать. Если вы не попадете в стену до 500+ одновременных пользователей, у вас есть некоторая свобода действий.

Но учтите, что siege на самом деле больше касается тестирования вашего веб-сервера, чем вашего веб-САЙТА.

Как уже упоминалось ранее, Selenium - отличный инструмент для этого, однако стоит потратить некоторое время. Фактически вы можете запустить несколько тестов, просто используя Selenium IDE и запустить их в своем браузере под Selenium RC в качестве пакета HTTP, не вдаваясь в сценарии (хотя вы захотите это сделать). Как плюсы, так и минусы этого подхода заключается в том, что он работает на реальном браузере, поэтому запуск теста только на одной машине не даст вам реальных результатов, потому что ваша машина просто не успевает за ним. Вам нужно запустить и настроить SRC и Selenium Grid, это может быть сложной задачей, но оно того стоит, если вы будете делать это снова и снова, особенно если у вас есть небольшие знания о виртуальных машинах.

Ребята, которые создали Selenium, теперь предлагают коммерческий облачный RC, который запускает все стандартные браузеры и записывает видео сеанса (которое вы можете отключить для проверки производительности). Он находится на http://saucelabs.com , и он отлично подходит как для нагрузочного тестирования, так и для бесплатных быстрых тестов во всех браузерах. (Я все еще запускаю функциональные тесты локально). Опять же, это стоит, но разумно.

Я уточняю это подробнее, потому что ваша первая задача - «энергично» протестировать ваш сайт, и я предполагаю, что это означает тестирование всей функциональности, а не просто тестирование с большим количеством энергии.

Я не знаю никакого волшебного средства для этого, кроме написания тщательных тестов (именно здесь вы обычно занимаетесь написанием сценариев, поскольку многие вещи можно использовать повторно, например, заполнение формы).

И последнее: перед запуском, если у вас нет программы для удобства использования, позвольте некоторым непрограммистам / веб-пользователям использовать ее, наблюдать за ними и просить их выполнять различные «задачи» (зарегистрируйтесь , найдите что-нибудь, никаких "щелчков") Это похоже на тестирование удобства использования, но для этого уже слишком поздно, но вы будете поражены, как быстро люди, которые думают не так, как вы, обнаруживают ошибки в вашем коде. Надеюсь, это откроет новые горизонты в областях, которые вы еще не тестировали.

Я не нашел инструмента "покрытия" для веб-приложений. Если есть, но я хотел бы услышать об этом.

4
ответ дан 4 December 2019 в 08:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: