© green
Работы по нагрузочному тестированию можно условно разделить на четыре этапа:
- Разработка моделей нагрузок и проектирование тестовых сценариев. Это работа аналитика.
- Разработка и отладка тестовых скриптов. Работа программиста.
- Организация и проведение нагрузочных тестов. Эта работа требует неплохих знаний системного администратора.
- Проведение анализа результатов тестирования. Неплохо бы иметь вкупе навыки и знания архитектора, системного аналитика, DBA.
Понятно, что найти специалиста, который бы являлся носителем всех данных компетенций очень сложно. Поэтому существенную роль играет предыдущий опыт работ в этой области. Cледует просить рекомендаций.
Для Москвы нормальный уровень стоимости услуг составляет порядка 50-100 долларов за час работы (зависит от объема, сложности, кто представляет программу для тестирования и еще многих вопросов). При этом речь идет не о работе одного человека, а команды, которая проводит комплексное исследование и выдает результат не на уровне “померить быстродействие системы”, а с анализом и рекомендациями об устранении “узких мест”.
Думаю пункт 2 не порадовал бы ни одного программиста
А мне кажется, что green прав.
Занимался нагрузочным тестированием с точки зрения пользователя, мягко говоря, нерезультативно. А вот когда этим делом занимались программисты, которые знали, что где и как в их софте работает, результаты были иными.
Они более точно идентифицировали и слабые места (куда надо “донажать”), и источники проблем.
Например, я рапортовал о том, что при нагрузке в 200 трэдов с Jmeter сервер приложения отказывается работать, в то время, как сервер с базой спокойно живет. Оказалось, что это как раз сервер с базой не хотел принимать запросы, отчего спокойно дышал. А сервер приложения эти запросы копил себе в кэш, и не знал, куда их девать. Я этого не знал, и всю вину валил на сервер приложения.
В третьих, есть места, о которых знает только программист
И чтобы добраться до них, надо быть программистом.