Поскольку этот вопрос все еще открыт, я мог бы также взвесить.
Хорошая новость заключается в том, что за последние 5 или около того лет инструменты с открытым исходным кодом действительно повзрослели и взлетели в космос, плохие новости заключаются в том, что их так много.
Вот мои мысли: -
Jmeter против Grinder
Jmeter определяется спецификацией стиля XML, созданной с помощью графического интерфейса пользователя.
Grinder использует Jython-скриптинг в многопоточной среде Java, поэтому больше ориентирован на программистов.
Оба инструмента будут работать с HTTP и HTTPS и иметь прокси-рекордер для начала работы.
Оба инструмента используют модель контроллера для управления несколькими агентами тестирования, поэтому масштабируемость не является проблемой (при доступе к облаку).
Что лучше: -
Сложный вызов, поскольку кривая обучения крутая с обоими инструментами, поскольку вы попадаете в более сложные требования сценариев для перезаписи URL-адресов, корреляции, предоставления уникальных данных для каждого виртуального пользователя и имитации в первый раз или возвращения пользователей (путем манипулирования заголовками HTTP) .
Тем не менее, я бы начал с Jmeter, поскольку у этого инструмента огромное количество поклонников, и в Интернете есть много примеров и учебных пособий по использованию этого инструмента. Если и когда вы придете к «дорожному блоку», это то, что вы не можете «легко» сделать с помощью Jmeter, тогда взгляните на Grinder. Хорошей новостью является то, что оба эти инструмента имеют одинаковые требования к Java, и решение «смешать и сопоставить» не исключено.
Что-то новое для добавления - безголовые браузеры с несколькими экземплярами Selenium WebDriver.
Это относительно новый подход, поскольку он основан на доступности ресурсов, которые теперь можно предоставлять из облака. При таком подходе сценарий Selenium (WebDriver) берется и запускается в автономном браузере (т. Е. WebDriver = New HtmlUnitDriver ()) в нескольких потоках.
Исходя из опыта, около 25 экземпляров "безголовых браузеров" могут быть выполнены из Amazon M1 Small Instance.
Это означает, что все корреляции, проблемы с переписыванием URL-адресов исчезают, когда вы меняете сценарии функционального тестирования на сценарии тестирования производительности.
Масштабируемость нарушена, так как для управления нагрузкой потребуется больше виртуальных машин по сравнению с драйвером HTTP, таким как Grinder или Jmeter. Тем не менее, если вы хотите управлять 500 виртуальными пользователями, то с 20 малыми инстансами Amazon (по 6 центов в час) по цене всего $ 1,20 в час вы получаете нагрузку, очень близкую к опыту реальных пользователей.